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

BBC/C/MCODE2

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/MCODE2
Read OK:
File size: 29AD 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<>&4400 THEN PAGE=&4400:CHAIN"C.MCODE2"
   70loc=&70
   80char=&74
   90temp=&7C
  100stop=&4943
  110room=&4940
  120byte=&493E
  130rnxy=&4941
  140rndr=&4945
  150youloc=&7A
  160youxy=&4946
  170youdr=&4947
  180check=&4332
  190tempxy=&494A
  200nlrptr=&494B
  210screen=&437E
  220sprite=&440B
  230nlrupd=&46D6
  240nudupd=&4707
  250nrnupd=&489E
  260movern=&4816
  270energy=&494C
  280callnlr=&4471
  290callnud=&45F5
  300movenlr=&44C7
  310movenud=&464B
  320nastyrn=&4757
  330collide=&48E2
  340roomloc=&78
  350doorxy=&495F
  360doorloc=&4965
  370doorrm=&4977
  380doorptr=&495E
  390doorcol=&4971
  400:
  410FOR pass%=0 TO 2 STEP2
  420P%=&3CFA
  430[
  440OPT pass%
  450.play1
  460JSR keys
  470JSR callnlr
  480JSR callnud
  490JSR nastyrn
  500JSR move
  510JSR movenlr
  520JSR movenud
  530JSR movern
  540JSR collide
  550LDA #19
  560JSR &FFF4
  570RTS
  580.play2
  590JSR move
  600JSR movenlr
  610JSR movenud
  620JSR movern
  630JSR update
  640JSR nlrupd
  650JSR nudupd
  660JSR nrnupd
  670JSR collide
  680JSR dirpoint
  690JSR collide
  700LDA #19
  710JSR &FFF4
  720RTS
  730.pyouml1
  740LDA #0
  750JMP pyou
  760.pyouml2
  770LDA #&20
  780JMP pyou
  790.pyoumr1
  800LDA #&40
  810JMP pyou
  820.pyoumr2
  830LDA #&60
  840JMP pyou
  850.pyoumu1
  860LDA #&80
  870JMP pyou
  880.pyoumu2
  890LDA #&A0
  900JMP pyou
  910.pyoumd1
  920LDA #&C0
  930JMP pyou
  940.pyoumd2
  950LDA #&E0
  960JMP pyou
  970.pyou
  980STA char
  990STA youch
 1000LDA #&50
 1010STA char+1
 1020LDA youloc
 1030STA loc
 1040LDA youloc+1
 1050STA loc+1
 1060JSR sprite
 1070RTS
 1080.scrleft
 1090JSR delscr
 1100CLC
 1110LDA youloc
 1120ADC #&F0
 1130STA youloc
 1140LDA youloc+1
 1150ADC #0
 1160STA youloc+1
 1170LDA youxy
 1180AND #&F
 1190ADC #&F0
 1200STA youxy
 1210JSR pyouml1
 1220DEC room
 1230SEC
 1240LDA nlrptr
 1250SBC #6
 1260STA nlrptr
 1270SEC
 1280LDA roomloc
 1290SBC #&20
 1300STA roomloc
 1310LDA roomloc+1
 1320SBC #0
 1330STA roomloc+1
 1340JSR screen
 1350JSR getdoors
 1360RTS
 1370.scrright
 1380JSR delscr
 1390SEC
 1400LDA youloc
 1410SBC #&F0
 1420STA youloc
 1430LDA youloc+1
 1440SBC #0
 1450STA youloc+1
 1460LDA youxy
 1470AND #&F
 1480STA youxy
 1490JSR pyoumr1
 1500INC room
 1510CLC
 1520LDA nlrptr
 1530ADC #6
 1540STA nlrptr
 1550CLC
 1560LDA #&20
 1570ADC roomloc
 1580STA roomloc
 1590LDA #0
 1600ADC roomloc+1
 1610STA roomloc+1
 1620JSR screen
 1630JSR getdoors
 1640RTS
 1650.yleft
 1660LDA youxy
 1670AND #&F0
 1680BEQ scrleft
 1690SEC
 1700LDA youloc
 1710SBC #&10
 1720STA temp
 1730LDA youloc+1
 1740SBC #0
 1750STA temp+1
 1760JSR check
 1770LDY #1
 1780LDA byte
 1790BNE blocked
 1800LDA #1
 1810STA youdr
 1820RTS
 1830.yright
 1840LDA youxy
 1850AND #&F0
 1860CMP #&F0
 1870BEQ scrright
 1880CLC
 1890LDA youloc
 1900ADC #&10
 1910STA temp
 1920LDA youloc+1
 1930ADC #0
 1940STA temp+1
 1950JSR check
 1960LDY #2
 1970LDA byte
 1980BNE blocked
 1990LDA #2
 2000STA youdr
 2010RTS
 2020.nm
 2030LDA #0
 2040STA youdr
 2050RTS
 2060.keys
 2070LDX #0
 2080LDA #&7A
 2090JSR &FFF4
 2100CPX #66
 2110BEQ yleft
 2120CPX #82
 2130BEQ yright
 2140CPX #72
 2150BEQ yup
 2160CPX #104
 2170BEQ ydown
 2180LDA #0
 2190STA youdr
 2200RTS
 2210.blocked
 2220LDA byte
 2230CMP #&FF
 2240BEQ nm
 2250LDX doorptr
 2260LDA obroom,X
 2270CMP #0
 2280BNE nm
 2290STY youdr
 2300RTS
 2310.yup
 2320LDA youxy
 2330AND #&F
 2340BEQ scrup
 2350SEC
 2360LDA youloc
 2370SBC #&80
 2380STA temp
 2390LDA youloc+1
 2400SBC #2
 2410STA temp+1
 2420JSR check
 2430LDY #3
 2440LDA byte
 2450BNE blocked
 2460LDA #3
 2470STA youdr
 2480RTS
 2490.nu
 2500LDA #0
 2510STA youdr
 2520RTS
 2530.ydown
 2540LDA youxy
 2550AND #&F
 2560CMP #&F
 2570BEQ scrdown
 2580CLC
 2590LDA youloc
 2600ADC #&80
 2610STA temp
 2620LDA youloc+1
 2630ADC #2
 2640STA temp+1
 2650JSR check
 2660LDY #4
 2670LDA byte
 2680BNE blocked
 2690LDA #4
 2700STA youdr
 2710RTS
 2720.scrup
 2730JSR delscr
 2740CLC
 2750LDA youloc
 2760ADC #&80
 2770STA youloc
 2780LDA youloc+1
 2790ADC #&25
 2800STA youloc+1
 2810LDA youxy
 2820AND #&F0
 2830ADC #&F
 2840STA youxy
 2850JSR pyoumu1
 2860SEC
 2870LDA nlrptr
 2880SBC #48
 2890STA nlrptr
 2900SEC
 2910LDA room
 2920SBC #8
 2930STA room
 2940DEC roomloc+1
 2950JSR screen
 2960JSR getdoors
 2970RTS
 2980.scrdown
 2990JSR delscr
 3000SEC
 3010LDA youloc
 3020SBC #&80
 3030STA youloc
 3040LDA youloc+1
 3050SBC #&25
 3060STA youloc+1
 3070LDA youxy
 3080AND #&F0
 3090STA youxy
 3100JSR pyoumd1
 3110CLC
 3120LDA nlrptr
 3130ADC #48
 3140STA nlrptr
 3150CLC
 3160LDA room
 3170ADC #8
 3180STA room
 3190INC roomloc+1
 3200JSR screen
 3210JSR getdoors
 3220RTS
 3230.move
 3240LDA youdr
 3250BNE ymv
 3260RTS
 3270.ymv
 3280LDA youdr
 3290CMP #1
 3300BEQ dleft
 3310CMP #2
 3320BEQ dright
 3330CMP #3
 3340BEQ dup
 3350CMP #4
 3360BEQ ddown
 3370RTS
 3380.dleft
 3390JSRdeletem
 3400SEC
 3410LDA youloc
 3420SBC #8
 3430STA youloc
 3440LDA youloc+1
 3450SBC #0
 3460STA youloc+1
 3470JSR mush
 3480LDA state
 3490AND #1
 3500BEQ l1
 3510JSR pyouml2
 3520RTS
 3530.l1
 3540JSR pyouml1
 3550RTS
 3560.dright
 3570JSR deletem
 3580CLC
 3590LDA youloc
 3600ADC #8
 3610STA youloc
 3620LDA youloc+1
 3630ADC #0
 3640STA youloc+1
 3650JSR mush
 3660LDA state
 3670AND #1
 3680BEQ r1
 3690JSR pyoumr2
 3700RTS
 3710.r1
 3720JSR pyoumr1
 3730RTS
 3740.dup
 3750JSR deletem
 3760SEC
 3770LDA youloc
 3780SBC #&40
 3790STA youloc
 3800LDA youloc+1
 3810SBC #1
 3820STA youloc+1
 3830JSR mush
 3840LDA state
 3850AND #1
 3860BEQ u1
 3870JSR pyoumu1
 3880JMP du
 3890.u1
 3900JSR pyoumu2
 3910.du
 3920INC state
 3930RTS
 3940.ddown
 3950JSR deletem
 3960CLC
 3970LDA youloc
 3980ADC #&40
 3990STA youloc
 4000LDA youloc+1
 4010ADC #1
 4020STA youloc+1
 4030JSR mush
 4040LDA state
 4050AND #1
 4060BEQ d1
 4070JSR pyoumd1
 4080JMP dd
 4090.d1
 4100JSR pyoumd2
 4110.dd
 4120INC state
 4130RTS
 4140.update
 4150LDA youdr
 4160BNE dud
 4170RTS
 4180.dud
 4190INC state
 4200LDA youdr
 4210CMP #1
 4220BNE ndr
 4230SEC
 4240LDA youxy
 4250SBC #&10
 4260STA youxy
 4270RTS
 4280.ndr
 4290LDA youdr
 4300CMP #2
 4310BNE ndr1
 4320CLC
 4330LDA youxy
 4340ADC #&10
 4350STA youxy
 4360RTS
 4370.ndr1
 4380LDA youdr
 4390CMP #3
 4400BNE ndr2
 4410DEC youxy
 4420RTS
 4430.ndr2
 4440INC youxy
 4450RTS
 4460.deletem
 4470LDA youloc
 4480STA loc
 4490LDA youloc+1
 4500STA loc+1
 4510LDA youch
 4520STA char
 4530LDA #&50
 4540STA char+1
 4550JMP sprite
 4560.delscr
 4570LDA #12
 4580JMP &FFEE
 4590.getdoors
 4600LDX #5
 4610.loopR
 4620LDA room
 4630CMP doorrm,X
 4640BEQ exitloop
 4650DEX
 4660CPX #&FF
 4670BNE loopR
 4680.exitloop
 4690STX doorptr
 4700CPX #&FF
 4710BNE present
 4720JMP getobjects
 4730.present
 4740LDX doorptr
 4750LDA doorcol,X
 4760STA char
 4770LDA #&4E
 4780STA char+1
 4790TXA
 4800ASL A
 4810TAX
 4820LDA doorloc,X
 4830STA loc
 4840LDA doorloc+1,X
 4850STA loc+1
 4860JSR sprite
 4870.getobjects
 4880LDX noofob
 4890.loopP
 4900LDA room
 4910CMP obroom,X
 4920BEQ outloop
 4930DEX
 4940CPX #&FF
 4950BNE loopP
 4960.outloop
 4970STX obptr
 4980CPX #&FF
 4990BNE here
 5000JMP getincidentals
 5010.here
 5020LDA obptr
 5030ASL A
 5040TAX
 5050LDA obloc,X
 5060STA loc
 5070LDA obloc+1,X
 5080STA loc+1
 5090LDA obcol,X
 5100STA char
 5110LDA obcol+1,X
 5120STA char+1
 5130JSR sprite
 5140LDX obptr
 5150DEX
 5160CPX #&FF
 5170BNE loopP
 5180RTS
 5190.getincidentals
 5200LDX noofin
 5210.loopE
 5220LDA room
 5230CMP inroom,X
 5240BEQ inloopfin
 5250DEX
 5260CPX #&FF
 5270BNE loopE
 5280.inloopfin
 5290STX inptr
 5300CPX #&FF
 5310BNE ici
 5320RTS
 5330.ici
 5340LDA inptr
 5350ASL A
 5360TAX
 5370LDA inloc,X
 5380STA loc
 5390LDA inloc+1,X
 5400STA loc+1
 5410LDA incol,X
 5420STA char
 5430LDA incol+1,X
 5440STA char+1
 5450JSR sprite
 5460LDX inptr
 5470DEX
 5480CPX #&FF
 5490BNE loopE
 5500RTS
 5510.per4
 5520LDA youxy
 5530CMP #&A1
 5540BNE per8
 5550LDA #2
 5560STA youdr
 5570JSR move
 5580JSR move
 5590JSR update
 5600.per8
 5610LDA rnxy
 5620CMP #&A1
 5630BNE noptr
 5640LDA #2
 5650STA rndr
 5660JSR movern
 5670JSR movern
 5680INC stop
 5690JSR nrnupd
 5700RTS
 5710.per3
 5720LDA youxy
 5730CMP #&68
 5740BNE per7
 5750LDA #1
 5760STA youdr
 5770JSR move
 5780JSR move
 5790JSR update
 5800.per7
 5810LDA rnxy
 5820CMP #&68
 5830BNE noptr
 5840LDA #1
 5850STA rndr
 5860JSR movern
 5870JSR movern
 5880INC stop
 5890JSR nrnupd
 5900RTS
 5910.dirpoint
 5920LDY #24
 5930LDA obroom,Y
 5940BNE nojew
 5950.noptr
 5960RTS
 5970.nojew
 5980LDA room
 5990CMP #20
 6000BEQ per1
 6010CMP #21
 6020BEQ per2
 6030CMP #29
 6040BEQ per3
 6050CMP #15
 6060BEQ per4
 6070RTS
 6080.per1
 6090LDA youxy
 6100CMP #&89
 6110BNE per5
 6120LDA #2
 6130STA youdr
 6140JSR move
 6150JSR move
 6160JSR update
 6170.per5
 6180LDA rnxy
 6190CMP #&89
 6200BNE noptr
 6210LDA #2
 6220STA rndr
 6230JSR movern
 6240JSR movern
 6250INC stop
 6260JSR nrnupd
 6270RTS
 6280.per2
 6290LDA youxy
 6300CMP #&69
 6310BNE per6
 6320LDA #4
 6330STA youdr
 6340JSR move
 6350JSR move
 6360JSR update
 6370.per6
 6380LDA rnxy
 6390CMP #&69
 6400BNE noptr
 6410LDA #4
 6420STA rndr
 6430JSR movern
 6440JSR movern
 6450INC stop
 6460JSR nrnupd
 6470RTS
 6480.mush
 6490LDA youloc
 6500PHA
 6510LDA youloc+1
 6520PHA
 6530CLC
 6540LDA youloc
 6550ADC #&40
 6560STA youloc
 6570LDA youloc+1
 6580ADC #1
 6590STA youloc+1
 6600LDY #6
 6610LDA (youloc),Y
 6620CMP #&62
 6630BNE nom
 6640LDA #&FF
 6650STA mushroom
 6660JMP en
 6670.nom
 6680LDA #0
 6690STA mushroom
 6700.en
 6710PLA
 6720STA youloc+1
 6730PLA
 6740STA youloc
 6750RTS
 6760.mask NOP
 6770.youch NOP
 6780.state NOP
 6790.obptr NOP
 6800.inptr NOP
 6810.mushroom NOP
 6820.noofob
 6830OPT FNequb(&1C)
 6840.obxy
 6850OPT FNequd(&6C963C85)
 6860OPT FNequd(&AE18AE89)
 6870OPT FNequd(&C2C36521)
 6880OPT FNequd(&55796D71)
 6890OPT FNequd(&7A6C8928)
 6900OPT FNequd(&BBC3BE2E)
 6910OPT FNequd(&00147957)
 6920OPT FNequb(&DC)
 6930.obloc
 6940OPT FNequd(&76306500)
 6950OPT FNequd(&76606790)
 6960OPT FNequd(&7BA06F00)
 6970OPT FNequd(&7BA06C10)
 6980OPT FNequd(&64E05AA0)
 6990OPT FNequd(&5DC06040)
 7000OPT FNequd(&78E05AF0)
 7010OPT FNequd(&64D06EF0)
 7020OPT FNequd(&6F006C20)
 7030OPT FNequd(&71707660)
 7040OPT FNequd(&7BB07B20)
 7050OPT FNequd(&74306040)
 7060OPT FNequd(&6EF069D0)
 7070OPT FNequd(&7C106210)
 7080OPT FNequw(&76D0)
 7090.obcol
 7100OPT FNequd(&4D204D00)
 7110OPT FNequd(&4D604D40)
 7120OPT FNequd(&4DA04D80)
 7130OPT FNequd(&4C204C00)
 7140OPT FNequd(&4C604C40)
 7150OPT FNequd(&4CA04C80)
 7160OPT FNequd(&4CE04CC0)
 7170OPT FNequd(&4A804EE0)
 7180OPT FNequd(&4AA04BA0)
 7190OPT FNequd(&4A804AA0)
 7200OPT FNequd(&4B404B20)
 7210OPT FNequd(&4AE04B80)
 7220OPT FNequd(&4BE049A0)
 7230OPT FNequd(&4B6049C0)
 7240OPT FNequw(&4DC0)
 7250.obroom
 7260OPT FNequd(&0FFF1504)
 7270OPT FNequd(&101C060A)
 7280OPT FNequd(&0A020C1B)
 7290OPT FNequd(&1A0E190F)
 7300OPT FNequd(&071C0F20)
 7310OPT FNequd(&01181D05)
 7320OPT FNequd(&FF1C14FF)
 7330OPT FNequb(&FF)
 7340.noofin
 7350OPT FNequb(&1C)
 7360.inloc
 7370OPT FNequd(&6EE06F00)
 7380OPT FNequd(&7B606C60)
 7390OPT FNequd(&71807180)
 7400OPT FNequd(&76D06790)
 7410OPT FNequd(&78E076E0)
 7420OPT FNequd(&7B407B30)
 7430OPT FNequd(&7B607B50)
 7440OPT FNequd(&6C507B70)
 7450OPT FNequd(&6C706C60)
 7460OPT FNequd(&6C906C80)
 7470OPT FNequd(&7B4078B0)
 7480OPT FNequd(&7B607B50)
 7490OPT FNequd(&5B107910)
 7500OPT FNequd(&6C205B20)
 7510OPT FNequw(&69D0)
 7520.incol
 7530OPT FNequd(&4A404A20)
 7540OPT FNequd(&4B004A00)
 7550OPT FNequd(&49E04A60)
 7560OPT FNequd(&51C04BC0)
 7570OPT FNequd(&4DE051E0)
 7580OPT FNequd(&4EC04EC0)
 7590OPT FNequd(&4EC04EC0)
 7600OPT FNequd(&4EC04EC0)
 7610OPT FNequd(&4EC04EC0)
 7620OPT FNequd(&4EC04EC0)
 7630OPT FNequd(&4EC04EC0)
 7640OPT FNequd(&4EC04EC0)
 7650OPT FNequd(&49804EC0)
 7660OPT FNequd(&4AC04A20)
 7670OPT FNequw(&4FE0)
 7680.inroom
 7690OPT FNequd(&1A1D1514)
 7700OPT FNequd(&0720FF1C)
 7710OPT FNequd(&5050707)
 7720OPT FNequd(&20050505)
 7730OPT FNequd(&20202020)
 7740OPT FNequd(&1C1C1C1C)
 7750OPT FNequd(&FF0F0F1C)
 7760OPT FNequb(&11)
 7770]
 7780PRINT ~P%
 7790NEXT
 7800PROCoscli("DIR M")
 7810PROCoscli("SAVE CODE2 3CFA 4332")
 7820PROCoscli("DIR $")
 7830END
 7840DEFFNequb(S%)
 7850?P%=S%:P%=P%+1
 7860=pass%
 7870DEFFNequw(S%)
 7880!P%=S%:P%=P%+2
 7890=pass%
 7900DEFFNequd(S%)
 7910!P%=S%:P%=P%+4
 7920=pass%
 7930DEFPROCoscli($&700)
 7940LOCALX%,Y%:Y%=7:CALL&FFF7
 7950ENDPROC

