Home » Archimedes archive » Acorn Computing » 1994 07 subscription disc.adf » 9407s » BBC/C/MCODE1

BBC/C/MCODE1

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn Computing » 1994 07 subscription disc.adf » 9407s
Filename: BBC/C/MCODE1
Read OK:
File size: 29BA bytes
Load address: 0000
Exec address: 0000
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
   10REM Omniscient Machine Code
   20REM Generator.
   30REM Listing 1
   40REM by Peter Brown 1991
   50:
   60IF PAGE<>&1100 THEN PAGE=&1100:CHAIN"C.MCODE1"
   70HIMEM=&4332
   80loc=&70:nloc=&72:char=&74:wall=&76
   90roomloc=&78:youloc=&7A:temp=&7C
  100nlrloc=&7E:nudloc=&82:rnloc=&86
  110osbyte=&FFF4
  120FORpass%=0TO2STEP2
  130P%=&4332
  140[
  150OPTpass%
  160.check
  170JSR wallchk
  180JSR doorchk
  190RTS
  200.wallchk
  210LDA #&4F
  220STA char+1
  230JSR ch
  240LDY #0
  250LDA (char),Y
  260STA wall
  270LDA (temp),Y
  280CMP wall
  290BEQ blocked
  300STY byte
  310RTS
  320.blocked
  330LDA #&FF
  340STA byte
  350RTS
  360.doorchk
  370LDA byte
  380BNE blocked
  390LDA doorptr
  400CMP #&FF
  410BEQ nodoor
  420ASL A
  430TAX
  440LDA doorloc,X
  450CMP temp
  460BNE nodoor
  470LDA doorloc+1,X
  480CMP temp+1
  490BNE nodoor
  500LDA #&F
  510STA byte
  520RTS
  530.nodoor
  540LDA #0
  550STA byte
  560RTS
  570.screen
  580LDX #&4F
  590STX char+1
  600JSR ch
  610LDA roomloc
  620STA wall
  630LDA roomloc+1
  640STA wall+1
  650LDA #&80
  660STA loc
  670LDA #&56
  680STA loc+1
  690LDA #16
  700STA c
  710.loopA
  720CLC
  730LDA #&80
  740ADC loc
  750STA loc
  760LDA #1
  770ADC loc+1
  780STA loc+1
  790LDA #2
  800STA d
  810.loopU
  820LDA #128
  830STA mask
  840LDX #8
  850STX e
  860.loopT
  870LDY #0
  880LDA (wall),Y
  890AND mask
  900BEQ next
  910JSR sprite
  920.next
  930CLC
  940LDA #&10
  950ADC loc
  960STA loc
  970LDA #0
  980ADC loc+1
  990STA loc+1
 1000LSR mask
 1010JSR ch
 1020DEC e
 1030LDX e
 1040CPX #0
 1050BNE loopT
 1060INC wall
 1070BNE nh3
 1080INC wall+1
 1090.nh3
 1100DEC d
 1110LDX d
 1120CPX #0
 1130BNE loopU
 1140DEC c
 1150LDX c
 1160CPX #0
 1170BNE loopA
 1180JSR getnasties
 1190LDA #0
 1200STA youdr
 1210RTS
 1220.ch
 1230LDY room
 1240LDA &51FF,Y
 1250STA char
 1260RTS
 1270.sprite
 1280LDA loc+1
 1290BEQ end
 1300LDA loc
 1310STA nloc
 1320LDA loc+1
 1330STA nloc+1
 1340LDY #0
 1350STY b
 1360LDX #16
 1370.loopH
 1380LDA (char),Y
 1390EOR (nloc),Y
 1400STA (nloc),Y
 1410INC char
 1420BNE nh1
 1430INC char+1
 1440.nh1
 1450LDA nloc
 1460AND #7
 1470CMP #7
 1480BNE one
 1490CLC
 1500LDA nloc
 1510ADC #&39
 1520STA nloc
 1530LDA nloc+1
 1540ADC #1
 1550STA nloc+1
 1560JMP over
 1570.one
 1580INC nloc
 1590.over
 1600DEX
 1610BNE loopH
 1620CLC
 1630LDA #8
 1640ADC loc
 1650STA nloc
 1660LDA #0
 1670ADC loc+1
 1680STA nloc+1
 1690LDX #16
 1700INC b
 1710LDA b
 1720CMP #2
 1730BNE loopH
 1740.end RTS
 1750.deleten
 1760LDA #&51
 1770STA char+1
 1780JMP sprite
 1790.blank
 1800LDA #&40
 1810STA char
 1820LDA #&4F
 1830STA char+1
 1840RTS
 1850.callnlr
 1860LDA nlrloc+1
 1870BEQ z
 1880LDX #0
 1890LDY #0
 1900JSR nastylr
 1910.z
 1920LDA nlrloc+3
 1930BEQ y
 1940LDX #1
 1950LDY #2
 1960JSR nastylr
 1970.y
 1980RTS
 1990.nastylr
 2000LDA nlrdr,X
 2010AND #1
 2020BEQ nleft
 2030CLC
 2040LDA nlrloc,Y
 2050ADC #&10
 2060STA temp
 2070LDA nlrloc+1,Y
 2080ADC #0
 2090STA temp+1
 2100.domove
 2110STY mask
 2120JSR check
 2130LDY mask
 2140LDA byte
 2150CMP #&FF
 2160BEQ changedir
 2170RTS
 2180.changedir
 2190INC nlrdr,X
 2200JMP nastylr
 2210.nleft
 2220SEC
 2230LDA nlrloc,Y
 2240SBC #&10
 2250STA temp
 2260LDA nlrloc+1,Y
 2270SBC #0
 2280STA temp+1
 2290JMP domove
 2300.movenlr
 2310LDA nlrloc+1
 2320BEQ x
 2330LDX #0
 2340LDY #0
 2350JSR mnlr
 2360.x
 2370LDA nlrloc+3
 2380BEQ w
 2390LDX #1
 2400LDY #2
 2410JSR mnlr
 2420.w
 2430RTS
 2440.mnlr
 2450LDA nlrloc,Y
 2460STA loc
 2470LDA nlrloc+1,Y
 2480STA loc+1
 2490LDA nlrch,X
 2500STA char
 2510STX byte
 2520STY mask
 2530JSR deleten
 2540LDX byte
 2550LDY mask
 2560LDA nlrdr,X
 2570AND #1
 2580BEQ mnlrl
 2590CLC
 2600LDA nlrloc,Y
 2610ADC #8
 2620STA nlrloc,Y
 2630STA loc
 2640LDA nlrloc+1,Y
 2650ADC #0
 2660STA nlrloc+1,Y
 2670STA loc+1
 2680.both
 2690LDA nlrst,X
 2700AND #1
 2710BEQ nlr
 2720JSR pnlr2
 2730RTS
 2740.nlr
 2750JSR pnlr1
 2760RTS
 2770.mnlrl
 2780SEC
 2790LDA nlrloc,Y
 2800SBC #8
 2810STA nlrloc,Y
 2820STA loc
 2830LDA nlrloc+1,Y
 2840SBC #0
 2850STA nlrloc+1,Y
 2860STA loc+1
 2870JMP both
 2880.pnlr1
 2890LDA #0
 2900JMP pnlr
 2910.pnlr2
 2920LDA #&20
 2930JMP pnlr
 2940.pnlr
 2950STA char
 2960STA nlrch,X
 2970LDA #&51
 2980STA char+1
 2990JSR sprite
 3000RTS
 3010.getnasties
 3020LDY nlrptr
 3030LDA &5340,Y
 3040STA nlrxy
 3050INY
 3060LDA &5340,Y
 3070STA nlrxy+1
 3080INY
 3090LDA &5340,Y
 3100STA nlrloc
 3110INY
 3120LDA &5340,Y
 3130STA nlrloc+1
 3140INY
 3150LDA &5340,Y
 3160STA nlrloc+2
 3170INY
 3180LDA &5340,Y
 3190STA nlrloc+3
 3200LDA nlrloc
 3210STA loc
 3220LDA nlrloc+1
 3230STA loc+1
 3240LDX #0
 3250JSR pnlr1
 3260LDA nlrloc+2
 3270STA loc
 3280LDA nlrloc+3
 3290STA loc+1
 3300LDX #1
 3310JSR pnlr1
 3320LDY nlrptr
 3330LDA &5280,Y
 3340STA nudxy
 3350INY
 3360LDA &5280,Y
 3370STA nudxy+1
 3380INY
 3390LDA &5280,Y
 3400STA nudloc
 3410INY
 3420LDA &5280,Y
 3430STA nudloc+1
 3440INY
 3450LDA &5280,Y
 3460STA nudloc+2
 3470INY
 3480LDA &5280,Y
 3490STA nudloc+3
 3500LDA nudloc
 3510STA loc
 3520LDA nudloc+1
 3530STA loc+1
 3540LDX #0
 3550JSR pnud1
 3560LDA nudloc+2
 3570STA loc
 3580LDA nudloc+3
 3590STA loc+1
 3600LDX #1
 3610JSR pnud1
 3620LDA nlrptr
 3630LSR A
 3640TAY
 3650LDA &5220,Y
 3660STA rnxy
 3670INY
 3680LDA &5220,Y
 3690STA rnloc
 3700INY
 3710LDA &5220,Y
 3720STA rnloc+1
 3730JSR prn1
 3740RTS
 3750.callnud
 3760LDA nudloc+1
 3770BEQ v
 3780LDX #0
 3790LDY #0
 3800JSRnastyud
 3810.v
 3820LDA nudloc+3
 3830BEQ u
 3840LDX #1
 3850LDY #2
 3860JSR nastyud
 3870.u
 3880RTS
 3890.nastyud
 3900LDA nuddr,X
 3910AND #1
 3920BEQ nup
 3930CLC
 3940LDA nudloc,Y
 3950ADC #&80
 3960STA temp
 3970LDA nudloc+1,Y
 3980ADC #2
 3990STA temp+1
 4000.udmove
 4010STY mask
 4020JSR check
 4030LDY mask
 4040LDA byte
 4050CMP #&FF
 4060BEQ chdir
 4070RTS
 4080.chdir
 4090INC nuddr,X
 4100JMP nastyud
 4110.nup
 4120SEC
 4130LDA nudloc,Y
 4140SBC #&80
 4150STA temp
 4160LDA nudloc+1,Y
 4170SBC #2
 4180STA temp+1
 4190JMP udmove
 4200.movenud
 4210LDA nudloc+1
 4220BEQ r
 4230LDX #0
 4240LDY #0
 4250JSR mnud
 4260.r
 4270LDAnudloc+3
 4280BEQ q
 4290LDX #1
 4300LDY #2
 4310JSR mnud
 4320.q
 4330RTS
 4340.mnud
 4350LDA nudloc,Y
 4360STA loc
 4370LDA nudloc+1,Y
 4380STA loc+1
 4390LDA nudch,X
 4400STA char
 4410STX byte
 4420STY mask
 4430JSR deleten
 4440LDX byte
 4450LDY mask
 4460LDA nuddr,X
 4470AND #1
 4480BEQ mnudu
 4490CLC
 4500LDA nudloc,Y
 4510ADC #&40
 4520STA nudloc,Y
 4530STA loc
 4540LDA nudloc+1,Y
 4550ADC #1
 4560STA nudloc+1,Y
 4570STA loc+1
 4580.twice
 4590LDA nudst,X
 4600AND #1
 4610BEQ pnud1
 4620JSR pnud2
 4630RTS
 4640.mnudu
 4650SEC
 4660LDA nudloc,Y
 4670SBC #&40
 4680STA nudloc,Y
 4690STA loc
 4700LDA nudloc+1,Y
 4710SBC #1
 4720STA nudloc+1,Y
 4730STA loc+1
 4740JMP twice
 4750.pnud1
 4760LDA #&40
 4770JMP pnud
 4780.pnud2
 4790LDA #&60
 4800JMP pnud
 4810.pnud
 4820STA char
 4830STA nudch,X
 4840LDA #&51
 4850STA char+1
 4860JSR sprite
 4870RTS
 4880.nlrupd
 4890LDA nlrloc+1
 4900BEQ t
 4910LDX #0
 4920JSR upd1
 4930.t
 4940LDA nlrloc+3
 4950BEQ s
 4960LDX #1
 4970JSR upd1
 4980.s
 4990RTS
 5000.upd1
 5010INC nlrst,X
 5020LDA nlrdr,X
 5030AND #1
 5040BEQ updl
 5050CLC
 5060LDA nlrxy,X
 5070ADC #&10
 5080STA nlrxy,X
 5090RTS
 5100.updl
 5110SEC
 5120LDA nlrxy,X
 5130SBC #&10
 5140STA nlrxy,X
 5150RTS
 5160.nudupd
 5170LDA nudloc+1
 5180BEQ p
 5190LDX #0
 5200JSR upd2
 5210.p
 5220LDA nudloc+3
 5230BEQ o
 5240LDX #1
 5250JSR upd2
 5260.o
 5270RTS
 5280.upd2
 5290INC nudst,X
 5300LDA nuddr,X
 5310AND #1
 5320BEQ updu
 5330INC nudxy,X
 5340RTS
 5350.updu
 5360DEC nudxy,X
 5370RTS
 5380.random
 5390LDY #3
 5400.random_test
 5410LDA seed,Y
 5420BNE random_ok
 5430DEY
 5440BPL random_test
 5450STY seed
 5460.random_ok
 5470LDY #17
 5480.loopO
 5490LDA seed+1
 5500LSR A
 5510LSR A
 5520LSR A
 5530LSR A
 5540LSR A
 5550EOR seed+3
 5560ROR A
 5570ROL seed
 5580ROL seed+1
 5590ROL seed+2
 5600ROL seed+3
 5610DEY
 5620BNE loopO
 5630RTS
 5640.nastyrn
 5650LDA rnxy
 5660BEQ nrn
 5670LDA stop
 5680AND #1
 5690BNE dorn
 5700.norn
 5710LDA #0
 5720STA rndr
 5730JSR delrn
 5740JMP fin
 5750.nrn
 5760RTS
 5770.dorn
 5780JSR random
 5790LDA seed
 5800AND #3
 5810STA rndr
 5820INC rndr
 5830LDA rndr
 5840CMP #1
 5850BEQ rnleft
 5860CMP #2
 5870BEQ rnright
 5880CMP #3
 5890BEQ rnup
 5900CMP #4
 5910BEQ rndown
 5920RTS
 5930.rnleft
 5940LDA rnxy
 5950AND #&F0
 5960BEQ norn
 5970SEC
 5980LDA rnloc
 5990SBC #&10
 6000STA temp
 6010LDA rnloc+1
 6020SBC #0
 6030STA temp+1
 6040JMP all
 6050.rnright
 6060LDA rnxy
 6070AND #&F0
 6080CMP #&F0
 6090BEQ norn
 6100CLC
 6110LDA rnloc
 6120ADC #&10
 6130STA temp
 6140LDA rnloc+1
 6150ADC #0
 6160STA temp+1
 6170JMP all
 6180.rnup
 6190LDA rnxy
 6200AND #&F
 6210BEQ norn
 6220SEC
 6230LDA rnloc
 6240SBC #&80
 6250STA temp
 6260LDA rnloc+1
 6270SBC #2
 6280STA temp+1
 6290JMP all
 6300.rndown
 6310LDA rnxy
 6320AND #&F
 6330CMP #&F
 6340BEQ norn
 6350CLC
 6360LDA rnloc
 6370ADC #&80
 6380STA temp
 6390LDA rnloc+1
 6400ADC #2
 6410STA temp+1
 6420JMP all
 6430.fin
 6440LDA rnst
 6450AND #1
 6460BEQ rn
 6470JSR prn1
 6480RTS
 6490.rn
 6500JSR prn2
 6510RTS
 6520.all
 6530JSR check
 6540LDA byte
 6550CMP #&FF
 6560BNE else
 6570LDA #0
 6580STA rndr
 6590JSR delrn
 6600JMP fin
 6610.else
 6620RTS
 6630.movern
 6640LDA rndr
 6650BEQ n
 6660JSR delrn
 6670LDA rndr
 6680CMP #1
 6690BEQ movel
 6700CMP #2
 6710BEQ mover
 6720CMP #3
 6730BEQ moveu
 6740CMP #4
 6750BEQ moved
 6760.n
 6770RTS
 6780.movel
 6790SEC
 6800LDA rnloc
 6810SBC #8
 6820STA rnloc
 6830STA loc
 6840LDA rnloc+1
 6850SBC #0
 6860STA rnloc+1
 6870STA loc+1
 6880JMP fin
 6890.mover
 6900CLC
 6910LDA rnloc
 6920ADC #8
 6930STA rnloc
 6940STA loc
 6950LDA rnloc+1
 6960ADC #0
 6970STA rnloc+1
 6980STA loc+1
 6990JMP fin
 7000.moveu
 7010SEC
 7020LDA rnloc
 7030SBC #&40
 7040STA rnloc
 7050STA loc
 7060LDA rnloc+1
 7070SBC #1
 7080STA rnloc+1
 7090STA loc+1
 7100JMP fin
 7110.moved
 7120CLC
 7130LDA rnloc
 7140ADC #&40
 7150STA rnloc
 7160STA loc
 7170LDA rnloc+1
 7180ADC #1
 7190STA rnloc+1
 7200STA loc+1
 7210JMP fin
 7220.prn1
 7230LDA #&80
 7240JMP prn
 7250.prn2
 7260LDA #&A0
 7270.prn
 7280STA char
 7290STA rnch
 7300LDA #&51
 7310STA char+1
 7320LDA rnloc
 7330STA loc
 7340LDA rnloc+1
 7350STA loc+1
 7360JSR sprite
 7370RTS
 7380.nrnupd
 7390LDA rnxy
 7400BEQ no
 7410INC rnst
 7420INC stop
 7430LDA stop
 7440AND #1
 7450BNE no
 7460LDA rndr
 7470BEQ no
 7480CMP #1
 7490BEQ updrnl
 7500CMP #2
 7510BEQ updrnr
 7520CMP #3
 7530BEQ updrnu
 7540CMP #4
 7550BEQ updrnd
 7560.no
 7570RTS
 7580.updrnl
 7590SEC
 7600LDA rnxy
 7610SBC #&10
 7620STA rnxy
 7630RTS
 7640.updrnr
 7650CLC
 7660LDA rnxy
 7670ADC #&10
 7680STA rnxy
 7690RTS
 7700.updrnu
 7710DEC rnxy
 7720RTS
 7730.updrnd
 7740INC rnxy
 7750RTS
 7760.collide
 7770LDA youloc
 7780CMP nlrloc
 7790BNE cl1
 7800LDA youloc+1
 7810CMP nlrloc+1
 7820BEQ hit
 7830.cl1
 7840LDA youloc
 7850CMP nlrloc+2
 7860BNE cl2
 7870LDA youloc+1
 7880CMP nlrloc+3
 7890BEQ hit
 7900.cl2
 7910LDA youloc
 7920CMP nudloc
 7930BNE cl3
 7940LDA youloc+1
 7950CMP nudloc+1
 7960BEQ hit
 7970.cl3
 7980LDA youloc
 7990CMP nudloc+2
 8000BNE cl4
 8010LDA youloc+1
 8020CMP nudloc+3
 8030BEQ hit
 8040.cl4
 8050LDA youloc
 8060CMP rnloc
 8070BNE cl5
 8080LDA youloc+1
 8090CMP rnloc+1
 8100BEQ hit
 8110.cl5
 8120RTS
 8130.hit
 8140LDA #1
 8150STA tempxy
 8160RTS
 8170.delrn
 8180LDA rnloc
 8190STA loc
 8200LDA rnloc+1
 8210STA loc+1
 8220LDA rnch
 8230STA char
 8240JSR deleten
 8250RTS
 8260.seed
 8270OPT FNequd(RND)
 8280.b NOP
 8290.c NOP
 8300.d NOP
 8310.e NOP
 8320.byte NOP
 8330.mask NOP
 8340.room NOP
 8350.rnxy NOP
 8360.rnch NOP
 8370.stop NOP
 8380.rnst NOP
 8390.rndr NOP
 8400.youxy NOP
 8410.youdr NOP
 8420.youch NOP
 8430.state NOP
 8440.tempxy NOP
 8450.nlrptr NOP
 8460.energy NOP
 8470.doorptr NOP
 8480.nlrst NOP:NOP
 8490.nlrdr NOP:NOP
 8500.nlrxy NOP:NOP
 8510.nudst NOP:NOP
 8520.nuddr NOP:NOP
 8530.nudxy NOP:NOP
 8540.nlrch NOP:NOP
 8550.nudch NOP:NOP
 8560.doorptr NOP
 8570.doorxy
 8580OPT FNequd(&88DC16B1)
 8590OPT FNequb(&E1)
 8600OPT FNequb(&9A)
 8610.doorloc
 8620OPT FNequd(&67105B30)
 8630OPT FNequd(&6C8076D0)
 8640OPT FNequd(&71905B60)
 8650.doorcol
 8660OPT FNequd(&60402000)
 8670OPT FNequb(&80)
 8680OPT FNequb(&A0)
 8690.doorrm
 8700OPT FNequd(&0C090706)
 8710OPT FNequb(&16)
 8720OPT FNequb(&1C)
 8730]
 8740NEXT
 8750PRINT ~P%
 8760PROCoscli("DIR M")
 8770PROCoscli("SAVE CODE 4332 497E")
 8780PROCoscli("DIR $")
 8790END
 8800DEFFNequd(D%)
 8810!P%=D%:P%=P%+4:=pass%
 8820DEFFNequb(D%)
 8830?P%=D%:P%=P%+1:=pass%
 8840DEFPROCoscli($&700)
 8850LOCALX%,Y%:Y%=7:CALL&FFF7
 8860ENDPROC

