@ Build one random tunnel connection per pass through this loop.
NSSVTSSTSTTSSSSSSSSTN | MARK: 10010110 00000001 (main_loop)
@ Use 'random_number mod number_of_array_entries' to select a starting room.
-NSTTSSSSN | JSR > 10000 (random)
+NSTTSSTTN | JSR > 10011 (fastrand)
SSSTTSSSSSSSSSSSSN | PUSH 0x3000 (BUFFER)
TTT | LOAD
TSTT | MODULO
@ TOS> start_room_num, start_array_index
@ Now we randomly select a room for the endpoint.
NSSVTSSTSTTSSSSSSTSSN | MARK: 10010110 00000100 (select_random_dst_room)
-NSTTSSSSN | JSR > 10000 (random)
+NSTTSSTTN | JSR > 10011 (fastrand)
SSSTTSSSSSSSSSSSSN | PUSH 0x3000 (BUFFER)
TTT | LOAD
TSTT | MODULO
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#include <math.pvvs>
NSSVTSSSTSTSN | MARK: 10001010 (get_random_room)
-NSTTSSSSN | JSR > 10000 (random)
+NSTTSSTTN | JSR > 10011 (fastrand)
SSSTSSSSSSSSSSSSN | PUSH 0x1000 (GAME_DATA_BASE+0 = num_rooms address)
TTT | LOAD
TSTT | MODULO
A"*Oof!* (you hit the wall)\n"
SSSSN | PUSH 0 (number of string substitutions)
NSTTSSSN | JSR > 1000 (printf)
-NSTTSSSSN | JSR > 10000 (random)
+NSTTSSTTN | JSR > 10011 (fastrand)
SSSTTSN | PUSH 6 (chance)
TSTT | MODULO
NTSTSTSSSTTSSSSSSTSN | BRZ > 10100011 00000010 (woke the wumpus)
A"Your colorful comments awaken the wumpus!\n"
SSSSN | PUSH 0 (number of string substitutions)
NSTTSSSN | JSR > 1000 (printf)
-NSTTSSSSN | JSR > 10000 (random)
+NSTTSSTTN | JSR > 10011 (fastrand)
SSSTSSSSSSSSSSTTN | PUSH 0x1003 (ptr to number of tunnels per room)
TSTT | MODULO
SSSTSSSSSSSSSTTTN | PUSH 0x1007 (ptr to wumpus location)
TTT | LOAD
NSTTSSSTTSTN | JSR > 10001101 (room_has_pits)
NTSTSTSSSTTSSSSSTSTN | BRZ > 10100011 00000101 (no pits in new room)
-NSTTSSSSN | JSR > 10000 (random)
+NSTTSSTTN | JSR > 10011 (fastrand)
SSSTTSN | PUSH 6 (chance)
TSTT | MODULO
NTSTSTSSSTTSSSSSTTSN | BRZ > 10100011 00000110 (survived the pits)
A"*flap* *flap* *flap* (humongous bats pick you up and move you!)\n"
SSSSN | PUSH 0 (number of string substitutions)
NSTTSSSN | JSR > 1000 (printf)
-NSTTSSSSN | JSR > 10000 (random)
+NSTTSSTTN | JSR > 10011 (fastrand)
SSSTSSSSSSSSSSTTN | PUSH 0x1003 (ptr to number of tunnels per room)
TSTT | MODULO
SSSTSSSSSSSSSTTSN | PUSH 0x1006 (ptr to player location)