Home » Personal collection » Commodore disks » disk47a_unlabelled.d64 » main 7.4.95

main 7.4.95

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 » Personal collection » Commodore disks » disk47a_unlabelled.d64
Filename: main 7.4.95
Read OK:
File size: 0D6B bytes
Load address: 0801
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
    10 ; NUCLEAR FIRE - MAIN PROGRAM
    20 ; BY DOMINIC FORD
    30 ; DECEMBER '94 -
    40 *=$C000
  1000 ; VARIABLES
  1005 DEAD=$CF40
  1010 CLOCK=$CF41
  1020 EFDAT=$CF42
  1030 NWAIT=$CF43
  1040 MHI=$3F
  1050 VDAT=$BC01
  1060 DATA=$CF45
  1070 ;XP=$CF44
  1080 ;YP=$CF47
  1090 MEMS=$41
  1100 MEMR=$22
  1110 BT=$CF48
  1120 XPS=$CF49
  1130 YPS=$CF4A
  1140 MEMRS=$CF4B
  1150 ;XPTL=$CF4C
  1160 ;YPTL=$CF4D
  1170 XSSTE=$CF4E
  1180 YSSTE=$CF4F
  1190 ;MTAB=$CF50
  1200 ;STPAGE=$CF51
  1210 ASTORE=$CF52
  1220 XSTORE=$CF53
  1230 YSTORE=$CF54
  1240 IRQCONT=$CF55
  1250 ILSTATE=$CF57
  2000 ; MUSIC ROUTINES
  2005 MUSON SEI
  2010 LDA #<MDATAPLAY
  2020 STA IRQCONT
  2030 LDA #>MDATAPLAY
  2040 STA IRQCONT+1
  2050 LDA DATA
  2060 STA MHI+1
  2070 LDA DATA+1
  2080 STA MHI
  2090 LDA #$00
  2100 STA NWAIT
  2110 JSR SCNCLRUP
  2120 CLI
  2130 RTS
  2140 MUSOFF SEI
  2150 LDA #$31
  2160 STA IRQCONT
  2170 LDA #$EA
  2180 STA IRQCONT+1
  2190 CLI
  2200 RTS
  2210 MDATAPLAY JSR STACK
  2220 LDA NWAIT
  2230 BEQ READ
  2240 JMP $EA31
  2250 READ LDY #$00
  2260 LDA (MHI),Y
  2270 AND #$01
  2280 BEQ CONTMA
  2290 LDA #$07
  2300 CONTMA TAX
  2310 LDA (MHI),Y
  2320 LSR A
  2330 STA NWAIT
  2340 CMP #$06
  2350 BNE MRCONT
  2360 LDA VDAT,X
  2370 STA $D404,X
  2380 TAY
  2390 INY
  2400 TYA
  2410 STA $D404,X
  2420 JSR DESTACK
  2430 JMP $EA31
  2440 STACK STA ASTORE
  2450 STX XSTORE
  2460 STY YSTORE
  2490 RTS
  2500 DESTACK JSR EFFECTS
  2510 UNSTACK LDA ASTORE
  2520 LDX XSTORE
  2530 LDY YSTORE
  2560 RTS
  2570 MRCONT INY
  2580 LDA (MHI),Y
  2590 STA $D400,X
  2600 INY
  2610 LDA (MHI),Y
  2620 STA $D401,X
  2630 JSR DESTACK
  2640 JMP $EA31
  2650 SCNCLRUP LDX VDAT
  2660 INX
  2670 STX $D404
  2680 LDX VDAT+7
  2690 INX
  2700 STX $D40B
  2710 RTS
  2720 EFFECTSON SEI
  2730 LDA #<EFFONLY
  2740 STA $0314
  2750 LDA #>EFFONLY
  2760 STA $0315
  2770 CLI
  2780 RTS
  2790 EFFONLY JSR STACK
  2800 JSR DESTACK
  2810 JMP $EA31
  3000 ; MAIN GAME LOOP
  3005 MAIN LDA #$00
  3010 STA DEAD
  3020 STA EFDAT
  3030 JSR MUSON
  3040 JSR FULLSDISP
  3050 LDA $A2
  3060 CLC
  3070 ADC CLOCK
  3080 STA CLOCK
  3090 MAINLOP JSR YOU
  3100 JSR MONSTERS
  3110 JSR PANEL
  3120 LDA DEAD
  3130 BNE GAMEOVER
  3140 LDA CLOCK
  3150 TRLOP CMP $A2
  3160 BCC TRLOP
  3170 CLC
  3180 ADC #$03
  3190 STA CLOCK
  3200 JMP MAINLOP
  3210 GAMEOVER JSR GAMEND
  4000 ; GRAPHIC ROUTINES
  4005 DISPBLOCK JSR STACK
  4007 JSR INITDB
  4010 LDX YPS
  4020 YPLOPD CPX #$00
  4030 BEQ YPDCNT
  4040 DEX
  4050 LDA MEMS
  4060 CLC
  4070 ADC #$50
  4082 STA MEMS
  4090 BCC YPLOPD
  4100 INC MEMS+1
  4110 JMP YPLOPD
  4120 YPDCNT LDA XPS
  4130 ASL A
  4140 CLC
  4150 ADC MEMS
  4160 STA MEMS
  4170 BCC XPCNT
  4180 INC MEMS+1
  4190 XPCNT LDA MEMRS
  4200 STA MEMR+1
  4210 LDA #$00
  4220 LDX YPS
  4230 DBYLOP BEQ YPCNT
  4240 CLC
  4250 ADC #$14
  4260 DEX
  4270 JMP DBYLOP
  4280 YPCNT CLC
  4290 ADC YPS
  4300 STA MEMR
  4310 LDA (MEMR),Y
  4320 STA BT
  4330 ASL A
  4340 STA (MEMS),Y
  4350 CLC
  4360 ADC #$01
  4370 INY
  4380 STA (MEMS),Y
  4390 CLC
  4400 ADC #$1F
  4410 LDY #$28
  4420 STA (MEMS),Y
  4430 CLC
  4440 ADC #$01
  4450 INY
  4460 STA (MEMS),Y
  4470 LDA MEMS+1
  4480 CLC
  4490 ADC #$54
  4500 STA MEMS+1
  4510 LDY #$00
  4520 LDA BT
  4530 STA (MEMS),Y
  4540 INY
  4550 STA (MEMS),Y
  4560 LDY #$28
  4570 STA (MEMS),Y
  4580 INY
  4590 STA (MEMS),Y
  4600 JMP UNSTACK
  4610 INITDB LDA #$04 ; CHANGE TO #$98
  4620 STA MEMS+1
  4630 LDY #$00
  4640 STY MEMS
  4650 RTS
  9000 ; INTERLACING ROUTINES
  9010 ILACEON SEI
  9020 LDA #<INTERLACE
  9030 STA $0314
  9040 LDA #>INTERLACE
  9050 STA $0315
  9060 CLI
  9070 RTS
  9080 ILACEOFF SEI
  9090 LDA #<ILACEQUIT
  9100 STA $0314
  9110 LDA #>ILACEQUIT
  9120 STA $0315
  9130 LDA #$64
  9140 STA $D018
  9150 CLI
  9160 RTS
  9170 INTERLACE LDA ILSTATE
  9180 BEQ INZERO
  9190 LDA #$00
  9200 STA ILSTATE
  9210 LDA #$62
  9220 STA $D018
  9230 LDA #$15
  9240 STA $D016
  9250 ILACEQUIT JMP (IRQCONT)
  9260 INZERO INC ILSTATE
  9270 LDA #$60
  9280 STA $D018
  9290 LDA #$14
  9300 STA $D016
  9310 JMP (IRQCONT)
 10000 ; TEMP ROUTINES
 10001 EFFECTS NOP
 10002 FULLSDISP NOP
 10003 YOU NOP
 10004 MONSTERS NOP
 10005 PANEL NOP
 10006 GAMEND NOP