� Omniscient Machine Code
� Generator.
� Listing 1
(� by Peter Brown 1991
2:
<$� �<>&4400 � �=&4400:�"C.MCODE2"
Floc=&70
Pchar=&74
Ztemp=&7C
dstop=&4943
nroom=&4940
xbyte=&493E
�rnxy=&4941
�rndr=&4945
�youloc=&7A
�youxy=&4946
�youdr=&4947
�check=&4332
�tempxy=&494A
�nlrptr=&494B
�screen=&437E
�sprite=&440B
�nlrupd=&46D6
�nudupd=&4707
�nrnupd=&489E
movern=&4816
energy=&494C
callnlr=&4471
"callnud=&45F5
,movenlr=&44C7
6movenud=&464B
@nastyrn=&4757
Jcollide=&48E2
Troomloc=&78
^doorxy=&495F
hdoorloc=&4965
rdoorrm=&4977
|doorptr=&495E
�doorcol=&4971
�:
�� pass%=0 � 2 �2
�P%=&3CFA
�[
�
OPT pass%
�
.play1
�JSR keys
�JSR callnlr
�JSR callnud
�JSR nastyrn
�JSR move
�JSR movenlr
JSR movenud
JSR movern
JSR collide
&LDA #19
0
JSR &FFF4
:RTS
D
.play2
NJSR move
XJSR movenlr
bJSR movenud
lJSR movern
vJSR update
�JSR nlrupd
�JSR nudupd
�JSR nrnupd
�JSR collide
�JSR dirpoint
�JSR collide
�LDA #19
�
JSR &FFF4
�RTS
�.pyouml1
�
LDA #0
�JMP pyou
�.pyouml2
LDA #&20
JMP pyou
.pyoumr1
 LDA #&40
*JMP pyou
4.pyoumr2
>LDA #&60
HJMP pyou
R.pyoumu1
\LDA #&80
fJMP pyou
p.pyoumu2
zLDA #&A0
�JMP pyou
�.pyoumd1
�LDA #&C0
�JMP pyou
�.pyoumd2
�LDA #&E0
�JMP pyou
�	.pyou
�STA char
�
STA youch
�LDA #&50
�STA char+1
�LDA youloc
STA loc
LDA youloc+1

STA loc+1
$JSR sprite
.RTS
8.scrleft
BJSR delscr
LCLC
VLDA youloc
`ADC #&F0
jSTA youloc
tLDA youloc+1
~
ADC #0
�STA youloc+1
�
LDA youxy
�	� #&F
�ADC #&F0
�
STA youxy
�JSR pyouml1
�DEC room
�SEC
�LDA nlrptr
�
SBC #6
�STA nlrptr
�SEC
LDA roomloc

SBC #&20
STA roomloc
LDA roomloc+1
(
SBC #0
2STA roomloc+1
<JSR screen
FJSR getdoors
PRTS
Z
.scrright
dJSR delscr
nSEC
xLDA youloc
�SBC #&F0
�STA youloc
�LDA youloc+1
�
SBC #0
�STA youloc+1
�
LDA youxy
�	� #&F
�
STA youxy
�JSR pyoumr1
�INC room
�CLC
�LDA nlrptr
�
ADC #6
STA nlrptr
CLC
LDA #&20
"ADC roomloc
,STA roomloc
6
LDA #0
@ADC roomloc+1
JSTA roomloc+1
TJSR screen
^JSR getdoors
hRTS
r
.yleft
|
LDA youxy
�
� #&F0
�BEQ scrleft
�SEC
�LDA youloc
�SBC #&10
�STA temp
�LDA youloc+1
�
SBC #0
�STA temp+1
�
JSR check
�
LDY #1
�LDA byte
�BNE blocked

LDA #1

STA youdr
RTS
&.yright
0
LDA youxy
:
� #&F0
DCMP #&F0
NBEQ scrright
XCLC
bLDA youloc
lADC #&10
vSTA temp
�LDA youloc+1
�
ADC #0
�STA temp+1
�
JSR check
�
LDY #2
�LDA byte
�BNE blocked
�
LDA #2
�
STA youdr
�RTS
�.nm
�
LDA #0
�
STA youdr
RTS
	.keys

LDX #0
 LDA #&7A
*
JSR &FFF4
4CPX #66
>
BEQ yleft
HCPX #82
RBEQ yright
\CPX #72
fBEQ yup
pCPX #104
z
BEQ ydown
�
LDA #0
�
STA youdr
�RTS
�.blocked
�LDA byte
�CMP #&FF
�
BEQ nm
�LDX doorptr
�LDA obroom,X
�
CMP #0
�
BNE nm
�
STY youdr
�RTS
	.yup
	
LDA youxy
		� #&F
	$
BEQ scrup
	.SEC
	8LDA youloc
	BSBC #&80
	LSTA temp
	VLDA youloc+1
	`
SBC #2
	jSTA temp+1
	t
JSR check
	~
LDY #3
	�LDA byte
	�BNE blocked
	�
LDA #3
	�
STA youdr
	�RTS
	�.nu
	�
LDA #0
	�
STA youdr
	�RTS
	�
.ydown
	�
LDA youxy
	�	� #&F
CMP #&F

BEQ scrdown
CLC
LDA youloc
(ADC #&80
2STA temp
<LDA youloc+1
F
ADC #2
PSTA temp+1
Z
JSR check
d
LDY #4
nLDA byte
xBNE blocked
�
LDA #4
�
STA youdr
�RTS
�
.scrup
�JSR delscr
�CLC
�LDA youloc
�ADC #&80
�STA youloc
�LDA youloc+1
�ADC #&25
�STA youloc+1
�
LDA youxy

� #&F0
ADC #&F

STA youxy
"JSR pyoumu1
,SEC
6LDA nlrptr
@SBC #48
JSTA nlrptr
TSEC
^LDA room
h
SBC #8
rSTA room
|DEC roomloc+1
�JSR screen
�JSR getdoors
�RTS
�.scrdown
�JSR delscr
�SEC
�LDA youloc
�SBC #&80
�STA youloc
�LDA youloc+1
�SBC #&25
�STA youloc+1
�
LDA youxy

� #&F0

STA youxy
JSR pyoumd1
&CLC
0LDA nlrptr
:ADC #48
DSTA nlrptr
NCLC
XLDA room
b
ADC #8
lSTA room
vINC roomloc+1
�JSR screen
�JSR getdoors
�RTS
�	.move
�
LDA youdr
�BNE ymv
�RTS
�.ymv
�
LDA youdr
�
CMP #1
�
BEQ dleft
�
CMP #2
�BEQ dright


CMP #3

BEQ dup


CMP #4

 
BEQ ddown

*RTS

4
.dleft

>JSRdeletem

HSEC

RLDA youloc

\
SBC #8

fSTA youloc

pLDA youloc+1

z
SBC #0

�STA youloc+1

�JSR mush

�
LDA state

�� #1

�
BEQ l1

�JSR pyouml2

�RTS

�.l1

�JSR pyouml1

�RTS

�.dright

�JSR deletem

�CLC
LDA youloc

ADC #8
STA youloc
$LDA youloc+1
.
ADC #0
8STA youloc+1
BJSR mush
L
LDA state
V� #1
`
BEQ r1
jJSR pyoumr2
tRTS
~.r1
�JSR pyoumr1
�RTS
�.dup
�JSR deletem
�SEC
�LDA youloc
�SBC #&40
�STA youloc
�LDA youloc+1
�
SBC #1
�STA youloc+1
�JSR mush

LDA state

� #1

BEQ u1
JSR pyoumu1
(
JMP du
2.u1
<JSR pyoumu2
F.du
P
INC state
ZRTS
d
.ddown
nJSR deletem
xCLC
�LDA youloc
�ADC #&40
�STA youloc
�LDA youloc+1
�
ADC #1
�STA youloc+1
�JSR mush
�
LDA state
�� #1
�
BEQ d1
�JSR pyoumd1
�
JMP dd
�.d1
JSR pyoumd2
.dd

INC state
"RTS
,.update
6
LDA youdr
@BNE dud
JRTS
T.dud
^
INC state
h
LDA youdr
r
CMP #1
|BNE ndr
�SEC
�
LDA youxy
�SBC #&10
�
STA youxy
�RTS
�.ndr
�
LDA youdr
�
CMP #2
�BNE ndr1
�CLC
�
LDA youxy
�ADC #&10
�
STA youxy
RTS
	.ndr1

LDA youdr
&
CMP #3
0BNE ndr2
:
DEC youxy
DRTS
N	.ndr2
X
INC youxy
bRTS
l.deletem
vLDA youloc
�STA loc
�LDA youloc+1
�
STA loc+1
�
LDA youch
�STA char
�LDA #&50
�STA char+1
�JMP sprite
�.delscr
�LDA #12
�
JMP &FFEE
�
.getdoors
�
LDX #5

.loopR
LDA room
CMP doorrm,X
 BEQ exitloop
*DEX
4CPX #&FF
>
BNE loopR
H
.exitloop
RSTX doorptr
\CPX #&FF
fBNE present
pJMP getobjects
z.present
�LDX doorptr
�LDA doorcol,X
�STA char
�LDA #&4E
�STA char+1
�TXA
�	ASL A
�TAX
�LDA doorloc,X
�STA loc
�LDA doorloc+1,X
�
STA loc+1
�JSR sprite
.getobjects
LDX noofob

.loopP
$LDA room
.CMP obroom,X
8BEQ outloop
BDEX
LCPX #&FF
V
BNE loopP
`.outloop
j
STX obptr
tCPX #&FF
~BNE here
�JMP getincidentals
�	.here
�
LDA obptr
�	ASL A
�TAX
�LDA obloc,X
�STA loc
�LDA obloc+1,X
�
STA loc+1
�LDA obcol,X
�STA char
�LDA obcol+1,X
STA char+1

JSR sprite

LDX obptr
DEX
(CPX #&FF
2
BNE loopP
<RTS
F.getincidentals
PLDX noofin
Z
.loopE
dLDA room
nCMP inroom,X
xBEQ inloopfin
�DEX
�CPX #&FF
�
BNE loopE
�.inloopfin
�
STX inptr
�CPX #&FF
�BNE ici
�RTS
�.ici
�
LDA inptr
�	ASL A
�TAX
�LDA inloc,X
STA loc
LDA inloc+1,X

STA loc+1
"LDA incol,X
,STA char
6LDA incol+1,X
@STA char+1
JJSR sprite
T
LDX inptr
^DEX
hCPX #&FF
r
BNE loopE
|RTS
�	.per4
�
LDA youxy
�CMP #&A1
�BNE per8
�
LDA #2
�
STA youdr
�JSR move
�JSR move
�JSR update
�	.per8
�LDA rnxy
�CMP #&A1
�
BNE noptr

LDA #2
STA rndr
JSR movern
&JSR movern
0INC stop
:JSR nrnupd
DRTS
N	.per3
X
LDA youxy
bCMP #&68
lBNE per7
v
LDA #1
�
STA youdr
�JSR move
�JSR move
�JSR update
�	.per7
�LDA rnxy
�CMP #&68
�
BNE noptr
�
LDA #1
�STA rndr
�JSR movern
�JSR movern
�INC stop
JSR nrnupd
RTS

.dirpoint
 LDY #24
*LDA obroom,Y
4
BNE nojew
>
.noptr
HRTS
R
.nojew
\LDA room
fCMP #20
pBEQ per1
zCMP #21
�BEQ per2
�CMP #29
�BEQ per3
�CMP #15
�BEQ per4
�RTS
�	.per1
�
LDA youxy
�CMP #&89
�BNE per5
�
LDA #2
�
STA youdr
�JSR move
JSR move
JSR update
	.per5
$LDA rnxy
.CMP #&89
8
BNE noptr
B
LDA #2
LSTA rndr
VJSR movern
`JSR movern
jINC stop
tJSR nrnupd
~RTS
�	.per2
�
LDA youxy
�CMP #&69
�BNE per6
�
LDA #4
�
STA youdr
�JSR move
�JSR move
�JSR update
�	.per6
�LDA rnxy
�CMP #&69

BNE noptr


LDA #4
STA rndr
JSR movern
(JSR movern
2INC stop
<JSR nrnupd
FRTS
P	.mush
ZLDA youloc
dPHA
nLDA youloc+1
xPHA
�CLC
�LDA youloc
�ADC #&40
�STA youloc
�LDA youloc+1
�
ADC #1
�STA youloc+1
�
LDY #6
�LDA (youloc),Y
�CMP #&62
�BNE nom
�LDA #&FF
�STA mushroom

JMP en
.nom

LDA #0
"STA mushroom
,.en
6PLA
@STA youloc+1
JPLA
TSTA youloc
^RTS
h
.mask NOP
r.youch NOP
|.state NOP
�.obptr NOP
�.inptr NOP
�.mushroom NOP
�.noofob
�OPT �equb(&1C)
�	.obxy
�OPT �equd(&6C963C85)
�OPT �equd(&AE18AE89)
�OPT �equd(&C2C36521)
�OPT �equd(&55796D71)
�OPT �equd(&7A6C8928)
�OPT �equd(&BBC3BE2E)
�OPT �equd(&00147957)
OPT �equb(&DC)

.obloc
OPT �equd(&76306500)
&OPT �equd(&76606790)
0OPT �equd(&7BA06F00)
:OPT �equd(&7BA06C10)
DOPT �equd(&64E05AA0)
NOPT �equd(&5DC06040)
XOPT �equd(&78E05AF0)
bOPT �equd(&64D06EF0)
lOPT �equd(&6F006C20)
vOPT �equd(&71707660)
�OPT �equd(&7BB07B20)
�OPT �equd(&74306040)
�OPT �equd(&6EF069D0)
�OPT �equd(&7C106210)
�OPT �equw(&76D0)
�
.obcol
�OPT �equd(&4D204D00)
�OPT �equd(&4D604D40)
�OPT �equd(&4DA04D80)
�OPT �equd(&4C204C00)
�OPT �equd(&4C604C40)
�OPT �equd(&4CA04C80)
�OPT �equd(&4CE04CC0)
OPT �equd(&4A804EE0)
OPT �equd(&4AA04BA0)
OPT �equd(&4A804AA0)
 OPT �equd(&4B404B20)
*OPT �equd(&4AE04B80)
4OPT �equd(&4BE049A0)
>OPT �equd(&4B6049C0)
HOPT �equw(&4DC0)
R.obroom
\OPT �equd(&0FFF1504)
fOPT �equd(&101C060A)
pOPT �equd(&0A020C1B)
zOPT �equd(&1A0E190F)
�OPT �equd(&071C0F20)
�OPT �equd(&01181D05)
�OPT �equd(&FF1C14FF)
�OPT �equb(&FF)
�.noofin
�OPT �equb(&1C)
�
.inloc
�OPT �equd(&6EE06F00)
�OPT �equd(&7B606C60)
�OPT �equd(&71807180)
�OPT �equd(&76D06790)
�OPT �equd(&78E076E0)
�OPT �equd(&7B407B30)
OPT �equd(&7B607B50)
OPT �equd(&6C507B70)
OPT �equd(&6C706C60)
$OPT �equd(&6C906C80)
.OPT �equd(&7B4078B0)
8OPT �equd(&7B607B50)
BOPT �equd(&5B107910)
LOPT �equd(&6C205B20)
VOPT �equw(&69D0)
`
.incol
jOPT �equd(&4A404A20)
tOPT �equd(&4B004A00)
~OPT �equd(&49E04A60)
�OPT �equd(&51C04BC0)
�OPT �equd(&4DE051E0)
�OPT �equd(&4EC04EC0)
�OPT �equd(&4EC04EC0)
�OPT �equd(&4EC04EC0)
�OPT �equd(&4EC04EC0)
�OPT �equd(&4EC04EC0)
�OPT �equd(&4EC04EC0)
�OPT �equd(&4EC04EC0)
�OPT �equd(&49804EC0)
�OPT �equd(&4AC04A20)
�OPT �equw(&4FE0)
.inroom

OPT �equd(&1A1D1514)
OPT �equd(&0720FF1C)
OPT �equd(&5050707)
(OPT �equd(&20050505)
2OPT �equd(&20202020)
<OPT �equd(&1C1C1C1C)
FOPT �equd(&FF0F0F1C)
POPT �equb(&11)
Z]
d	� ~P%
n�
x�oscli("DIR M")
�"�oscli("SAVE CODE2 3CFA 4332")
��oscli("DIR $")
��
�ݤequb(S%)
�?P%=S%:P%=P%+1
�
=pass%
�ݤequw(S%)
�!P%=S%:P%=P%+2
�
=pass%
�ݤequd(S%)
�!P%=S%:P%=P%+4
�
=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 34 34 30 30  20 8c 20 d0 3d 26 34 34  |.<>&4400 . .=&44|
00000070  30 30 3a d7 22 43 2e 4d  43 4f 44 45 32 22 0d 00  |00:."C.MCODE2"..|
00000080  46 0b 6c 6f 63 3d 26 37  30 0d 00 50 0c 63 68 61  |F.loc=&70..P.cha|
00000090  72 3d 26 37 34 0d 00 5a  0c 74 65 6d 70 3d 26 37  |r=&74..Z.temp=&7|
000000a0  43 0d 00 64 0e 73 74 6f  70 3d 26 34 39 34 33 0d  |C..d.stop=&4943.|
000000b0  00 6e 0e 72 6f 6f 6d 3d  26 34 39 34 30 0d 00 78  |.n.room=&4940..x|
000000c0  0e 62 79 74 65 3d 26 34  39 33 45 0d 00 82 0e 72  |.byte=&493E....r|
000000d0  6e 78 79 3d 26 34 39 34  31 0d 00 8c 0e 72 6e 64  |nxy=&4941....rnd|
000000e0  72 3d 26 34 39 34 35 0d  00 96 0e 79 6f 75 6c 6f  |r=&4945....youlo|
000000f0  63 3d 26 37 41 0d 00 a0  0f 79 6f 75 78 79 3d 26  |c=&7A....youxy=&|
00000100  34 39 34 36 0d 00 aa 0f  79 6f 75 64 72 3d 26 34  |4946....youdr=&4|
00000110  39 34 37 0d 00 b4 0f 63  68 65 63 6b 3d 26 34 33  |947....check=&43|
00000120  33 32 0d 00 be 10 74 65  6d 70 78 79 3d 26 34 39  |32....tempxy=&49|
00000130  34 41 0d 00 c8 10 6e 6c  72 70 74 72 3d 26 34 39  |4A....nlrptr=&49|
00000140  34 42 0d 00 d2 10 73 63  72 65 65 6e 3d 26 34 33  |4B....screen=&43|
00000150  37 45 0d 00 dc 10 73 70  72 69 74 65 3d 26 34 34  |7E....sprite=&44|
00000160  30 42 0d 00 e6 10 6e 6c  72 75 70 64 3d 26 34 36  |0B....nlrupd=&46|
00000170  44 36 0d 00 f0 10 6e 75  64 75 70 64 3d 26 34 37  |D6....nudupd=&47|
00000180  30 37 0d 00 fa 10 6e 72  6e 75 70 64 3d 26 34 38  |07....nrnupd=&48|
00000190  39 45 0d 01 04 10 6d 6f  76 65 72 6e 3d 26 34 38  |9E....movern=&48|
000001a0  31 36 0d 01 0e 10 65 6e  65 72 67 79 3d 26 34 39  |16....energy=&49|
000001b0  34 43 0d 01 18 11 63 61  6c 6c 6e 6c 72 3d 26 34  |4C....callnlr=&4|
000001c0  34 37 31 0d 01 22 11 63  61 6c 6c 6e 75 64 3d 26  |471..".callnud=&|
000001d0  34 35 46 35 0d 01 2c 11  6d 6f 76 65 6e 6c 72 3d  |45F5..,.movenlr=|
000001e0  26 34 34 43 37 0d 01 36  11 6d 6f 76 65 6e 75 64  |&44C7..6.movenud|
000001f0  3d 26 34 36 34 42 0d 01  40 11 6e 61 73 74 79 72  |=&464B..@.nastyr|
00000200  6e 3d 26 34 37 35 37 0d  01 4a 11 63 6f 6c 6c 69  |n=&4757..J.colli|
00000210  64 65 3d 26 34 38 45 32  0d 01 54 0f 72 6f 6f 6d  |de=&48E2..T.room|
00000220  6c 6f 63 3d 26 37 38 0d  01 5e 10 64 6f 6f 72 78  |loc=&78..^.doorx|
00000230  79 3d 26 34 39 35 46 0d  01 68 11 64 6f 6f 72 6c  |y=&495F..h.doorl|
00000240  6f 63 3d 26 34 39 36 35  0d 01 72 10 64 6f 6f 72  |oc=&4965..r.door|
00000250  72 6d 3d 26 34 39 37 37  0d 01 7c 11 64 6f 6f 72  |rm=&4977..|.door|
00000260  70 74 72 3d 26 34 39 35  45 0d 01 86 11 64 6f 6f  |ptr=&495E....doo|
00000270  72 63 6f 6c 3d 26 34 39  37 31 0d 01 90 05 3a 0d  |rcol=&4971....:.|
00000280  01 9a 14 e3 20 70 61 73  73 25 3d 30 20 b8 20 32  |.... pass%=0 . 2|
00000290  20 88 32 0d 01 a4 0c 50  25 3d 26 33 43 46 41 0d  | .2....P%=&3CFA.|
000002a0  01 ae 05 5b 0d 01 b8 0d  4f 50 54 20 70 61 73 73  |...[....OPT pass|
000002b0  25 0d 01 c2 0a 2e 70 6c  61 79 31 0d 01 cc 0c 4a  |%.....play1....J|
000002c0  53 52 20 6b 65 79 73 0d  01 d6 0f 4a 53 52 20 63  |SR keys....JSR c|
000002d0  61 6c 6c 6e 6c 72 0d 01  e0 0f 4a 53 52 20 63 61  |allnlr....JSR ca|
000002e0  6c 6c 6e 75 64 0d 01 ea  0f 4a 53 52 20 6e 61 73  |llnud....JSR nas|
000002f0  74 79 72 6e 0d 01 f4 0c  4a 53 52 20 6d 6f 76 65  |tyrn....JSR move|
00000300  0d 01 fe 0f 4a 53 52 20  6d 6f 76 65 6e 6c 72 0d  |....JSR movenlr.|
00000310  02 08 0f 4a 53 52 20 6d  6f 76 65 6e 75 64 0d 02  |...JSR movenud..|
00000320  12 0e 4a 53 52 20 6d 6f  76 65 72 6e 0d 02 1c 0f  |..JSR movern....|
00000330  4a 53 52 20 63 6f 6c 6c  69 64 65 0d 02 26 0b 4c  |JSR collide..&.L|
00000340  44 41 20 23 31 39 0d 02  30 0d 4a 53 52 20 26 46  |DA #19..0.JSR &F|
00000350  46 46 34 0d 02 3a 07 52  54 53 0d 02 44 0a 2e 70  |FF4..:.RTS..D..p|
00000360  6c 61 79 32 0d 02 4e 0c  4a 53 52 20 6d 6f 76 65  |lay2..N.JSR move|
00000370  0d 02 58 0f 4a 53 52 20  6d 6f 76 65 6e 6c 72 0d  |..X.JSR movenlr.|
00000380  02 62 0f 4a 53 52 20 6d  6f 76 65 6e 75 64 0d 02  |.b.JSR movenud..|
00000390  6c 0e 4a 53 52 20 6d 6f  76 65 72 6e 0d 02 76 0e  |l.JSR movern..v.|
000003a0  4a 53 52 20 75 70 64 61  74 65 0d 02 80 0e 4a 53  |JSR update....JS|
000003b0  52 20 6e 6c 72 75 70 64  0d 02 8a 0e 4a 53 52 20  |R nlrupd....JSR |
000003c0  6e 75 64 75 70 64 0d 02  94 0e 4a 53 52 20 6e 72  |nudupd....JSR nr|
000003d0  6e 75 70 64 0d 02 9e 0f  4a 53 52 20 63 6f 6c 6c  |nupd....JSR coll|
000003e0  69 64 65 0d 02 a8 10 4a  53 52 20 64 69 72 70 6f  |ide....JSR dirpo|
000003f0  69 6e 74 0d 02 b2 0f 4a  53 52 20 63 6f 6c 6c 69  |int....JSR colli|
00000400  64 65 0d 02 bc 0b 4c 44  41 20 23 31 39 0d 02 c6  |de....LDA #19...|
00000410  0d 4a 53 52 20 26 46 46  46 34 0d 02 d0 07 52 54  |.JSR &FFF4....RT|
00000420  53 0d 02 da 0c 2e 70 79  6f 75 6d 6c 31 0d 02 e4  |S.....pyouml1...|
00000430  0a 4c 44 41 20 23 30 0d  02 ee 0c 4a 4d 50 20 70  |.LDA #0....JMP p|
00000440  79 6f 75 0d 02 f8 0c 2e  70 79 6f 75 6d 6c 32 0d  |you.....pyouml2.|
00000450  03 02 0c 4c 44 41 20 23  26 32 30 0d 03 0c 0c 4a  |...LDA #&20....J|
00000460  4d 50 20 70 79 6f 75 0d  03 16 0c 2e 70 79 6f 75  |MP pyou.....pyou|
00000470  6d 72 31 0d 03 20 0c 4c  44 41 20 23 26 34 30 0d  |mr1.. .LDA #&40.|
00000480  03 2a 0c 4a 4d 50 20 70  79 6f 75 0d 03 34 0c 2e  |.*.JMP pyou..4..|
00000490  70 79 6f 75 6d 72 32 0d  03 3e 0c 4c 44 41 20 23  |pyoumr2..>.LDA #|
000004a0  26 36 30 0d 03 48 0c 4a  4d 50 20 70 79 6f 75 0d  |&60..H.JMP pyou.|
000004b0  03 52 0c 2e 70 79 6f 75  6d 75 31 0d 03 5c 0c 4c  |.R..pyoumu1..\.L|
000004c0  44 41 20 23 26 38 30 0d  03 66 0c 4a 4d 50 20 70  |DA #&80..f.JMP p|
000004d0  79 6f 75 0d 03 70 0c 2e  70 79 6f 75 6d 75 32 0d  |you..p..pyoumu2.|
000004e0  03 7a 0c 4c 44 41 20 23  26 41 30 0d 03 84 0c 4a  |.z.LDA #&A0....J|
000004f0  4d 50 20 70 79 6f 75 0d  03 8e 0c 2e 70 79 6f 75  |MP pyou.....pyou|
00000500  6d 64 31 0d 03 98 0c 4c  44 41 20 23 26 43 30 0d  |md1....LDA #&C0.|
00000510  03 a2 0c 4a 4d 50 20 70  79 6f 75 0d 03 ac 0c 2e  |...JMP pyou.....|
00000520  70 79 6f 75 6d 64 32 0d  03 b6 0c 4c 44 41 20 23  |pyoumd2....LDA #|
00000530  26 45 30 0d 03 c0 0c 4a  4d 50 20 70 79 6f 75 0d  |&E0....JMP pyou.|
00000540  03 ca 09 2e 70 79 6f 75  0d 03 d4 0c 53 54 41 20  |....pyou....STA |
00000550  63 68 61 72 0d 03 de 0d  53 54 41 20 79 6f 75 63  |char....STA youc|
00000560  68 0d 03 e8 0c 4c 44 41  20 23 26 35 30 0d 03 f2  |h....LDA #&50...|
00000570  0e 53 54 41 20 63 68 61  72 2b 31 0d 03 fc 0e 4c  |.STA char+1....L|
00000580  44 41 20 79 6f 75 6c 6f  63 0d 04 06 0b 53 54 41  |DA youloc....STA|
00000590  20 6c 6f 63 0d 04 10 10  4c 44 41 20 79 6f 75 6c  | loc....LDA youl|
000005a0  6f 63 2b 31 0d 04 1a 0d  53 54 41 20 6c 6f 63 2b  |oc+1....STA loc+|
000005b0  31 0d 04 24 0e 4a 53 52  20 73 70 72 69 74 65 0d  |1..$.JSR sprite.|
000005c0  04 2e 07 52 54 53 0d 04  38 0c 2e 73 63 72 6c 65  |...RTS..8..scrle|
000005d0  66 74 0d 04 42 0e 4a 53  52 20 64 65 6c 73 63 72  |ft..B.JSR delscr|
000005e0  0d 04 4c 07 43 4c 43 0d  04 56 0e 4c 44 41 20 79  |..L.CLC..V.LDA y|
000005f0  6f 75 6c 6f 63 0d 04 60  0c 41 44 43 20 23 26 46  |ouloc..`.ADC #&F|
00000600  30 0d 04 6a 0e 53 54 41  20 79 6f 75 6c 6f 63 0d  |0..j.STA youloc.|
00000610  04 74 10 4c 44 41 20 79  6f 75 6c 6f 63 2b 31 0d  |.t.LDA youloc+1.|
00000620  04 7e 0a 41 44 43 20 23  30 0d 04 88 10 53 54 41  |.~.ADC #0....STA|
00000630  20 79 6f 75 6c 6f 63 2b  31 0d 04 92 0d 4c 44 41  | youloc+1....LDA|
00000640  20 79 6f 75 78 79 0d 04  9c 09 80 20 23 26 46 0d  | youxy..... #&F.|
00000650  04 a6 0c 41 44 43 20 23  26 46 30 0d 04 b0 0d 53  |...ADC #&F0....S|
00000660  54 41 20 79 6f 75 78 79  0d 04 ba 0f 4a 53 52 20  |TA youxy....JSR |
00000670  70 79 6f 75 6d 6c 31 0d  04 c4 0c 44 45 43 20 72  |pyouml1....DEC r|
00000680  6f 6f 6d 0d 04 ce 07 53  45 43 0d 04 d8 0e 4c 44  |oom....SEC....LD|
00000690  41 20 6e 6c 72 70 74 72  0d 04 e2 0a 53 42 43 20  |A nlrptr....SBC |
000006a0  23 36 0d 04 ec 0e 53 54  41 20 6e 6c 72 70 74 72  |#6....STA nlrptr|
000006b0  0d 04 f6 07 53 45 43 0d  05 00 0f 4c 44 41 20 72  |....SEC....LDA r|
000006c0  6f 6f 6d 6c 6f 63 0d 05  0a 0c 53 42 43 20 23 26  |oomloc....SBC #&|
000006d0  32 30 0d 05 14 0f 53 54  41 20 72 6f 6f 6d 6c 6f  |20....STA roomlo|
000006e0  63 0d 05 1e 11 4c 44 41  20 72 6f 6f 6d 6c 6f 63  |c....LDA roomloc|
000006f0  2b 31 0d 05 28 0a 53 42  43 20 23 30 0d 05 32 11  |+1..(.SBC #0..2.|
00000700  53 54 41 20 72 6f 6f 6d  6c 6f 63 2b 31 0d 05 3c  |STA roomloc+1..<|
00000710  0e 4a 53 52 20 73 63 72  65 65 6e 0d 05 46 10 4a  |.JSR screen..F.J|
00000720  53 52 20 67 65 74 64 6f  6f 72 73 0d 05 50 07 52  |SR getdoors..P.R|
00000730  54 53 0d 05 5a 0d 2e 73  63 72 72 69 67 68 74 0d  |TS..Z..scrright.|
00000740  05 64 0e 4a 53 52 20 64  65 6c 73 63 72 0d 05 6e  |.d.JSR delscr..n|
00000750  07 53 45 43 0d 05 78 0e  4c 44 41 20 79 6f 75 6c  |.SEC..x.LDA youl|
00000760  6f 63 0d 05 82 0c 53 42  43 20 23 26 46 30 0d 05  |oc....SBC #&F0..|
00000770  8c 0e 53 54 41 20 79 6f  75 6c 6f 63 0d 05 96 10  |..STA youloc....|
00000780  4c 44 41 20 79 6f 75 6c  6f 63 2b 31 0d 05 a0 0a  |LDA youloc+1....|
00000790  53 42 43 20 23 30 0d 05  aa 10 53 54 41 20 79 6f  |SBC #0....STA yo|
000007a0  75 6c 6f 63 2b 31 0d 05  b4 0d 4c 44 41 20 79 6f  |uloc+1....LDA yo|
000007b0  75 78 79 0d 05 be 09 80  20 23 26 46 0d 05 c8 0d  |uxy..... #&F....|
000007c0  53 54 41 20 79 6f 75 78  79 0d 05 d2 0f 4a 53 52  |STA youxy....JSR|
000007d0  20 70 79 6f 75 6d 72 31  0d 05 dc 0c 49 4e 43 20  | pyoumr1....INC |
000007e0  72 6f 6f 6d 0d 05 e6 07  43 4c 43 0d 05 f0 0e 4c  |room....CLC....L|
000007f0  44 41 20 6e 6c 72 70 74  72 0d 05 fa 0a 41 44 43  |DA nlrptr....ADC|
00000800  20 23 36 0d 06 04 0e 53  54 41 20 6e 6c 72 70 74  | #6....STA nlrpt|
00000810  72 0d 06 0e 07 43 4c 43  0d 06 18 0c 4c 44 41 20  |r....CLC....LDA |
00000820  23 26 32 30 0d 06 22 0f  41 44 43 20 72 6f 6f 6d  |#&20..".ADC room|
00000830  6c 6f 63 0d 06 2c 0f 53  54 41 20 72 6f 6f 6d 6c  |loc..,.STA rooml|
00000840  6f 63 0d 06 36 0a 4c 44  41 20 23 30 0d 06 40 11  |oc..6.LDA #0..@.|
00000850  41 44 43 20 72 6f 6f 6d  6c 6f 63 2b 31 0d 06 4a  |ADC roomloc+1..J|
00000860  11 53 54 41 20 72 6f 6f  6d 6c 6f 63 2b 31 0d 06  |.STA roomloc+1..|
00000870  54 0e 4a 53 52 20 73 63  72 65 65 6e 0d 06 5e 10  |T.JSR screen..^.|
00000880  4a 53 52 20 67 65 74 64  6f 6f 72 73 0d 06 68 07  |JSR getdoors..h.|
00000890  52 54 53 0d 06 72 0a 2e  79 6c 65 66 74 0d 06 7c  |RTS..r..yleft..||
000008a0  0d 4c 44 41 20 79 6f 75  78 79 0d 06 86 0a 80 20  |.LDA youxy..... |
000008b0  23 26 46 30 0d 06 90 0f  42 45 51 20 73 63 72 6c  |#&F0....BEQ scrl|
000008c0  65 66 74 0d 06 9a 07 53  45 43 0d 06 a4 0e 4c 44  |eft....SEC....LD|
000008d0  41 20 79 6f 75 6c 6f 63  0d 06 ae 0c 53 42 43 20  |A youloc....SBC |
000008e0  23 26 31 30 0d 06 b8 0c  53 54 41 20 74 65 6d 70  |#&10....STA temp|
000008f0  0d 06 c2 10 4c 44 41 20  79 6f 75 6c 6f 63 2b 31  |....LDA youloc+1|
00000900  0d 06 cc 0a 53 42 43 20  23 30 0d 06 d6 0e 53 54  |....SBC #0....ST|
00000910  41 20 74 65 6d 70 2b 31  0d 06 e0 0d 4a 53 52 20  |A temp+1....JSR |
00000920  63 68 65 63 6b 0d 06 ea  0a 4c 44 59 20 23 31 0d  |check....LDY #1.|
00000930  06 f4 0c 4c 44 41 20 62  79 74 65 0d 06 fe 0f 42  |...LDA byte....B|
00000940  4e 45 20 62 6c 6f 63 6b  65 64 0d 07 08 0a 4c 44  |NE blocked....LD|
00000950  41 20 23 31 0d 07 12 0d  53 54 41 20 79 6f 75 64  |A #1....STA youd|
00000960  72 0d 07 1c 07 52 54 53  0d 07 26 0b 2e 79 72 69  |r....RTS..&..yri|
00000970  67 68 74 0d 07 30 0d 4c  44 41 20 79 6f 75 78 79  |ght..0.LDA youxy|
00000980  0d 07 3a 0a 80 20 23 26  46 30 0d 07 44 0c 43 4d  |..:.. #&F0..D.CM|
00000990  50 20 23 26 46 30 0d 07  4e 10 42 45 51 20 73 63  |P #&F0..N.BEQ sc|
000009a0  72 72 69 67 68 74 0d 07  58 07 43 4c 43 0d 07 62  |rright..X.CLC..b|
000009b0  0e 4c 44 41 20 79 6f 75  6c 6f 63 0d 07 6c 0c 41  |.LDA youloc..l.A|
000009c0  44 43 20 23 26 31 30 0d  07 76 0c 53 54 41 20 74  |DC #&10..v.STA t|
000009d0  65 6d 70 0d 07 80 10 4c  44 41 20 79 6f 75 6c 6f  |emp....LDA youlo|
000009e0  63 2b 31 0d 07 8a 0a 41  44 43 20 23 30 0d 07 94  |c+1....ADC #0...|
000009f0  0e 53 54 41 20 74 65 6d  70 2b 31 0d 07 9e 0d 4a  |.STA temp+1....J|
00000a00  53 52 20 63 68 65 63 6b  0d 07 a8 0a 4c 44 59 20  |SR check....LDY |
00000a10  23 32 0d 07 b2 0c 4c 44  41 20 62 79 74 65 0d 07  |#2....LDA byte..|
00000a20  bc 0f 42 4e 45 20 62 6c  6f 63 6b 65 64 0d 07 c6  |..BNE blocked...|
00000a30  0a 4c 44 41 20 23 32 0d  07 d0 0d 53 54 41 20 79  |.LDA #2....STA y|
00000a40  6f 75 64 72 0d 07 da 07  52 54 53 0d 07 e4 07 2e  |oudr....RTS.....|
00000a50  6e 6d 0d 07 ee 0a 4c 44  41 20 23 30 0d 07 f8 0d  |nm....LDA #0....|
00000a60  53 54 41 20 79 6f 75 64  72 0d 08 02 07 52 54 53  |STA youdr....RTS|
00000a70  0d 08 0c 09 2e 6b 65 79  73 0d 08 16 0a 4c 44 58  |.....keys....LDX|
00000a80  20 23 30 0d 08 20 0c 4c  44 41 20 23 26 37 41 0d  | #0.. .LDA #&7A.|
00000a90  08 2a 0d 4a 53 52 20 26  46 46 46 34 0d 08 34 0b  |.*.JSR &FFF4..4.|
00000aa0  43 50 58 20 23 36 36 0d  08 3e 0d 42 45 51 20 79  |CPX #66..>.BEQ y|
00000ab0  6c 65 66 74 0d 08 48 0b  43 50 58 20 23 38 32 0d  |left..H.CPX #82.|
00000ac0  08 52 0e 42 45 51 20 79  72 69 67 68 74 0d 08 5c  |.R.BEQ yright..\|
00000ad0  0b 43 50 58 20 23 37 32  0d 08 66 0b 42 45 51 20  |.CPX #72..f.BEQ |
00000ae0  79 75 70 0d 08 70 0c 43  50 58 20 23 31 30 34 0d  |yup..p.CPX #104.|
00000af0  08 7a 0d 42 45 51 20 79  64 6f 77 6e 0d 08 84 0a  |.z.BEQ ydown....|
00000b00  4c 44 41 20 23 30 0d 08  8e 0d 53 54 41 20 79 6f  |LDA #0....STA yo|
00000b10  75 64 72 0d 08 98 07 52  54 53 0d 08 a2 0c 2e 62  |udr....RTS.....b|
00000b20  6c 6f 63 6b 65 64 0d 08  ac 0c 4c 44 41 20 62 79  |locked....LDA by|
00000b30  74 65 0d 08 b6 0c 43 4d  50 20 23 26 46 46 0d 08  |te....CMP #&FF..|
00000b40  c0 0a 42 45 51 20 6e 6d  0d 08 ca 0f 4c 44 58 20  |..BEQ nm....LDX |
00000b50  64 6f 6f 72 70 74 72 0d  08 d4 10 4c 44 41 20 6f  |doorptr....LDA o|
00000b60  62 72 6f 6f 6d 2c 58 0d  08 de 0a 43 4d 50 20 23  |broom,X....CMP #|
00000b70  30 0d 08 e8 0a 42 4e 45  20 6e 6d 0d 08 f2 0d 53  |0....BNE nm....S|
00000b80  54 59 20 79 6f 75 64 72  0d 08 fc 07 52 54 53 0d  |TY youdr....RTS.|
00000b90  09 06 08 2e 79 75 70 0d  09 10 0d 4c 44 41 20 79  |....yup....LDA y|
00000ba0  6f 75 78 79 0d 09 1a 09  80 20 23 26 46 0d 09 24  |ouxy..... #&F..$|
00000bb0  0d 42 45 51 20 73 63 72  75 70 0d 09 2e 07 53 45  |.BEQ scrup....SE|
00000bc0  43 0d 09 38 0e 4c 44 41  20 79 6f 75 6c 6f 63 0d  |C..8.LDA youloc.|
00000bd0  09 42 0c 53 42 43 20 23  26 38 30 0d 09 4c 0c 53  |.B.SBC #&80..L.S|
00000be0  54 41 20 74 65 6d 70 0d  09 56 10 4c 44 41 20 79  |TA temp..V.LDA y|
00000bf0  6f 75 6c 6f 63 2b 31 0d  09 60 0a 53 42 43 20 23  |ouloc+1..`.SBC #|
00000c00  32 0d 09 6a 0e 53 54 41  20 74 65 6d 70 2b 31 0d  |2..j.STA temp+1.|
00000c10  09 74 0d 4a 53 52 20 63  68 65 63 6b 0d 09 7e 0a  |.t.JSR check..~.|
00000c20  4c 44 59 20 23 33 0d 09  88 0c 4c 44 41 20 62 79  |LDY #3....LDA by|
00000c30  74 65 0d 09 92 0f 42 4e  45 20 62 6c 6f 63 6b 65  |te....BNE blocke|
00000c40  64 0d 09 9c 0a 4c 44 41  20 23 33 0d 09 a6 0d 53  |d....LDA #3....S|
00000c50  54 41 20 79 6f 75 64 72  0d 09 b0 07 52 54 53 0d  |TA youdr....RTS.|
00000c60  09 ba 07 2e 6e 75 0d 09  c4 0a 4c 44 41 20 23 30  |....nu....LDA #0|
00000c70  0d 09 ce 0d 53 54 41 20  79 6f 75 64 72 0d 09 d8  |....STA youdr...|
00000c80  07 52 54 53 0d 09 e2 0a  2e 79 64 6f 77 6e 0d 09  |.RTS.....ydown..|
00000c90  ec 0d 4c 44 41 20 79 6f  75 78 79 0d 09 f6 09 80  |..LDA youxy.....|
00000ca0  20 23 26 46 0d 0a 00 0b  43 4d 50 20 23 26 46 0d  | #&F....CMP #&F.|
00000cb0  0a 0a 0f 42 45 51 20 73  63 72 64 6f 77 6e 0d 0a  |...BEQ scrdown..|
00000cc0  14 07 43 4c 43 0d 0a 1e  0e 4c 44 41 20 79 6f 75  |..CLC....LDA you|
00000cd0  6c 6f 63 0d 0a 28 0c 41  44 43 20 23 26 38 30 0d  |loc..(.ADC #&80.|
00000ce0  0a 32 0c 53 54 41 20 74  65 6d 70 0d 0a 3c 10 4c  |.2.STA temp..<.L|
00000cf0  44 41 20 79 6f 75 6c 6f  63 2b 31 0d 0a 46 0a 41  |DA youloc+1..F.A|
00000d00  44 43 20 23 32 0d 0a 50  0e 53 54 41 20 74 65 6d  |DC #2..P.STA tem|
00000d10  70 2b 31 0d 0a 5a 0d 4a  53 52 20 63 68 65 63 6b  |p+1..Z.JSR check|
00000d20  0d 0a 64 0a 4c 44 59 20  23 34 0d 0a 6e 0c 4c 44  |..d.LDY #4..n.LD|
00000d30  41 20 62 79 74 65 0d 0a  78 0f 42 4e 45 20 62 6c  |A byte..x.BNE bl|
00000d40  6f 63 6b 65 64 0d 0a 82  0a 4c 44 41 20 23 34 0d  |ocked....LDA #4.|
00000d50  0a 8c 0d 53 54 41 20 79  6f 75 64 72 0d 0a 96 07  |...STA youdr....|
00000d60  52 54 53 0d 0a a0 0a 2e  73 63 72 75 70 0d 0a aa  |RTS.....scrup...|
00000d70  0e 4a 53 52 20 64 65 6c  73 63 72 0d 0a b4 07 43  |.JSR delscr....C|
00000d80  4c 43 0d 0a be 0e 4c 44  41 20 79 6f 75 6c 6f 63  |LC....LDA youloc|
00000d90  0d 0a c8 0c 41 44 43 20  23 26 38 30 0d 0a d2 0e  |....ADC #&80....|
00000da0  53 54 41 20 79 6f 75 6c  6f 63 0d 0a dc 10 4c 44  |STA youloc....LD|
00000db0  41 20 79 6f 75 6c 6f 63  2b 31 0d 0a e6 0c 41 44  |A youloc+1....AD|
00000dc0  43 20 23 26 32 35 0d 0a  f0 10 53 54 41 20 79 6f  |C #&25....STA yo|
00000dd0  75 6c 6f 63 2b 31 0d 0a  fa 0d 4c 44 41 20 79 6f  |uloc+1....LDA yo|
00000de0  75 78 79 0d 0b 04 0a 80  20 23 26 46 30 0d 0b 0e  |uxy..... #&F0...|
00000df0  0b 41 44 43 20 23 26 46  0d 0b 18 0d 53 54 41 20  |.ADC #&F....STA |
00000e00  79 6f 75 78 79 0d 0b 22  0f 4a 53 52 20 70 79 6f  |youxy..".JSR pyo|
00000e10  75 6d 75 31 0d 0b 2c 07  53 45 43 0d 0b 36 0e 4c  |umu1..,.SEC..6.L|
00000e20  44 41 20 6e 6c 72 70 74  72 0d 0b 40 0b 53 42 43  |DA nlrptr..@.SBC|
00000e30  20 23 34 38 0d 0b 4a 0e  53 54 41 20 6e 6c 72 70  | #48..J.STA nlrp|
00000e40  74 72 0d 0b 54 07 53 45  43 0d 0b 5e 0c 4c 44 41  |tr..T.SEC..^.LDA|
00000e50  20 72 6f 6f 6d 0d 0b 68  0a 53 42 43 20 23 38 0d  | room..h.SBC #8.|
00000e60  0b 72 0c 53 54 41 20 72  6f 6f 6d 0d 0b 7c 11 44  |.r.STA room..|.D|
00000e70  45 43 20 72 6f 6f 6d 6c  6f 63 2b 31 0d 0b 86 0e  |EC roomloc+1....|
00000e80  4a 53 52 20 73 63 72 65  65 6e 0d 0b 90 10 4a 53  |JSR screen....JS|
00000e90  52 20 67 65 74 64 6f 6f  72 73 0d 0b 9a 07 52 54  |R getdoors....RT|
00000ea0  53 0d 0b a4 0c 2e 73 63  72 64 6f 77 6e 0d 0b ae  |S.....scrdown...|
00000eb0  0e 4a 53 52 20 64 65 6c  73 63 72 0d 0b b8 07 53  |.JSR delscr....S|
00000ec0  45 43 0d 0b c2 0e 4c 44  41 20 79 6f 75 6c 6f 63  |EC....LDA youloc|
00000ed0  0d 0b cc 0c 53 42 43 20  23 26 38 30 0d 0b d6 0e  |....SBC #&80....|
00000ee0  53 54 41 20 79 6f 75 6c  6f 63 0d 0b e0 10 4c 44  |STA youloc....LD|
00000ef0  41 20 79 6f 75 6c 6f 63  2b 31 0d 0b ea 0c 53 42  |A youloc+1....SB|
00000f00  43 20 23 26 32 35 0d 0b  f4 10 53 54 41 20 79 6f  |C #&25....STA yo|
00000f10  75 6c 6f 63 2b 31 0d 0b  fe 0d 4c 44 41 20 79 6f  |uloc+1....LDA yo|
00000f20  75 78 79 0d 0c 08 0a 80  20 23 26 46 30 0d 0c 12  |uxy..... #&F0...|
00000f30  0d 53 54 41 20 79 6f 75  78 79 0d 0c 1c 0f 4a 53  |.STA youxy....JS|
00000f40  52 20 70 79 6f 75 6d 64  31 0d 0c 26 07 43 4c 43  |R pyoumd1..&.CLC|
00000f50  0d 0c 30 0e 4c 44 41 20  6e 6c 72 70 74 72 0d 0c  |..0.LDA nlrptr..|
00000f60  3a 0b 41 44 43 20 23 34  38 0d 0c 44 0e 53 54 41  |:.ADC #48..D.STA|
00000f70  20 6e 6c 72 70 74 72 0d  0c 4e 07 43 4c 43 0d 0c  | nlrptr..N.CLC..|
00000f80  58 0c 4c 44 41 20 72 6f  6f 6d 0d 0c 62 0a 41 44  |X.LDA room..b.AD|
00000f90  43 20 23 38 0d 0c 6c 0c  53 54 41 20 72 6f 6f 6d  |C #8..l.STA room|
00000fa0  0d 0c 76 11 49 4e 43 20  72 6f 6f 6d 6c 6f 63 2b  |..v.INC roomloc+|
00000fb0  31 0d 0c 80 0e 4a 53 52  20 73 63 72 65 65 6e 0d  |1....JSR screen.|
00000fc0  0c 8a 10 4a 53 52 20 67  65 74 64 6f 6f 72 73 0d  |...JSR getdoors.|
00000fd0  0c 94 07 52 54 53 0d 0c  9e 09 2e 6d 6f 76 65 0d  |...RTS.....move.|
00000fe0  0c a8 0d 4c 44 41 20 79  6f 75 64 72 0d 0c b2 0b  |...LDA youdr....|
00000ff0  42 4e 45 20 79 6d 76 0d  0c bc 07 52 54 53 0d 0c  |BNE ymv....RTS..|
00001000  c6 08 2e 79 6d 76 0d 0c  d0 0d 4c 44 41 20 79 6f  |...ymv....LDA yo|
00001010  75 64 72 0d 0c da 0a 43  4d 50 20 23 31 0d 0c e4  |udr....CMP #1...|
00001020  0d 42 45 51 20 64 6c 65  66 74 0d 0c ee 0a 43 4d  |.BEQ dleft....CM|
00001030  50 20 23 32 0d 0c f8 0e  42 45 51 20 64 72 69 67  |P #2....BEQ drig|
00001040  68 74 0d 0d 02 0a 43 4d  50 20 23 33 0d 0d 0c 0b  |ht....CMP #3....|
00001050  42 45 51 20 64 75 70 0d  0d 16 0a 43 4d 50 20 23  |BEQ dup....CMP #|
00001060  34 0d 0d 20 0d 42 45 51  20 64 64 6f 77 6e 0d 0d  |4.. .BEQ ddown..|
00001070  2a 07 52 54 53 0d 0d 34  0a 2e 64 6c 65 66 74 0d  |*.RTS..4..dleft.|
00001080  0d 3e 0e 4a 53 52 64 65  6c 65 74 65 6d 0d 0d 48  |.>.JSRdeletem..H|
00001090  07 53 45 43 0d 0d 52 0e  4c 44 41 20 79 6f 75 6c  |.SEC..R.LDA youl|
000010a0  6f 63 0d 0d 5c 0a 53 42  43 20 23 38 0d 0d 66 0e  |oc..\.SBC #8..f.|
000010b0  53 54 41 20 79 6f 75 6c  6f 63 0d 0d 70 10 4c 44  |STA youloc..p.LD|
000010c0  41 20 79 6f 75 6c 6f 63  2b 31 0d 0d 7a 0a 53 42  |A youloc+1..z.SB|
000010d0  43 20 23 30 0d 0d 84 10  53 54 41 20 79 6f 75 6c  |C #0....STA youl|
000010e0  6f 63 2b 31 0d 0d 8e 0c  4a 53 52 20 6d 75 73 68  |oc+1....JSR mush|
000010f0  0d 0d 98 0d 4c 44 41 20  73 74 61 74 65 0d 0d a2  |....LDA state...|
00001100  08 80 20 23 31 0d 0d ac  0a 42 45 51 20 6c 31 0d  |.. #1....BEQ l1.|
00001110  0d b6 0f 4a 53 52 20 70  79 6f 75 6d 6c 32 0d 0d  |...JSR pyouml2..|
00001120  c0 07 52 54 53 0d 0d ca  07 2e 6c 31 0d 0d d4 0f  |..RTS.....l1....|
00001130  4a 53 52 20 70 79 6f 75  6d 6c 31 0d 0d de 07 52  |JSR pyouml1....R|
00001140  54 53 0d 0d e8 0b 2e 64  72 69 67 68 74 0d 0d f2  |TS.....dright...|
00001150  0f 4a 53 52 20 64 65 6c  65 74 65 6d 0d 0d fc 07  |.JSR deletem....|
00001160  43 4c 43 0d 0e 06 0e 4c  44 41 20 79 6f 75 6c 6f  |CLC....LDA youlo|
00001170  63 0d 0e 10 0a 41 44 43  20 23 38 0d 0e 1a 0e 53  |c....ADC #8....S|
00001180  54 41 20 79 6f 75 6c 6f  63 0d 0e 24 10 4c 44 41  |TA youloc..$.LDA|
00001190  20 79 6f 75 6c 6f 63 2b  31 0d 0e 2e 0a 41 44 43  | youloc+1....ADC|
000011a0  20 23 30 0d 0e 38 10 53  54 41 20 79 6f 75 6c 6f  | #0..8.STA youlo|
000011b0  63 2b 31 0d 0e 42 0c 4a  53 52 20 6d 75 73 68 0d  |c+1..B.JSR mush.|
000011c0  0e 4c 0d 4c 44 41 20 73  74 61 74 65 0d 0e 56 08  |.L.LDA state..V.|
000011d0  80 20 23 31 0d 0e 60 0a  42 45 51 20 72 31 0d 0e  |. #1..`.BEQ r1..|
000011e0  6a 0f 4a 53 52 20 70 79  6f 75 6d 72 32 0d 0e 74  |j.JSR pyoumr2..t|
000011f0  07 52 54 53 0d 0e 7e 07  2e 72 31 0d 0e 88 0f 4a  |.RTS..~..r1....J|
00001200  53 52 20 70 79 6f 75 6d  72 31 0d 0e 92 07 52 54  |SR pyoumr1....RT|
00001210  53 0d 0e 9c 08 2e 64 75  70 0d 0e a6 0f 4a 53 52  |S.....dup....JSR|
00001220  20 64 65 6c 65 74 65 6d  0d 0e b0 07 53 45 43 0d  | deletem....SEC.|
00001230  0e ba 0e 4c 44 41 20 79  6f 75 6c 6f 63 0d 0e c4  |...LDA youloc...|
00001240  0c 53 42 43 20 23 26 34  30 0d 0e ce 0e 53 54 41  |.SBC #&40....STA|
00001250  20 79 6f 75 6c 6f 63 0d  0e d8 10 4c 44 41 20 79  | youloc....LDA y|
00001260  6f 75 6c 6f 63 2b 31 0d  0e e2 0a 53 42 43 20 23  |ouloc+1....SBC #|
00001270  31 0d 0e ec 10 53 54 41  20 79 6f 75 6c 6f 63 2b  |1....STA youloc+|
00001280  31 0d 0e f6 0c 4a 53 52  20 6d 75 73 68 0d 0f 00  |1....JSR mush...|
00001290  0d 4c 44 41 20 73 74 61  74 65 0d 0f 0a 08 80 20  |.LDA state..... |
000012a0  23 31 0d 0f 14 0a 42 45  51 20 75 31 0d 0f 1e 0f  |#1....BEQ u1....|
000012b0  4a 53 52 20 70 79 6f 75  6d 75 31 0d 0f 28 0a 4a  |JSR pyoumu1..(.J|
000012c0  4d 50 20 64 75 0d 0f 32  07 2e 75 31 0d 0f 3c 0f  |MP du..2..u1..<.|
000012d0  4a 53 52 20 70 79 6f 75  6d 75 32 0d 0f 46 07 2e  |JSR pyoumu2..F..|
000012e0  64 75 0d 0f 50 0d 49 4e  43 20 73 74 61 74 65 0d  |du..P.INC state.|
000012f0  0f 5a 07 52 54 53 0d 0f  64 0a 2e 64 64 6f 77 6e  |.Z.RTS..d..ddown|
00001300  0d 0f 6e 0f 4a 53 52 20  64 65 6c 65 74 65 6d 0d  |..n.JSR deletem.|
00001310  0f 78 07 43 4c 43 0d 0f  82 0e 4c 44 41 20 79 6f  |.x.CLC....LDA yo|
00001320  75 6c 6f 63 0d 0f 8c 0c  41 44 43 20 23 26 34 30  |uloc....ADC #&40|
00001330  0d 0f 96 0e 53 54 41 20  79 6f 75 6c 6f 63 0d 0f  |....STA youloc..|
00001340  a0 10 4c 44 41 20 79 6f  75 6c 6f 63 2b 31 0d 0f  |..LDA youloc+1..|
00001350  aa 0a 41 44 43 20 23 31  0d 0f b4 10 53 54 41 20  |..ADC #1....STA |
00001360  79 6f 75 6c 6f 63 2b 31  0d 0f be 0c 4a 53 52 20  |youloc+1....JSR |
00001370  6d 75 73 68 0d 0f c8 0d  4c 44 41 20 73 74 61 74  |mush....LDA stat|
00001380  65 0d 0f d2 08 80 20 23  31 0d 0f dc 0a 42 45 51  |e..... #1....BEQ|
00001390  20 64 31 0d 0f e6 0f 4a  53 52 20 70 79 6f 75 6d  | d1....JSR pyoum|
000013a0  64 31 0d 0f f0 0a 4a 4d  50 20 64 64 0d 0f fa 07  |d1....JMP dd....|
000013b0  2e 64 31 0d 10 04 0f 4a  53 52 20 70 79 6f 75 6d  |.d1....JSR pyoum|
000013c0  64 32 0d 10 0e 07 2e 64  64 0d 10 18 0d 49 4e 43  |d2.....dd....INC|
000013d0  20 73 74 61 74 65 0d 10  22 07 52 54 53 0d 10 2c  | state..".RTS..,|
000013e0  0b 2e 75 70 64 61 74 65  0d 10 36 0d 4c 44 41 20  |..update..6.LDA |
000013f0  79 6f 75 64 72 0d 10 40  0b 42 4e 45 20 64 75 64  |youdr..@.BNE dud|
00001400  0d 10 4a 07 52 54 53 0d  10 54 08 2e 64 75 64 0d  |..J.RTS..T..dud.|
00001410  10 5e 0d 49 4e 43 20 73  74 61 74 65 0d 10 68 0d  |.^.INC state..h.|
00001420  4c 44 41 20 79 6f 75 64  72 0d 10 72 0a 43 4d 50  |LDA youdr..r.CMP|
00001430  20 23 31 0d 10 7c 0b 42  4e 45 20 6e 64 72 0d 10  | #1..|.BNE ndr..|
00001440  86 07 53 45 43 0d 10 90  0d 4c 44 41 20 79 6f 75  |..SEC....LDA you|
00001450  78 79 0d 10 9a 0c 53 42  43 20 23 26 31 30 0d 10  |xy....SBC #&10..|
00001460  a4 0d 53 54 41 20 79 6f  75 78 79 0d 10 ae 07 52  |..STA youxy....R|
00001470  54 53 0d 10 b8 08 2e 6e  64 72 0d 10 c2 0d 4c 44  |TS.....ndr....LD|
00001480  41 20 79 6f 75 64 72 0d  10 cc 0a 43 4d 50 20 23  |A youdr....CMP #|
00001490  32 0d 10 d6 0c 42 4e 45  20 6e 64 72 31 0d 10 e0  |2....BNE ndr1...|
000014a0  07 43 4c 43 0d 10 ea 0d  4c 44 41 20 79 6f 75 78  |.CLC....LDA youx|
000014b0  79 0d 10 f4 0c 41 44 43  20 23 26 31 30 0d 10 fe  |y....ADC #&10...|
000014c0  0d 53 54 41 20 79 6f 75  78 79 0d 11 08 07 52 54  |.STA youxy....RT|
000014d0  53 0d 11 12 09 2e 6e 64  72 31 0d 11 1c 0d 4c 44  |S.....ndr1....LD|
000014e0  41 20 79 6f 75 64 72 0d  11 26 0a 43 4d 50 20 23  |A youdr..&.CMP #|
000014f0  33 0d 11 30 0c 42 4e 45  20 6e 64 72 32 0d 11 3a  |3..0.BNE ndr2..:|
00001500  0d 44 45 43 20 79 6f 75  78 79 0d 11 44 07 52 54  |.DEC youxy..D.RT|
00001510  53 0d 11 4e 09 2e 6e 64  72 32 0d 11 58 0d 49 4e  |S..N..ndr2..X.IN|
00001520  43 20 79 6f 75 78 79 0d  11 62 07 52 54 53 0d 11  |C youxy..b.RTS..|
00001530  6c 0c 2e 64 65 6c 65 74  65 6d 0d 11 76 0e 4c 44  |l..deletem..v.LD|
00001540  41 20 79 6f 75 6c 6f 63  0d 11 80 0b 53 54 41 20  |A youloc....STA |
00001550  6c 6f 63 0d 11 8a 10 4c  44 41 20 79 6f 75 6c 6f  |loc....LDA youlo|
00001560  63 2b 31 0d 11 94 0d 53  54 41 20 6c 6f 63 2b 31  |c+1....STA loc+1|
00001570  0d 11 9e 0d 4c 44 41 20  79 6f 75 63 68 0d 11 a8  |....LDA youch...|
00001580  0c 53 54 41 20 63 68 61  72 0d 11 b2 0c 4c 44 41  |.STA char....LDA|
00001590  20 23 26 35 30 0d 11 bc  0e 53 54 41 20 63 68 61  | #&50....STA cha|
000015a0  72 2b 31 0d 11 c6 0e 4a  4d 50 20 73 70 72 69 74  |r+1....JMP sprit|
000015b0  65 0d 11 d0 0b 2e 64 65  6c 73 63 72 0d 11 da 0b  |e.....delscr....|
000015c0  4c 44 41 20 23 31 32 0d  11 e4 0d 4a 4d 50 20 26  |LDA #12....JMP &|
000015d0  46 46 45 45 0d 11 ee 0d  2e 67 65 74 64 6f 6f 72  |FFEE.....getdoor|
000015e0  73 0d 11 f8 0a 4c 44 58  20 23 35 0d 12 02 0a 2e  |s....LDX #5.....|
000015f0  6c 6f 6f 70 52 0d 12 0c  0c 4c 44 41 20 72 6f 6f  |loopR....LDA roo|
00001600  6d 0d 12 16 10 43 4d 50  20 64 6f 6f 72 72 6d 2c  |m....CMP doorrm,|
00001610  58 0d 12 20 10 42 45 51  20 65 78 69 74 6c 6f 6f  |X.. .BEQ exitloo|
00001620  70 0d 12 2a 07 44 45 58  0d 12 34 0c 43 50 58 20  |p..*.DEX..4.CPX |
00001630  23 26 46 46 0d 12 3e 0d  42 4e 45 20 6c 6f 6f 70  |#&FF..>.BNE loop|
00001640  52 0d 12 48 0d 2e 65 78  69 74 6c 6f 6f 70 0d 12  |R..H..exitloop..|
00001650  52 0f 53 54 58 20 64 6f  6f 72 70 74 72 0d 12 5c  |R.STX doorptr..\|
00001660  0c 43 50 58 20 23 26 46  46 0d 12 66 0f 42 4e 45  |.CPX #&FF..f.BNE|
00001670  20 70 72 65 73 65 6e 74  0d 12 70 12 4a 4d 50 20  | present..p.JMP |
00001680  67 65 74 6f 62 6a 65 63  74 73 0d 12 7a 0c 2e 70  |getobjects..z..p|
00001690  72 65 73 65 6e 74 0d 12  84 0f 4c 44 58 20 64 6f  |resent....LDX do|
000016a0  6f 72 70 74 72 0d 12 8e  11 4c 44 41 20 64 6f 6f  |orptr....LDA doo|
000016b0  72 63 6f 6c 2c 58 0d 12  98 0c 53 54 41 20 63 68  |rcol,X....STA ch|
000016c0  61 72 0d 12 a2 0c 4c 44  41 20 23 26 34 45 0d 12  |ar....LDA #&4E..|
000016d0  ac 0e 53 54 41 20 63 68  61 72 2b 31 0d 12 b6 07  |..STA char+1....|
000016e0  54 58 41 0d 12 c0 09 41  53 4c 20 41 0d 12 ca 07  |TXA....ASL A....|
000016f0  54 41 58 0d 12 d4 11 4c  44 41 20 64 6f 6f 72 6c  |TAX....LDA doorl|
00001700  6f 63 2c 58 0d 12 de 0b  53 54 41 20 6c 6f 63 0d  |oc,X....STA loc.|
00001710  12 e8 13 4c 44 41 20 64  6f 6f 72 6c 6f 63 2b 31  |...LDA doorloc+1|
00001720  2c 58 0d 12 f2 0d 53 54  41 20 6c 6f 63 2b 31 0d  |,X....STA loc+1.|
00001730  12 fc 0e 4a 53 52 20 73  70 72 69 74 65 0d 13 06  |...JSR sprite...|
00001740  0f 2e 67 65 74 6f 62 6a  65 63 74 73 0d 13 10 0e  |..getobjects....|
00001750  4c 44 58 20 6e 6f 6f 66  6f 62 0d 13 1a 0a 2e 6c  |LDX noofob.....l|
00001760  6f 6f 70 50 0d 13 24 0c  4c 44 41 20 72 6f 6f 6d  |oopP..$.LDA room|
00001770  0d 13 2e 10 43 4d 50 20  6f 62 72 6f 6f 6d 2c 58  |....CMP obroom,X|
00001780  0d 13 38 0f 42 45 51 20  6f 75 74 6c 6f 6f 70 0d  |..8.BEQ outloop.|
00001790  13 42 07 44 45 58 0d 13  4c 0c 43 50 58 20 23 26  |.B.DEX..L.CPX #&|
000017a0  46 46 0d 13 56 0d 42 4e  45 20 6c 6f 6f 70 50 0d  |FF..V.BNE loopP.|
000017b0  13 60 0c 2e 6f 75 74 6c  6f 6f 70 0d 13 6a 0d 53  |.`..outloop..j.S|
000017c0  54 58 20 6f 62 70 74 72  0d 13 74 0c 43 50 58 20  |TX obptr..t.CPX |
000017d0  23 26 46 46 0d 13 7e 0c  42 4e 45 20 68 65 72 65  |#&FF..~.BNE here|
000017e0  0d 13 88 16 4a 4d 50 20  67 65 74 69 6e 63 69 64  |....JMP getincid|
000017f0  65 6e 74 61 6c 73 0d 13  92 09 2e 68 65 72 65 0d  |entals.....here.|
00001800  13 9c 0d 4c 44 41 20 6f  62 70 74 72 0d 13 a6 09  |...LDA obptr....|
00001810  41 53 4c 20 41 0d 13 b0  07 54 41 58 0d 13 ba 0f  |ASL A....TAX....|
00001820  4c 44 41 20 6f 62 6c 6f  63 2c 58 0d 13 c4 0b 53  |LDA obloc,X....S|
00001830  54 41 20 6c 6f 63 0d 13  ce 11 4c 44 41 20 6f 62  |TA loc....LDA ob|
00001840  6c 6f 63 2b 31 2c 58 0d  13 d8 0d 53 54 41 20 6c  |loc+1,X....STA l|
00001850  6f 63 2b 31 0d 13 e2 0f  4c 44 41 20 6f 62 63 6f  |oc+1....LDA obco|
00001860  6c 2c 58 0d 13 ec 0c 53  54 41 20 63 68 61 72 0d  |l,X....STA char.|
00001870  13 f6 11 4c 44 41 20 6f  62 63 6f 6c 2b 31 2c 58  |...LDA obcol+1,X|
00001880  0d 14 00 0e 53 54 41 20  63 68 61 72 2b 31 0d 14  |....STA char+1..|
00001890  0a 0e 4a 53 52 20 73 70  72 69 74 65 0d 14 14 0d  |..JSR sprite....|
000018a0  4c 44 58 20 6f 62 70 74  72 0d 14 1e 07 44 45 58  |LDX obptr....DEX|
000018b0  0d 14 28 0c 43 50 58 20  23 26 46 46 0d 14 32 0d  |..(.CPX #&FF..2.|
000018c0  42 4e 45 20 6c 6f 6f 70  50 0d 14 3c 07 52 54 53  |BNE loopP..<.RTS|
000018d0  0d 14 46 13 2e 67 65 74  69 6e 63 69 64 65 6e 74  |..F..getincident|
000018e0  61 6c 73 0d 14 50 0e 4c  44 58 20 6e 6f 6f 66 69  |als..P.LDX noofi|
000018f0  6e 0d 14 5a 0a 2e 6c 6f  6f 70 45 0d 14 64 0c 4c  |n..Z..loopE..d.L|
00001900  44 41 20 72 6f 6f 6d 0d  14 6e 10 43 4d 50 20 69  |DA room..n.CMP i|
00001910  6e 72 6f 6f 6d 2c 58 0d  14 78 11 42 45 51 20 69  |nroom,X..x.BEQ i|
00001920  6e 6c 6f 6f 70 66 69 6e  0d 14 82 07 44 45 58 0d  |nloopfin....DEX.|
00001930  14 8c 0c 43 50 58 20 23  26 46 46 0d 14 96 0d 42  |...CPX #&FF....B|
00001940  4e 45 20 6c 6f 6f 70 45  0d 14 a0 0e 2e 69 6e 6c  |NE loopE.....inl|
00001950  6f 6f 70 66 69 6e 0d 14  aa 0d 53 54 58 20 69 6e  |oopfin....STX in|
00001960  70 74 72 0d 14 b4 0c 43  50 58 20 23 26 46 46 0d  |ptr....CPX #&FF.|
00001970  14 be 0b 42 4e 45 20 69  63 69 0d 14 c8 07 52 54  |...BNE ici....RT|
00001980  53 0d 14 d2 08 2e 69 63  69 0d 14 dc 0d 4c 44 41  |S.....ici....LDA|
00001990  20 69 6e 70 74 72 0d 14  e6 09 41 53 4c 20 41 0d  | inptr....ASL A.|
000019a0  14 f0 07 54 41 58 0d 14  fa 0f 4c 44 41 20 69 6e  |...TAX....LDA in|
000019b0  6c 6f 63 2c 58 0d 15 04  0b 53 54 41 20 6c 6f 63  |loc,X....STA loc|
000019c0  0d 15 0e 11 4c 44 41 20  69 6e 6c 6f 63 2b 31 2c  |....LDA inloc+1,|
000019d0  58 0d 15 18 0d 53 54 41  20 6c 6f 63 2b 31 0d 15  |X....STA loc+1..|
000019e0  22 0f 4c 44 41 20 69 6e  63 6f 6c 2c 58 0d 15 2c  |".LDA incol,X..,|
000019f0  0c 53 54 41 20 63 68 61  72 0d 15 36 11 4c 44 41  |.STA char..6.LDA|
00001a00  20 69 6e 63 6f 6c 2b 31  2c 58 0d 15 40 0e 53 54  | incol+1,X..@.ST|
00001a10  41 20 63 68 61 72 2b 31  0d 15 4a 0e 4a 53 52 20  |A char+1..J.JSR |
00001a20  73 70 72 69 74 65 0d 15  54 0d 4c 44 58 20 69 6e  |sprite..T.LDX in|
00001a30  70 74 72 0d 15 5e 07 44  45 58 0d 15 68 0c 43 50  |ptr..^.DEX..h.CP|
00001a40  58 20 23 26 46 46 0d 15  72 0d 42 4e 45 20 6c 6f  |X #&FF..r.BNE lo|
00001a50  6f 70 45 0d 15 7c 07 52  54 53 0d 15 86 09 2e 70  |opE..|.RTS.....p|
00001a60  65 72 34 0d 15 90 0d 4c  44 41 20 79 6f 75 78 79  |er4....LDA youxy|
00001a70  0d 15 9a 0c 43 4d 50 20  23 26 41 31 0d 15 a4 0c  |....CMP #&A1....|
00001a80  42 4e 45 20 70 65 72 38  0d 15 ae 0a 4c 44 41 20  |BNE per8....LDA |
00001a90  23 32 0d 15 b8 0d 53 54  41 20 79 6f 75 64 72 0d  |#2....STA youdr.|
00001aa0  15 c2 0c 4a 53 52 20 6d  6f 76 65 0d 15 cc 0c 4a  |...JSR move....J|
00001ab0  53 52 20 6d 6f 76 65 0d  15 d6 0e 4a 53 52 20 75  |SR move....JSR u|
00001ac0  70 64 61 74 65 0d 15 e0  09 2e 70 65 72 38 0d 15  |pdate.....per8..|
00001ad0  ea 0c 4c 44 41 20 72 6e  78 79 0d 15 f4 0c 43 4d  |..LDA rnxy....CM|
00001ae0  50 20 23 26 41 31 0d 15  fe 0d 42 4e 45 20 6e 6f  |P #&A1....BNE no|
00001af0  70 74 72 0d 16 08 0a 4c  44 41 20 23 32 0d 16 12  |ptr....LDA #2...|
00001b00  0c 53 54 41 20 72 6e 64  72 0d 16 1c 0e 4a 53 52  |.STA rndr....JSR|
00001b10  20 6d 6f 76 65 72 6e 0d  16 26 0e 4a 53 52 20 6d  | movern..&.JSR m|
00001b20  6f 76 65 72 6e 0d 16 30  0c 49 4e 43 20 73 74 6f  |overn..0.INC sto|
00001b30  70 0d 16 3a 0e 4a 53 52  20 6e 72 6e 75 70 64 0d  |p..:.JSR nrnupd.|
00001b40  16 44 07 52 54 53 0d 16  4e 09 2e 70 65 72 33 0d  |.D.RTS..N..per3.|
00001b50  16 58 0d 4c 44 41 20 79  6f 75 78 79 0d 16 62 0c  |.X.LDA youxy..b.|
00001b60  43 4d 50 20 23 26 36 38  0d 16 6c 0c 42 4e 45 20  |CMP #&68..l.BNE |
00001b70  70 65 72 37 0d 16 76 0a  4c 44 41 20 23 31 0d 16  |per7..v.LDA #1..|
00001b80  80 0d 53 54 41 20 79 6f  75 64 72 0d 16 8a 0c 4a  |..STA youdr....J|
00001b90  53 52 20 6d 6f 76 65 0d  16 94 0c 4a 53 52 20 6d  |SR move....JSR m|
00001ba0  6f 76 65 0d 16 9e 0e 4a  53 52 20 75 70 64 61 74  |ove....JSR updat|
00001bb0  65 0d 16 a8 09 2e 70 65  72 37 0d 16 b2 0c 4c 44  |e.....per7....LD|
00001bc0  41 20 72 6e 78 79 0d 16  bc 0c 43 4d 50 20 23 26  |A rnxy....CMP #&|
00001bd0  36 38 0d 16 c6 0d 42 4e  45 20 6e 6f 70 74 72 0d  |68....BNE noptr.|
00001be0  16 d0 0a 4c 44 41 20 23  31 0d 16 da 0c 53 54 41  |...LDA #1....STA|
00001bf0  20 72 6e 64 72 0d 16 e4  0e 4a 53 52 20 6d 6f 76  | rndr....JSR mov|
00001c00  65 72 6e 0d 16 ee 0e 4a  53 52 20 6d 6f 76 65 72  |ern....JSR mover|
00001c10  6e 0d 16 f8 0c 49 4e 43  20 73 74 6f 70 0d 17 02  |n....INC stop...|
00001c20  0e 4a 53 52 20 6e 72 6e  75 70 64 0d 17 0c 07 52  |.JSR nrnupd....R|
00001c30  54 53 0d 17 16 0d 2e 64  69 72 70 6f 69 6e 74 0d  |TS.....dirpoint.|
00001c40  17 20 0b 4c 44 59 20 23  32 34 0d 17 2a 10 4c 44  |. .LDY #24..*.LD|
00001c50  41 20 6f 62 72 6f 6f 6d  2c 59 0d 17 34 0d 42 4e  |A obroom,Y..4.BN|
00001c60  45 20 6e 6f 6a 65 77 0d  17 3e 0a 2e 6e 6f 70 74  |E nojew..>..nopt|
00001c70  72 0d 17 48 07 52 54 53  0d 17 52 0a 2e 6e 6f 6a  |r..H.RTS..R..noj|
00001c80  65 77 0d 17 5c 0c 4c 44  41 20 72 6f 6f 6d 0d 17  |ew..\.LDA room..|
00001c90  66 0b 43 4d 50 20 23 32  30 0d 17 70 0c 42 45 51  |f.CMP #20..p.BEQ|
00001ca0  20 70 65 72 31 0d 17 7a  0b 43 4d 50 20 23 32 31  | per1..z.CMP #21|
00001cb0  0d 17 84 0c 42 45 51 20  70 65 72 32 0d 17 8e 0b  |....BEQ per2....|
00001cc0  43 4d 50 20 23 32 39 0d  17 98 0c 42 45 51 20 70  |CMP #29....BEQ p|
00001cd0  65 72 33 0d 17 a2 0b 43  4d 50 20 23 31 35 0d 17  |er3....CMP #15..|
00001ce0  ac 0c 42 45 51 20 70 65  72 34 0d 17 b6 07 52 54  |..BEQ per4....RT|
00001cf0  53 0d 17 c0 09 2e 70 65  72 31 0d 17 ca 0d 4c 44  |S.....per1....LD|
00001d00  41 20 79 6f 75 78 79 0d  17 d4 0c 43 4d 50 20 23  |A youxy....CMP #|
00001d10  26 38 39 0d 17 de 0c 42  4e 45 20 70 65 72 35 0d  |&89....BNE per5.|
00001d20  17 e8 0a 4c 44 41 20 23  32 0d 17 f2 0d 53 54 41  |...LDA #2....STA|
00001d30  20 79 6f 75 64 72 0d 17  fc 0c 4a 53 52 20 6d 6f  | youdr....JSR mo|
00001d40  76 65 0d 18 06 0c 4a 53  52 20 6d 6f 76 65 0d 18  |ve....JSR move..|
00001d50  10 0e 4a 53 52 20 75 70  64 61 74 65 0d 18 1a 09  |..JSR update....|
00001d60  2e 70 65 72 35 0d 18 24  0c 4c 44 41 20 72 6e 78  |.per5..$.LDA rnx|
00001d70  79 0d 18 2e 0c 43 4d 50  20 23 26 38 39 0d 18 38  |y....CMP #&89..8|
00001d80  0d 42 4e 45 20 6e 6f 70  74 72 0d 18 42 0a 4c 44  |.BNE noptr..B.LD|
00001d90  41 20 23 32 0d 18 4c 0c  53 54 41 20 72 6e 64 72  |A #2..L.STA rndr|
00001da0  0d 18 56 0e 4a 53 52 20  6d 6f 76 65 72 6e 0d 18  |..V.JSR movern..|
00001db0  60 0e 4a 53 52 20 6d 6f  76 65 72 6e 0d 18 6a 0c  |`.JSR movern..j.|
00001dc0  49 4e 43 20 73 74 6f 70  0d 18 74 0e 4a 53 52 20  |INC stop..t.JSR |
00001dd0  6e 72 6e 75 70 64 0d 18  7e 07 52 54 53 0d 18 88  |nrnupd..~.RTS...|
00001de0  09 2e 70 65 72 32 0d 18  92 0d 4c 44 41 20 79 6f  |..per2....LDA yo|
00001df0  75 78 79 0d 18 9c 0c 43  4d 50 20 23 26 36 39 0d  |uxy....CMP #&69.|
00001e00  18 a6 0c 42 4e 45 20 70  65 72 36 0d 18 b0 0a 4c  |...BNE per6....L|
00001e10  44 41 20 23 34 0d 18 ba  0d 53 54 41 20 79 6f 75  |DA #4....STA you|
00001e20  64 72 0d 18 c4 0c 4a 53  52 20 6d 6f 76 65 0d 18  |dr....JSR move..|
00001e30  ce 0c 4a 53 52 20 6d 6f  76 65 0d 18 d8 0e 4a 53  |..JSR move....JS|
00001e40  52 20 75 70 64 61 74 65  0d 18 e2 09 2e 70 65 72  |R update.....per|
00001e50  36 0d 18 ec 0c 4c 44 41  20 72 6e 78 79 0d 18 f6  |6....LDA rnxy...|
00001e60  0c 43 4d 50 20 23 26 36  39 0d 19 00 0d 42 4e 45  |.CMP #&69....BNE|
00001e70  20 6e 6f 70 74 72 0d 19  0a 0a 4c 44 41 20 23 34  | noptr....LDA #4|
00001e80  0d 19 14 0c 53 54 41 20  72 6e 64 72 0d 19 1e 0e  |....STA rndr....|
00001e90  4a 53 52 20 6d 6f 76 65  72 6e 0d 19 28 0e 4a 53  |JSR movern..(.JS|
00001ea0  52 20 6d 6f 76 65 72 6e  0d 19 32 0c 49 4e 43 20  |R movern..2.INC |
00001eb0  73 74 6f 70 0d 19 3c 0e  4a 53 52 20 6e 72 6e 75  |stop..<.JSR nrnu|
00001ec0  70 64 0d 19 46 07 52 54  53 0d 19 50 09 2e 6d 75  |pd..F.RTS..P..mu|
00001ed0  73 68 0d 19 5a 0e 4c 44  41 20 79 6f 75 6c 6f 63  |sh..Z.LDA youloc|
00001ee0  0d 19 64 07 50 48 41 0d  19 6e 10 4c 44 41 20 79  |..d.PHA..n.LDA y|
00001ef0  6f 75 6c 6f 63 2b 31 0d  19 78 07 50 48 41 0d 19  |ouloc+1..x.PHA..|
00001f00  82 07 43 4c 43 0d 19 8c  0e 4c 44 41 20 79 6f 75  |..CLC....LDA you|
00001f10  6c 6f 63 0d 19 96 0c 41  44 43 20 23 26 34 30 0d  |loc....ADC #&40.|
00001f20  19 a0 0e 53 54 41 20 79  6f 75 6c 6f 63 0d 19 aa  |...STA youloc...|
00001f30  10 4c 44 41 20 79 6f 75  6c 6f 63 2b 31 0d 19 b4  |.LDA youloc+1...|
00001f40  0a 41 44 43 20 23 31 0d  19 be 10 53 54 41 20 79  |.ADC #1....STA y|
00001f50  6f 75 6c 6f 63 2b 31 0d  19 c8 0a 4c 44 59 20 23  |ouloc+1....LDY #|
00001f60  36 0d 19 d2 12 4c 44 41  20 28 79 6f 75 6c 6f 63  |6....LDA (youloc|
00001f70  29 2c 59 0d 19 dc 0c 43  4d 50 20 23 26 36 32 0d  |),Y....CMP #&62.|
00001f80  19 e6 0b 42 4e 45 20 6e  6f 6d 0d 19 f0 0c 4c 44  |...BNE nom....LD|
00001f90  41 20 23 26 46 46 0d 19  fa 10 53 54 41 20 6d 75  |A #&FF....STA mu|
00001fa0  73 68 72 6f 6f 6d 0d 1a  04 0a 4a 4d 50 20 65 6e  |shroom....JMP en|
00001fb0  0d 1a 0e 08 2e 6e 6f 6d  0d 1a 18 0a 4c 44 41 20  |.....nom....LDA |
00001fc0  23 30 0d 1a 22 10 53 54  41 20 6d 75 73 68 72 6f  |#0..".STA mushro|
00001fd0  6f 6d 0d 1a 2c 07 2e 65  6e 0d 1a 36 07 50 4c 41  |om..,..en..6.PLA|
00001fe0  0d 1a 40 10 53 54 41 20  79 6f 75 6c 6f 63 2b 31  |..@.STA youloc+1|
00001ff0  0d 1a 4a 07 50 4c 41 0d  1a 54 0e 53 54 41 20 79  |..J.PLA..T.STA y|
00002000  6f 75 6c 6f 63 0d 1a 5e  07 52 54 53 0d 1a 68 0d  |ouloc..^.RTS..h.|
00002010  2e 6d 61 73 6b 20 4e 4f  50 0d 1a 72 0e 2e 79 6f  |.mask NOP..r..yo|
00002020  75 63 68 20 4e 4f 50 0d  1a 7c 0e 2e 73 74 61 74  |uch NOP..|..stat|
00002030  65 20 4e 4f 50 0d 1a 86  0e 2e 6f 62 70 74 72 20  |e NOP.....obptr |
00002040  4e 4f 50 0d 1a 90 0e 2e  69 6e 70 74 72 20 4e 4f  |NOP.....inptr NO|
00002050  50 0d 1a 9a 11 2e 6d 75  73 68 72 6f 6f 6d 20 4e  |P.....mushroom N|
00002060  4f 50 0d 1a a4 0b 2e 6e  6f 6f 66 6f 62 0d 1a ae  |OP.....noofob...|
00002070  12 4f 50 54 20 a4 65 71  75 62 28 26 31 43 29 0d  |.OPT .equb(&1C).|
00002080  1a b8 09 2e 6f 62 78 79  0d 1a c2 18 4f 50 54 20  |....obxy....OPT |
00002090  a4 65 71 75 64 28 26 36  43 39 36 33 43 38 35 29  |.equd(&6C963C85)|
000020a0  0d 1a cc 18 4f 50 54 20  a4 65 71 75 64 28 26 41  |....OPT .equd(&A|
000020b0  45 31 38 41 45 38 39 29  0d 1a d6 18 4f 50 54 20  |E18AE89)....OPT |
000020c0  a4 65 71 75 64 28 26 43  32 43 33 36 35 32 31 29  |.equd(&C2C36521)|
000020d0  0d 1a e0 18 4f 50 54 20  a4 65 71 75 64 28 26 35  |....OPT .equd(&5|
000020e0  35 37 39 36 44 37 31 29  0d 1a ea 18 4f 50 54 20  |5796D71)....OPT |
000020f0  a4 65 71 75 64 28 26 37  41 36 43 38 39 32 38 29  |.equd(&7A6C8928)|
00002100  0d 1a f4 18 4f 50 54 20  a4 65 71 75 64 28 26 42  |....OPT .equd(&B|
00002110  42 43 33 42 45 32 45 29  0d 1a fe 18 4f 50 54 20  |BC3BE2E)....OPT |
00002120  a4 65 71 75 64 28 26 30  30 31 34 37 39 35 37 29  |.equd(&00147957)|
00002130  0d 1b 08 12 4f 50 54 20  a4 65 71 75 62 28 26 44  |....OPT .equb(&D|
00002140  43 29 0d 1b 12 0a 2e 6f  62 6c 6f 63 0d 1b 1c 18  |C).....obloc....|
00002150  4f 50 54 20 a4 65 71 75  64 28 26 37 36 33 30 36  |OPT .equd(&76306|
00002160  35 30 30 29 0d 1b 26 18  4f 50 54 20 a4 65 71 75  |500)..&.OPT .equ|
00002170  64 28 26 37 36 36 30 36  37 39 30 29 0d 1b 30 18  |d(&76606790)..0.|
00002180  4f 50 54 20 a4 65 71 75  64 28 26 37 42 41 30 36  |OPT .equd(&7BA06|
00002190  46 30 30 29 0d 1b 3a 18  4f 50 54 20 a4 65 71 75  |F00)..:.OPT .equ|
000021a0  64 28 26 37 42 41 30 36  43 31 30 29 0d 1b 44 18  |d(&7BA06C10)..D.|
000021b0  4f 50 54 20 a4 65 71 75  64 28 26 36 34 45 30 35  |OPT .equd(&64E05|
000021c0  41 41 30 29 0d 1b 4e 18  4f 50 54 20 a4 65 71 75  |AA0)..N.OPT .equ|
000021d0  64 28 26 35 44 43 30 36  30 34 30 29 0d 1b 58 18  |d(&5DC06040)..X.|
000021e0  4f 50 54 20 a4 65 71 75  64 28 26 37 38 45 30 35  |OPT .equd(&78E05|
000021f0  41 46 30 29 0d 1b 62 18  4f 50 54 20 a4 65 71 75  |AF0)..b.OPT .equ|
00002200  64 28 26 36 34 44 30 36  45 46 30 29 0d 1b 6c 18  |d(&64D06EF0)..l.|
00002210  4f 50 54 20 a4 65 71 75  64 28 26 36 46 30 30 36  |OPT .equd(&6F006|
00002220  43 32 30 29 0d 1b 76 18  4f 50 54 20 a4 65 71 75  |C20)..v.OPT .equ|
00002230  64 28 26 37 31 37 30 37  36 36 30 29 0d 1b 80 18  |d(&71707660)....|
00002240  4f 50 54 20 a4 65 71 75  64 28 26 37 42 42 30 37  |OPT .equd(&7BB07|
00002250  42 32 30 29 0d 1b 8a 18  4f 50 54 20 a4 65 71 75  |B20)....OPT .equ|
00002260  64 28 26 37 34 33 30 36  30 34 30 29 0d 1b 94 18  |d(&74306040)....|
00002270  4f 50 54 20 a4 65 71 75  64 28 26 36 45 46 30 36  |OPT .equd(&6EF06|
00002280  39 44 30 29 0d 1b 9e 18  4f 50 54 20 a4 65 71 75  |9D0)....OPT .equ|
00002290  64 28 26 37 43 31 30 36  32 31 30 29 0d 1b a8 14  |d(&7C106210)....|
000022a0  4f 50 54 20 a4 65 71 75  77 28 26 37 36 44 30 29  |OPT .equw(&76D0)|
000022b0  0d 1b b2 0a 2e 6f 62 63  6f 6c 0d 1b bc 18 4f 50  |.....obcol....OP|
000022c0  54 20 a4 65 71 75 64 28  26 34 44 32 30 34 44 30  |T .equd(&4D204D0|
000022d0  30 29 0d 1b c6 18 4f 50  54 20 a4 65 71 75 64 28  |0)....OPT .equd(|
000022e0  26 34 44 36 30 34 44 34  30 29 0d 1b d0 18 4f 50  |&4D604D40)....OP|
000022f0  54 20 a4 65 71 75 64 28  26 34 44 41 30 34 44 38  |T .equd(&4DA04D8|
00002300  30 29 0d 1b da 18 4f 50  54 20 a4 65 71 75 64 28  |0)....OPT .equd(|
00002310  26 34 43 32 30 34 43 30  30 29 0d 1b e4 18 4f 50  |&4C204C00)....OP|
00002320  54 20 a4 65 71 75 64 28  26 34 43 36 30 34 43 34  |T .equd(&4C604C4|
00002330  30 29 0d 1b ee 18 4f 50  54 20 a4 65 71 75 64 28  |0)....OPT .equd(|
00002340  26 34 43 41 30 34 43 38  30 29 0d 1b f8 18 4f 50  |&4CA04C80)....OP|
00002350  54 20 a4 65 71 75 64 28  26 34 43 45 30 34 43 43  |T .equd(&4CE04CC|
00002360  30 29 0d 1c 02 18 4f 50  54 20 a4 65 71 75 64 28  |0)....OPT .equd(|
00002370  26 34 41 38 30 34 45 45  30 29 0d 1c 0c 18 4f 50  |&4A804EE0)....OP|
00002380  54 20 a4 65 71 75 64 28  26 34 41 41 30 34 42 41  |T .equd(&4AA04BA|
00002390  30 29 0d 1c 16 18 4f 50  54 20 a4 65 71 75 64 28  |0)....OPT .equd(|
000023a0  26 34 41 38 30 34 41 41  30 29 0d 1c 20 18 4f 50  |&4A804AA0).. .OP|
000023b0  54 20 a4 65 71 75 64 28  26 34 42 34 30 34 42 32  |T .equd(&4B404B2|
000023c0  30 29 0d 1c 2a 18 4f 50  54 20 a4 65 71 75 64 28  |0)..*.OPT .equd(|
000023d0  26 34 41 45 30 34 42 38  30 29 0d 1c 34 18 4f 50  |&4AE04B80)..4.OP|
000023e0  54 20 a4 65 71 75 64 28  26 34 42 45 30 34 39 41  |T .equd(&4BE049A|
000023f0  30 29 0d 1c 3e 18 4f 50  54 20 a4 65 71 75 64 28  |0)..>.OPT .equd(|
00002400  26 34 42 36 30 34 39 43  30 29 0d 1c 48 14 4f 50  |&4B6049C0)..H.OP|
00002410  54 20 a4 65 71 75 77 28  26 34 44 43 30 29 0d 1c  |T .equw(&4DC0)..|
00002420  52 0b 2e 6f 62 72 6f 6f  6d 0d 1c 5c 18 4f 50 54  |R..obroom..\.OPT|
00002430  20 a4 65 71 75 64 28 26  30 46 46 46 31 35 30 34  | .equd(&0FFF1504|
00002440  29 0d 1c 66 18 4f 50 54  20 a4 65 71 75 64 28 26  |)..f.OPT .equd(&|
00002450  31 30 31 43 30 36 30 41  29 0d 1c 70 18 4f 50 54  |101C060A)..p.OPT|
00002460  20 a4 65 71 75 64 28 26  30 41 30 32 30 43 31 42  | .equd(&0A020C1B|
00002470  29 0d 1c 7a 18 4f 50 54  20 a4 65 71 75 64 28 26  |)..z.OPT .equd(&|
00002480  31 41 30 45 31 39 30 46  29 0d 1c 84 18 4f 50 54  |1A0E190F)....OPT|
00002490  20 a4 65 71 75 64 28 26  30 37 31 43 30 46 32 30  | .equd(&071C0F20|
000024a0  29 0d 1c 8e 18 4f 50 54  20 a4 65 71 75 64 28 26  |)....OPT .equd(&|
000024b0  30 31 31 38 31 44 30 35  29 0d 1c 98 18 4f 50 54  |01181D05)....OPT|
000024c0  20 a4 65 71 75 64 28 26  46 46 31 43 31 34 46 46  | .equd(&FF1C14FF|
000024d0  29 0d 1c a2 12 4f 50 54  20 a4 65 71 75 62 28 26  |)....OPT .equb(&|
000024e0  46 46 29 0d 1c ac 0b 2e  6e 6f 6f 66 69 6e 0d 1c  |FF).....noofin..|
000024f0  b6 12 4f 50 54 20 a4 65  71 75 62 28 26 31 43 29  |..OPT .equb(&1C)|
00002500  0d 1c c0 0a 2e 69 6e 6c  6f 63 0d 1c ca 18 4f 50  |.....inloc....OP|
00002510  54 20 a4 65 71 75 64 28  26 36 45 45 30 36 46 30  |T .equd(&6EE06F0|
00002520  30 29 0d 1c d4 18 4f 50  54 20 a4 65 71 75 64 28  |0)....OPT .equd(|
00002530  26 37 42 36 30 36 43 36  30 29 0d 1c de 18 4f 50  |&7B606C60)....OP|
00002540  54 20 a4 65 71 75 64 28  26 37 31 38 30 37 31 38  |T .equd(&7180718|
00002550  30 29 0d 1c e8 18 4f 50  54 20 a4 65 71 75 64 28  |0)....OPT .equd(|
00002560  26 37 36 44 30 36 37 39  30 29 0d 1c f2 18 4f 50  |&76D06790)....OP|
00002570  54 20 a4 65 71 75 64 28  26 37 38 45 30 37 36 45  |T .equd(&78E076E|
00002580  30 29 0d 1c fc 18 4f 50  54 20 a4 65 71 75 64 28  |0)....OPT .equd(|
00002590  26 37 42 34 30 37 42 33  30 29 0d 1d 06 18 4f 50  |&7B407B30)....OP|
000025a0  54 20 a4 65 71 75 64 28  26 37 42 36 30 37 42 35  |T .equd(&7B607B5|
000025b0  30 29 0d 1d 10 18 4f 50  54 20 a4 65 71 75 64 28  |0)....OPT .equd(|
000025c0  26 36 43 35 30 37 42 37  30 29 0d 1d 1a 18 4f 50  |&6C507B70)....OP|
000025d0  54 20 a4 65 71 75 64 28  26 36 43 37 30 36 43 36  |T .equd(&6C706C6|
000025e0  30 29 0d 1d 24 18 4f 50  54 20 a4 65 71 75 64 28  |0)..$.OPT .equd(|
000025f0  26 36 43 39 30 36 43 38  30 29 0d 1d 2e 18 4f 50  |&6C906C80)....OP|
00002600  54 20 a4 65 71 75 64 28  26 37 42 34 30 37 38 42  |T .equd(&7B4078B|
00002610  30 29 0d 1d 38 18 4f 50  54 20 a4 65 71 75 64 28  |0)..8.OPT .equd(|
00002620  26 37 42 36 30 37 42 35  30 29 0d 1d 42 18 4f 50  |&7B607B50)..B.OP|
00002630  54 20 a4 65 71 75 64 28  26 35 42 31 30 37 39 31  |T .equd(&5B10791|
00002640  30 29 0d 1d 4c 18 4f 50  54 20 a4 65 71 75 64 28  |0)..L.OPT .equd(|
00002650  26 36 43 32 30 35 42 32  30 29 0d 1d 56 14 4f 50  |&6C205B20)..V.OP|
00002660  54 20 a4 65 71 75 77 28  26 36 39 44 30 29 0d 1d  |T .equw(&69D0)..|
00002670  60 0a 2e 69 6e 63 6f 6c  0d 1d 6a 18 4f 50 54 20  |`..incol..j.OPT |
00002680  a4 65 71 75 64 28 26 34  41 34 30 34 41 32 30 29  |.equd(&4A404A20)|
00002690  0d 1d 74 18 4f 50 54 20  a4 65 71 75 64 28 26 34  |..t.OPT .equd(&4|
000026a0  42 30 30 34 41 30 30 29  0d 1d 7e 18 4f 50 54 20  |B004A00)..~.OPT |
000026b0  a4 65 71 75 64 28 26 34  39 45 30 34 41 36 30 29  |.equd(&49E04A60)|
000026c0  0d 1d 88 18 4f 50 54 20  a4 65 71 75 64 28 26 35  |....OPT .equd(&5|
000026d0  31 43 30 34 42 43 30 29  0d 1d 92 18 4f 50 54 20  |1C04BC0)....OPT |
000026e0  a4 65 71 75 64 28 26 34  44 45 30 35 31 45 30 29  |.equd(&4DE051E0)|
000026f0  0d 1d 9c 18 4f 50 54 20  a4 65 71 75 64 28 26 34  |....OPT .equd(&4|
00002700  45 43 30 34 45 43 30 29  0d 1d a6 18 4f 50 54 20  |EC04EC0)....OPT |
00002710  a4 65 71 75 64 28 26 34  45 43 30 34 45 43 30 29  |.equd(&4EC04EC0)|
00002720  0d 1d b0 18 4f 50 54 20  a4 65 71 75 64 28 26 34  |....OPT .equd(&4|
00002730  45 43 30 34 45 43 30 29  0d 1d ba 18 4f 50 54 20  |EC04EC0)....OPT |
00002740  a4 65 71 75 64 28 26 34  45 43 30 34 45 43 30 29  |.equd(&4EC04EC0)|
00002750  0d 1d c4 18 4f 50 54 20  a4 65 71 75 64 28 26 34  |....OPT .equd(&4|
00002760  45 43 30 34 45 43 30 29  0d 1d ce 18 4f 50 54 20  |EC04EC0)....OPT |
00002770  a4 65 71 75 64 28 26 34  45 43 30 34 45 43 30 29  |.equd(&4EC04EC0)|
00002780  0d 1d d8 18 4f 50 54 20  a4 65 71 75 64 28 26 34  |....OPT .equd(&4|
00002790  45 43 30 34 45 43 30 29  0d 1d e2 18 4f 50 54 20  |EC04EC0)....OPT |
000027a0  a4 65 71 75 64 28 26 34  39 38 30 34 45 43 30 29  |.equd(&49804EC0)|
000027b0  0d 1d ec 18 4f 50 54 20  a4 65 71 75 64 28 26 34  |....OPT .equd(&4|
000027c0  41 43 30 34 41 32 30 29  0d 1d f6 14 4f 50 54 20  |AC04A20)....OPT |
000027d0  a4 65 71 75 77 28 26 34  46 45 30 29 0d 1e 00 0b  |.equw(&4FE0)....|
000027e0  2e 69 6e 72 6f 6f 6d 0d  1e 0a 18 4f 50 54 20 a4  |.inroom....OPT .|
000027f0  65 71 75 64 28 26 31 41  31 44 31 35 31 34 29 0d  |equd(&1A1D1514).|
00002800  1e 14 18 4f 50 54 20 a4  65 71 75 64 28 26 30 37  |...OPT .equd(&07|
00002810  32 30 46 46 31 43 29 0d  1e 1e 17 4f 50 54 20 a4  |20FF1C)....OPT .|
00002820  65 71 75 64 28 26 35 30  35 30 37 30 37 29 0d 1e  |equd(&5050707)..|
00002830  28 18 4f 50 54 20 a4 65  71 75 64 28 26 32 30 30  |(.OPT .equd(&200|
00002840  35 30 35 30 35 29 0d 1e  32 18 4f 50 54 20 a4 65  |50505)..2.OPT .e|
00002850  71 75 64 28 26 32 30 32  30 32 30 32 30 29 0d 1e  |qud(&20202020)..|
00002860  3c 18 4f 50 54 20 a4 65  71 75 64 28 26 31 43 31  |<.OPT .equd(&1C1|
00002870  43 31 43 31 43 29 0d 1e  46 18 4f 50 54 20 a4 65  |C1C1C)..F.OPT .e|
00002880  71 75 64 28 26 46 46 30  46 30 46 31 43 29 0d 1e  |qud(&FF0F0F1C)..|
00002890  50 12 4f 50 54 20 a4 65  71 75 62 28 26 31 31 29  |P.OPT .equb(&11)|
000028a0  0d 1e 5a 05 5d 0d 1e 64  09 f1 20 7e 50 25 0d 1e  |..Z.]..d.. ~P%..|
000028b0  6e 05 ed 0d 1e 78 13 f2  6f 73 63 6c 69 28 22 44  |n....x..oscli("D|
000028c0  49 52 20 4d 22 29 0d 1e  82 22 f2 6f 73 63 6c 69  |IR M")...".oscli|
000028d0  28 22 53 41 56 45 20 43  4f 44 45 32 20 33 43 46  |("SAVE CODE2 3CF|
000028e0  41 20 34 33 33 32 22 29  0d 1e 8c 13 f2 6f 73 63  |A 4332").....osc|
000028f0  6c 69 28 22 44 49 52 20  24 22 29 0d 1e 96 05 e0  |li("DIR $").....|
00002900  0d 1e a0 0e dd a4 65 71  75 62 28 53 25 29 0d 1e  |......equb(S%)..|
00002910  aa 12 3f 50 25 3d 53 25  3a 50 25 3d 50 25 2b 31  |..?P%=S%:P%=P%+1|
00002920  0d 1e b4 0a 3d 70 61 73  73 25 0d 1e be 0e dd a4  |....=pass%......|
00002930  65 71 75 77 28 53 25 29  0d 1e c8 12 21 50 25 3d  |equw(S%)....!P%=|
00002940  53 25 3a 50 25 3d 50 25  2b 32 0d 1e d2 0a 3d 70  |S%:P%=P%+2....=p|
00002950  61 73 73 25 0d 1e dc 0e  dd a4 65 71 75 64 28 53  |ass%......equd(S|
00002960  25 29 0d 1e e6 12 21 50  25 3d 53 25 3a 50 25 3d  |%)....!P%=S%:P%=|
00002970  50 25 2b 34 0d 1e f0 0a  3d 70 61 73 73 25 0d 1e  |P%+4....=pass%..|
00002980  fa 12 dd f2 6f 73 63 6c  69 28 24 26 37 30 30 29  |....oscli($&700)|
00002990  0d 1f 04 16 ea 58 25 2c  59 25 3a 59 25 3d 37 3a  |.....X%,Y%:Y%=7:|
000029a0  d6 26 46 46 46 37 0d 1f  0e 05 e1 0d ff           |.&FFF7.......|
000029ad