• Re: Hacking CSA Mandelzoom to work on a B008

    From Tom Stepleton@21:1/5 to Tom Stepleton on Wed Sep 28 16:54:14 2022
    On Thursday, September 29, 2022 at 12:51:56 AM UTC+1, Tom Stepleton wrote:
    What my hack does is prevent Link 1 from being the downstream connection to ANY node.

    I forgot to clarify that it does this by refusing to record the channel control word for Link 1 (outbound) in BOOTOUT, regardless of whether a Transputer is reachable over that link.

    --Tom

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tom Stepleton@21:1/5 to All on Wed Sep 28 16:51:55 2022
    There, that's more like it:
    https://photos.app.goo.gl/d4HmNMHEwW8Jry6x8

    As noted in the previous thread and elsewhere, the CSA Mandelbrot program won't work on a B008 as it's natively configured. The program freezes when it attempts to execute some code on the T212 installed on the board.

    I've been studying the worm program that distributes the software to the Transputers, and there's a pretty easy (if kludgy) alteration to the source code that sidesteps this problem. Just above this line: https://github.com/axelmuhr/T-Mandel/blob/master/
    FLBOOT.TAL#L179

    add these instructions:

    ldl LOOPA
    adc -1
    cj @R3

    What it's doing is pretty unsophisticated. Note in this diagram: http://transputer.net/mg/b008ug/figure/096/fig01.png
    that the T212 is reached from TRAM0 (natively the host TRAM) via Link 1. Since the software distributing worm starts from TRAM0, the T212 is discovered right away and joins the Transputer network assembled by the worm.

    The Transputer network is never represented completely in one place --- instead, each node records its upstream node ("BOOTIN", the neighbour that "infected" the node with the worm) and up to three downstream nodes ("BOOTOUT[0..2]"). It identifies these
    nodes by the memory location of their channel control word (if that's confusing to any reader, you can replace it with "link ID" to get the idea).

    What my hack does is prevent Link 1 from being the downstream connection to ANY node. It's quite crude, and it prevents the network from getting the most out of some topologies, but there is no ordinary topology you can set up on a B008 in its default
    hardware configuration that will fail to operate --- provided you stick to 32-bit Transputers.

    I'll share my notes on the worm program before long.

    --Tom

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)