#
; NUCLEAR FIRE - MAIN PROGRAM9; BY DOMINIC FORDN; DECEMBER '94 -Z(��$C000j�; VARIABLESy�DEAD�$CF40��CLOCK�$CF41��EFDAT�$CF42�N��$CF43�MHI�$3F�VDAT�$BC01�$�=$CF45�.;XP�$CF44�8;YP�$CF47�BMEMS�$41	LMEMR�$22	VBT�$CF48	`XPS�$CF49,	jYPS�$CF4A<	tMEMRS�$CF4BL	~;XPTL�$CF4C\	�;YPTL�$CF4Dl	�XSSTE�$CF4E|	�YSSTE�$CF4F�	�;MTAB�$CF50�	�;STPAGE�$CF51�	�AS�RE�$CF52�	�XS�RE�$CF53�	�YS�RE�$CF54�	�IRQ��$CF55�	�ILSTATE�$CF57
�; MUSIC ROUTINES
�MUS� SEI"
�LDA #�M�PLAY/
�STA IRQ�@
�LDA #�M�PLAYO
�STA IRQ��1Y
LDA �g
STA MHI�1s
LDA �+1
 STA MHI�
*LDA #$00�
4STA N��
>JSR �UP�
HCLI�
RRTS�
\MUSOFF SEI�
fLDA #$31�
pSTA IRQ��
zLDA #$EA�
�STA IRQ��1�CLI�RTS�M�PLAY JSR STACK(�LDA N�2�BEQ �@�JMP $EA31O�� LDY #$00_�LDA (MHI),Yj�� #$01v�BEQ �MA��LDA #$07���MA TAX�	LDA (MHI),Y�	LSR A�	STA N��$	CMP #$06�.	BNE MR��8	LDA VDAT,X�B	STA $D404,X�L	TAY�V	INY`	TYAj	STA $D404,X$t	JSR DESTACK2~	JMP $EA31F�	STACK STA AS�RET�	STX XS�REb�	STY YS�REj�	RTS��	DESTACK JSR EFFECTS��	UNSTACK LDA AS�RE��	LDX XS�RE��	LDY YS�RE�
RTS�

MR� INY�
LDA (MHI),Y�
STA $D400,X�(
INY
2
LDA (MHI),Y
<
STA $D401,X 
F
JSR DESTACK.
P
JMP $EA31?
Z
�UP LDX VDATG
d
INXU
n
STX $D404d
x
LDX VDAT�7l
�
INXz
�
STX $D40B�
�
RTS�
�
EFFECTS� SEI�
�
LDA #�EFF�LY�
�
STA $0314�
�
LDA #�EFF�LY�
�
STA $0315�
�
CLI�
�
RTS�
�
EFF�LY JSR STACK�
JSR DESTACK�
JMP $EA31)�; MAIN GAME LOOP;�MAIN LDA #$00H�STA DEADV�STA EFDATc�JSR MUS�u�JSR FULLSDISP��LDA $A2��CLC��ADC CLOCK�STA CLOCK�MAINLOP JSR YOU�JSR M�STERS�&JSR PANEL�0LDA DEAD�:BNE GAMEOVERDLDA CLOCKNTRLOP CMP $A2#XBCC TRLOP+bCLC8lADC #$03FvSTA CLOCKV�JMP MAINLOPl�GAMEOVER JSR GAM���; GRAPHIC ROUTINES��DISPBLOCK JSR STACK��JSR INITDB��LDX YPS��YPLOPD CPX #$00��BEQ YPDCNT��DEX��LDA MEMS��CLC�ADC #$50�STA MEMS�BCC YPLOPD.INC MEMS�1=JMP YPLOPDPYPDCNT LDA XPSZ"ASL Ab,CLCo6ADC MEMS|@STA MEMS�JBCC XPCNT�TINC MEMS�1�^XPCNT LDA MEMRS�hSTA MEMR�1�rLDA #$00�|LDX YPS��DBYLOP BEQ YPCNT��CLC��ADC #$14�DEX�JMP DBYLOP$�YPCNT CLC0�ADC YPS=�STA MEMRN�LDA (MEMR),YY�STA BTc�ASL At�STA (MEMS),Y|�CLC�ADC #$01�INY�STA (MEMS),Y�&CLC�0ADC #$1F�:LDY #$28�DSTA (MEMS),Y�NCLC�XADC #$01�bINYlSTA (MEMS),YvLDA MEMS�1�CLC'�ADC #$546�STA MEMS�1C�LDY #$00N�LDA BT_�STA (MEMS),Yg�INYx�STA (MEMS),Y��LDY #$28��STA (MEMS),Y��INY��STA (MEMS),Y��JMP UNSTACK�INITDB LDA #$04 ; CHANGE � #$98�STA MEMS�1�LDY #$00 STY MEMS*RTS/(#; INTERLACING ROUTINES>2#ILACE� SEIP<#LDA #��ERLACE^F#STA $0314pP#LDA #��ERLACE~Z#STA $0315�d#CLI�n#RTS�x#ILACEOFF SEI��#LDA #�ILACEQUIT��#STA $0314��#LDA #�ILACEQUIT��#STA $0315��#LDA #$64��#STA $D018�#CLI�#RTS&�#�ERLACE LDA ILSTATE5�#BEQ INZEROB�#LDA #$00R�#STA ILSTATE_�#LDA #$62m$STA $D018z$LDA #$15�$STA $D016�"$ILACEQUIT JMP (IRQ�)�,$INZERO INC ILSTATE�6$LDA #$60�@$STA $D018�J$LDA #$14�T$STA $D016�^$JMP (IRQ�)'; TEMP ROUTINES!'EFFECTS NOP3'FULLSDISP NOP?'YOU NOPO'M�STERS NOP]'PANEL NOPj'GAM� NOP
#HJ@; nuclear fire - main program@9HT@; by dominic ford@nH.@; december '94 -@zH(@..$c000@JH.C; variables@YH.Cdead.$cf40@.H.Cclock.$cf41@.H.Cefdat.$cf42@.HFDn..$cf43@.HPDmhi.$3f@.HZDvdat.$bc01@.H$D.=$cf45@.H.D;xp.$cf44@.H8D;yp.$cf47@.HbDmems.$41@CIlDmemr.$22@PIvDbt.$cf48@.I.Dxps.$cf49@,IJDyps.$cf4a@<ITDmemrs.$cf4b@lI.D;xptl.$cf4c@£I.D;yptl.$cf4d@LI.Dxsste.$cf4e@.I.Dysste.$cf4f@.I.D;mtab.$cf50@.I.D;stpage.$cf51@.I.Das.re.$cf52@.I.Dxs.re.$cf53@.I.Dys.re.$cf54@.I.Dirq..$cf55@.I.Dilstate.$cf57@DJ.G; music routines@QJ.Gmus. sei@"J.Glda #.m.play@/J.Gsta irq.@@J.Glda #.m.play@oJ.Gsta irq..1@yJBHlda .@GJLHsta mhi.1@SJVHlda .+1@.J Hsta mhi@.J*Hlda #$00@.J4Hsta n.@.J>Hjsr .up@.JhHcli@.JrHrts@.J£Hmusoff sei@.JFHlda #$31@.JPHsta irq.@.JZHlda #$ea@.J.Hsta irq..1@@K.Hcli@HK.Hrts@]K.Hm.play jsr stack@(K.Hlda n.@2K.Hbeq .@@K.Hjmp $ea31@oK.H. ldy #$00@.K.Hlda (mhi),y@JK.H. #$01@VK.Hbeq .ma@.K.Hlda #$07@.K.H.ma tax@.KFIlda (mhi),y@.KPIlsr a@.KZIsta n.@.K$Icmp #$06@.K.Ibne mr.@.K8Ilda vdat,x@.KbIsta $d404,x@.KlItay@.KvIiny@DL.Itya@TLJIsta $d404,x@$LTIjsr destack@2L.Ijmp $ea31@fL.Istack sta as.re@tL.Istx xs.re@BL.Isty ys.re@JL.Irts@.L.Idestack jsr effects@.L.Iunstack lda as.re@.L.Ildx xs.re@.L.Ildy ys.re@.L@Jrts@.LJJmr. iny@.LTJlda (mhi),y@.L.Jsta $d400,x@.L(Jiny@@M2Jlda (mhi),y@PM<Jsta $d401,x@ MfJjsr destack@.MpJjmp $ea31@?MzJ.up ldx vdat@gMDJinx@uMNJstx $d404@DMXJldx vdat.7@LM.Jinx@ZM.Jstx $d40b@.M.Jrts@.M.Jeffects. sei@.M.Jlda #.eff.ly@.M.Jsta $0314@.M.Jlda #.eff.ly@.M.Jsta $0315@.M.Jcli@.M.Jrts@.M.Jeff.ly jsr stack@FN.Jjsr destack@TN.Jjmp $ea31@)N.K; main game loop@;N.Kmain lda #$00@hN.Ksta dead@vN.Ksta efdat@CN.Kjsr mus.@UN.Kjsr fullsdisp@.N.Klda $a2@.N.Kclc@.N.Kadc clock@.NHLsta clock@.NRLmainlop jsr you@.N£Ljsr m.sters@.N&Ljsr panel@.N0Llda dead@.N:Lbne gameover@COdLlda clock@UOnLtrlop cmp $a2@#OxLbcc trlop@+OBLclc@8OLLadc #$03@fOVLsta clock@vO.Ljmp mainlop@LO.Lgameover jsr gam.@.O.O; graphic routines@.O.Odispblock jsr stack@.O.Ojsr initdb@.O.Oldx yps@.O.Oyplopd cpx #$00@.O.Obeq ypdcnt@.O.Odex@.O.Olda mems@.O.Oclc@CP.Oadc #$50@PP.Osta mems@.P.Obcc yplopd@.PDPinc mems.1@=PNPjmp yplopd@pPXPypdcnt lda xps@zP"Pasl a@BP,Pclc@OP6Padc mems@.P@Psta mems@.PjPbcc xpcnt@.PtPinc mems.1@.P.Pxpcnt lda memrs@.PHPsta memr.1@.PRPlda #$00@.P.Pldx yps@.P.Pdbylop beq ypcnt@.P.Pclc@.P.Padc #$14@GQ.Pdex@VQ.Pjmp dbylop@$Q.Pypcnt clc@0Q.Padc yps@=Q.Psta memr@nQ.Plda (memr),y@yQ.Psta bt@CQ.Pasl a@TQ.Psta (mems),y@.Q.Pclc@.QHQadc #$01@.QRQiny@.Q£Qsta (mems),y@.Q&Qclc@.Q0Qadc #$1f@.Q:Qldy #$28@.QdQsta (mems),y@.QnQclc@.QxQadc #$01@.QBQiny@CRLQsta (mems),y@RRVQlda mems.1@ZR.Qclc@'R.Qadc #$54@6R.Qsta mems.1@cR.Qldy #$00@nR.Qlda bt@.R.Qsta (mems),y@GR.Qiny@XR.Qsta (mems),y@.R.Qldy #$28@.R.Qsta (mems),y@.R.Qiny@.R.Qsta (mems),y@.R.Qjmp unstack@.RBRinitdb lda #$04 ; change . #$98@.RLRsta mems.1@.RVRldy #$00@LS Rsty mems@TS*Rrts@/S(#; interlacing routines@>S2#ilace. sei@pS<#lda #..erlace@.Sf#sta $0314@PSp#lda #..erlace@.Sz#sta $0315@.SD#cli@.SN#rts@.SX#ilaceoff sei@.S.#lda #.ilacequit@.S.#sta $0314@.S.#lda #.ilacequit@.S.#sta $0315@.S.#lda #$64@.S.#sta $d018@FT.#cli@NT.#rts@&T.#.erlace lda ilstate@5T.#beq inzero@bT.#lda #$00@rT.#sta ilstate@.T.#lda #$62@MTD$sta $d018@ZTN$lda #$15@.TX$sta $d016@.T"$ilacequit jmp (irq.)@.T,$inzero inc ilstate@.T6$lda #$60@.T@$sta $d018@.Tj$lda #$14@.Tt$sta $d016@.T.$jmp (irq.)@QUP'; temp routines@!UQ'effects nop@3UR'fullsdisp nop@?US'you nop@oUT'm.sters nop@]UU'panel nop@JUV'gam. nop@@@
00000000  23 08 0a 00 3b 20 4e 55  43 4c 45 41 52 20 46 49  |#...; NUCLEAR FI|
00000010  52 45 20 2d 20 4d 41 49  4e 20 50 52 4f 47 52 41  |RE - MAIN PROGRA|
00000020  4d 00 39 08 14 00 3b 20  42 59 20 44 4f 4d 49 4e  |M.9...; BY DOMIN|
00000030  49 43 20 46 4f 52 44 00  4e 08 1e 00 3b 20 44 45  |IC FORD.N...; DE|
00000040  43 45 4d 42 45 52 20 27  39 34 20 2d 00 5a 08 28  |CEMBER '94 -.Z.(|
00000050  00 ac b2 24 43 30 30 30  00 6a 08 e8 03 3b 20 56  |...$C000.j...; V|
00000060  41 52 49 41 42 4c 45 53  00 79 08 ed 03 44 45 41  |ARIABLES.y...DEA|
00000070  44 b2 24 43 46 34 30 00  89 08 f2 03 43 4c 4f 43  |D.$CF40.....CLOC|
00000080  4b b2 24 43 46 34 31 00  99 08 fc 03 45 46 44 41  |K.$CF41.....EFDA|
00000090  54 b2 24 43 46 34 32 00  a6 08 06 04 4e 92 b2 24  |T.$CF42.....N..$|
000000a0  43 46 34 33 00 b2 08 10  04 4d 48 49 b2 24 33 46  |CF43.....MHI.$3F|
000000b0  00 c1 08 1a 04 56 44 41  54 b2 24 42 43 30 31 00  |.....VDAT.$BC01.|
000000c0  cd 08 24 04 83 3d 24 43  46 34 35 00 db 08 2e 04  |..$..=$CF45.....|
000000d0  3b 58 50 b2 24 43 46 34  34 00 e9 08 38 04 3b 59  |;XP.$CF44...8.;Y|
000000e0  50 b2 24 43 46 34 37 00  f6 08 42 04 4d 45 4d 53  |P.$CF47...B.MEMS|
000000f0  b2 24 34 31 00 03 09 4c  04 4d 45 4d 52 b2 24 32  |.$41...L.MEMR.$2|
00000100  32 00 10 09 56 04 42 54  b2 24 43 46 34 38 00 1e  |2...V.BT.$CF48..|
00000110  09 60 04 58 50 53 b2 24  43 46 34 39 00 2c 09 6a  |.`.XPS.$CF49.,.j|
00000120  04 59 50 53 b2 24 43 46  34 41 00 3c 09 74 04 4d  |.YPS.$CF4A.<.t.M|
00000130  45 4d 52 53 b2 24 43 46  34 42 00 4c 09 7e 04 3b  |EMRS.$CF4B.L.~.;|
00000140  58 50 54 4c b2 24 43 46  34 43 00 5c 09 88 04 3b  |XPTL.$CF4C.\...;|
00000150  59 50 54 4c b2 24 43 46  34 44 00 6c 09 92 04 58  |YPTL.$CF4D.l...X|
00000160  53 53 54 45 b2 24 43 46  34 45 00 7c 09 9c 04 59  |SSTE.$CF4E.|...Y|
00000170  53 53 54 45 b2 24 43 46  34 46 00 8c 09 a6 04 3b  |SSTE.$CF4F.....;|
00000180  4d 54 41 42 b2 24 43 46  35 30 00 9e 09 b0 04 3b  |MTAB.$CF50.....;|
00000190  53 54 50 41 47 45 b2 24  43 46 35 31 00 ae 09 ba  |STPAGE.$CF51....|
000001a0  04 41 53 a4 52 45 b2 24  43 46 35 32 00 be 09 c4  |.AS.RE.$CF52....|
000001b0  04 58 53 a4 52 45 b2 24  43 46 35 33 00 ce 09 ce  |.XS.RE.$CF53....|
000001c0  04 59 53 a4 52 45 b2 24  43 46 35 34 00 dd 09 d8  |.YS.RE.$CF54....|
000001d0  04 49 52 51 9a b2 24 43  46 35 35 00 ef 09 e2 04  |.IRQ..$CF55.....|
000001e0  49 4c 53 54 41 54 45 b2  24 43 46 35 37 00 04 0a  |ILSTATE.$CF57...|
000001f0  d0 07 3b 20 4d 55 53 49  43 20 52 4f 55 54 49 4e  |..; MUSIC ROUTIN|
00000200  45 53 00 11 0a d5 07 4d  55 53 91 20 53 45 49 00  |ES.....MUS. SEI.|
00000210  22 0a da 07 4c 44 41 20  23 b3 4d 83 50 4c 41 59  |"...LDA #.M.PLAY|
00000220  00 2f 0a e4 07 53 54 41  20 49 52 51 9a 00 40 0a  |./...STA IRQ..@.|
00000230  ee 07 4c 44 41 20 23 b1  4d 83 50 4c 41 59 00 4f  |..LDA #.M.PLAY.O|
00000240  0a f8 07 53 54 41 20 49  52 51 9a aa 31 00 59 0a  |...STA IRQ..1.Y.|
00000250  02 08 4c 44 41 20 83 00  67 0a 0c 08 53 54 41 20  |..LDA ..g...STA |
00000260  4d 48 49 aa 31 00 73 0a  16 08 4c 44 41 20 83 2b  |MHI.1.s...LDA .+|
00000270  31 00 7f 0a 20 08 53 54  41 20 4d 48 49 00 8c 0a  |1... .STA MHI...|
00000280  2a 08 4c 44 41 20 23 24  30 30 00 97 0a 34 08 53  |*.LDA #$00...4.S|
00000290  54 41 20 4e 92 00 a3 0a  3e 08 4a 53 52 20 e8 55  |TA N....>.JSR .U|
000002a0  50 00 ab 0a 48 08 43 4c  49 00 b3 0a 52 08 52 54  |P...H.CLI...R.RT|
000002b0  53 00 c2 0a 5c 08 4d 55  53 4f 46 46 20 53 45 49  |S...\.MUSOFF SEI|
000002c0  00 cf 0a 66 08 4c 44 41  20 23 24 33 31 00 dc 0a  |...f.LDA #$31...|
000002d0  70 08 53 54 41 20 49 52  51 9a 00 e9 0a 7a 08 4c  |p.STA IRQ....z.L|
000002e0  44 41 20 23 24 45 41 00  f8 0a 84 08 53 54 41 20  |DA #$EA.....STA |
000002f0  49 52 51 9a aa 31 00 00  0b 8e 08 43 4c 49 00 08  |IRQ..1.....CLI..|
00000300  0b 98 08 52 54 53 00 1d  0b a2 08 4d 83 50 4c 41  |...RTS.....M.PLA|
00000310  59 20 4a 53 52 20 53 54  41 43 4b 00 28 0b ac 08  |Y JSR STACK.(...|
00000320  4c 44 41 20 4e 92 00 32  0b b6 08 42 45 51 20 87  |LDA N..2...BEQ .|
00000330  00 40 0b c0 08 4a 4d 50  20 24 45 41 33 31 00 4f  |.@...JMP $EA31.O|
00000340  0b ca 08 87 20 4c 44 59  20 23 24 30 30 00 5f 0b  |.... LDY #$00._.|
00000350  d4 08 4c 44 41 20 28 4d  48 49 29 2c 59 00 6a 0b  |..LDA (MHI),Y.j.|
00000360  de 08 af 20 23 24 30 31  00 76 0b e8 08 42 45 51  |... #$01.v...BEQ|
00000370  20 9a 4d 41 00 83 0b f2  08 4c 44 41 20 23 24 30  | .MA.....LDA #$0|
00000380  37 00 8f 0b fc 08 9a 4d  41 20 54 41 58 00 9f 0b  |7......MA TAX...|
00000390  06 09 4c 44 41 20 28 4d  48 49 29 2c 59 00 a9 0b  |..LDA (MHI),Y...|
000003a0  10 09 4c 53 52 20 41 00  b4 0b 1a 09 53 54 41 20  |..LSR A.....STA |
000003b0  4e 92 00 c1 0b 24 09 43  4d 50 20 23 24 30 36 00  |N....$.CMP #$06.|
000003c0  cd 0b 2e 09 42 4e 45 20  4d 52 9a 00 dc 0b 38 09  |....BNE MR....8.|
000003d0  4c 44 41 20 56 44 41 54  2c 58 00 ec 0b 42 09 53  |LDA VDAT,X...B.S|
000003e0  54 41 20 24 44 34 30 34  2c 58 00 f4 0b 4c 09 54  |TA $D404,X...L.T|
000003f0  41 59 00 fc 0b 56 09 49  4e 59 00 04 0c 60 09 54  |AY...V.INY...`.T|
00000400  59 41 00 14 0c 6a 09 53  54 41 20 24 44 34 30 34  |YA...j.STA $D404|
00000410  2c 58 00 24 0c 74 09 4a  53 52 20 44 45 53 54 41  |,X.$.t.JSR DESTA|
00000420  43 4b 00 32 0c 7e 09 4a  4d 50 20 24 45 41 33 31  |CK.2.~.JMP $EA31|
00000430  00 46 0c 88 09 53 54 41  43 4b 20 53 54 41 20 41  |.F...STACK STA A|
00000440  53 a4 52 45 00 54 0c 92  09 53 54 58 20 58 53 a4  |S.RE.T...STX XS.|
00000450  52 45 00 62 0c 9c 09 53  54 59 20 59 53 a4 52 45  |RE.b...STY YS.RE|
00000460  00 6a 0c ba 09 52 54 53  00 82 0c c4 09 44 45 53  |.j...RTS.....DES|
00000470  54 41 43 4b 20 4a 53 52  20 45 46 46 45 43 54 53  |TACK JSR EFFECTS|
00000480  00 98 0c ce 09 55 4e 53  54 41 43 4b 20 4c 44 41  |.....UNSTACK LDA|
00000490  20 41 53 a4 52 45 00 a6  0c d8 09 4c 44 58 20 58  | AS.RE.....LDX X|
000004a0  53 a4 52 45 00 b4 0c e2  09 4c 44 59 20 59 53 a4  |S.RE.....LDY YS.|
000004b0  52 45 00 bc 0c 00 0a 52  54 53 00 c8 0c 0a 0a 4d  |RE.....RTS.....M|
000004c0  52 9a 20 49 4e 59 00 d8  0c 14 0a 4c 44 41 20 28  |R. INY.....LDA (|
000004d0  4d 48 49 29 2c 59 00 e8  0c 1e 0a 53 54 41 20 24  |MHI),Y.....STA $|
000004e0  44 34 30 30 2c 58 00 f0  0c 28 0a 49 4e 59 00 00  |D400,X...(.INY..|
000004f0  0d 32 0a 4c 44 41 20 28  4d 48 49 29 2c 59 00 10  |.2.LDA (MHI),Y..|
00000500  0d 3c 0a 53 54 41 20 24  44 34 30 31 2c 58 00 20  |.<.STA $D401,X. |
00000510  0d 46 0a 4a 53 52 20 44  45 53 54 41 43 4b 00 2e  |.F.JSR DESTACK..|
00000520  0d 50 0a 4a 4d 50 20 24  45 41 33 31 00 3f 0d 5a  |.P.JMP $EA31.?.Z|
00000530  0a e8 55 50 20 4c 44 58  20 56 44 41 54 00 47 0d  |..UP LDX VDAT.G.|
00000540  64 0a 49 4e 58 00 55 0d  6e 0a 53 54 58 20 24 44  |d.INX.U.n.STX $D|
00000550  34 30 34 00 64 0d 78 0a  4c 44 58 20 56 44 41 54  |404.d.x.LDX VDAT|
00000560  aa 37 00 6c 0d 82 0a 49  4e 58 00 7a 0d 8c 0a 53  |.7.l...INX.z...S|
00000570  54 58 20 24 44 34 30 42  00 82 0d 96 0a 52 54 53  |TX $D40B.....RTS|
00000580  00 93 0d a0 0a 45 46 46  45 43 54 53 91 20 53 45  |.....EFFECTS. SE|
00000590  49 00 a4 0d aa 0a 4c 44  41 20 23 b3 45 46 46 91  |I.....LDA #.EFF.|
000005a0  4c 59 00 b2 0d b4 0a 53  54 41 20 24 30 33 31 34  |LY.....STA $0314|
000005b0  00 c3 0d be 0a 4c 44 41  20 23 b1 45 46 46 91 4c  |.....LDA #.EFF.L|
000005c0  59 00 d1 0d c8 0a 53 54  41 20 24 30 33 31 35 00  |Y.....STA $0315.|
000005d0  d9 0d d2 0a 43 4c 49 00  e1 0d dc 0a 52 54 53 00  |....CLI.....RTS.|
000005e0  f6 0d e6 0a 45 46 46 91  4c 59 20 4a 53 52 20 53  |....EFF.LY JSR S|
000005f0  54 41 43 4b 00 06 0e f0  0a 4a 53 52 20 44 45 53  |TACK.....JSR DES|
00000600  54 41 43 4b 00 14 0e fa  0a 4a 4d 50 20 24 45 41  |TACK.....JMP $EA|
00000610  33 31 00 29 0e b8 0b 3b  20 4d 41 49 4e 20 47 41  |31.)...; MAIN GA|
00000620  4d 45 20 4c 4f 4f 50 00  3b 0e bd 0b 4d 41 49 4e  |ME LOOP.;...MAIN|
00000630  20 4c 44 41 20 23 24 30  30 00 48 0e c2 0b 53 54  | LDA #$00.H...ST|
00000640  41 20 44 45 41 44 00 56  0e cc 0b 53 54 41 20 45  |A DEAD.V...STA E|
00000650  46 44 41 54 00 63 0e d6  0b 4a 53 52 20 4d 55 53  |FDAT.c...JSR MUS|
00000660  91 00 75 0e e0 0b 4a 53  52 20 46 55 4c 4c 53 44  |..u...JSR FULLSD|
00000670  49 53 50 00 81 0e ea 0b  4c 44 41 20 24 41 32 00  |ISP.....LDA $A2.|
00000680  89 0e f4 0b 43 4c 43 00  97 0e fe 0b 41 44 43 20  |....CLC.....ADC |
00000690  43 4c 4f 43 4b 00 a5 0e  08 0c 53 54 41 20 43 4c  |CLOCK.....STA CL|
000006a0  4f 43 4b 00 b9 0e 12 0c  4d 41 49 4e 4c 4f 50 20  |OCK.....MAINLOP |
000006b0  4a 53 52 20 59 4f 55 00  c9 0e 1c 0c 4a 53 52 20  |JSR YOU.....JSR |
000006c0  4d 91 53 54 45 52 53 00  d7 0e 26 0c 4a 53 52 20  |M.STERS...&.JSR |
000006d0  50 41 4e 45 4c 00 e4 0e  30 0c 4c 44 41 20 44 45  |PANEL...0.LDA DE|
000006e0  41 44 00 f5 0e 3a 0c 42  4e 45 20 47 41 4d 45 4f  |AD...:.BNE GAMEO|
000006f0  56 45 52 00 03 0f 44 0c  4c 44 41 20 43 4c 4f 43  |VER...D.LDA CLOC|
00000700  4b 00 15 0f 4e 0c 54 52  4c 4f 50 20 43 4d 50 20  |K...N.TRLOP CMP |
00000710  24 41 32 00 23 0f 58 0c  42 43 43 20 54 52 4c 4f  |$A2.#.X.BCC TRLO|
00000720  50 00 2b 0f 62 0c 43 4c  43 00 38 0f 6c 0c 41 44  |P.+.b.CLC.8.l.AD|
00000730  43 20 23 24 30 33 00 46  0f 76 0c 53 54 41 20 43  |C #$03.F.v.STA C|
00000740  4c 4f 43 4b 00 56 0f 80  0c 4a 4d 50 20 4d 41 49  |LOCK.V...JMP MAI|
00000750  4e 4c 4f 50 00 6c 0f 8a  0c 47 41 4d 45 4f 56 45  |NLOP.l...GAMEOVE|
00000760  52 20 4a 53 52 20 47 41  4d 80 00 83 0f a0 0f 3b  |R JSR GAM......;|
00000770  20 47 52 41 50 48 49 43  20 52 4f 55 54 49 4e 45  | GRAPHIC ROUTINE|
00000780  53 00 9b 0f a5 0f 44 49  53 50 42 4c 4f 43 4b 20  |S.....DISPBLOCK |
00000790  4a 53 52 20 53 54 41 43  4b 00 aa 0f a7 0f 4a 53  |JSR STACK.....JS|
000007a0  52 20 49 4e 49 54 44 42  00 b6 0f aa 0f 4c 44 58  |R INITDB.....LDX|
000007b0  20 59 50 53 00 ca 0f b4  0f 59 50 4c 4f 50 44 20  | YPS.....YPLOPD |
000007c0  43 50 58 20 23 24 30 30  00 d9 0f be 0f 42 45 51  |CPX #$00.....BEQ|
000007d0  20 59 50 44 43 4e 54 00  e1 0f c8 0f 44 45 58 00  | YPDCNT.....DEX.|
000007e0  ee 0f d2 0f 4c 44 41 20  4d 45 4d 53 00 f6 0f dc  |....LDA MEMS....|
000007f0  0f 43 4c 43 00 03 10 e6  0f 41 44 43 20 23 24 35  |.CLC.....ADC #$5|
00000800  30 00 10 10 f2 0f 53 54  41 20 4d 45 4d 53 00 1f  |0.....STA MEMS..|
00000810  10 fa 0f 42 43 43 20 59  50 4c 4f 50 44 00 2e 10  |...BCC YPLOPD...|
00000820  04 10 49 4e 43 20 4d 45  4d 53 aa 31 00 3d 10 0e  |..INC MEMS.1.=..|
00000830  10 4a 4d 50 20 59 50 4c  4f 50 44 00 50 10 18 10  |.JMP YPLOPD.P...|
00000840  59 50 44 43 4e 54 20 4c  44 41 20 58 50 53 00 5a  |YPDCNT LDA XPS.Z|
00000850  10 22 10 41 53 4c 20 41  00 62 10 2c 10 43 4c 43  |.".ASL A.b.,.CLC|
00000860  00 6f 10 36 10 41 44 43  20 4d 45 4d 53 00 7c 10  |.o.6.ADC MEMS.|.|
00000870  40 10 53 54 41 20 4d 45  4d 53 00 8a 10 4a 10 42  |@.STA MEMS...J.B|
00000880  43 43 20 58 50 43 4e 54  00 99 10 54 10 49 4e 43  |CC XPCNT...T.INC|
00000890  20 4d 45 4d 53 aa 31 00  ad 10 5e 10 58 50 43 4e  | MEMS.1...^.XPCN|
000008a0  54 20 4c 44 41 20 4d 45  4d 52 53 00 bc 10 68 10  |T LDA MEMRS...h.|
000008b0  53 54 41 20 4d 45 4d 52  aa 31 00 c9 10 72 10 4c  |STA MEMR.1...r.L|
000008c0  44 41 20 23 24 30 30 00  d5 10 7c 10 4c 44 58 20  |DA #$00...|.LDX |
000008d0  59 50 53 00 ea 10 86 10  44 42 59 4c 4f 50 20 42  |YPS.....DBYLOP B|
000008e0  45 51 20 59 50 43 4e 54  00 f2 10 90 10 43 4c 43  |EQ YPCNT.....CLC|
000008f0  00 ff 10 9a 10 41 44 43  20 23 24 31 34 00 07 11  |.....ADC #$14...|
00000900  a4 10 44 45 58 00 16 11  ae 10 4a 4d 50 20 44 42  |..DEX.....JMP DB|
00000910  59 4c 4f 50 00 24 11 b8  10 59 50 43 4e 54 20 43  |YLOP.$...YPCNT C|
00000920  4c 43 00 30 11 c2 10 41  44 43 20 59 50 53 00 3d  |LC.0...ADC YPS.=|
00000930  11 cc 10 53 54 41 20 4d  45 4d 52 00 4e 11 d6 10  |...STA MEMR.N...|
00000940  4c 44 41 20 28 4d 45 4d  52 29 2c 59 00 59 11 e0  |LDA (MEMR),Y.Y..|
00000950  10 53 54 41 20 42 54 00  63 11 ea 10 41 53 4c 20  |.STA BT.c...ASL |
00000960  41 00 74 11 f4 10 53 54  41 20 28 4d 45 4d 53 29  |A.t...STA (MEMS)|
00000970  2c 59 00 7c 11 fe 10 43  4c 43 00 89 11 08 11 41  |,Y.|...CLC.....A|
00000980  44 43 20 23 24 30 31 00  91 11 12 11 49 4e 59 00  |DC #$01.....INY.|
00000990  a2 11 1c 11 53 54 41 20  28 4d 45 4d 53 29 2c 59  |....STA (MEMS),Y|
000009a0  00 aa 11 26 11 43 4c 43  00 b7 11 30 11 41 44 43  |...&.CLC...0.ADC|
000009b0  20 23 24 31 46 00 c4 11  3a 11 4c 44 59 20 23 24  | #$1F...:.LDY #$|
000009c0  32 38 00 d5 11 44 11 53  54 41 20 28 4d 45 4d 53  |28...D.STA (MEMS|
000009d0  29 2c 59 00 dd 11 4e 11  43 4c 43 00 ea 11 58 11  |),Y...N.CLC...X.|
000009e0  41 44 43 20 23 24 30 31  00 f2 11 62 11 49 4e 59  |ADC #$01...b.INY|
000009f0  00 03 12 6c 11 53 54 41  20 28 4d 45 4d 53 29 2c  |...l.STA (MEMS),|
00000a00  59 00 12 12 76 11 4c 44  41 20 4d 45 4d 53 aa 31  |Y...v.LDA MEMS.1|
00000a10  00 1a 12 80 11 43 4c 43  00 27 12 8a 11 41 44 43  |.....CLC.'...ADC|
00000a20  20 23 24 35 34 00 36 12  94 11 53 54 41 20 4d 45  | #$54.6...STA ME|
00000a30  4d 53 aa 31 00 43 12 9e  11 4c 44 59 20 23 24 30  |MS.1.C...LDY #$0|
00000a40  30 00 4e 12 a8 11 4c 44  41 20 42 54 00 5f 12 b2  |0.N...LDA BT._..|
00000a50  11 53 54 41 20 28 4d 45  4d 53 29 2c 59 00 67 12  |.STA (MEMS),Y.g.|
00000a60  bc 11 49 4e 59 00 78 12  c6 11 53 54 41 20 28 4d  |..INY.x...STA (M|
00000a70  45 4d 53 29 2c 59 00 85  12 d0 11 4c 44 59 20 23  |EMS),Y.....LDY #|
00000a80  24 32 38 00 96 12 da 11  53 54 41 20 28 4d 45 4d  |$28.....STA (MEM|
00000a90  53 29 2c 59 00 9e 12 e4  11 49 4e 59 00 af 12 ee  |S),Y.....INY....|
00000aa0  11 53 54 41 20 28 4d 45  4d 53 29 2c 59 00 bf 12  |.STA (MEMS),Y...|
00000ab0  f8 11 4a 4d 50 20 55 4e  53 54 41 43 4b 00 e3 12  |..JMP UNSTACK...|
00000ac0  02 12 49 4e 49 54 44 42  20 4c 44 41 20 23 24 30  |..INITDB LDA #$0|
00000ad0  34 20 3b 20 43 48 41 4e  47 45 20 a4 20 23 24 39  |4 ; CHANGE . #$9|
00000ae0  38 00 f2 12 0c 12 53 54  41 20 4d 45 4d 53 aa 31  |8.....STA MEMS.1|
00000af0  00 ff 12 16 12 4c 44 59  20 23 24 30 30 00 0c 13  |.....LDY #$00...|
00000b00  20 12 53 54 59 20 4d 45  4d 53 00 14 13 2a 12 52  | .STY MEMS...*.R|
00000b10  54 53 00 2f 13 28 23 3b  20 49 4e 54 45 52 4c 41  |TS./.(#; INTERLA|
00000b20  43 49 4e 47 20 52 4f 55  54 49 4e 45 53 00 3e 13  |CING ROUTINES.>.|
00000b30  32 23 49 4c 41 43 45 91  20 53 45 49 00 50 13 3c  |2#ILACE. SEI.P.<|
00000b40  23 4c 44 41 20 23 b3 b5  45 52 4c 41 43 45 00 5e  |#LDA #..ERLACE.^|
00000b50  13 46 23 53 54 41 20 24  30 33 31 34 00 70 13 50  |.F#STA $0314.p.P|
00000b60  23 4c 44 41 20 23 b1 b5  45 52 4c 41 43 45 00 7e  |#LDA #..ERLACE.~|
00000b70  13 5a 23 53 54 41 20 24  30 33 31 35 00 86 13 64  |.Z#STA $0315...d|
00000b80  23 43 4c 49 00 8e 13 6e  23 52 54 53 00 9f 13 78  |#CLI...n#RTS...x|
00000b90  23 49 4c 41 43 45 4f 46  46 20 53 45 49 00 b3 13  |#ILACEOFF SEI...|
00000ba0  82 23 4c 44 41 20 23 b3  49 4c 41 43 45 51 55 49  |.#LDA #.ILACEQUI|
00000bb0  54 00 c1 13 8c 23 53 54  41 20 24 30 33 31 34 00  |T....#STA $0314.|
00000bc0  d5 13 96 23 4c 44 41 20  23 b1 49 4c 41 43 45 51  |...#LDA #.ILACEQ|
00000bd0  55 49 54 00 e3 13 a0 23  53 54 41 20 24 30 33 31  |UIT....#STA $031|
00000be0  35 00 f0 13 aa 23 4c 44  41 20 23 24 36 34 00 fe  |5....#LDA #$64..|
00000bf0  13 b4 23 53 54 41 20 24  44 30 31 38 00 06 14 be  |..#STA $D018....|
00000c00  23 43 4c 49 00 0e 14 c8  23 52 54 53 00 26 14 d2  |#CLI....#RTS.&..|
00000c10  23 b5 45 52 4c 41 43 45  20 4c 44 41 20 49 4c 53  |#.ERLACE LDA ILS|
00000c20  54 41 54 45 00 35 14 dc  23 42 45 51 20 49 4e 5a  |TATE.5..#BEQ INZ|
00000c30  45 52 4f 00 42 14 e6 23  4c 44 41 20 23 24 30 30  |ERO.B..#LDA #$00|
00000c40  00 52 14 f0 23 53 54 41  20 49 4c 53 54 41 54 45  |.R..#STA ILSTATE|
00000c50  00 5f 14 fa 23 4c 44 41  20 23 24 36 32 00 6d 14  |._..#LDA #$62.m.|
00000c60  04 24 53 54 41 20 24 44  30 31 38 00 7a 14 0e 24  |.$STA $D018.z..$|
00000c70  4c 44 41 20 23 24 31 35  00 88 14 18 24 53 54 41  |LDA #$15....$STA|
00000c80  20 24 44 30 31 36 00 a1  14 22 24 49 4c 41 43 45  | $D016..."$ILACE|
00000c90  51 55 49 54 20 4a 4d 50  20 28 49 52 51 9a 29 00  |QUIT JMP (IRQ.).|
00000ca0  b8 14 2c 24 49 4e 5a 45  52 4f 20 49 4e 43 20 49  |..,$INZERO INC I|
00000cb0  4c 53 54 41 54 45 00 c5  14 36 24 4c 44 41 20 23  |LSTATE...6$LDA #|
00000cc0  24 36 30 00 d3 14 40 24  53 54 41 20 24 44 30 31  |$60...@$STA $D01|
00000cd0  38 00 e0 14 4a 24 4c 44  41 20 23 24 31 34 00 ee  |8...J$LDA #$14..|
00000ce0  14 54 24 53 54 41 20 24  44 30 31 36 00 fd 14 5e  |.T$STA $D016...^|
00000cf0  24 4a 4d 50 20 28 49 52  51 9a 29 00 11 15 10 27  |$JMP (IRQ.)....'|
00000d00  3b 20 54 45 4d 50 20 52  4f 55 54 49 4e 45 53 00  |; TEMP ROUTINES.|
00000d10  21 15 11 27 45 46 46 45  43 54 53 20 4e 4f 50 00  |!..'EFFECTS NOP.|
00000d20  33 15 12 27 46 55 4c 4c  53 44 49 53 50 20 4e 4f  |3..'FULLSDISP NO|
00000d30  50 00 3f 15 13 27 59 4f  55 20 4e 4f 50 00 4f 15  |P.?..'YOU NOP.O.|
00000d40  14 27 4d 91 53 54 45 52  53 20 4e 4f 50 00 5d 15  |.'M.STERS NOP.].|
00000d50  15 27 50 41 4e 45 4c 20  4e 4f 50 00 6a 15 16 27  |.'PANEL NOP.j..'|
00000d60  47 41 4d 80 20 4e 4f 50  00 00 00                 |GAM. NOP...|
00000d6b