Create a file in your host containing the hostname and hardware register value of each neuron exactly once, sorted as pairs from lowest to highest hostname.
Note that each test run has its own unique network layout.
For more information see "Debugging the Phage" in the first issue of the zine.
XA (local)
; KEEP A FILE AS A LOG
; ALL LINKS TRAVERSE
;
; THE EXA WILL MOVE
; IN EACH ROOM AT LEAST
; ONCE AND COME BACK
; TO BEGINNING
;
; SOUNDS LIKE A GOOD
; IDEA AT FIRST
; BUT SEEMS TO
; USE TOO MUCH CYCLES...
;
; I GUESS ANOTHER WAY
; WOULD BE TO REPL
; TO FILL ALL ROOMS
;
; MY WORST SOLUTION
; BY FAR...
; I CAN DO MUCH BETTER
;
MAKE
LINK 800
COPY 1 X
MARK SEARCH_HOST
SEEK -9999
MARK LOOP_SEARCH_HOST
TEST EOF
TJMP NOT_FOUND_HOST
HOST T
TEST T = F
TJMP FOUND_HOST
SEEK 4
JUMP LOOP_SEARCH_HOST
MARK NOT_FOUND_HOST
REPL BROADCAST
HOST T
COPY T F
; SET LAST LINK AS LAST
TEST X = -3
TJMP SEQ_4
TEST X = 3
TJMP SEQ_3
TEST X = -1
TJMP SEQ_2
;TEST X = 1
;TJMP SEQ_1
;MARK SEQ_1
COPY 1 F
COPY -3 F
COPY 3 F
COPY -1 F
JUMP ADD_END
MARK SEQ_2
COPY -1 F
COPY -3 F
COPY 3 F
COPY 1 F
JUMP ADD_END
MARK SEQ_3
COPY -1 F
COPY 1 F
COPY 3 F
COPY -3 F
JUMP ADD_END
MARK SEQ_4
COPY -1 F
COPY 1 F
COPY -3 F
COPY 3 F
MARK ADD_END
SEEK -4
COPY F T
JUMP FOUND_DIRECTION
MARK FOUND_HOST
; EDGE CASE FIX
TEST F > -9999
SEEK -1
FJMP FOUND_END
@REP 4
COPY F T
TJMP FOUND_DIRECTION
@END
; FOUND THE END???
MARK FOUND_END
LINK -1
KILL
REPL SORTER
REPL COPIER
LINK 800
; SEND ALL HOST 1 BY 1
MARK RESET_SEND_HOST
SEEK -9999
MARK SEND_HOST
TEST EOF
TJMP RESET_SEND_HOST
COPY F M
SEEK 4
JUMP SEND_HOST
MARK SORTER
GRAB 400
LINK 800
MARK SORTER_LOOP
COPY M X
SEEK -9999
MARK SORTER_SMALLEST
TEST F < X
TJMP SORTER_LOOP
TEST EOF
TJMP IS_SMALLEST
JUMP SORTER_SMALLEST
MARK IS_SMALLEST
LINK -1
MARK SEARCH_SMALLEST
SEEK -9999
MARK LOOP_SEARCH_SMALL
TEST F = X
TJMP SEND_SMALL
TEST EOF
TJMP TRY_AGAIN
JUMP LOOP_SEARCH_SMALL
MARK SEND_SMALL
COPY X M
COPY F M
SEEK -2
VOID F
VOID F
SEEK -9999
TEST EOF
TJMP END
MARK TRY_AGAIN
LINK 800
JUMP SORTER_LOOP
MARK COPIER
MAKE
MARK COPIER_LOOP
COPY M F
JUMP COPIER_LOOP
MARK END
WIPE
KILL
LINK 800
KILL
GRAB 401
WIPE
;HALT
MARK FOUND_DIRECTION
SEEK -1
COPY 0 F
REPL TEST_DIRECTION
NOOP
NOOP
COPY T X
TEST MRD
KILL
FJMP FOUND_HOST
; THIS DIRECTION IS GOOD
LINK X
JUMP SEARCH_HOST
MARK BROADCAST
MODE ; <- GLOBAL
COPY #NERV X
HOST T
COPY T M
COPY #NERV M
MARK TEST_DIRECTION
LINK T
MULI T -1 T
LINK T
COPY T M
XB (global)
; RECEIVE #NERV
MAKE
MARK LOOP
COPY M F
JUMP LOOP
Cycles | Size | Activity |
---|---|---|
8124 | 148 | 266 |