� Omniscient Machine Code
� Generator.
� Listing 1
(� by Peter Brown 1991
2:
<$� �<>&1100 � �=&1100:�"C.MCODE1"
F�=&4332
P&loc=&70:nloc=&72:char=&74:wall=&76
Z#roomloc=&78:youloc=&7A:temp=&7C
d#nlrloc=&7E:nudloc=&82:rnloc=&86
nosbyte=&FFF4
x�pass%=0�2�2
�P%=&4332
�[
�OPTpass%
�
.check
�JSR wallchk
�JSR doorchk
�RTS
�.wallchk
�LDA #&4F
�STA char+1
�
JSR ch
�
LDY #0
�LDA (char),Y
STA wall
LDA (temp),Y
CMP wall
"BEQ blocked
,STY byte
6RTS
@.blocked
JLDA #&FF
TSTA byte
^RTS
h.doorchk
rLDA byte
|BNE blocked
�LDA doorptr
�CMP #&FF
�BEQ nodoor
�	ASL A
�TAX
�LDA doorloc,X
�CMP temp
�BNE nodoor
�LDA doorloc+1,X
�CMP temp+1
�BNE nodoor
�LDA #&F
�STA byte
RTS
.nodoor

LDA #0
&STA byte
0RTS
:.screen
DLDX #&4F
NSTX char+1
X
JSR ch
bLDA roomloc
lSTA wall
vLDA roomloc+1
�STA wall+1
�LDA #&80
�STA loc
�LDA #&56
�
STA loc+1
�LDA #16
�	STA c
�
.loopA
�CLC
�LDA #&80
�ADC loc
�STA loc
�
LDA #1

ADC loc+1

STA loc+1

LDA #2
 	STA d
*
.loopU
4LDA #128
>STA mask
H
LDX #8
R	STX e
\
.loopT
f
LDY #0
pLDA (wall),Y
z
� mask
�BEQ next
�JSR sprite
�	.next
�CLC
�LDA #&10
�ADC loc
�STA loc
�
LDA #0
�
ADC loc+1
�
STA loc+1
�LSR mask
�
JSR ch
�	DEC e
	LDX e

CPX #0

BNE loopT
$INC wall
.BNE nh3
8INC wall+1
B.nh3
L	DEC d
V	LDX d
`
CPX #0
j
BNE loopU
t	DEC c
~	LDX c
�
CPX #0
�
BNE loopA
�JSR getnasties
�
LDA #0
�
STA youdr
�RTS
�.ch
�LDY room
�LDA &51FF,Y
�STA char
�RTS
�.sprite

LDA loc+1

BEQ end
LDA loc
STA nloc
(
LDA loc+1
2STA nloc+1
<
LDY #0
F	STY b
PLDX #16
Z
.loopH
dLDA (char),Y
n� (nloc),Y
xSTA (nloc),Y
�INC char
�BNE nh1
�INC char+1
�.nh1
�LDA nloc
�� #7
�
CMP #7
�BNE one
�CLC
�LDA nloc
�ADC #&39
�STA nloc
�LDA nloc+1

ADC #1
STA nloc+1
JMP over
".one
,INC nloc
6	.over
@DEX
J
BNE loopH
TCLC
^
LDA #8
hADC loc
rSTA nloc
|
LDA #0
�
ADC loc+1
�STA nloc+1
�LDX #16
�	INC b
�	LDA b
�
CMP #2
�
BNE loopH
�.end RTS
�.deleten
�LDA #&51
�STA char+1
�JMP sprite
�
.blank
LDA #&40
STA char
LDA #&4F
&STA char+1
0RTS
:.callnlr
DLDA nlrloc+1
N	BEQ z
X
LDX #0
b
LDY #0
lJSR nastylr
v.z
�LDA nlrloc+3
�	BEQ y
�
LDX #1
�
LDY #2
�JSR nastylr
�.y
�RTS
�.nastylr
�LDA nlrdr,X
�� #1
�
BEQ nleft
�CLC
�LDA nlrloc,Y
ADC #&10
STA temp
LDA nlrloc+1,Y
 
ADC #0
*STA temp+1
4.domove
>STY mask
H
JSR check
RLDY mask
\LDA byte
fCMP #&FF
pBEQ changedir
zRTS
�.changedir
�INC nlrdr,X
�JMP nastylr
�
.nleft
�SEC
�LDA nlrloc,Y
�SBC #&10
�STA temp
�LDA nlrloc+1,Y
�
SBC #0
�STA temp+1
�JMP domove
�.movenlr
	LDA nlrloc+1
		BEQ x
	
LDX #0
	$
LDY #0
	.JSR mnlr
	8.x
	BLDA nlrloc+3
	L	BEQ w
	V
LDX #1
	`
LDY #2
	jJSR mnlr
	t.w
	~RTS
	�	.mnlr
	�LDA nlrloc,Y
	�STA loc
	�LDA nlrloc+1,Y
	�
STA loc+1
	�LDA nlrch,X
	�STA char
	�STX byte
	�STY mask
	�JSR deleten
	�LDX byte
	�LDY mask
LDA nlrdr,X

� #1

BEQ mnlrl
CLC
(LDA nlrloc,Y
2
ADC #8
<STA nlrloc,Y
FSTA loc
PLDA nlrloc+1,Y
Z
ADC #0
dSTA nlrloc+1,Y
n
STA loc+1
x	.both
�LDA nlrst,X
�� #1
�BEQ nlr
�
JSR pnlr2
�RTS
�.nlr
�
JSR pnlr1
�RTS
�
.mnlrl
�SEC
�LDA nlrloc,Y
�
SBC #8
�STA nlrloc,Y
STA loc
LDA nlrloc+1,Y

SBC #0
"STA nlrloc+1,Y
,
STA loc+1
6JMP both
@
.pnlr1
J
LDA #0
TJMP pnlr
^
.pnlr2
hLDA #&20
rJMP pnlr
|	.pnlr
�STA char
�STA nlrch,X
�LDA #&51
�STA char+1
�JSR sprite
�RTS
�.getnasties
�LDY nlrptr
�LDA &5340,Y
�
STA nlrxy
�INY
�LDA &5340,Y
�STA nlrxy+1
INY
LDA &5340,Y
STA nlrloc
&INY
0LDA &5340,Y
:STA nlrloc+1
DINY
NLDA &5340,Y
XSTA nlrloc+2
bINY
lLDA &5340,Y
vSTA nlrloc+3
�LDA nlrloc
�STA loc
�LDA nlrloc+1
�
STA loc+1
�
LDX #0
�
JSR pnlr1
�LDA nlrloc+2
�STA loc
�LDA nlrloc+3
�
STA loc+1
�
LDX #1
�
JSR pnlr1
�LDY nlrptr

LDA &5280,Y


STA nudxy

INY

 LDA &5280,Y

*STA nudxy+1

4INY

>LDA &5280,Y

HSTA nudloc

RINY

\LDA &5280,Y

fSTA nudloc+1

pINY

zLDA &5280,Y

�STA nudloc+2

�INY

�LDA &5280,Y

�STA nudloc+3

�LDA nudloc

�STA loc

�LDA nudloc+1

�
STA loc+1

�
LDX #0

�
JSR pnud1

�LDA nudloc+2

�STA loc

�LDA nudloc+3

STA loc+1

LDX #1

JSR pnud1
$LDA nlrptr
.	LSR A
8TAY
BLDA &5220,Y
LSTA rnxy
VINY
`LDA &5220,Y
j
STA rnloc
tINY
~LDA &5220,Y
�STA rnloc+1
�JSR prn1
�RTS
�.callnud
�LDA nudloc+1
�	BEQ v
�
LDX #0
�
LDY #0
�JSRnastyud
�.v
�LDA nudloc+3
�	BEQ u

LDX #1


LDY #2
JSR nastyud
.u
(RTS
2.nastyud
<LDA nuddr,X
F� #1
PBEQ nup
ZCLC
dLDA nudloc,Y
nADC #&80
xSTA temp
�LDA nudloc+1,Y
�
ADC #2
�STA temp+1
�.udmove
�STY mask
�
JSR check
�LDY mask
�LDA byte
�CMP #&FF
�
BEQ chdir
�RTS
�
.chdir
�INC nuddr,X
JMP nastyud
.nup
SEC
"LDA nudloc,Y
,SBC #&80
6STA temp
@LDA nudloc+1,Y
J
SBC #2
TSTA temp+1
^JMP udmove
h.movenud
rLDA nudloc+1
|	BEQ r
�
LDX #0
�
LDY #0
�JSR mnud
�.r
�LDAnudloc+3
�	BEQ q
�
LDX #1
�
LDY #2
�JSR mnud
�.q
�RTS
�	.mnud
�LDA nudloc,Y
STA loc
LDA nudloc+1,Y

STA loc+1
&LDA nudch,X
0STA char
:STX byte
DSTY mask
NJSR deleten
XLDX byte
bLDY mask
lLDA nuddr,X
v� #1
�
BEQ mnudu
�CLC
�LDA nudloc,Y
�ADC #&40
�STA nudloc,Y
�STA loc
�LDA nudloc+1,Y
�
ADC #1
�STA nudloc+1,Y
�
STA loc+1
�
.twice
�LDA nudst,X
�� #1

BEQ pnud1

JSR pnud2
RTS
 
.mnudu
*SEC
4LDA nudloc,Y
>SBC #&40
HSTA nudloc,Y
RSTA loc
\LDA nudloc+1,Y
f
SBC #1
pSTA nudloc+1,Y
z
STA loc+1
�
JMP twice
�
.pnud1
�LDA #&40
�JMP pnud
�
.pnud2
�LDA #&60
�JMP pnud
�	.pnud
�STA char
�STA nudch,X
�LDA #&51
�STA char+1
�JSR sprite
RTS
.nlrupd
LDA nlrloc+1
$	BEQ t
.
LDX #0
8JSR upd1
B.t
LLDA nlrloc+3
V	BEQ s
`
LDX #1
jJSR upd1
t.s
~RTS
�	.upd1
�INC nlrst,X
�LDA nlrdr,X
�� #1
�BEQ updl
�CLC
�LDA nlrxy,X
�ADC #&10
�STA nlrxy,X
�RTS
�	.updl
�SEC
LDA nlrxy,X

SBC #&10
STA nlrxy,X
RTS
(.nudupd
2LDA nudloc+1
<	BEQ p
F
LDX #0
PJSR upd2
Z.p
dLDA nudloc+3
n	BEQ o
x
LDX #1
�JSR upd2
�.o
�RTS
�	.upd2
�INC nudst,X
�LDA nuddr,X
�� #1
�BEQ updu
�INC nudxy,X
�RTS
�	.updu
�DEC nudxy,X
�RTS
.random

LDY #3
.random_test
"LDA seed,Y
,BNE random_ok
6DEY
@BPL random_test
JSTY seed
T.random_ok
^LDY #17
h
.loopO
rLDA seed+1
|	LSR A
�	LSR A
�	LSR A
�	LSR A
�	LSR A
�� seed+3
�	ROR A
�ROL seed
�ROL seed+1
�ROL seed+2
�ROL seed+3
�DEY
�
BNE loopO
�RTS
.nastyrn
LDA rnxy
BEQ nrn
&LDA stop
0� #1
:BNE dorn
D	.norn
N
LDA #0
XSTA rndr
b
JSR delrn
lJMP fin
v.nrn
�RTS
�	.dorn
�JSR random
�LDA seed
�� #3
�STA rndr
�INC rndr
�LDA rndr
�
CMP #1
�BEQ rnleft
�
CMP #2
�BEQ rnright
�
CMP #3
BEQ rnup

CMP #4
BEQ rndown
 RTS
*.rnleft
4LDA rnxy
>
� #&F0
HBEQ norn
RSEC
\
LDA rnloc
fSBC #&10
pSTA temp
zLDA rnloc+1
�
SBC #0
�STA temp+1
�JMP all
�.rnright
�LDA rnxy
�
� #&F0
�CMP #&F0
�BEQ norn
�CLC
�
LDA rnloc
�ADC #&10
�STA temp
�LDA rnloc+1

ADC #0
STA temp+1
JMP all
$	.rnup
.LDA rnxy
8	� #&F
BBEQ norn
LSEC
V
LDA rnloc
`SBC #&80
jSTA temp
tLDA rnloc+1
~
SBC #2
�STA temp+1
�JMP all
�.rndown
�LDA rnxy
�	� #&F
�CMP #&F
�BEQ norn
�CLC
�
LDA rnloc
�ADC #&80
�STA temp
�LDA rnloc+1

ADC #2

STA temp+1
JMP all
.fin
(LDA rnst
2� #1
<
BEQ rn
FJSR prn1
PRTS
Z.rn
dJSR prn2
nRTS
x.all
�
JSR check
�LDA byte
�CMP #&FF
�BNE else
�
LDA #0
�STA rndr
�
JSR delrn
�JMP fin
�	.else
�RTS
�.movern
�LDA rndr
�	BEQ n

JSR delrn
LDA rndr

CMP #1
"
BEQ movel
,
CMP #2
6
BEQ mover
@
CMP #3
J
BEQ moveu
T
CMP #4
^
BEQ moved
h.n
rRTS
|
.movel
�SEC
�
LDA rnloc
�
SBC #8
�
STA rnloc
�STA loc
�LDA rnloc+1
�
SBC #0
�STA rnloc+1
�
STA loc+1
�JMP fin
�
.mover
�CLC
�
LDA rnloc

ADC #8

STA rnloc
STA loc
&LDA rnloc+1
0
ADC #0
:STA rnloc+1
D
STA loc+1
NJMP fin
X
.moveu
bSEC
l
LDA rnloc
vSBC #&40
�
STA rnloc
�STA loc
�LDA rnloc+1
�
SBC #1
�STA rnloc+1
�
STA loc+1
�JMP fin
�
.moved
�CLC
�
LDA rnloc
�ADC #&40
�
STA rnloc
�STA loc
LDA rnloc+1

ADC #1
STA rnloc+1
 
STA loc+1
*JMP fin
4	.prn1
>LDA #&80
HJMP prn
R	.prn2
\LDA #&A0
f.prn
pSTA char
zSTA rnch
�LDA #&51
�STA char+1
�
LDA rnloc
�STA loc
�LDA rnloc+1
�
STA loc+1
�JSR sprite
�RTS
�.nrnupd
�LDA rnxy
�
BEQ no
�INC rnst
�INC stop
LDA stop
� #1

BNE no
$LDA rndr
.
BEQ no
8
CMP #1
BBEQ updrnl
L
CMP #2
VBEQ updrnr
`
CMP #3
jBEQ updrnu
t
CMP #4
~BEQ updrnd
�.no
�RTS
�.updrnl
�SEC
�LDA rnxy
�SBC #&10
�STA rnxy
�RTS
�.updrnr
�CLC
�LDA rnxy
�ADC #&10
STA rnxy

RTS
.updrnu
DEC rnxy
(RTS
2.updrnd
<INC rnxy
FRTS
P.collide
ZLDA youloc
dCMP nlrloc
nBNE cl1
xLDA youloc+1
�CMP nlrloc+1
�BEQ hit
�.cl1
�LDA youloc
�CMP nlrloc+2
�BNE cl2
�LDA youloc+1
�CMP nlrloc+3
�BEQ hit
�.cl2
�LDA youloc
�CMP nudloc
�BNE cl3
LDA youloc+1
CMP nudloc+1
BEQ hit
".cl3
,LDA youloc
6CMP nudloc+2
@BNE cl4
JLDA youloc+1
TCMP nudloc+3
^BEQ hit
h.cl4
rLDA youloc
|
CMP rnloc
�BNE cl5
�LDA youloc+1
�CMP rnloc+1
�BEQ hit
�.cl5
�RTS
�.hit
�
LDA #1
�STA tempxy
�RTS
�
.delrn
�
LDA rnloc
�STA loc
 LDA rnloc+1
 
STA loc+1
 LDA rnch
 &STA char
 0JSR deleten
 :RTS
 D	.seed
 NOPT �equd(�)
 X
.b NOP
 b
.c NOP
 l
.d NOP
 v
.e NOP
 �
.byte NOP
 �
.mask NOP
 �
.room NOP
 �
.rnxy NOP
 �
.rnch NOP
 �
.stop NOP
 �
.rnst NOP
 �
.rndr NOP
 �.youxy NOP
 �.youdr NOP
 �.youch NOP
 �.state NOP
 �.tempxy NOP
!.nlrptr NOP
!.energy NOP
!.doorptr NOP
! .nlrst NOP:NOP
!*.nlrdr NOP:NOP
!4.nlrxy NOP:NOP
!>.nudst NOP:NOP
!H.nuddr NOP:NOP
!R.nudxy NOP:NOP
!\.nlrch NOP:NOP
!f.nudch NOP:NOP
!p.doorptr NOP
!z.doorxy
!�OPT �equd(&88DC16B1)
!�OPT �equb(&E1)
!�OPT �equb(&9A)
!�.doorloc
!�OPT �equd(&67105B30)
!�OPT �equd(&6C8076D0)
!�OPT �equd(&71905B60)
!�.doorcol
!�OPT �equd(&60402000)
!�OPT �equb(&80)
!�OPT �equb(&A0)
!�.doorrm
!�OPT �equd(&0C090706)
"OPT �equb(&16)
"OPT �equb(&1C)
"]
"$�
".	� ~P%
"8�oscli("DIR M")
"B!�oscli("SAVE CODE 4332 497E")
"L�oscli("DIR $")
"V�
"`ݤequd(D%)
"j!P%=D%:P%=P%+4:=pass%
"tݤequb(D%)
"~?P%=D%:P%=P%+1:=pass%
"���oscli($&700)
"��X%,Y%:Y%=7:�&FFF7
"��
�
00000000  0d 00 0a 1d f4 20 4f 6d  6e 69 73 63 69 65 6e 74  |..... Omniscient|
00000010  20 4d 61 63 68 69 6e 65  20 43 6f 64 65 0d 00 14  | Machine Code...|
00000020  10 f4 20 47 65 6e 65 72  61 74 6f 72 2e 0d 00 1e  |.. Generator....|
00000030  0f f4 20 4c 69 73 74 69  6e 67 20 31 0d 00 28 19  |.. Listing 1..(.|
00000040  f4 20 62 79 20 50 65 74  65 72 20 42 72 6f 77 6e  |. by Peter Brown|
00000050  20 31 39 39 31 0d 00 32  05 3a 0d 00 3c 24 e7 20  | 1991..2.:..<$. |
00000060  90 3c 3e 26 31 31 30 30  20 8c 20 d0 3d 26 31 31  |.<>&1100 . .=&11|
00000070  30 30 3a d7 22 43 2e 4d  43 4f 44 45 31 22 0d 00  |00:."C.MCODE1"..|
00000080  46 0b d3 3d 26 34 33 33  32 0d 00 50 26 6c 6f 63  |F..=&4332..P&loc|
00000090  3d 26 37 30 3a 6e 6c 6f  63 3d 26 37 32 3a 63 68  |=&70:nloc=&72:ch|
000000a0  61 72 3d 26 37 34 3a 77  61 6c 6c 3d 26 37 36 0d  |ar=&74:wall=&76.|
000000b0  00 5a 23 72 6f 6f 6d 6c  6f 63 3d 26 37 38 3a 79  |.Z#roomloc=&78:y|
000000c0  6f 75 6c 6f 63 3d 26 37  41 3a 74 65 6d 70 3d 26  |ouloc=&7A:temp=&|
000000d0  37 43 0d 00 64 23 6e 6c  72 6c 6f 63 3d 26 37 45  |7C..d#nlrloc=&7E|
000000e0  3a 6e 75 64 6c 6f 63 3d  26 38 32 3a 72 6e 6c 6f  |:nudloc=&82:rnlo|
000000f0  63 3d 26 38 36 0d 00 6e  10 6f 73 62 79 74 65 3d  |c=&86..n.osbyte=|
00000100  26 46 46 46 34 0d 00 78  10 e3 70 61 73 73 25 3d  |&FFF4..x..pass%=|
00000110  30 b8 32 88 32 0d 00 82  0c 50 25 3d 26 34 33 33  |0.2.2....P%=&433|
00000120  32 0d 00 8c 05 5b 0d 00  96 0c 4f 50 54 70 61 73  |2....[....OPTpas|
00000130  73 25 0d 00 a0 0a 2e 63  68 65 63 6b 0d 00 aa 0f  |s%.....check....|
00000140  4a 53 52 20 77 61 6c 6c  63 68 6b 0d 00 b4 0f 4a  |JSR wallchk....J|
00000150  53 52 20 64 6f 6f 72 63  68 6b 0d 00 be 07 52 54  |SR doorchk....RT|
00000160  53 0d 00 c8 0c 2e 77 61  6c 6c 63 68 6b 0d 00 d2  |S.....wallchk...|
00000170  0c 4c 44 41 20 23 26 34  46 0d 00 dc 0e 53 54 41  |.LDA #&4F....STA|
00000180  20 63 68 61 72 2b 31 0d  00 e6 0a 4a 53 52 20 63  | char+1....JSR c|
00000190  68 0d 00 f0 0a 4c 44 59  20 23 30 0d 00 fa 10 4c  |h....LDY #0....L|
000001a0  44 41 20 28 63 68 61 72  29 2c 59 0d 01 04 0c 53  |DA (char),Y....S|
000001b0  54 41 20 77 61 6c 6c 0d  01 0e 10 4c 44 41 20 28  |TA wall....LDA (|
000001c0  74 65 6d 70 29 2c 59 0d  01 18 0c 43 4d 50 20 77  |temp),Y....CMP w|
000001d0  61 6c 6c 0d 01 22 0f 42  45 51 20 62 6c 6f 63 6b  |all..".BEQ block|
000001e0  65 64 0d 01 2c 0c 53 54  59 20 62 79 74 65 0d 01  |ed..,.STY byte..|
000001f0  36 07 52 54 53 0d 01 40  0c 2e 62 6c 6f 63 6b 65  |6.RTS..@..blocke|
00000200  64 0d 01 4a 0c 4c 44 41  20 23 26 46 46 0d 01 54  |d..J.LDA #&FF..T|
00000210  0c 53 54 41 20 62 79 74  65 0d 01 5e 07 52 54 53  |.STA byte..^.RTS|
00000220  0d 01 68 0c 2e 64 6f 6f  72 63 68 6b 0d 01 72 0c  |..h..doorchk..r.|
00000230  4c 44 41 20 62 79 74 65  0d 01 7c 0f 42 4e 45 20  |LDA byte..|.BNE |
00000240  62 6c 6f 63 6b 65 64 0d  01 86 0f 4c 44 41 20 64  |blocked....LDA d|
00000250  6f 6f 72 70 74 72 0d 01  90 0c 43 4d 50 20 23 26  |oorptr....CMP #&|
00000260  46 46 0d 01 9a 0e 42 45  51 20 6e 6f 64 6f 6f 72  |FF....BEQ nodoor|
00000270  0d 01 a4 09 41 53 4c 20  41 0d 01 ae 07 54 41 58  |....ASL A....TAX|
00000280  0d 01 b8 11 4c 44 41 20  64 6f 6f 72 6c 6f 63 2c  |....LDA doorloc,|
00000290  58 0d 01 c2 0c 43 4d 50  20 74 65 6d 70 0d 01 cc  |X....CMP temp...|
000002a0  0e 42 4e 45 20 6e 6f 64  6f 6f 72 0d 01 d6 13 4c  |.BNE nodoor....L|
000002b0  44 41 20 64 6f 6f 72 6c  6f 63 2b 31 2c 58 0d 01  |DA doorloc+1,X..|
000002c0  e0 0e 43 4d 50 20 74 65  6d 70 2b 31 0d 01 ea 0e  |..CMP temp+1....|
000002d0  42 4e 45 20 6e 6f 64 6f  6f 72 0d 01 f4 0b 4c 44  |BNE nodoor....LD|
000002e0  41 20 23 26 46 0d 01 fe  0c 53 54 41 20 62 79 74  |A #&F....STA byt|
000002f0  65 0d 02 08 07 52 54 53  0d 02 12 0b 2e 6e 6f 64  |e....RTS.....nod|
00000300  6f 6f 72 0d 02 1c 0a 4c  44 41 20 23 30 0d 02 26  |oor....LDA #0..&|
00000310  0c 53 54 41 20 62 79 74  65 0d 02 30 07 52 54 53  |.STA byte..0.RTS|
00000320  0d 02 3a 0b 2e 73 63 72  65 65 6e 0d 02 44 0c 4c  |..:..screen..D.L|
00000330  44 58 20 23 26 34 46 0d  02 4e 0e 53 54 58 20 63  |DX #&4F..N.STX c|
00000340  68 61 72 2b 31 0d 02 58  0a 4a 53 52 20 63 68 0d  |har+1..X.JSR ch.|
00000350  02 62 0f 4c 44 41 20 72  6f 6f 6d 6c 6f 63 0d 02  |.b.LDA roomloc..|
00000360  6c 0c 53 54 41 20 77 61  6c 6c 0d 02 76 11 4c 44  |l.STA wall..v.LD|
00000370  41 20 72 6f 6f 6d 6c 6f  63 2b 31 0d 02 80 0e 53  |A roomloc+1....S|
00000380  54 41 20 77 61 6c 6c 2b  31 0d 02 8a 0c 4c 44 41  |TA wall+1....LDA|
00000390  20 23 26 38 30 0d 02 94  0b 53 54 41 20 6c 6f 63  | #&80....STA loc|
000003a0  0d 02 9e 0c 4c 44 41 20  23 26 35 36 0d 02 a8 0d  |....LDA #&56....|
000003b0  53 54 41 20 6c 6f 63 2b  31 0d 02 b2 0b 4c 44 41  |STA loc+1....LDA|
000003c0  20 23 31 36 0d 02 bc 09  53 54 41 20 63 0d 02 c6  | #16....STA c...|
000003d0  0a 2e 6c 6f 6f 70 41 0d  02 d0 07 43 4c 43 0d 02  |..loopA....CLC..|
000003e0  da 0c 4c 44 41 20 23 26  38 30 0d 02 e4 0b 41 44  |..LDA #&80....AD|
000003f0  43 20 6c 6f 63 0d 02 ee  0b 53 54 41 20 6c 6f 63  |C loc....STA loc|
00000400  0d 02 f8 0a 4c 44 41 20  23 31 0d 03 02 0d 41 44  |....LDA #1....AD|
00000410  43 20 6c 6f 63 2b 31 0d  03 0c 0d 53 54 41 20 6c  |C loc+1....STA l|
00000420  6f 63 2b 31 0d 03 16 0a  4c 44 41 20 23 32 0d 03  |oc+1....LDA #2..|
00000430  20 09 53 54 41 20 64 0d  03 2a 0a 2e 6c 6f 6f 70  | .STA d..*..loop|
00000440  55 0d 03 34 0c 4c 44 41  20 23 31 32 38 0d 03 3e  |U..4.LDA #128..>|
00000450  0c 53 54 41 20 6d 61 73  6b 0d 03 48 0a 4c 44 58  |.STA mask..H.LDX|
00000460  20 23 38 0d 03 52 09 53  54 58 20 65 0d 03 5c 0a  | #8..R.STX e..\.|
00000470  2e 6c 6f 6f 70 54 0d 03  66 0a 4c 44 59 20 23 30  |.loopT..f.LDY #0|
00000480  0d 03 70 10 4c 44 41 20  28 77 61 6c 6c 29 2c 59  |..p.LDA (wall),Y|
00000490  0d 03 7a 0a 80 20 6d 61  73 6b 0d 03 84 0c 42 45  |..z.. mask....BE|
000004a0  51 20 6e 65 78 74 0d 03  8e 0e 4a 53 52 20 73 70  |Q next....JSR sp|
000004b0  72 69 74 65 0d 03 98 09  2e 6e 65 78 74 0d 03 a2  |rite.....next...|
000004c0  07 43 4c 43 0d 03 ac 0c  4c 44 41 20 23 26 31 30  |.CLC....LDA #&10|
000004d0  0d 03 b6 0b 41 44 43 20  6c 6f 63 0d 03 c0 0b 53  |....ADC loc....S|
000004e0  54 41 20 6c 6f 63 0d 03  ca 0a 4c 44 41 20 23 30  |TA loc....LDA #0|
000004f0  0d 03 d4 0d 41 44 43 20  6c 6f 63 2b 31 0d 03 de  |....ADC loc+1...|
00000500  0d 53 54 41 20 6c 6f 63  2b 31 0d 03 e8 0c 4c 53  |.STA loc+1....LS|
00000510  52 20 6d 61 73 6b 0d 03  f2 0a 4a 53 52 20 63 68  |R mask....JSR ch|
00000520  0d 03 fc 09 44 45 43 20  65 0d 04 06 09 4c 44 58  |....DEC e....LDX|
00000530  20 65 0d 04 10 0a 43 50  58 20 23 30 0d 04 1a 0d  | e....CPX #0....|
00000540  42 4e 45 20 6c 6f 6f 70  54 0d 04 24 0c 49 4e 43  |BNE loopT..$.INC|
00000550  20 77 61 6c 6c 0d 04 2e  0b 42 4e 45 20 6e 68 33  | wall....BNE nh3|
00000560  0d 04 38 0e 49 4e 43 20  77 61 6c 6c 2b 31 0d 04  |..8.INC wall+1..|
00000570  42 08 2e 6e 68 33 0d 04  4c 09 44 45 43 20 64 0d  |B..nh3..L.DEC d.|
00000580  04 56 09 4c 44 58 20 64  0d 04 60 0a 43 50 58 20  |.V.LDX d..`.CPX |
00000590  23 30 0d 04 6a 0d 42 4e  45 20 6c 6f 6f 70 55 0d  |#0..j.BNE loopU.|
000005a0  04 74 09 44 45 43 20 63  0d 04 7e 09 4c 44 58 20  |.t.DEC c..~.LDX |
000005b0  63 0d 04 88 0a 43 50 58  20 23 30 0d 04 92 0d 42  |c....CPX #0....B|
000005c0  4e 45 20 6c 6f 6f 70 41  0d 04 9c 12 4a 53 52 20  |NE loopA....JSR |
000005d0  67 65 74 6e 61 73 74 69  65 73 0d 04 a6 0a 4c 44  |getnasties....LD|
000005e0  41 20 23 30 0d 04 b0 0d  53 54 41 20 79 6f 75 64  |A #0....STA youd|
000005f0  72 0d 04 ba 07 52 54 53  0d 04 c4 07 2e 63 68 0d  |r....RTS.....ch.|
00000600  04 ce 0c 4c 44 59 20 72  6f 6f 6d 0d 04 d8 0f 4c  |...LDY room....L|
00000610  44 41 20 26 35 31 46 46  2c 59 0d 04 e2 0c 53 54  |DA &51FF,Y....ST|
00000620  41 20 63 68 61 72 0d 04  ec 07 52 54 53 0d 04 f6  |A char....RTS...|
00000630  0b 2e 73 70 72 69 74 65  0d 05 00 0d 4c 44 41 20  |..sprite....LDA |
00000640  6c 6f 63 2b 31 0d 05 0a  0b 42 45 51 20 65 6e 64  |loc+1....BEQ end|
00000650  0d 05 14 0b 4c 44 41 20  6c 6f 63 0d 05 1e 0c 53  |....LDA loc....S|
00000660  54 41 20 6e 6c 6f 63 0d  05 28 0d 4c 44 41 20 6c  |TA nloc..(.LDA l|
00000670  6f 63 2b 31 0d 05 32 0e  53 54 41 20 6e 6c 6f 63  |oc+1..2.STA nloc|
00000680  2b 31 0d 05 3c 0a 4c 44  59 20 23 30 0d 05 46 09  |+1..<.LDY #0..F.|
00000690  53 54 59 20 62 0d 05 50  0b 4c 44 58 20 23 31 36  |STY b..P.LDX #16|
000006a0  0d 05 5a 0a 2e 6c 6f 6f  70 48 0d 05 64 10 4c 44  |..Z..loopH..d.LD|
000006b0  41 20 28 63 68 61 72 29  2c 59 0d 05 6e 0e 82 20  |A (char),Y..n.. |
000006c0  28 6e 6c 6f 63 29 2c 59  0d 05 78 10 53 54 41 20  |(nloc),Y..x.STA |
000006d0  28 6e 6c 6f 63 29 2c 59  0d 05 82 0c 49 4e 43 20  |(nloc),Y....INC |
000006e0  63 68 61 72 0d 05 8c 0b  42 4e 45 20 6e 68 31 0d  |char....BNE nh1.|
000006f0  05 96 0e 49 4e 43 20 63  68 61 72 2b 31 0d 05 a0  |...INC char+1...|
00000700  08 2e 6e 68 31 0d 05 aa  0c 4c 44 41 20 6e 6c 6f  |..nh1....LDA nlo|
00000710  63 0d 05 b4 08 80 20 23  37 0d 05 be 0a 43 4d 50  |c..... #7....CMP|
00000720  20 23 37 0d 05 c8 0b 42  4e 45 20 6f 6e 65 0d 05  | #7....BNE one..|
00000730  d2 07 43 4c 43 0d 05 dc  0c 4c 44 41 20 6e 6c 6f  |..CLC....LDA nlo|
00000740  63 0d 05 e6 0c 41 44 43  20 23 26 33 39 0d 05 f0  |c....ADC #&39...|
00000750  0c 53 54 41 20 6e 6c 6f  63 0d 05 fa 0e 4c 44 41  |.STA nloc....LDA|
00000760  20 6e 6c 6f 63 2b 31 0d  06 04 0a 41 44 43 20 23  | nloc+1....ADC #|
00000770  31 0d 06 0e 0e 53 54 41  20 6e 6c 6f 63 2b 31 0d  |1....STA nloc+1.|
00000780  06 18 0c 4a 4d 50 20 6f  76 65 72 0d 06 22 08 2e  |...JMP over.."..|
00000790  6f 6e 65 0d 06 2c 0c 49  4e 43 20 6e 6c 6f 63 0d  |one..,.INC nloc.|
000007a0  06 36 09 2e 6f 76 65 72  0d 06 40 07 44 45 58 0d  |.6..over..@.DEX.|
000007b0  06 4a 0d 42 4e 45 20 6c  6f 6f 70 48 0d 06 54 07  |.J.BNE loopH..T.|
000007c0  43 4c 43 0d 06 5e 0a 4c  44 41 20 23 38 0d 06 68  |CLC..^.LDA #8..h|
000007d0  0b 41 44 43 20 6c 6f 63  0d 06 72 0c 53 54 41 20  |.ADC loc..r.STA |
000007e0  6e 6c 6f 63 0d 06 7c 0a  4c 44 41 20 23 30 0d 06  |nloc..|.LDA #0..|
000007f0  86 0d 41 44 43 20 6c 6f  63 2b 31 0d 06 90 0e 53  |..ADC loc+1....S|
00000800  54 41 20 6e 6c 6f 63 2b  31 0d 06 9a 0b 4c 44 58  |TA nloc+1....LDX|
00000810  20 23 31 36 0d 06 a4 09  49 4e 43 20 62 0d 06 ae  | #16....INC b...|
00000820  09 4c 44 41 20 62 0d 06  b8 0a 43 4d 50 20 23 32  |.LDA b....CMP #2|
00000830  0d 06 c2 0d 42 4e 45 20  6c 6f 6f 70 48 0d 06 cc  |....BNE loopH...|
00000840  0c 2e 65 6e 64 20 52 54  53 0d 06 d6 0c 2e 64 65  |..end RTS.....de|
00000850  6c 65 74 65 6e 0d 06 e0  0c 4c 44 41 20 23 26 35  |leten....LDA #&5|
00000860  31 0d 06 ea 0e 53 54 41  20 63 68 61 72 2b 31 0d  |1....STA char+1.|
00000870  06 f4 0e 4a 4d 50 20 73  70 72 69 74 65 0d 06 fe  |...JMP sprite...|
00000880  0a 2e 62 6c 61 6e 6b 0d  07 08 0c 4c 44 41 20 23  |..blank....LDA #|
00000890  26 34 30 0d 07 12 0c 53  54 41 20 63 68 61 72 0d  |&40....STA char.|
000008a0  07 1c 0c 4c 44 41 20 23  26 34 46 0d 07 26 0e 53  |...LDA #&4F..&.S|
000008b0  54 41 20 63 68 61 72 2b  31 0d 07 30 07 52 54 53  |TA char+1..0.RTS|
000008c0  0d 07 3a 0c 2e 63 61 6c  6c 6e 6c 72 0d 07 44 10  |..:..callnlr..D.|
000008d0  4c 44 41 20 6e 6c 72 6c  6f 63 2b 31 0d 07 4e 09  |LDA nlrloc+1..N.|
000008e0  42 45 51 20 7a 0d 07 58  0a 4c 44 58 20 23 30 0d  |BEQ z..X.LDX #0.|
000008f0  07 62 0a 4c 44 59 20 23  30 0d 07 6c 0f 4a 53 52  |.b.LDY #0..l.JSR|
00000900  20 6e 61 73 74 79 6c 72  0d 07 76 06 2e 7a 0d 07  | nastylr..v..z..|
00000910  80 10 4c 44 41 20 6e 6c  72 6c 6f 63 2b 33 0d 07  |..LDA nlrloc+3..|
00000920  8a 09 42 45 51 20 79 0d  07 94 0a 4c 44 58 20 23  |..BEQ y....LDX #|
00000930  31 0d 07 9e 0a 4c 44 59  20 23 32 0d 07 a8 0f 4a  |1....LDY #2....J|
00000940  53 52 20 6e 61 73 74 79  6c 72 0d 07 b2 06 2e 79  |SR nastylr.....y|
00000950  0d 07 bc 07 52 54 53 0d  07 c6 0c 2e 6e 61 73 74  |....RTS.....nast|
00000960  79 6c 72 0d 07 d0 0f 4c  44 41 20 6e 6c 72 64 72  |ylr....LDA nlrdr|
00000970  2c 58 0d 07 da 08 80 20  23 31 0d 07 e4 0d 42 45  |,X..... #1....BE|
00000980  51 20 6e 6c 65 66 74 0d  07 ee 07 43 4c 43 0d 07  |Q nleft....CLC..|
00000990  f8 10 4c 44 41 20 6e 6c  72 6c 6f 63 2c 59 0d 08  |..LDA nlrloc,Y..|
000009a0  02 0c 41 44 43 20 23 26  31 30 0d 08 0c 0c 53 54  |..ADC #&10....ST|
000009b0  41 20 74 65 6d 70 0d 08  16 12 4c 44 41 20 6e 6c  |A temp....LDA nl|
000009c0  72 6c 6f 63 2b 31 2c 59  0d 08 20 0a 41 44 43 20  |rloc+1,Y.. .ADC |
000009d0  23 30 0d 08 2a 0e 53 54  41 20 74 65 6d 70 2b 31  |#0..*.STA temp+1|
000009e0  0d 08 34 0b 2e 64 6f 6d  6f 76 65 0d 08 3e 0c 53  |..4..domove..>.S|
000009f0  54 59 20 6d 61 73 6b 0d  08 48 0d 4a 53 52 20 63  |TY mask..H.JSR c|
00000a00  68 65 63 6b 0d 08 52 0c  4c 44 59 20 6d 61 73 6b  |heck..R.LDY mask|
00000a10  0d 08 5c 0c 4c 44 41 20  62 79 74 65 0d 08 66 0c  |..\.LDA byte..f.|
00000a20  43 4d 50 20 23 26 46 46  0d 08 70 11 42 45 51 20  |CMP #&FF..p.BEQ |
00000a30  63 68 61 6e 67 65 64 69  72 0d 08 7a 07 52 54 53  |changedir..z.RTS|
00000a40  0d 08 84 0e 2e 63 68 61  6e 67 65 64 69 72 0d 08  |.....changedir..|
00000a50  8e 0f 49 4e 43 20 6e 6c  72 64 72 2c 58 0d 08 98  |..INC nlrdr,X...|
00000a60  0f 4a 4d 50 20 6e 61 73  74 79 6c 72 0d 08 a2 0a  |.JMP nastylr....|
00000a70  2e 6e 6c 65 66 74 0d 08  ac 07 53 45 43 0d 08 b6  |.nleft....SEC...|
00000a80  10 4c 44 41 20 6e 6c 72  6c 6f 63 2c 59 0d 08 c0  |.LDA nlrloc,Y...|
00000a90  0c 53 42 43 20 23 26 31  30 0d 08 ca 0c 53 54 41  |.SBC #&10....STA|
00000aa0  20 74 65 6d 70 0d 08 d4  12 4c 44 41 20 6e 6c 72  | temp....LDA nlr|
00000ab0  6c 6f 63 2b 31 2c 59 0d  08 de 0a 53 42 43 20 23  |loc+1,Y....SBC #|
00000ac0  30 0d 08 e8 0e 53 54 41  20 74 65 6d 70 2b 31 0d  |0....STA temp+1.|
00000ad0  08 f2 0e 4a 4d 50 20 64  6f 6d 6f 76 65 0d 08 fc  |...JMP domove...|
00000ae0  0c 2e 6d 6f 76 65 6e 6c  72 0d 09 06 10 4c 44 41  |..movenlr....LDA|
00000af0  20 6e 6c 72 6c 6f 63 2b  31 0d 09 10 09 42 45 51  | nlrloc+1....BEQ|
00000b00  20 78 0d 09 1a 0a 4c 44  58 20 23 30 0d 09 24 0a  | x....LDX #0..$.|
00000b10  4c 44 59 20 23 30 0d 09  2e 0c 4a 53 52 20 6d 6e  |LDY #0....JSR mn|
00000b20  6c 72 0d 09 38 06 2e 78  0d 09 42 10 4c 44 41 20  |lr..8..x..B.LDA |
00000b30  6e 6c 72 6c 6f 63 2b 33  0d 09 4c 09 42 45 51 20  |nlrloc+3..L.BEQ |
00000b40  77 0d 09 56 0a 4c 44 58  20 23 31 0d 09 60 0a 4c  |w..V.LDX #1..`.L|
00000b50  44 59 20 23 32 0d 09 6a  0c 4a 53 52 20 6d 6e 6c  |DY #2..j.JSR mnl|
00000b60  72 0d 09 74 06 2e 77 0d  09 7e 07 52 54 53 0d 09  |r..t..w..~.RTS..|
00000b70  88 09 2e 6d 6e 6c 72 0d  09 92 10 4c 44 41 20 6e  |...mnlr....LDA n|
00000b80  6c 72 6c 6f 63 2c 59 0d  09 9c 0b 53 54 41 20 6c  |lrloc,Y....STA l|
00000b90  6f 63 0d 09 a6 12 4c 44  41 20 6e 6c 72 6c 6f 63  |oc....LDA nlrloc|
00000ba0  2b 31 2c 59 0d 09 b0 0d  53 54 41 20 6c 6f 63 2b  |+1,Y....STA loc+|
00000bb0  31 0d 09 ba 0f 4c 44 41  20 6e 6c 72 63 68 2c 58  |1....LDA nlrch,X|
00000bc0  0d 09 c4 0c 53 54 41 20  63 68 61 72 0d 09 ce 0c  |....STA char....|
00000bd0  53 54 58 20 62 79 74 65  0d 09 d8 0c 53 54 59 20  |STX byte....STY |
00000be0  6d 61 73 6b 0d 09 e2 0f  4a 53 52 20 64 65 6c 65  |mask....JSR dele|
00000bf0  74 65 6e 0d 09 ec 0c 4c  44 58 20 62 79 74 65 0d  |ten....LDX byte.|
00000c00  09 f6 0c 4c 44 59 20 6d  61 73 6b 0d 0a 00 0f 4c  |...LDY mask....L|
00000c10  44 41 20 6e 6c 72 64 72  2c 58 0d 0a 0a 08 80 20  |DA nlrdr,X..... |
00000c20  23 31 0d 0a 14 0d 42 45  51 20 6d 6e 6c 72 6c 0d  |#1....BEQ mnlrl.|
00000c30  0a 1e 07 43 4c 43 0d 0a  28 10 4c 44 41 20 6e 6c  |...CLC..(.LDA nl|
00000c40  72 6c 6f 63 2c 59 0d 0a  32 0a 41 44 43 20 23 38  |rloc,Y..2.ADC #8|
00000c50  0d 0a 3c 10 53 54 41 20  6e 6c 72 6c 6f 63 2c 59  |..<.STA nlrloc,Y|
00000c60  0d 0a 46 0b 53 54 41 20  6c 6f 63 0d 0a 50 12 4c  |..F.STA loc..P.L|
00000c70  44 41 20 6e 6c 72 6c 6f  63 2b 31 2c 59 0d 0a 5a  |DA nlrloc+1,Y..Z|
00000c80  0a 41 44 43 20 23 30 0d  0a 64 12 53 54 41 20 6e  |.ADC #0..d.STA n|
00000c90  6c 72 6c 6f 63 2b 31 2c  59 0d 0a 6e 0d 53 54 41  |lrloc+1,Y..n.STA|
00000ca0  20 6c 6f 63 2b 31 0d 0a  78 09 2e 62 6f 74 68 0d  | loc+1..x..both.|
00000cb0  0a 82 0f 4c 44 41 20 6e  6c 72 73 74 2c 58 0d 0a  |...LDA nlrst,X..|
00000cc0  8c 08 80 20 23 31 0d 0a  96 0b 42 45 51 20 6e 6c  |... #1....BEQ nl|
00000cd0  72 0d 0a a0 0d 4a 53 52  20 70 6e 6c 72 32 0d 0a  |r....JSR pnlr2..|
00000ce0  aa 07 52 54 53 0d 0a b4  08 2e 6e 6c 72 0d 0a be  |..RTS.....nlr...|
00000cf0  0d 4a 53 52 20 70 6e 6c  72 31 0d 0a c8 07 52 54  |.JSR pnlr1....RT|
00000d00  53 0d 0a d2 0a 2e 6d 6e  6c 72 6c 0d 0a dc 07 53  |S.....mnlrl....S|
00000d10  45 43 0d 0a e6 10 4c 44  41 20 6e 6c 72 6c 6f 63  |EC....LDA nlrloc|
00000d20  2c 59 0d 0a f0 0a 53 42  43 20 23 38 0d 0a fa 10  |,Y....SBC #8....|
00000d30  53 54 41 20 6e 6c 72 6c  6f 63 2c 59 0d 0b 04 0b  |STA nlrloc,Y....|
00000d40  53 54 41 20 6c 6f 63 0d  0b 0e 12 4c 44 41 20 6e  |STA loc....LDA n|
00000d50  6c 72 6c 6f 63 2b 31 2c  59 0d 0b 18 0a 53 42 43  |lrloc+1,Y....SBC|
00000d60  20 23 30 0d 0b 22 12 53  54 41 20 6e 6c 72 6c 6f  | #0..".STA nlrlo|
00000d70  63 2b 31 2c 59 0d 0b 2c  0d 53 54 41 20 6c 6f 63  |c+1,Y..,.STA loc|
00000d80  2b 31 0d 0b 36 0c 4a 4d  50 20 62 6f 74 68 0d 0b  |+1..6.JMP both..|
00000d90  40 0a 2e 70 6e 6c 72 31  0d 0b 4a 0a 4c 44 41 20  |@..pnlr1..J.LDA |
00000da0  23 30 0d 0b 54 0c 4a 4d  50 20 70 6e 6c 72 0d 0b  |#0..T.JMP pnlr..|
00000db0  5e 0a 2e 70 6e 6c 72 32  0d 0b 68 0c 4c 44 41 20  |^..pnlr2..h.LDA |
00000dc0  23 26 32 30 0d 0b 72 0c  4a 4d 50 20 70 6e 6c 72  |#&20..r.JMP pnlr|
00000dd0  0d 0b 7c 09 2e 70 6e 6c  72 0d 0b 86 0c 53 54 41  |..|..pnlr....STA|
00000de0  20 63 68 61 72 0d 0b 90  0f 53 54 41 20 6e 6c 72  | char....STA nlr|
00000df0  63 68 2c 58 0d 0b 9a 0c  4c 44 41 20 23 26 35 31  |ch,X....LDA #&51|
00000e00  0d 0b a4 0e 53 54 41 20  63 68 61 72 2b 31 0d 0b  |....STA char+1..|
00000e10  ae 0e 4a 53 52 20 73 70  72 69 74 65 0d 0b b8 07  |..JSR sprite....|
00000e20  52 54 53 0d 0b c2 0f 2e  67 65 74 6e 61 73 74 69  |RTS.....getnasti|
00000e30  65 73 0d 0b cc 0e 4c 44  59 20 6e 6c 72 70 74 72  |es....LDY nlrptr|
00000e40  0d 0b d6 0f 4c 44 41 20  26 35 33 34 30 2c 59 0d  |....LDA &5340,Y.|
00000e50  0b e0 0d 53 54 41 20 6e  6c 72 78 79 0d 0b ea 07  |...STA nlrxy....|
00000e60  49 4e 59 0d 0b f4 0f 4c  44 41 20 26 35 33 34 30  |INY....LDA &5340|
00000e70  2c 59 0d 0b fe 0f 53 54  41 20 6e 6c 72 78 79 2b  |,Y....STA nlrxy+|
00000e80  31 0d 0c 08 07 49 4e 59  0d 0c 12 0f 4c 44 41 20  |1....INY....LDA |
00000e90  26 35 33 34 30 2c 59 0d  0c 1c 0e 53 54 41 20 6e  |&5340,Y....STA n|
00000ea0  6c 72 6c 6f 63 0d 0c 26  07 49 4e 59 0d 0c 30 0f  |lrloc..&.INY..0.|
00000eb0  4c 44 41 20 26 35 33 34  30 2c 59 0d 0c 3a 10 53  |LDA &5340,Y..:.S|
00000ec0  54 41 20 6e 6c 72 6c 6f  63 2b 31 0d 0c 44 07 49  |TA nlrloc+1..D.I|
00000ed0  4e 59 0d 0c 4e 0f 4c 44  41 20 26 35 33 34 30 2c  |NY..N.LDA &5340,|
00000ee0  59 0d 0c 58 10 53 54 41  20 6e 6c 72 6c 6f 63 2b  |Y..X.STA nlrloc+|
00000ef0  32 0d 0c 62 07 49 4e 59  0d 0c 6c 0f 4c 44 41 20  |2..b.INY..l.LDA |
00000f00  26 35 33 34 30 2c 59 0d  0c 76 10 53 54 41 20 6e  |&5340,Y..v.STA n|
00000f10  6c 72 6c 6f 63 2b 33 0d  0c 80 0e 4c 44 41 20 6e  |lrloc+3....LDA n|
00000f20  6c 72 6c 6f 63 0d 0c 8a  0b 53 54 41 20 6c 6f 63  |lrloc....STA loc|
00000f30  0d 0c 94 10 4c 44 41 20  6e 6c 72 6c 6f 63 2b 31  |....LDA nlrloc+1|
00000f40  0d 0c 9e 0d 53 54 41 20  6c 6f 63 2b 31 0d 0c a8  |....STA loc+1...|
00000f50  0a 4c 44 58 20 23 30 0d  0c b2 0d 4a 53 52 20 70  |.LDX #0....JSR p|
00000f60  6e 6c 72 31 0d 0c bc 10  4c 44 41 20 6e 6c 72 6c  |nlr1....LDA nlrl|
00000f70  6f 63 2b 32 0d 0c c6 0b  53 54 41 20 6c 6f 63 0d  |oc+2....STA loc.|
00000f80  0c d0 10 4c 44 41 20 6e  6c 72 6c 6f 63 2b 33 0d  |...LDA nlrloc+3.|
00000f90  0c da 0d 53 54 41 20 6c  6f 63 2b 31 0d 0c e4 0a  |...STA loc+1....|
00000fa0  4c 44 58 20 23 31 0d 0c  ee 0d 4a 53 52 20 70 6e  |LDX #1....JSR pn|
00000fb0  6c 72 31 0d 0c f8 0e 4c  44 59 20 6e 6c 72 70 74  |lr1....LDY nlrpt|
00000fc0  72 0d 0d 02 0f 4c 44 41  20 26 35 32 38 30 2c 59  |r....LDA &5280,Y|
00000fd0  0d 0d 0c 0d 53 54 41 20  6e 75 64 78 79 0d 0d 16  |....STA nudxy...|
00000fe0  07 49 4e 59 0d 0d 20 0f  4c 44 41 20 26 35 32 38  |.INY.. .LDA &528|
00000ff0  30 2c 59 0d 0d 2a 0f 53  54 41 20 6e 75 64 78 79  |0,Y..*.STA nudxy|
00001000  2b 31 0d 0d 34 07 49 4e  59 0d 0d 3e 0f 4c 44 41  |+1..4.INY..>.LDA|
00001010  20 26 35 32 38 30 2c 59  0d 0d 48 0e 53 54 41 20  | &5280,Y..H.STA |
00001020  6e 75 64 6c 6f 63 0d 0d  52 07 49 4e 59 0d 0d 5c  |nudloc..R.INY..\|
00001030  0f 4c 44 41 20 26 35 32  38 30 2c 59 0d 0d 66 10  |.LDA &5280,Y..f.|
00001040  53 54 41 20 6e 75 64 6c  6f 63 2b 31 0d 0d 70 07  |STA nudloc+1..p.|
00001050  49 4e 59 0d 0d 7a 0f 4c  44 41 20 26 35 32 38 30  |INY..z.LDA &5280|
00001060  2c 59 0d 0d 84 10 53 54  41 20 6e 75 64 6c 6f 63  |,Y....STA nudloc|
00001070  2b 32 0d 0d 8e 07 49 4e  59 0d 0d 98 0f 4c 44 41  |+2....INY....LDA|
00001080  20 26 35 32 38 30 2c 59  0d 0d a2 10 53 54 41 20  | &5280,Y....STA |
00001090  6e 75 64 6c 6f 63 2b 33  0d 0d ac 0e 4c 44 41 20  |nudloc+3....LDA |
000010a0  6e 75 64 6c 6f 63 0d 0d  b6 0b 53 54 41 20 6c 6f  |nudloc....STA lo|
000010b0  63 0d 0d c0 10 4c 44 41  20 6e 75 64 6c 6f 63 2b  |c....LDA nudloc+|
000010c0  31 0d 0d ca 0d 53 54 41  20 6c 6f 63 2b 31 0d 0d  |1....STA loc+1..|
000010d0  d4 0a 4c 44 58 20 23 30  0d 0d de 0d 4a 53 52 20  |..LDX #0....JSR |
000010e0  70 6e 75 64 31 0d 0d e8  10 4c 44 41 20 6e 75 64  |pnud1....LDA nud|
000010f0  6c 6f 63 2b 32 0d 0d f2  0b 53 54 41 20 6c 6f 63  |loc+2....STA loc|
00001100  0d 0d fc 10 4c 44 41 20  6e 75 64 6c 6f 63 2b 33  |....LDA nudloc+3|
00001110  0d 0e 06 0d 53 54 41 20  6c 6f 63 2b 31 0d 0e 10  |....STA loc+1...|
00001120  0a 4c 44 58 20 23 31 0d  0e 1a 0d 4a 53 52 20 70  |.LDX #1....JSR p|
00001130  6e 75 64 31 0d 0e 24 0e  4c 44 41 20 6e 6c 72 70  |nud1..$.LDA nlrp|
00001140  74 72 0d 0e 2e 09 4c 53  52 20 41 0d 0e 38 07 54  |tr....LSR A..8.T|
00001150  41 59 0d 0e 42 0f 4c 44  41 20 26 35 32 32 30 2c  |AY..B.LDA &5220,|
00001160  59 0d 0e 4c 0c 53 54 41  20 72 6e 78 79 0d 0e 56  |Y..L.STA rnxy..V|
00001170  07 49 4e 59 0d 0e 60 0f  4c 44 41 20 26 35 32 32  |.INY..`.LDA &522|
00001180  30 2c 59 0d 0e 6a 0d 53  54 41 20 72 6e 6c 6f 63  |0,Y..j.STA rnloc|
00001190  0d 0e 74 07 49 4e 59 0d  0e 7e 0f 4c 44 41 20 26  |..t.INY..~.LDA &|
000011a0  35 32 32 30 2c 59 0d 0e  88 0f 53 54 41 20 72 6e  |5220,Y....STA rn|
000011b0  6c 6f 63 2b 31 0d 0e 92  0c 4a 53 52 20 70 72 6e  |loc+1....JSR prn|
000011c0  31 0d 0e 9c 07 52 54 53  0d 0e a6 0c 2e 63 61 6c  |1....RTS.....cal|
000011d0  6c 6e 75 64 0d 0e b0 10  4c 44 41 20 6e 75 64 6c  |lnud....LDA nudl|
000011e0  6f 63 2b 31 0d 0e ba 09  42 45 51 20 76 0d 0e c4  |oc+1....BEQ v...|
000011f0  0a 4c 44 58 20 23 30 0d  0e ce 0a 4c 44 59 20 23  |.LDX #0....LDY #|
00001200  30 0d 0e d8 0e 4a 53 52  6e 61 73 74 79 75 64 0d  |0....JSRnastyud.|
00001210  0e e2 06 2e 76 0d 0e ec  10 4c 44 41 20 6e 75 64  |....v....LDA nud|
00001220  6c 6f 63 2b 33 0d 0e f6  09 42 45 51 20 75 0d 0f  |loc+3....BEQ u..|
00001230  00 0a 4c 44 58 20 23 31  0d 0f 0a 0a 4c 44 59 20  |..LDX #1....LDY |
00001240  23 32 0d 0f 14 0f 4a 53  52 20 6e 61 73 74 79 75  |#2....JSR nastyu|
00001250  64 0d 0f 1e 06 2e 75 0d  0f 28 07 52 54 53 0d 0f  |d.....u..(.RTS..|
00001260  32 0c 2e 6e 61 73 74 79  75 64 0d 0f 3c 0f 4c 44  |2..nastyud..<.LD|
00001270  41 20 6e 75 64 64 72 2c  58 0d 0f 46 08 80 20 23  |A nuddr,X..F.. #|
00001280  31 0d 0f 50 0b 42 45 51  20 6e 75 70 0d 0f 5a 07  |1..P.BEQ nup..Z.|
00001290  43 4c 43 0d 0f 64 10 4c  44 41 20 6e 75 64 6c 6f  |CLC..d.LDA nudlo|
000012a0  63 2c 59 0d 0f 6e 0c 41  44 43 20 23 26 38 30 0d  |c,Y..n.ADC #&80.|
000012b0  0f 78 0c 53 54 41 20 74  65 6d 70 0d 0f 82 12 4c  |.x.STA temp....L|
000012c0  44 41 20 6e 75 64 6c 6f  63 2b 31 2c 59 0d 0f 8c  |DA nudloc+1,Y...|
000012d0  0a 41 44 43 20 23 32 0d  0f 96 0e 53 54 41 20 74  |.ADC #2....STA t|
000012e0  65 6d 70 2b 31 0d 0f a0  0b 2e 75 64 6d 6f 76 65  |emp+1.....udmove|
000012f0  0d 0f aa 0c 53 54 59 20  6d 61 73 6b 0d 0f b4 0d  |....STY mask....|
00001300  4a 53 52 20 63 68 65 63  6b 0d 0f be 0c 4c 44 59  |JSR check....LDY|
00001310  20 6d 61 73 6b 0d 0f c8  0c 4c 44 41 20 62 79 74  | mask....LDA byt|
00001320  65 0d 0f d2 0c 43 4d 50  20 23 26 46 46 0d 0f dc  |e....CMP #&FF...|
00001330  0d 42 45 51 20 63 68 64  69 72 0d 0f e6 07 52 54  |.BEQ chdir....RT|
00001340  53 0d 0f f0 0a 2e 63 68  64 69 72 0d 0f fa 0f 49  |S.....chdir....I|
00001350  4e 43 20 6e 75 64 64 72  2c 58 0d 10 04 0f 4a 4d  |NC nuddr,X....JM|
00001360  50 20 6e 61 73 74 79 75  64 0d 10 0e 08 2e 6e 75  |P nastyud.....nu|
00001370  70 0d 10 18 07 53 45 43  0d 10 22 10 4c 44 41 20  |p....SEC..".LDA |
00001380  6e 75 64 6c 6f 63 2c 59  0d 10 2c 0c 53 42 43 20  |nudloc,Y..,.SBC |
00001390  23 26 38 30 0d 10 36 0c  53 54 41 20 74 65 6d 70  |#&80..6.STA temp|
000013a0  0d 10 40 12 4c 44 41 20  6e 75 64 6c 6f 63 2b 31  |..@.LDA nudloc+1|
000013b0  2c 59 0d 10 4a 0a 53 42  43 20 23 32 0d 10 54 0e  |,Y..J.SBC #2..T.|
000013c0  53 54 41 20 74 65 6d 70  2b 31 0d 10 5e 0e 4a 4d  |STA temp+1..^.JM|
000013d0  50 20 75 64 6d 6f 76 65  0d 10 68 0c 2e 6d 6f 76  |P udmove..h..mov|
000013e0  65 6e 75 64 0d 10 72 10  4c 44 41 20 6e 75 64 6c  |enud..r.LDA nudl|
000013f0  6f 63 2b 31 0d 10 7c 09  42 45 51 20 72 0d 10 86  |oc+1..|.BEQ r...|
00001400  0a 4c 44 58 20 23 30 0d  10 90 0a 4c 44 59 20 23  |.LDX #0....LDY #|
00001410  30 0d 10 9a 0c 4a 53 52  20 6d 6e 75 64 0d 10 a4  |0....JSR mnud...|
00001420  06 2e 72 0d 10 ae 0f 4c  44 41 6e 75 64 6c 6f 63  |..r....LDAnudloc|
00001430  2b 33 0d 10 b8 09 42 45  51 20 71 0d 10 c2 0a 4c  |+3....BEQ q....L|
00001440  44 58 20 23 31 0d 10 cc  0a 4c 44 59 20 23 32 0d  |DX #1....LDY #2.|
00001450  10 d6 0c 4a 53 52 20 6d  6e 75 64 0d 10 e0 06 2e  |...JSR mnud.....|
00001460  71 0d 10 ea 07 52 54 53  0d 10 f4 09 2e 6d 6e 75  |q....RTS.....mnu|
00001470  64 0d 10 fe 10 4c 44 41  20 6e 75 64 6c 6f 63 2c  |d....LDA nudloc,|
00001480  59 0d 11 08 0b 53 54 41  20 6c 6f 63 0d 11 12 12  |Y....STA loc....|
00001490  4c 44 41 20 6e 75 64 6c  6f 63 2b 31 2c 59 0d 11  |LDA nudloc+1,Y..|
000014a0  1c 0d 53 54 41 20 6c 6f  63 2b 31 0d 11 26 0f 4c  |..STA loc+1..&.L|
000014b0  44 41 20 6e 75 64 63 68  2c 58 0d 11 30 0c 53 54  |DA nudch,X..0.ST|
000014c0  41 20 63 68 61 72 0d 11  3a 0c 53 54 58 20 62 79  |A char..:.STX by|
000014d0  74 65 0d 11 44 0c 53 54  59 20 6d 61 73 6b 0d 11  |te..D.STY mask..|
000014e0  4e 0f 4a 53 52 20 64 65  6c 65 74 65 6e 0d 11 58  |N.JSR deleten..X|
000014f0  0c 4c 44 58 20 62 79 74  65 0d 11 62 0c 4c 44 59  |.LDX byte..b.LDY|
00001500  20 6d 61 73 6b 0d 11 6c  0f 4c 44 41 20 6e 75 64  | mask..l.LDA nud|
00001510  64 72 2c 58 0d 11 76 08  80 20 23 31 0d 11 80 0d  |dr,X..v.. #1....|
00001520  42 45 51 20 6d 6e 75 64  75 0d 11 8a 07 43 4c 43  |BEQ mnudu....CLC|
00001530  0d 11 94 10 4c 44 41 20  6e 75 64 6c 6f 63 2c 59  |....LDA nudloc,Y|
00001540  0d 11 9e 0c 41 44 43 20  23 26 34 30 0d 11 a8 10  |....ADC #&40....|
00001550  53 54 41 20 6e 75 64 6c  6f 63 2c 59 0d 11 b2 0b  |STA nudloc,Y....|
00001560  53 54 41 20 6c 6f 63 0d  11 bc 12 4c 44 41 20 6e  |STA loc....LDA n|
00001570  75 64 6c 6f 63 2b 31 2c  59 0d 11 c6 0a 41 44 43  |udloc+1,Y....ADC|
00001580  20 23 31 0d 11 d0 12 53  54 41 20 6e 75 64 6c 6f  | #1....STA nudlo|
00001590  63 2b 31 2c 59 0d 11 da  0d 53 54 41 20 6c 6f 63  |c+1,Y....STA loc|
000015a0  2b 31 0d 11 e4 0a 2e 74  77 69 63 65 0d 11 ee 0f  |+1.....twice....|
000015b0  4c 44 41 20 6e 75 64 73  74 2c 58 0d 11 f8 08 80  |LDA nudst,X.....|
000015c0  20 23 31 0d 12 02 0d 42  45 51 20 70 6e 75 64 31  | #1....BEQ pnud1|
000015d0  0d 12 0c 0d 4a 53 52 20  70 6e 75 64 32 0d 12 16  |....JSR pnud2...|
000015e0  07 52 54 53 0d 12 20 0a  2e 6d 6e 75 64 75 0d 12  |.RTS.. ..mnudu..|
000015f0  2a 07 53 45 43 0d 12 34  10 4c 44 41 20 6e 75 64  |*.SEC..4.LDA nud|
00001600  6c 6f 63 2c 59 0d 12 3e  0c 53 42 43 20 23 26 34  |loc,Y..>.SBC #&4|
00001610  30 0d 12 48 10 53 54 41  20 6e 75 64 6c 6f 63 2c  |0..H.STA nudloc,|
00001620  59 0d 12 52 0b 53 54 41  20 6c 6f 63 0d 12 5c 12  |Y..R.STA loc..\.|
00001630  4c 44 41 20 6e 75 64 6c  6f 63 2b 31 2c 59 0d 12  |LDA nudloc+1,Y..|
00001640  66 0a 53 42 43 20 23 31  0d 12 70 12 53 54 41 20  |f.SBC #1..p.STA |
00001650  6e 75 64 6c 6f 63 2b 31  2c 59 0d 12 7a 0d 53 54  |nudloc+1,Y..z.ST|
00001660  41 20 6c 6f 63 2b 31 0d  12 84 0d 4a 4d 50 20 74  |A loc+1....JMP t|
00001670  77 69 63 65 0d 12 8e 0a  2e 70 6e 75 64 31 0d 12  |wice.....pnud1..|
00001680  98 0c 4c 44 41 20 23 26  34 30 0d 12 a2 0c 4a 4d  |..LDA #&40....JM|
00001690  50 20 70 6e 75 64 0d 12  ac 0a 2e 70 6e 75 64 32  |P pnud.....pnud2|
000016a0  0d 12 b6 0c 4c 44 41 20  23 26 36 30 0d 12 c0 0c  |....LDA #&60....|
000016b0  4a 4d 50 20 70 6e 75 64  0d 12 ca 09 2e 70 6e 75  |JMP pnud.....pnu|
000016c0  64 0d 12 d4 0c 53 54 41  20 63 68 61 72 0d 12 de  |d....STA char...|
000016d0  0f 53 54 41 20 6e 75 64  63 68 2c 58 0d 12 e8 0c  |.STA nudch,X....|
000016e0  4c 44 41 20 23 26 35 31  0d 12 f2 0e 53 54 41 20  |LDA #&51....STA |
000016f0  63 68 61 72 2b 31 0d 12  fc 0e 4a 53 52 20 73 70  |char+1....JSR sp|
00001700  72 69 74 65 0d 13 06 07  52 54 53 0d 13 10 0b 2e  |rite....RTS.....|
00001710  6e 6c 72 75 70 64 0d 13  1a 10 4c 44 41 20 6e 6c  |nlrupd....LDA nl|
00001720  72 6c 6f 63 2b 31 0d 13  24 09 42 45 51 20 74 0d  |rloc+1..$.BEQ t.|
00001730  13 2e 0a 4c 44 58 20 23  30 0d 13 38 0c 4a 53 52  |...LDX #0..8.JSR|
00001740  20 75 70 64 31 0d 13 42  06 2e 74 0d 13 4c 10 4c  | upd1..B..t..L.L|
00001750  44 41 20 6e 6c 72 6c 6f  63 2b 33 0d 13 56 09 42  |DA nlrloc+3..V.B|
00001760  45 51 20 73 0d 13 60 0a  4c 44 58 20 23 31 0d 13  |EQ s..`.LDX #1..|
00001770  6a 0c 4a 53 52 20 75 70  64 31 0d 13 74 06 2e 73  |j.JSR upd1..t..s|
00001780  0d 13 7e 07 52 54 53 0d  13 88 09 2e 75 70 64 31  |..~.RTS.....upd1|
00001790  0d 13 92 0f 49 4e 43 20  6e 6c 72 73 74 2c 58 0d  |....INC nlrst,X.|
000017a0  13 9c 0f 4c 44 41 20 6e  6c 72 64 72 2c 58 0d 13  |...LDA nlrdr,X..|
000017b0  a6 08 80 20 23 31 0d 13  b0 0c 42 45 51 20 75 70  |... #1....BEQ up|
000017c0  64 6c 0d 13 ba 07 43 4c  43 0d 13 c4 0f 4c 44 41  |dl....CLC....LDA|
000017d0  20 6e 6c 72 78 79 2c 58  0d 13 ce 0c 41 44 43 20  | nlrxy,X....ADC |
000017e0  23 26 31 30 0d 13 d8 0f  53 54 41 20 6e 6c 72 78  |#&10....STA nlrx|
000017f0  79 2c 58 0d 13 e2 07 52  54 53 0d 13 ec 09 2e 75  |y,X....RTS.....u|
00001800  70 64 6c 0d 13 f6 07 53  45 43 0d 14 00 0f 4c 44  |pdl....SEC....LD|
00001810  41 20 6e 6c 72 78 79 2c  58 0d 14 0a 0c 53 42 43  |A nlrxy,X....SBC|
00001820  20 23 26 31 30 0d 14 14  0f 53 54 41 20 6e 6c 72  | #&10....STA nlr|
00001830  78 79 2c 58 0d 14 1e 07  52 54 53 0d 14 28 0b 2e  |xy,X....RTS..(..|
00001840  6e 75 64 75 70 64 0d 14  32 10 4c 44 41 20 6e 75  |nudupd..2.LDA nu|
00001850  64 6c 6f 63 2b 31 0d 14  3c 09 42 45 51 20 70 0d  |dloc+1..<.BEQ p.|
00001860  14 46 0a 4c 44 58 20 23  30 0d 14 50 0c 4a 53 52  |.F.LDX #0..P.JSR|
00001870  20 75 70 64 32 0d 14 5a  06 2e 70 0d 14 64 10 4c  | upd2..Z..p..d.L|
00001880  44 41 20 6e 75 64 6c 6f  63 2b 33 0d 14 6e 09 42  |DA nudloc+3..n.B|
00001890  45 51 20 6f 0d 14 78 0a  4c 44 58 20 23 31 0d 14  |EQ o..x.LDX #1..|
000018a0  82 0c 4a 53 52 20 75 70  64 32 0d 14 8c 06 2e 6f  |..JSR upd2.....o|
000018b0  0d 14 96 07 52 54 53 0d  14 a0 09 2e 75 70 64 32  |....RTS.....upd2|
000018c0  0d 14 aa 0f 49 4e 43 20  6e 75 64 73 74 2c 58 0d  |....INC nudst,X.|
000018d0  14 b4 0f 4c 44 41 20 6e  75 64 64 72 2c 58 0d 14  |...LDA nuddr,X..|
000018e0  be 08 80 20 23 31 0d 14  c8 0c 42 45 51 20 75 70  |... #1....BEQ up|
000018f0  64 75 0d 14 d2 0f 49 4e  43 20 6e 75 64 78 79 2c  |du....INC nudxy,|
00001900  58 0d 14 dc 07 52 54 53  0d 14 e6 09 2e 75 70 64  |X....RTS.....upd|
00001910  75 0d 14 f0 0f 44 45 43  20 6e 75 64 78 79 2c 58  |u....DEC nudxy,X|
00001920  0d 14 fa 07 52 54 53 0d  15 04 0b 2e 72 61 6e 64  |....RTS.....rand|
00001930  6f 6d 0d 15 0e 0a 4c 44  59 20 23 33 0d 15 18 10  |om....LDY #3....|
00001940  2e 72 61 6e 64 6f 6d 5f  74 65 73 74 0d 15 22 0e  |.random_test..".|
00001950  4c 44 41 20 73 65 65 64  2c 59 0d 15 2c 11 42 4e  |LDA seed,Y..,.BN|
00001960  45 20 72 61 6e 64 6f 6d  5f 6f 6b 0d 15 36 07 44  |E random_ok..6.D|
00001970  45 59 0d 15 40 13 42 50  4c 20 72 61 6e 64 6f 6d  |EY..@.BPL random|
00001980  5f 74 65 73 74 0d 15 4a  0c 53 54 59 20 73 65 65  |_test..J.STY see|
00001990  64 0d 15 54 0e 2e 72 61  6e 64 6f 6d 5f 6f 6b 0d  |d..T..random_ok.|
000019a0  15 5e 0b 4c 44 59 20 23  31 37 0d 15 68 0a 2e 6c  |.^.LDY #17..h..l|
000019b0  6f 6f 70 4f 0d 15 72 0e  4c 44 41 20 73 65 65 64  |oopO..r.LDA seed|
000019c0  2b 31 0d 15 7c 09 4c 53  52 20 41 0d 15 86 09 4c  |+1..|.LSR A....L|
000019d0  53 52 20 41 0d 15 90 09  4c 53 52 20 41 0d 15 9a  |SR A....LSR A...|
000019e0  09 4c 53 52 20 41 0d 15  a4 09 4c 53 52 20 41 0d  |.LSR A....LSR A.|
000019f0  15 ae 0c 82 20 73 65 65  64 2b 33 0d 15 b8 09 52  |.... seed+3....R|
00001a00  4f 52 20 41 0d 15 c2 0c  52 4f 4c 20 73 65 65 64  |OR A....ROL seed|
00001a10  0d 15 cc 0e 52 4f 4c 20  73 65 65 64 2b 31 0d 15  |....ROL seed+1..|
00001a20  d6 0e 52 4f 4c 20 73 65  65 64 2b 32 0d 15 e0 0e  |..ROL seed+2....|
00001a30  52 4f 4c 20 73 65 65 64  2b 33 0d 15 ea 07 44 45  |ROL seed+3....DE|
00001a40  59 0d 15 f4 0d 42 4e 45  20 6c 6f 6f 70 4f 0d 15  |Y....BNE loopO..|
00001a50  fe 07 52 54 53 0d 16 08  0c 2e 6e 61 73 74 79 72  |..RTS.....nastyr|
00001a60  6e 0d 16 12 0c 4c 44 41  20 72 6e 78 79 0d 16 1c  |n....LDA rnxy...|
00001a70  0b 42 45 51 20 6e 72 6e  0d 16 26 0c 4c 44 41 20  |.BEQ nrn..&.LDA |
00001a80  73 74 6f 70 0d 16 30 08  80 20 23 31 0d 16 3a 0c  |stop..0.. #1..:.|
00001a90  42 4e 45 20 64 6f 72 6e  0d 16 44 09 2e 6e 6f 72  |BNE dorn..D..nor|
00001aa0  6e 0d 16 4e 0a 4c 44 41  20 23 30 0d 16 58 0c 53  |n..N.LDA #0..X.S|
00001ab0  54 41 20 72 6e 64 72 0d  16 62 0d 4a 53 52 20 64  |TA rndr..b.JSR d|
00001ac0  65 6c 72 6e 0d 16 6c 0b  4a 4d 50 20 66 69 6e 0d  |elrn..l.JMP fin.|
00001ad0  16 76 08 2e 6e 72 6e 0d  16 80 07 52 54 53 0d 16  |.v..nrn....RTS..|
00001ae0  8a 09 2e 64 6f 72 6e 0d  16 94 0e 4a 53 52 20 72  |...dorn....JSR r|
00001af0  61 6e 64 6f 6d 0d 16 9e  0c 4c 44 41 20 73 65 65  |andom....LDA see|
00001b00  64 0d 16 a8 08 80 20 23  33 0d 16 b2 0c 53 54 41  |d..... #3....STA|
00001b10  20 72 6e 64 72 0d 16 bc  0c 49 4e 43 20 72 6e 64  | rndr....INC rnd|
00001b20  72 0d 16 c6 0c 4c 44 41  20 72 6e 64 72 0d 16 d0  |r....LDA rndr...|
00001b30  0a 43 4d 50 20 23 31 0d  16 da 0e 42 45 51 20 72  |.CMP #1....BEQ r|
00001b40  6e 6c 65 66 74 0d 16 e4  0a 43 4d 50 20 23 32 0d  |nleft....CMP #2.|
00001b50  16 ee 0f 42 45 51 20 72  6e 72 69 67 68 74 0d 16  |...BEQ rnright..|
00001b60  f8 0a 43 4d 50 20 23 33  0d 17 02 0c 42 45 51 20  |..CMP #3....BEQ |
00001b70  72 6e 75 70 0d 17 0c 0a  43 4d 50 20 23 34 0d 17  |rnup....CMP #4..|
00001b80  16 0e 42 45 51 20 72 6e  64 6f 77 6e 0d 17 20 07  |..BEQ rndown.. .|
00001b90  52 54 53 0d 17 2a 0b 2e  72 6e 6c 65 66 74 0d 17  |RTS..*..rnleft..|
00001ba0  34 0c 4c 44 41 20 72 6e  78 79 0d 17 3e 0a 80 20  |4.LDA rnxy..>.. |
00001bb0  23 26 46 30 0d 17 48 0c  42 45 51 20 6e 6f 72 6e  |#&F0..H.BEQ norn|
00001bc0  0d 17 52 07 53 45 43 0d  17 5c 0d 4c 44 41 20 72  |..R.SEC..\.LDA r|
00001bd0  6e 6c 6f 63 0d 17 66 0c  53 42 43 20 23 26 31 30  |nloc..f.SBC #&10|
00001be0  0d 17 70 0c 53 54 41 20  74 65 6d 70 0d 17 7a 0f  |..p.STA temp..z.|
00001bf0  4c 44 41 20 72 6e 6c 6f  63 2b 31 0d 17 84 0a 53  |LDA rnloc+1....S|
00001c00  42 43 20 23 30 0d 17 8e  0e 53 54 41 20 74 65 6d  |BC #0....STA tem|
00001c10  70 2b 31 0d 17 98 0b 4a  4d 50 20 61 6c 6c 0d 17  |p+1....JMP all..|
00001c20  a2 0c 2e 72 6e 72 69 67  68 74 0d 17 ac 0c 4c 44  |...rnright....LD|
00001c30  41 20 72 6e 78 79 0d 17  b6 0a 80 20 23 26 46 30  |A rnxy..... #&F0|
00001c40  0d 17 c0 0c 43 4d 50 20  23 26 46 30 0d 17 ca 0c  |....CMP #&F0....|
00001c50  42 45 51 20 6e 6f 72 6e  0d 17 d4 07 43 4c 43 0d  |BEQ norn....CLC.|
00001c60  17 de 0d 4c 44 41 20 72  6e 6c 6f 63 0d 17 e8 0c  |...LDA rnloc....|
00001c70  41 44 43 20 23 26 31 30  0d 17 f2 0c 53 54 41 20  |ADC #&10....STA |
00001c80  74 65 6d 70 0d 17 fc 0f  4c 44 41 20 72 6e 6c 6f  |temp....LDA rnlo|
00001c90  63 2b 31 0d 18 06 0a 41  44 43 20 23 30 0d 18 10  |c+1....ADC #0...|
00001ca0  0e 53 54 41 20 74 65 6d  70 2b 31 0d 18 1a 0b 4a  |.STA temp+1....J|
00001cb0  4d 50 20 61 6c 6c 0d 18  24 09 2e 72 6e 75 70 0d  |MP all..$..rnup.|
00001cc0  18 2e 0c 4c 44 41 20 72  6e 78 79 0d 18 38 09 80  |...LDA rnxy..8..|
00001cd0  20 23 26 46 0d 18 42 0c  42 45 51 20 6e 6f 72 6e  | #&F..B.BEQ norn|
00001ce0  0d 18 4c 07 53 45 43 0d  18 56 0d 4c 44 41 20 72  |..L.SEC..V.LDA r|
00001cf0  6e 6c 6f 63 0d 18 60 0c  53 42 43 20 23 26 38 30  |nloc..`.SBC #&80|
00001d00  0d 18 6a 0c 53 54 41 20  74 65 6d 70 0d 18 74 0f  |..j.STA temp..t.|
00001d10  4c 44 41 20 72 6e 6c 6f  63 2b 31 0d 18 7e 0a 53  |LDA rnloc+1..~.S|
00001d20  42 43 20 23 32 0d 18 88  0e 53 54 41 20 74 65 6d  |BC #2....STA tem|
00001d30  70 2b 31 0d 18 92 0b 4a  4d 50 20 61 6c 6c 0d 18  |p+1....JMP all..|
00001d40  9c 0b 2e 72 6e 64 6f 77  6e 0d 18 a6 0c 4c 44 41  |...rndown....LDA|
00001d50  20 72 6e 78 79 0d 18 b0  09 80 20 23 26 46 0d 18  | rnxy..... #&F..|
00001d60  ba 0b 43 4d 50 20 23 26  46 0d 18 c4 0c 42 45 51  |..CMP #&F....BEQ|
00001d70  20 6e 6f 72 6e 0d 18 ce  07 43 4c 43 0d 18 d8 0d  | norn....CLC....|
00001d80  4c 44 41 20 72 6e 6c 6f  63 0d 18 e2 0c 41 44 43  |LDA rnloc....ADC|
00001d90  20 23 26 38 30 0d 18 ec  0c 53 54 41 20 74 65 6d  | #&80....STA tem|
00001da0  70 0d 18 f6 0f 4c 44 41  20 72 6e 6c 6f 63 2b 31  |p....LDA rnloc+1|
00001db0  0d 19 00 0a 41 44 43 20  23 32 0d 19 0a 0e 53 54  |....ADC #2....ST|
00001dc0  41 20 74 65 6d 70 2b 31  0d 19 14 0b 4a 4d 50 20  |A temp+1....JMP |
00001dd0  61 6c 6c 0d 19 1e 08 2e  66 69 6e 0d 19 28 0c 4c  |all.....fin..(.L|
00001de0  44 41 20 72 6e 73 74 0d  19 32 08 80 20 23 31 0d  |DA rnst..2.. #1.|
00001df0  19 3c 0a 42 45 51 20 72  6e 0d 19 46 0c 4a 53 52  |.<.BEQ rn..F.JSR|
00001e00  20 70 72 6e 31 0d 19 50  07 52 54 53 0d 19 5a 07  | prn1..P.RTS..Z.|
00001e10  2e 72 6e 0d 19 64 0c 4a  53 52 20 70 72 6e 32 0d  |.rn..d.JSR prn2.|
00001e20  19 6e 07 52 54 53 0d 19  78 08 2e 61 6c 6c 0d 19  |.n.RTS..x..all..|
00001e30  82 0d 4a 53 52 20 63 68  65 63 6b 0d 19 8c 0c 4c  |..JSR check....L|
00001e40  44 41 20 62 79 74 65 0d  19 96 0c 43 4d 50 20 23  |DA byte....CMP #|
00001e50  26 46 46 0d 19 a0 0c 42  4e 45 20 65 6c 73 65 0d  |&FF....BNE else.|
00001e60  19 aa 0a 4c 44 41 20 23  30 0d 19 b4 0c 53 54 41  |...LDA #0....STA|
00001e70  20 72 6e 64 72 0d 19 be  0d 4a 53 52 20 64 65 6c  | rndr....JSR del|
00001e80  72 6e 0d 19 c8 0b 4a 4d  50 20 66 69 6e 0d 19 d2  |rn....JMP fin...|
00001e90  09 2e 65 6c 73 65 0d 19  dc 07 52 54 53 0d 19 e6  |..else....RTS...|
00001ea0  0b 2e 6d 6f 76 65 72 6e  0d 19 f0 0c 4c 44 41 20  |..movern....LDA |
00001eb0  72 6e 64 72 0d 19 fa 09  42 45 51 20 6e 0d 1a 04  |rndr....BEQ n...|
00001ec0  0d 4a 53 52 20 64 65 6c  72 6e 0d 1a 0e 0c 4c 44  |.JSR delrn....LD|
00001ed0  41 20 72 6e 64 72 0d 1a  18 0a 43 4d 50 20 23 31  |A rndr....CMP #1|
00001ee0  0d 1a 22 0d 42 45 51 20  6d 6f 76 65 6c 0d 1a 2c  |..".BEQ movel..,|
00001ef0  0a 43 4d 50 20 23 32 0d  1a 36 0d 42 45 51 20 6d  |.CMP #2..6.BEQ m|
00001f00  6f 76 65 72 0d 1a 40 0a  43 4d 50 20 23 33 0d 1a  |over..@.CMP #3..|
00001f10  4a 0d 42 45 51 20 6d 6f  76 65 75 0d 1a 54 0a 43  |J.BEQ moveu..T.C|
00001f20  4d 50 20 23 34 0d 1a 5e  0d 42 45 51 20 6d 6f 76  |MP #4..^.BEQ mov|
00001f30  65 64 0d 1a 68 06 2e 6e  0d 1a 72 07 52 54 53 0d  |ed..h..n..r.RTS.|
00001f40  1a 7c 0a 2e 6d 6f 76 65  6c 0d 1a 86 07 53 45 43  |.|..movel....SEC|
00001f50  0d 1a 90 0d 4c 44 41 20  72 6e 6c 6f 63 0d 1a 9a  |....LDA rnloc...|
00001f60  0a 53 42 43 20 23 38 0d  1a a4 0d 53 54 41 20 72  |.SBC #8....STA r|
00001f70  6e 6c 6f 63 0d 1a ae 0b  53 54 41 20 6c 6f 63 0d  |nloc....STA loc.|
00001f80  1a b8 0f 4c 44 41 20 72  6e 6c 6f 63 2b 31 0d 1a  |...LDA rnloc+1..|
00001f90  c2 0a 53 42 43 20 23 30  0d 1a cc 0f 53 54 41 20  |..SBC #0....STA |
00001fa0  72 6e 6c 6f 63 2b 31 0d  1a d6 0d 53 54 41 20 6c  |rnloc+1....STA l|
00001fb0  6f 63 2b 31 0d 1a e0 0b  4a 4d 50 20 66 69 6e 0d  |oc+1....JMP fin.|
00001fc0  1a ea 0a 2e 6d 6f 76 65  72 0d 1a f4 07 43 4c 43  |....mover....CLC|
00001fd0  0d 1a fe 0d 4c 44 41 20  72 6e 6c 6f 63 0d 1b 08  |....LDA rnloc...|
00001fe0  0a 41 44 43 20 23 38 0d  1b 12 0d 53 54 41 20 72  |.ADC #8....STA r|
00001ff0  6e 6c 6f 63 0d 1b 1c 0b  53 54 41 20 6c 6f 63 0d  |nloc....STA loc.|
00002000  1b 26 0f 4c 44 41 20 72  6e 6c 6f 63 2b 31 0d 1b  |.&.LDA rnloc+1..|
00002010  30 0a 41 44 43 20 23 30  0d 1b 3a 0f 53 54 41 20  |0.ADC #0..:.STA |
00002020  72 6e 6c 6f 63 2b 31 0d  1b 44 0d 53 54 41 20 6c  |rnloc+1..D.STA l|
00002030  6f 63 2b 31 0d 1b 4e 0b  4a 4d 50 20 66 69 6e 0d  |oc+1..N.JMP fin.|
00002040  1b 58 0a 2e 6d 6f 76 65  75 0d 1b 62 07 53 45 43  |.X..moveu..b.SEC|
00002050  0d 1b 6c 0d 4c 44 41 20  72 6e 6c 6f 63 0d 1b 76  |..l.LDA rnloc..v|
00002060  0c 53 42 43 20 23 26 34  30 0d 1b 80 0d 53 54 41  |.SBC #&40....STA|
00002070  20 72 6e 6c 6f 63 0d 1b  8a 0b 53 54 41 20 6c 6f  | rnloc....STA lo|
00002080  63 0d 1b 94 0f 4c 44 41  20 72 6e 6c 6f 63 2b 31  |c....LDA rnloc+1|
00002090  0d 1b 9e 0a 53 42 43 20  23 31 0d 1b a8 0f 53 54  |....SBC #1....ST|
000020a0  41 20 72 6e 6c 6f 63 2b  31 0d 1b b2 0d 53 54 41  |A rnloc+1....STA|
000020b0  20 6c 6f 63 2b 31 0d 1b  bc 0b 4a 4d 50 20 66 69  | loc+1....JMP fi|
000020c0  6e 0d 1b c6 0a 2e 6d 6f  76 65 64 0d 1b d0 07 43  |n.....moved....C|
000020d0  4c 43 0d 1b da 0d 4c 44  41 20 72 6e 6c 6f 63 0d  |LC....LDA rnloc.|
000020e0  1b e4 0c 41 44 43 20 23  26 34 30 0d 1b ee 0d 53  |...ADC #&40....S|
000020f0  54 41 20 72 6e 6c 6f 63  0d 1b f8 0b 53 54 41 20  |TA rnloc....STA |
00002100  6c 6f 63 0d 1c 02 0f 4c  44 41 20 72 6e 6c 6f 63  |loc....LDA rnloc|
00002110  2b 31 0d 1c 0c 0a 41 44  43 20 23 31 0d 1c 16 0f  |+1....ADC #1....|
00002120  53 54 41 20 72 6e 6c 6f  63 2b 31 0d 1c 20 0d 53  |STA rnloc+1.. .S|
00002130  54 41 20 6c 6f 63 2b 31  0d 1c 2a 0b 4a 4d 50 20  |TA loc+1..*.JMP |
00002140  66 69 6e 0d 1c 34 09 2e  70 72 6e 31 0d 1c 3e 0c  |fin..4..prn1..>.|
00002150  4c 44 41 20 23 26 38 30  0d 1c 48 0b 4a 4d 50 20  |LDA #&80..H.JMP |
00002160  70 72 6e 0d 1c 52 09 2e  70 72 6e 32 0d 1c 5c 0c  |prn..R..prn2..\.|
00002170  4c 44 41 20 23 26 41 30  0d 1c 66 08 2e 70 72 6e  |LDA #&A0..f..prn|
00002180  0d 1c 70 0c 53 54 41 20  63 68 61 72 0d 1c 7a 0c  |..p.STA char..z.|
00002190  53 54 41 20 72 6e 63 68  0d 1c 84 0c 4c 44 41 20  |STA rnch....LDA |
000021a0  23 26 35 31 0d 1c 8e 0e  53 54 41 20 63 68 61 72  |#&51....STA char|
000021b0  2b 31 0d 1c 98 0d 4c 44  41 20 72 6e 6c 6f 63 0d  |+1....LDA rnloc.|
000021c0  1c a2 0b 53 54 41 20 6c  6f 63 0d 1c ac 0f 4c 44  |...STA loc....LD|
000021d0  41 20 72 6e 6c 6f 63 2b  31 0d 1c b6 0d 53 54 41  |A rnloc+1....STA|
000021e0  20 6c 6f 63 2b 31 0d 1c  c0 0e 4a 53 52 20 73 70  | loc+1....JSR sp|
000021f0  72 69 74 65 0d 1c ca 07  52 54 53 0d 1c d4 0b 2e  |rite....RTS.....|
00002200  6e 72 6e 75 70 64 0d 1c  de 0c 4c 44 41 20 72 6e  |nrnupd....LDA rn|
00002210  78 79 0d 1c e8 0a 42 45  51 20 6e 6f 0d 1c f2 0c  |xy....BEQ no....|
00002220  49 4e 43 20 72 6e 73 74  0d 1c fc 0c 49 4e 43 20  |INC rnst....INC |
00002230  73 74 6f 70 0d 1d 06 0c  4c 44 41 20 73 74 6f 70  |stop....LDA stop|
00002240  0d 1d 10 08 80 20 23 31  0d 1d 1a 0a 42 4e 45 20  |..... #1....BNE |
00002250  6e 6f 0d 1d 24 0c 4c 44  41 20 72 6e 64 72 0d 1d  |no..$.LDA rndr..|
00002260  2e 0a 42 45 51 20 6e 6f  0d 1d 38 0a 43 4d 50 20  |..BEQ no..8.CMP |
00002270  23 31 0d 1d 42 0e 42 45  51 20 75 70 64 72 6e 6c  |#1..B.BEQ updrnl|
00002280  0d 1d 4c 0a 43 4d 50 20  23 32 0d 1d 56 0e 42 45  |..L.CMP #2..V.BE|
00002290  51 20 75 70 64 72 6e 72  0d 1d 60 0a 43 4d 50 20  |Q updrnr..`.CMP |
000022a0  23 33 0d 1d 6a 0e 42 45  51 20 75 70 64 72 6e 75  |#3..j.BEQ updrnu|
000022b0  0d 1d 74 0a 43 4d 50 20  23 34 0d 1d 7e 0e 42 45  |..t.CMP #4..~.BE|
000022c0  51 20 75 70 64 72 6e 64  0d 1d 88 07 2e 6e 6f 0d  |Q updrnd.....no.|
000022d0  1d 92 07 52 54 53 0d 1d  9c 0b 2e 75 70 64 72 6e  |...RTS.....updrn|
000022e0  6c 0d 1d a6 07 53 45 43  0d 1d b0 0c 4c 44 41 20  |l....SEC....LDA |
000022f0  72 6e 78 79 0d 1d ba 0c  53 42 43 20 23 26 31 30  |rnxy....SBC #&10|
00002300  0d 1d c4 0c 53 54 41 20  72 6e 78 79 0d 1d ce 07  |....STA rnxy....|
00002310  52 54 53 0d 1d d8 0b 2e  75 70 64 72 6e 72 0d 1d  |RTS.....updrnr..|
00002320  e2 07 43 4c 43 0d 1d ec  0c 4c 44 41 20 72 6e 78  |..CLC....LDA rnx|
00002330  79 0d 1d f6 0c 41 44 43  20 23 26 31 30 0d 1e 00  |y....ADC #&10...|
00002340  0c 53 54 41 20 72 6e 78  79 0d 1e 0a 07 52 54 53  |.STA rnxy....RTS|
00002350  0d 1e 14 0b 2e 75 70 64  72 6e 75 0d 1e 1e 0c 44  |.....updrnu....D|
00002360  45 43 20 72 6e 78 79 0d  1e 28 07 52 54 53 0d 1e  |EC rnxy..(.RTS..|
00002370  32 0b 2e 75 70 64 72 6e  64 0d 1e 3c 0c 49 4e 43  |2..updrnd..<.INC|
00002380  20 72 6e 78 79 0d 1e 46  07 52 54 53 0d 1e 50 0c  | rnxy..F.RTS..P.|
00002390  2e 63 6f 6c 6c 69 64 65  0d 1e 5a 0e 4c 44 41 20  |.collide..Z.LDA |
000023a0  79 6f 75 6c 6f 63 0d 1e  64 0e 43 4d 50 20 6e 6c  |youloc..d.CMP nl|
000023b0  72 6c 6f 63 0d 1e 6e 0b  42 4e 45 20 63 6c 31 0d  |rloc..n.BNE cl1.|
000023c0  1e 78 10 4c 44 41 20 79  6f 75 6c 6f 63 2b 31 0d  |.x.LDA youloc+1.|
000023d0  1e 82 10 43 4d 50 20 6e  6c 72 6c 6f 63 2b 31 0d  |...CMP nlrloc+1.|
000023e0  1e 8c 0b 42 45 51 20 68  69 74 0d 1e 96 08 2e 63  |...BEQ hit.....c|
000023f0  6c 31 0d 1e a0 0e 4c 44  41 20 79 6f 75 6c 6f 63  |l1....LDA youloc|
00002400  0d 1e aa 10 43 4d 50 20  6e 6c 72 6c 6f 63 2b 32  |....CMP nlrloc+2|
00002410  0d 1e b4 0b 42 4e 45 20  63 6c 32 0d 1e be 10 4c  |....BNE cl2....L|
00002420  44 41 20 79 6f 75 6c 6f  63 2b 31 0d 1e c8 10 43  |DA youloc+1....C|
00002430  4d 50 20 6e 6c 72 6c 6f  63 2b 33 0d 1e d2 0b 42  |MP nlrloc+3....B|
00002440  45 51 20 68 69 74 0d 1e  dc 08 2e 63 6c 32 0d 1e  |EQ hit.....cl2..|
00002450  e6 0e 4c 44 41 20 79 6f  75 6c 6f 63 0d 1e f0 0e  |..LDA youloc....|
00002460  43 4d 50 20 6e 75 64 6c  6f 63 0d 1e fa 0b 42 4e  |CMP nudloc....BN|
00002470  45 20 63 6c 33 0d 1f 04  10 4c 44 41 20 79 6f 75  |E cl3....LDA you|
00002480  6c 6f 63 2b 31 0d 1f 0e  10 43 4d 50 20 6e 75 64  |loc+1....CMP nud|
00002490  6c 6f 63 2b 31 0d 1f 18  0b 42 45 51 20 68 69 74  |loc+1....BEQ hit|
000024a0  0d 1f 22 08 2e 63 6c 33  0d 1f 2c 0e 4c 44 41 20  |.."..cl3..,.LDA |
000024b0  79 6f 75 6c 6f 63 0d 1f  36 10 43 4d 50 20 6e 75  |youloc..6.CMP nu|
000024c0  64 6c 6f 63 2b 32 0d 1f  40 0b 42 4e 45 20 63 6c  |dloc+2..@.BNE cl|
000024d0  34 0d 1f 4a 10 4c 44 41  20 79 6f 75 6c 6f 63 2b  |4..J.LDA youloc+|
000024e0  31 0d 1f 54 10 43 4d 50  20 6e 75 64 6c 6f 63 2b  |1..T.CMP nudloc+|
000024f0  33 0d 1f 5e 0b 42 45 51  20 68 69 74 0d 1f 68 08  |3..^.BEQ hit..h.|
00002500  2e 63 6c 34 0d 1f 72 0e  4c 44 41 20 79 6f 75 6c  |.cl4..r.LDA youl|
00002510  6f 63 0d 1f 7c 0d 43 4d  50 20 72 6e 6c 6f 63 0d  |oc..|.CMP rnloc.|
00002520  1f 86 0b 42 4e 45 20 63  6c 35 0d 1f 90 10 4c 44  |...BNE cl5....LD|
00002530  41 20 79 6f 75 6c 6f 63  2b 31 0d 1f 9a 0f 43 4d  |A youloc+1....CM|
00002540  50 20 72 6e 6c 6f 63 2b  31 0d 1f a4 0b 42 45 51  |P rnloc+1....BEQ|
00002550  20 68 69 74 0d 1f ae 08  2e 63 6c 35 0d 1f b8 07  | hit.....cl5....|
00002560  52 54 53 0d 1f c2 08 2e  68 69 74 0d 1f cc 0a 4c  |RTS.....hit....L|
00002570  44 41 20 23 31 0d 1f d6  0e 53 54 41 20 74 65 6d  |DA #1....STA tem|
00002580  70 78 79 0d 1f e0 07 52  54 53 0d 1f ea 0a 2e 64  |pxy....RTS.....d|
00002590  65 6c 72 6e 0d 1f f4 0d  4c 44 41 20 72 6e 6c 6f  |elrn....LDA rnlo|
000025a0  63 0d 1f fe 0b 53 54 41  20 6c 6f 63 0d 20 08 0f  |c....STA loc. ..|
000025b0  4c 44 41 20 72 6e 6c 6f  63 2b 31 0d 20 12 0d 53  |LDA rnloc+1. ..S|
000025c0  54 41 20 6c 6f 63 2b 31  0d 20 1c 0c 4c 44 41 20  |TA loc+1. ..LDA |
000025d0  72 6e 63 68 0d 20 26 0c  53 54 41 20 63 68 61 72  |rnch. &.STA char|
000025e0  0d 20 30 0f 4a 53 52 20  64 65 6c 65 74 65 6e 0d  |. 0.JSR deleten.|
000025f0  20 3a 07 52 54 53 0d 20  44 09 2e 73 65 65 64 0d  | :.RTS. D..seed.|
00002600  20 4e 10 4f 50 54 20 a4  65 71 75 64 28 b3 29 0d  | N.OPT .equd(.).|
00002610  20 58 0a 2e 62 20 4e 4f  50 0d 20 62 0a 2e 63 20  | X..b NOP. b..c |
00002620  4e 4f 50 0d 20 6c 0a 2e  64 20 4e 4f 50 0d 20 76  |NOP. l..d NOP. v|
00002630  0a 2e 65 20 4e 4f 50 0d  20 80 0d 2e 62 79 74 65  |..e NOP. ...byte|
00002640  20 4e 4f 50 0d 20 8a 0d  2e 6d 61 73 6b 20 4e 4f  | NOP. ...mask NO|
00002650  50 0d 20 94 0d 2e 72 6f  6f 6d 20 4e 4f 50 0d 20  |P. ...room NOP. |
00002660  9e 0d 2e 72 6e 78 79 20  4e 4f 50 0d 20 a8 0d 2e  |...rnxy NOP. ...|
00002670  72 6e 63 68 20 4e 4f 50  0d 20 b2 0d 2e 73 74 6f  |rnch NOP. ...sto|
00002680  70 20 4e 4f 50 0d 20 bc  0d 2e 72 6e 73 74 20 4e  |p NOP. ...rnst N|
00002690  4f 50 0d 20 c6 0d 2e 72  6e 64 72 20 4e 4f 50 0d  |OP. ...rndr NOP.|
000026a0  20 d0 0e 2e 79 6f 75 78  79 20 4e 4f 50 0d 20 da  | ...youxy NOP. .|
000026b0  0e 2e 79 6f 75 64 72 20  4e 4f 50 0d 20 e4 0e 2e  |..youdr NOP. ...|
000026c0  79 6f 75 63 68 20 4e 4f  50 0d 20 ee 0e 2e 73 74  |youch NOP. ...st|
000026d0  61 74 65 20 4e 4f 50 0d  20 f8 0f 2e 74 65 6d 70  |ate NOP. ...temp|
000026e0  78 79 20 4e 4f 50 0d 21  02 0f 2e 6e 6c 72 70 74  |xy NOP.!...nlrpt|
000026f0  72 20 4e 4f 50 0d 21 0c  0f 2e 65 6e 65 72 67 79  |r NOP.!...energy|
00002700  20 4e 4f 50 0d 21 16 10  2e 64 6f 6f 72 70 74 72  | NOP.!...doorptr|
00002710  20 4e 4f 50 0d 21 20 12  2e 6e 6c 72 73 74 20 4e  | NOP.! ..nlrst N|
00002720  4f 50 3a 4e 4f 50 0d 21  2a 12 2e 6e 6c 72 64 72  |OP:NOP.!*..nlrdr|
00002730  20 4e 4f 50 3a 4e 4f 50  0d 21 34 12 2e 6e 6c 72  | NOP:NOP.!4..nlr|
00002740  78 79 20 4e 4f 50 3a 4e  4f 50 0d 21 3e 12 2e 6e  |xy NOP:NOP.!>..n|
00002750  75 64 73 74 20 4e 4f 50  3a 4e 4f 50 0d 21 48 12  |udst NOP:NOP.!H.|
00002760  2e 6e 75 64 64 72 20 4e  4f 50 3a 4e 4f 50 0d 21  |.nuddr NOP:NOP.!|
00002770  52 12 2e 6e 75 64 78 79  20 4e 4f 50 3a 4e 4f 50  |R..nudxy NOP:NOP|
00002780  0d 21 5c 12 2e 6e 6c 72  63 68 20 4e 4f 50 3a 4e  |.!\..nlrch NOP:N|
00002790  4f 50 0d 21 66 12 2e 6e  75 64 63 68 20 4e 4f 50  |OP.!f..nudch NOP|
000027a0  3a 4e 4f 50 0d 21 70 10  2e 64 6f 6f 72 70 74 72  |:NOP.!p..doorptr|
000027b0  20 4e 4f 50 0d 21 7a 0b  2e 64 6f 6f 72 78 79 0d  | NOP.!z..doorxy.|
000027c0  21 84 18 4f 50 54 20 a4  65 71 75 64 28 26 38 38  |!..OPT .equd(&88|
000027d0  44 43 31 36 42 31 29 0d  21 8e 12 4f 50 54 20 a4  |DC16B1).!..OPT .|
000027e0  65 71 75 62 28 26 45 31  29 0d 21 98 12 4f 50 54  |equb(&E1).!..OPT|
000027f0  20 a4 65 71 75 62 28 26  39 41 29 0d 21 a2 0c 2e  | .equb(&9A).!...|
00002800  64 6f 6f 72 6c 6f 63 0d  21 ac 18 4f 50 54 20 a4  |doorloc.!..OPT .|
00002810  65 71 75 64 28 26 36 37  31 30 35 42 33 30 29 0d  |equd(&67105B30).|
00002820  21 b6 18 4f 50 54 20 a4  65 71 75 64 28 26 36 43  |!..OPT .equd(&6C|
00002830  38 30 37 36 44 30 29 0d  21 c0 18 4f 50 54 20 a4  |8076D0).!..OPT .|
00002840  65 71 75 64 28 26 37 31  39 30 35 42 36 30 29 0d  |equd(&71905B60).|
00002850  21 ca 0c 2e 64 6f 6f 72  63 6f 6c 0d 21 d4 18 4f  |!...doorcol.!..O|
00002860  50 54 20 a4 65 71 75 64  28 26 36 30 34 30 32 30  |PT .equd(&604020|
00002870  30 30 29 0d 21 de 12 4f  50 54 20 a4 65 71 75 62  |00).!..OPT .equb|
00002880  28 26 38 30 29 0d 21 e8  12 4f 50 54 20 a4 65 71  |(&80).!..OPT .eq|
00002890  75 62 28 26 41 30 29 0d  21 f2 0b 2e 64 6f 6f 72  |ub(&A0).!...door|
000028a0  72 6d 0d 21 fc 18 4f 50  54 20 a4 65 71 75 64 28  |rm.!..OPT .equd(|
000028b0  26 30 43 30 39 30 37 30  36 29 0d 22 06 12 4f 50  |&0C090706)."..OP|
000028c0  54 20 a4 65 71 75 62 28  26 31 36 29 0d 22 10 12  |T .equb(&16)."..|
000028d0  4f 50 54 20 a4 65 71 75  62 28 26 31 43 29 0d 22  |OPT .equb(&1C)."|
000028e0  1a 05 5d 0d 22 24 05 ed  0d 22 2e 09 f1 20 7e 50  |..]."$..."... ~P|
000028f0  25 0d 22 38 13 f2 6f 73  63 6c 69 28 22 44 49 52  |%."8..oscli("DIR|
00002900  20 4d 22 29 0d 22 42 21  f2 6f 73 63 6c 69 28 22  | M")."B!.oscli("|
00002910  53 41 56 45 20 43 4f 44  45 20 34 33 33 32 20 34  |SAVE CODE 4332 4|
00002920  39 37 45 22 29 0d 22 4c  13 f2 6f 73 63 6c 69 28  |97E")."L..oscli(|
00002930  22 44 49 52 20 24 22 29  0d 22 56 05 e0 0d 22 60  |"DIR $")."V..."`|
00002940  0e dd a4 65 71 75 64 28  44 25 29 0d 22 6a 19 21  |...equd(D%)."j.!|
00002950  50 25 3d 44 25 3a 50 25  3d 50 25 2b 34 3a 3d 70  |P%=D%:P%=P%+4:=p|
00002960  61 73 73 25 0d 22 74 0e  dd a4 65 71 75 62 28 44  |ass%."t...equb(D|
00002970  25 29 0d 22 7e 19 3f 50  25 3d 44 25 3a 50 25 3d  |%)."~.?P%=D%:P%=|
00002980  50 25 2b 31 3a 3d 70 61  73 73 25 0d 22 88 12 dd  |P%+1:=pass%."...|
00002990  f2 6f 73 63 6c 69 28 24  26 37 30 30 29 0d 22 92  |.oscli($&700).".|
000029a0  16 ea 58 25 2c 59 25 3a  59 25 3d 37 3a d6 26 46  |..X%,Y%:Y%=7:.&F|
000029b0  46 46 37 0d 22 9c 05 e1  0d ff                    |FF7.".....|
000029ba