From 3a00ab2537d1cbcc202df6316cd8078ad0df60d6 Mon Sep 17 00:00:00 2001 From: Antoine Vignau <34219772+antoinevignau@users.noreply.github.com> Date: Fri, 26 Jul 2024 09:07:36 +0200 Subject: [PATCH] v+1 More ghosts data --- .../images/Bubble Bobble Flip disk.jpg | Bin 0 -> 36326 bytes .../images/Bubble Bobble Title picture.jpg | Bin 0 -> 98883 bytes pacman/PACMAN.E.S | 40 +- pacman/PACMAN.S | 1490 ++++++++--------- pacman/disks/PACMAN.DSK | Bin 0 -> 143360 bytes 5 files changed, 742 insertions(+), 788 deletions(-) create mode 100644 bubblebobble/images/Bubble Bobble Flip disk.jpg create mode 100644 bubblebobble/images/Bubble Bobble Title picture.jpg create mode 100644 pacman/disks/PACMAN.DSK diff --git a/bubblebobble/images/Bubble Bobble Flip disk.jpg b/bubblebobble/images/Bubble Bobble Flip disk.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f97ecf2bd7f2365e809090f462ab484eb7d2f653 GIT binary patch literal 36326 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 literal 0 HcmV?d00001 diff --git a/bubblebobble/images/Bubble Bobble Title picture.jpg b/bubblebobble/images/Bubble Bobble Title picture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c2984aadd0fb5a99b99ba56c32e6ce1b56c0ebfd GIT binary patch literal 98883 zcmeEv2V7Ix-tDnsLli|+&{#m4fQkqzl2HZ`5D*ZeAY>E~0Rd?O3ORO^mXSKrq9P(7 zL}{UC=mJ8dHz9;7NFV_Wfg~qy2WK2-?sva?=f3;i`|kTqG+`4@PR?%sz5Z*hedM?E zX;6)}xBVpuGBAMTAqZLqEnOfAEdr$l;19H5GqhyB3_<1#B)*od7s&o{%t8oSxbC;( z{q3Q}zZ?(FIsZ8E%kN))3jGK{Lg1and-mw{gFE^wg=7f;0U3Q&9fx!D1OzoH3eM%0AS0>! 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�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≧*e6tIi!b*2tt*$-v`A-%Eo{+FSCC6lw} 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 SemnnCwRf9@`M>Qi$^9p>O8=Dr literal 0 HcmV?d00001 diff --git a/pacman/PACMAN.E.S b/pacman/PACMAN.E.S index bc20450..29bbed4 100644 --- a/pacman/PACMAN.E.S +++ b/pacman/PACMAN.E.S @@ -9,6 +9,11 @@ sprEMPTY = 0 ; three tile possibilities sprDOT = 1 sprENERGY = 2 +gINKY = 1 +gPINKY = 2 +gBLINKY = 3 +gCLYDE = 4 + nbDOTS = 248 ; 244 normal dots & 4 energizer dots L0300 = $0300 ; buffer area to save scores @@ -47,20 +52,29 @@ zpSPRHEIGHT = $18 ; (byte) sprite height in lines zpSPRWIDTH = $1a ; (byte) sprite width in bytes zpPTR3 = $1b ; (word) zpMONITOR = $1d ; 0: b&w, 1: color -zp1E = $1e +hgrBIT7 = $1e ; (byte) defines which palette to use ($00 or $80) zp1F = $1f * $20 to $4F are not used -zpCURPLAYER = $50 ; current player index -zpNBPLAYERS = $51 ; number of players (1..5) -zpCURSCORE = $52 ; (3 bytes) score -zpRANK = $55 ; rank number (ie. the level) -zpNBDOTS = $56 ; number of dots on the board (248 by default) -zpNBLIVES = $58 ; number of lives (bit 7 is set) +zpCURPLAYER = $50 ; (byte) current player index +zpNBPLAYERS = $51 ; (byte) number of players (1..5) +curSCORE = $52 ; (3 bytes) score +zpRANK = $55 ; (byte) rank number (ie. the level) +zpNBDOTS = $56 ; (byte) number of dots on the board (248 by default) +fruitFREQ = $57 ; (byte) appearance frequency of a fruits +zpNBLIVES = $58 ; (byte) number of lives (bit 7 is set) +frameCNT = $59 ; (byte) frame counter zpPTRFRUIT = $5c ; (word) pointer to the fruit sprite -zpDOTTEMPO = $5e ; tempo for energizer dot blinking -zpDOTFLAG = $5f ; 0: show dots, 1: hide dots -zpE0 = $e0 ; 1: Inky, 2: Pinky, 3: Blinky, 4: Clyde -zpDEMO = $e8 ; 0: game, 1: demo -zpFGMUSIC = $f4 ; 0: music never played, 1: intro music played -zpDEVICE = $f5 ; 0: joypad, 1: joystick +zpDOTTEMPO = $5e ; (byte) tempo for energizer dot blinking +zpDOTFLAG = $5f ; (byte) 0: show dots, 1: hide dots +pacmanX = $60 ; (byte) Pacman X +pacmanY = $61 ; (byte) Pacman Y +boardY = $6a ; (byte) y-coord in board +boardX = $6b ; (byte) x-coord in board +enemyX = $70 ; (byte) enemy X +enemyY = $71 ; (byte) enemy Y +ghostINDEX = $e0 ; (byte) 1: Inky, 2: Pinky, 3: Blinky, 4: Clyde +fgDEMO = $e8 ; (byte) 0: game, 1: demo +zpSPEED = f3 ; (byte) ghosts speed +fgMUSIC = $f4 ; (byte) 0: music never played, 1: intro music played +theDEVICE = $f5 ; (byte) 0: joypad, 1: joystick diff --git a/pacman/PACMAN.S b/pacman/PACMAN.S index 7b5acc5..28c8e42 100644 --- a/pacman/PACMAN.S +++ b/pacman/PACMAN.S @@ -79,8 +79,8 @@ L4027 LDA #$01 STA zpHISCORE+2 STA zpNBLIVES LDA #$01 - STA zpMONITOR ; ZP - color monitor if 1 - STA zpDEMO ; ZP - demo if 1 + STA fgCOLOR ; ZP - color monitor if 1 + STA fgDEMO ; ZP - demo if 1 LDA # TO PLAY"8D +strHOWMANY ASC "HOW MANY PLAYERS? (1 - 5) " +strRETURN ASC "PRESS TO PLAY"8D ASC "OR TO GO BACK TO DEMO. " *----------------------------------- @@ -477,7 +476,7 @@ welcomeSCRIPT welcomePAGE LDA #$01 - STA zpDEMO + STA fgDEMO JSR showTITLESCREEN JSR clearHGR @@ -504,7 +503,7 @@ welcomePAGE LDA #$22 STA zpY1 LDA #$01 - STA $E0 + STA ghostINDEX JSR L88A2 LDY zpTEMP4 ; Shadow @@ -518,7 +517,7 @@ welcomePAGE LDA #$31 STA zpY1 LDA #$03 - STA $E0 + STA ghostINDEX JSR L88A2 LDY zpTEMP4 ; Bashful @@ -532,7 +531,7 @@ welcomePAGE LDA #$40 STA zpY1 LDA #$02 - STA $E0 + STA ghostINDEX JSR L88A2 LDY zpTEMP4 ; Speedy @@ -546,7 +545,7 @@ welcomePAGE LDA #$4F STA zpY1 LDA #$04 - STA $E0 + STA ghostINDEX JSR L88A2 LDY zpTEMP4 ; Pokey @@ -744,7 +743,7 @@ L467C JSR L7DB8 L4689 LDA #$70 STA zpDOTTEMPO LDA #$20 - STA $59 + STA frameCNT LDA #$18 STA $80 LDA #$03 @@ -757,14 +756,14 @@ L4689 LDA #$70 STA $81 STA zpDOTFLAG LDA #$8D - STA $60 + STA pacmanX LDA #$68 - STA $71 - STA $61 + STA enemyY + STA pacmanY LDA #$04 - STA $E0 -L46B5 JSR L8712 - DEC $E0 + STA ghostINDEX +L46B5 JSR getGHOSTSDATA + DEC ghostINDEX BNE L46B5 LDA #$B1 STA $84 @@ -774,38 +773,38 @@ L46B5 JSR L8712 STA $AC LDA #$E1 STA $C0 -L46CC DEC $59 +L46CC DEC frameCNT BNE L46EC JSR getINPUT LDA #$20 - STA $59 - JSR L7D80 + STA frameCNT + JSR setXYPACMAN JSR eraseSPRITE44 SEC - LDA $60 + LDA pacmanX SBC #$02 - STA $60 - JSR L7D80 + STA pacmanX + JSR setXYPACMAN INC $66 JSR L79A4 L46EC JSR L6CF3 LDA #$04 - STA $E0 -L46F3 JSR L86FC + STA ghostINDEX +L46F3 JSR setGHOSTSDATA DEC $80 BNE L4711 LDA #$18 STA $80 - JSR L7D8D + JSR setXYENEMY JSR eraseSPRITE44 SEC - LDA $70 + LDA enemyX SBC #$02 - STA $70 - JSR L7D8D + STA enemyX + JSR setXYENEMY JSR L88A2 -L4711 JSR L8712 - DEC $E0 +L4711 JSR getGHOSTSDATA + DEC ghostINDEX BNE L46F3 DEC $5E BNE L4742 @@ -827,7 +826,7 @@ L4733 LDA #$66 JSR L7819 LDA #$01 L4740 STA zpDOTFLAG -L4742 LDA $60 +L4742 LDA pacmanX CMP #$4F BCC L474B JMP L46CC @@ -842,24 +841,24 @@ L474B LDA #$01 LDA #$02 STA $68 STA $62 -L475F DEC $59 +L475F DEC frameCNT BNE L477F JSR getINPUT LDA #$20 - STA $59 - JSR L7D80 + STA frameCNT + JSR setXYPACMAN JSR eraseSPRITE44 CLC - LDA $60 + LDA pacmanX ADC #$02 - STA $60 - JSR L7D80 + STA pacmanX + JSR setXYPACMAN INC $66 JSR L79A4 L477F JSR L6CF3 LDA #$04 - STA $E0 -L4786 JSR L86FC + STA ghostINDEX +L4786 JSR setGHOSTSDATA DEC $80 BNE L47C0 LDA #$40 @@ -867,8 +866,8 @@ L4786 JSR L86FC LDA $79 BNE L47C0 SEC - LDA $70 - SBC $60 + LDA enemyX + SBC pacmanX CMP #$05 BCS L47AD JSR L467C @@ -878,16 +877,16 @@ L4786 JSR L86FC LDA #$01 STA $79 BNE L47C0 -L47AD JSR L7D8D +L47AD JSR setXYENEMY JSR eraseSPRITE44 CLC - LDA $70 + LDA enemyX ADC #$02 - STA $70 - JSR L7D8D + STA enemyX + JSR setXYENEMY JSR L88A2 -L47C0 JSR L8712 - DEC $E0 +L47C0 JSR getGHOSTSDATA + DEC ghostINDEX BNE L4786 BEQ L475F L47C9 LDA #L9CB8 - JMP L6A20 + LDA #sprPACMANRIGHT2 + JMP drawSPRITE *----------------------------------- * BLINK THINGS! @@ -2051,7 +2049,7 @@ blinkTHINGS JSR blinkPLAYERNAME L5716 JSR getMAXRANK15 TAX - LDA L5733,X + LDA tblBLINKTEMPO,X STA zpDOTTEMPO LDA zpDOTFLAG @@ -2066,22 +2064,8 @@ L572B JSR showENERGIZERS STA zpDOTFLAG RTS -L5733 DB $50 ; Tempo table - DB $50 - DB $50 - DB $50 - DB $50 - DB $50 - DB $50 - DB $50 - DB $50 - DB $50 - DB $50 - DB $50 - DB $50 - DB $50 - DB $50 - DB $50 +tblBLINKTEMPO ; Tempo table + HEX 50505050505050505050505050505050 *----------------------------------- * HIDE ENERGIZERS @@ -2236,19 +2220,19 @@ showPACMAN LDA #$8B ; draw Pacman at its initial position LDA #$00 STA zpX1+1 LDA #$00 - STA $1E - LDA #sprPACMAN0 ; fully closed - JMP L6A20 + STA hgrBIT7 + LDA #sprPACMANFULL ; fully closed + JMP drawSPRITE *----------------------------------- * GET READY!! *----------------------------------- getREADY JSR showPACMAN - LDA zpDEMO ; are we playing? + LDA fgDEMO ; are we playing? BEQ L585A - JMP showGAMEOVER ; no, demo + JMP showGAMEOVER ; no, demo L585A LDA #$68 ; yes... STA zpY1 @@ -2291,10 +2275,10 @@ sprREADY HEX 787C0C0F49 *----------------------------------- blinkPLAYERNAME - LDA $59 + LDA frameCNT CMP #$01 BNE L58C6 - LDA zpDEMO + LDA fgDEMO BEQ L58C0 JSR showGAMEOVER L58C0 LDA $E5 @@ -2371,60 +2355,48 @@ L5903 DB $08 * DRAW A DOT ON SCREEN *----------------------------------- -drawDOT LDA L5925,X +drawDOT LDA xBITON,X ORA (zpHGR),Y STA (zpHGR),Y RTS - LDA L592C,X + LDA xBITOFF,X AND (zpHGR),Y - ORA $1E + ORA hgrBIT7 STA (zpHGR),Y RTS -L5925 DB $01 - DB $02 - DB $04 - DB $08 - DB $10 - DB $20 - DB $40 -L592C DB $FE - DB $FD - DB $FB - DB $F7 - DB $EF - DB $DF - DB $BF +xBITON HEX 01020408102040 +xBITOFF HEX FEFDFBF7EFDFBF *----------------------------------- * CALCULATE HGR X-COORDS *----------------------------------- -calcXYHGR LDA zpX1+1 ; address in board? - BEQ L594B ; yup - CLC ; no, after +calcXYHGR LDA zpX1+1 ; address in 0-255? + BEQ L594B ; yup + CLC ; no, after LDA zpX1 ADC #$04 TAX CLC - LDA L5A58,X + LDA tblXBYT,X ADC #$24 STA zpXCOL ; to the right of the board - LDA L5958,X + LDA tblXBIT,X STA zpXBIT ; the x-sprite offset RTS -L594B LDX zpX1 ; from x-coord - LDA L5A58,X +L594B LDX zpX1 ; from x-coord + LDA tblXBYT,X STA zpXCOL ; to x-screen - LDA L5958,X + LDA tblXBIT,X STA zpXBIT ; and x-sprite offset RTS *--- X-coord to Y-byte -L5958 HEX 00010203040506000102030405060001 +tblXBIT HEX 00010203040506000102030405060001 HEX 02030405060001020304050600010203 HEX 04050600010203040506000102030405 HEX 06000102030405060001020304050600 @@ -2443,7 +2415,7 @@ L5958 HEX 00010203040506000102030405060001 *--- X-coord to Y-col -L5A58 HEX 00000000000000010101010101010202 +tblXBYT HEX 00000000000000010101010101010202 HEX 02020202020303030303030304040404 HEX 04040405050505050505060606060606 HEX 06070707070707070808080808080809 @@ -2466,16 +2438,16 @@ L5A58 HEX 00000000000000010101010101010202 setHGRADDRESS LDX zpY1 - LDA L5B67,X + LDA tblHGRL,X STA zpHGR - LDA L5C27,X + LDA tblHGRH,X ORA #>HGR STA zpHGR+1 RTS *--- The HGR tables -L5B67 HEX 00000000000000008080808080808080 +tblHGRL HEX 00000000000000008080808080808080 HEX 00000000000000008080808080808080 HEX 00000000000000008080808080808080 HEX 00000000000000008080808080808080 @@ -2487,7 +2459,7 @@ L5B67 HEX 00000000000000008080808080808080 HEX 5050505050505050D0D0D0D0D0D0D0D0 HEX 5050505050505050D0D0D0D0D0D0D0D0 HEX 5050505050505050D0D0D0D0D0D0D0D0 -L5C27 HEX 0004080C1014181C0004080C1014181C +tblHGRH HEX 0004080C1014181C0004080C1014181C HEX 0105090D1115191D0105090D1115191D HEX 02060A0E12161A1E02060A0E12161A1E HEX 03070B0F13171B1F03070B0F13171B1F @@ -2525,9 +2497,9 @@ L5CF6 JSR setHGRADDRESS L5D00 JSR drawDOT LDA (zpHGR),Y AND #$7F - ORA $1E + ORA hgrBIT7 STA (zpHGR),Y - LDA zpMONITOR + LDA fgCOLOR BEQ L5D31 JSR getNEXTXBIT JSR getNEXTXBIT @@ -2574,8 +2546,8 @@ L5D40 JSR setHGRADDRESS drawGAMEBOARD LDA #$80 - STA $1E - LDA zpMONITOR + STA hgrBIT7 + LDA fgCOLOR BEQ L5D66 LDA #theBOARD STA zpPTR2+1 - LDA $6A - ASL + LDA boardY ASL ASL ASL + ASL ; *16 BCC L7A7B INC zpPTR2+1 INC zpPTR2+1 @@ -5166,45 +5147,19 @@ L7A7B ASL BCC L7A80 INC zpPTR2+1 L7A80 CLC - ADC $6B + ADC boardX ADC #L7D3F + LDA #intromusicDATA JMP playSONG -L7D3F DB $41 - DB $60 - DB $41 - DB $30 - DB $41 - DB $20 - DB $49 - DB $24 - DB $57 - DB $26 - DB $41 - DB $60 - DB $37 - DB $A0 - DB $41 - DB $60 - DB $41 - DB $30 - DB $41 - DB $20 - DB $49 - DB $24 - DB $57 - DB $26 - DB $41 - DB $60 - DB $49 - DB $70 - DB $41 - DB $60 - DB $41 - DB $30 - DB $41 - DB $20 - DB $49 - DB $24 - DB $57 - DB $26 - DB $41 - DB $60 - DB $39 - DB $80 - DB $39 - DB $20 - DB $31 - DB $24 - DB $2E - DB $A0 - DB $31 - DB $90 - DB $39 - DB $60 - DB $41 - DB $30 - DB $34 - DB $80 - DB $41 - DB $82 - DB $00 - DB $00 +*--- Song data + +intromusicDATA + HEX 41604130412049245726416037A04160 + HEX 41304120492457264160497041604130 + HEX 41204924572641603980392031242EA0 + HEX 319039604130348041820000 *----------------------------------- * WAIT FOR THE SONG ROUTINE @@ -5807,20 +5717,20 @@ sndWAIT LDX #$1E JMP doWAIT2 *----------------------------------- -* +* SET X/Y COORDS FOR THE ENGINE *----------------------------------- -L7D80 LDA $60 +setXYPACMAN LDA pacmanX ; coords of Pacman STA zpX1 - LDA $61 + LDA pacmanY STA zpY1 LDA #$00 STA zpX1+1 RTS -L7D8D LDA $70 +setXYENEMY LDA enemyX ; coords of the current enemy STA zpX1 - LDA $71 + LDA enemyY STA zpY1 LDA #$00 STA zpX1+1 @@ -5867,8 +5777,8 @@ L7DB8 LDA $68 BEQ L7DD2 CMP #$08 BEQ L7DD8 - LDA #$21 - LDY #$80 + LDA #8021 BNE L7DDC L7DCC LDA #L7FC7 @@ -5880,13 +5790,13 @@ L7DD8 LDA #L8003 L7DDC STA zpPTR2 STY zpPTR2+1 - JSR L7D80 + JSR setXYPACMAN JSR eraseSPRITE44 - JSR L7D8D + JSR setXYENEMY JSR eraseSPRITE44 - JSR L7D8D + JSR setXYENEMY JSR L7E1F - LDA zpDEMO + LDA fgDEMO BNE L7E0E JSR L805D JSR L805D @@ -5899,9 +5809,9 @@ L7DDC STA zpPTR2 L7E0E LDX #$FF JSR doWAIT2 -L7E13 JSR L7D8D +L7E13 JSR setXYENEMY JSR eraseSPRITE54 - JSR L7D80 + JSR setXYPACMAN JMP L79A4 L7E1F JSR moveCURSOR54 @@ -5925,7 +5835,11 @@ L7E3C JSR calcSPROFFSET SBC zpXBIT BCS L7E4C DEY -L7E4C JMP L6A20 +L7E4C JMP drawSPRITE + +*----------------------------------- +* +*----------------------------------- L7E4F LDX #$1B L7E51 ASL L7E70,X @@ -5948,9 +5862,9 @@ L7E51 ASL L7E70,X *--- Array of data is $50 bytes L7E70 DB $CB -L7E71 DB $A0 -L7E72 DB $D4 -L7E73 DB $CF + DB $A0 + DB $D4 + DB $CF DB $A0 DB $C4 DB $C5 @@ -5974,7 +5888,8 @@ L7E73 DB $CF DB $84 DB $0B DB $A4 - DB $0B + DB $0B ; $1B + DB $B1 DB $14 DB $30 @@ -6032,23 +5947,23 @@ L7E73 DB $CF * *----------------------------------- -L7EC0 JSR L7D80 - LDA #L9BE6 - JSR L6A20 +L7EC0 JSR setXYPACMAN + LDA #sprPACMANUP2 + JSR drawSPRITE LDY #$03 L7ECC LDX #$FF JSR doWAIT2 DEY BNE L7ECC - JSR L7D80 + JSR setXYPACMAN JSR eraseSPRITE44 LDA #$06 STA zpTEMP3 L7EDE LDA zpTEMP3 ASL TAX - JSR L7D80 + JSR setXYPACMAN LDA L7F05,X LDY L7F05+1,X STA zpPTR2 @@ -6057,7 +5972,7 @@ L7EDE LDA zpTEMP3 JSR L7C82 LDX #$80 JSR doWAIT2 - JSR L7D80 + JSR setXYPACMAN JSR eraseSPRITE54 DEC zpTEMP3 BNE L7EDE @@ -6341,7 +6256,7 @@ L8003 DB $00 DB $00 DB $00 L8020 DB $00 - DB $44 +L8021 DB $44 DB $00 DB $00 DB $44 @@ -6396,12 +6311,12 @@ L804E CLC STA zpY1 RTS -L805D LDA $E0 +L805D LDA ghostINDEX STA $F1 - JSR L8712 + JSR getGHOSTSDATA LDA #$04 - STA $E0 -L8068 JSR L86FC + STA ghostINDEX +L8068 JSR setGHOSTSDATA LDA $79 BEQ L807D LDA #$01 @@ -6410,12 +6325,12 @@ L8068 JSR L86FC LDA #$01 STA $80 JSR L8763 -L807D JSR L8712 - DEC $E0 +L807D JSR getGHOSTSDATA + DEC ghostINDEX BNE L8068 LDA $F1 - STA $E0 - JSR L86FC + STA ghostINDEX + JSR setGHOSTSDATA RTS L808C LDA $EA @@ -6448,8 +6363,8 @@ L80B1 JSR L80C1 L80C0 RTS L80C1 LDA #$04 - STA $E0 -L80C5 JSR L86FC + STA ghostINDEX +L80C5 JSR setGHOSTSDATA LDA $81 BNE L80DB LDA $72 @@ -6460,8 +6375,8 @@ L80C5 JSR L86FC LDA #$FF INY STA ($75),Y -L80DB JSR L8712 - DEC $E0 +L80DB JSR getGHOSTSDATA + DEC ghostINDEX BNE L80C5 RTS @@ -6550,7 +6465,7 @@ cartoonHLINE STY zpX2 ; Y from STX zpY1 ; Y to LDA #$80 ; mode - STA $1E + STA hgrBIT7 JMP drawHLINE *----------------------------------- @@ -6569,20 +6484,20 @@ cartoonVLINE initCARTOON LDA #$C1 ; start X - STA $60 + STA pacmanX LDA #$7A ; Y - STA $61 - STA $71 + STA pacmanY + STA enemyY LDA #$E5 - STA $70 + STA enemyX LDA #$00 STA $79 STA $78 STA $66 LDA #$01 - STA $E0 + STA ghostINDEX STA $81 - STA $59 + STA frameCNT STA $80 LDA #$03 STA $62 @@ -6596,20 +6511,20 @@ playCARTOON1 JSR clearHGR JSR setHGR JSR initCARTOON -L81B7 DEC $59 +L81B7 DEC frameCNT BNE L81DB LDA #$20 - STA $59 - JSR L7D80 + STA frameCNT + JSR setXYPACMAN JSR eraseSPRITE44 SEC - LDA $60 ; x -= 2 + LDA pacmanX ; x -= 2 SBC #$02 - STA $60 + STA pacmanX STA zpX1 CMP #$21 BCC L81FC - LDA $61 + LDA pacmanY STA zpY1 INC $66 JSR L79A4 @@ -6618,19 +6533,19 @@ L81DB JSR doWAIT BNE L81F9 LDA #$1D STA $80 - JSR L7D8D + JSR setXYENEMY JSR eraseSPRITE44 SEC - LDA $70 + LDA enemyX SBC #$02 - STA $70 - JSR L7D8D + STA enemyX + JSR setXYENEMY JSR L88A2 L81F9 JMP L81B7 -L81FC JSR L7D80 +L81FC JSR setXYPACMAN JSR eraseSPRITE44 - JSR L7D8D + JSR setXYENEMY JSR eraseSPRITE44 LDY #$08 L820A LDX #$64 @@ -6638,21 +6553,21 @@ L820A LDX #$64 DEY BNE L820A LDA #$00 - STA $60 + STA pacmanX SEC - LDA $61 + LDA pacmanY SBC #$0E - STA $61 + STA pacmanY LDA #$38 - STA $70 -L8221 DEC $59 + STA enemyX +L8221 DEC frameCNT BNE L8237 LDA #$06 - STA $59 + STA frameCNT CLC - LDA $60 + LDA pacmanX ADC #$02 - STA $60 + STA pacmanX CMP #$A0 BCS L8258 JSR L8259 @@ -6661,13 +6576,13 @@ L8237 JSR doWAIT BNE L8255 LDA #$07 STA $80 - JSR L7D8D + JSR setXYENEMY JSR eraseSPRITE44 CLC - LDA $70 + LDA enemyX ADC #$02 - STA $70 - JSR L7D8D + STA enemyX + JSR setXYENEMY JSR L88A2 L8255 JMP L8221 L8258 RTS @@ -6681,9 +6596,9 @@ L8259 INC $66 LDY L82D8+1,X STA L827A+1 STY L827A+2 - LDA $61 + LDA pacmanY STA zpY1 - LDA $60 + LDA pacmanX STA zpX1 JSR calcXYHGR LDY #$4F @@ -6715,16 +6630,16 @@ L829D LDA L7E70,X BNE L8292 RTS -L82B1 LDX #$4C +L82B1 LDX #$4C ; prepare the sprite data L82B3 ASL L7E70,X ASL L7E70,X - ROL L7E71,X - ASL L7E71,X - ROL L7E72,X - ASL L7E72,X - ROL L7E73,X - ROR L7E72,X - ROR L7E71,X + ROL L7E70+1,X + ASL L7E70+1,X + ROL L7E70+2,X + ASL L7E70+2,X + ROL L7E70+3,X + ROR L7E70+2,X + ROR L7E70+1,X ROR L7E70,X DEX DEX @@ -6762,10 +6677,10 @@ playCARTOON2 JSR clearHGR JSR setHGR JSR initCARTOON -L83D9 DEC $59 +L83D9 DEC frameCNT BNE L840C LDA #$28 - STA $59 + STA frameCNT LDA #$80 LDY #$7C LDX #$81 @@ -6774,15 +6689,15 @@ L83D9 DEC $59 LDY #$7C LDX #$81 JSR cartoonVLINE - JSR L7D80 + JSR setXYPACMAN JSR eraseSPRITE44 SEC - LDA $60 + LDA pacmanX SBC #$02 - STA $60 + STA pacmanX CMP #$10 BCC L847D - JSR L7D80 + JSR setXYPACMAN INC $66 JSR L79A4 L840C JSR doWAIT @@ -6790,18 +6705,18 @@ L840C JSR doWAIT BNE L83D9 LDA #$21 STA $80 - LDA $70 + LDA enemyX CMP #$71 BEQ L83D9 - JSR L7D8D + JSR setXYENEMY JSR eraseSPRITE44 SEC - LDA $70 + LDA enemyX SBC #$02 - STA $70 - JSR L7D8D + STA enemyX + JSR setXYENEMY JSR L88A2 - LDA $70 + LDA enemyX CMP #$7B BCS L83D9 CMP #$71 @@ -6816,15 +6731,15 @@ L840C JSR doWAIT JSR cartoonVLINE JMP L83D9 -L844F JSR L7D8D +L844F JSR setXYENEMY JSR eraseSPRITE44 - JSR L7D8D + JSR setXYENEMY CLC LDA zpX1 ADC #$0A STA zpX1 JSR eraseSPRITE44 - JSR L7D8D + JSR setXYENEMY JSR L88A2 LDA #$74 LDY #$7D @@ -6854,19 +6769,19 @@ playCARTOON3 JSR clearHGR JSR setHGR JSR initCARTOON -L848F DEC $59 +L848F DEC frameCNT BNE L84B0 LDA #$26 - STA $59 - JSR L7D80 + STA frameCNT + JSR setXYPACMAN JSR eraseSPRITE44 SEC - LDA $60 + LDA pacmanX SBC #$02 - STA $60 + STA pacmanX CMP #$20 BCC L84DD - JSR L7D80 + JSR setXYPACMAN INC $66 JSR L79A4 L84B0 JSR doWAIT @@ -6875,16 +6790,16 @@ L84B0 JSR doWAIT LDA #$21 STA $80 - JSR L7D8D + JSR setXYENEMY JSR eraseSPRITE44 SEC - LDA $70 + LDA enemyX SBC #$02 - STA $70 - JSR L7D8D + STA enemyX + JSR setXYENEMY JSR L88A2 CLC - LDA $70 + LDA enemyX ADC #$03 LDY #$7D LDX #$7F @@ -6893,7 +6808,7 @@ L84B0 JSR doWAIT *--- Play 2nd part of the cartoon -L84DD JSR L7D8D +L84DD JSR setXYENEMY JSR eraseSPRITE44 LDY #$08 L84E5 LDX #$64 @@ -6901,23 +6816,23 @@ L84E5 LDX #$64 DEY BNE L84E5 LDA #$37 - STA $70 + STA enemyX LDA #$10 - STA $60 + STA pacmanX LDA #$02 STA $62 -L84F9 DEC $59 +L84F9 DEC frameCNT BNE L8519 LDA #$22 - STA $59 - JSR L7D80 + STA frameCNT + JSR setXYPACMAN JSR eraseSPRITE44 - LDA $60 + LDA pacmanX CMP #$B0 BCS L8549 ADC #$02 - STA $60 - JSR L7D80 + STA pacmanX + JSR setXYPACMAN INC $66 JSR L79A4 L8519 JSR doWAIT @@ -6925,13 +6840,13 @@ L8519 JSR doWAIT BNE L8546 LDA #$27 STA $80 - JSR L7D8D + JSR setXYENEMY JSR eraseSPRITE54 CLC - LDA $70 + LDA enemyX ADC #$02 - STA $70 - JSR L7D8D + STA enemyX + JSR setXYENEMY LDA $66 AND #$02 TAX @@ -7016,7 +6931,7 @@ L856C DB $00 L858C JSR clearHGR JSR setHGR LDA #$80 - STA $1E + STA hgrBIT7 LDA #$00 LDY #$7A LDX #$51 @@ -7053,12 +6968,12 @@ L858C JSR clearHGR LDA #$02 STA $66 LDA #$04 - STA $E0 -L85E9 JSR L8712 - DEC $E0 + STA ghostINDEX +L85E9 JSR getGHOSTSDATA + DEC ghostINDEX BNE L85E9 LDA #$81 - STA $60 + STA pacmanX STA $84 STA $98 LDA #$31 @@ -7066,56 +6981,56 @@ L85E9 JSR L8712 LDA #$D1 STA $C0 LDA #$57 - STA $61 + STA pacmanY STA $AD STA $C1 LDA #$07 STA $85 LDA #$A7 STA $99 - JSR L7D80 + JSR setXYPACMAN JSR L79A4 L8616 LDA #$04 - STA $E0 -L861A JSR L86FC + STA ghostINDEX +L861A JSR setGHOSTSDATA DEC $80 BNE L8662 LDA #$12 STA $80 - JSR L7D8D + JSR setXYENEMY JSR eraseSPRITE44 - LDA $E0 + LDA ghostINDEX CMP #$03 BCS L8649 CMP #$02 BEQ L863F CLC - LDA $71 + LDA enemyY ADC #$02 - STA $71 + STA enemyY JMP L865C -L863F LDA $71 +L863F LDA enemyY SEC SBC #$02 - STA $71 + STA enemyY JMP L865C L8649 BEQ L8655 SEC - LDA $70 + LDA enemyX SBC #$02 - STA $70 + STA enemyX JMP L865C L8655 CLC - LDA $70 + LDA enemyX ADC #$02 - STA $70 -L865C JSR L7D8D + STA enemyX +L865C JSR setXYENEMY JSR L88A2 -L8662 JSR L8712 - DEC $E0 +L8662 JSR getGHOSTSDATA + DEC ghostINDEX BNE L861A LDA $85 CMP #$43 @@ -7127,11 +7042,11 @@ L8662 JSR L8712 JSR cartoonHLINE LDX #$50 JSR doWAIT2 - JSR L7D80 + JSR setXYPACMAN JSR eraseSPRITE44 LDA #$01 STA $62 - JSR L7D80 + JSR setXYPACMAN JSR L79A4 JSR L7CF0 LDA #$81 @@ -7140,11 +7055,11 @@ L8662 JSR L8712 JSR cartoonVLINE LDX #$50 JSR doWAIT2 - JSR L7D80 + JSR setXYPACMAN JSR eraseSPRITE44 LDA #$03 STA $62 - JSR L7D80 + JSR setXYPACMAN JSR L79A4 JSR L7CF0 LDA #$73 @@ -7155,9 +7070,9 @@ L8662 JSR L8712 JSR doWAIT2 LDA #$00 STA $62 - JSR L7D80 + JSR setXYPACMAN JSR eraseSPRITE44 - JSR L7D80 + JSR setXYPACMAN JSR L79A4 JSR L7CF0 LDA #$81 @@ -7173,16 +7088,21 @@ L86E0 NOP RTS L86EA LDA #$04 - STA $E0 -L86EE JSR L86FC + STA ghostINDEX +L86EE JSR setGHOSTSDATA JSR L8763 - JSR L8712 - DEC $E0 + JSR getGHOSTSDATA + DEC ghostINDEX BNE L86EE RTS -L86FC LDY $E0 - LDX L870D,Y +*-------------------------------------- +* SET GHOSTS DATA (FOR ENGINE) +*-------------------------------------- + +setGHOSTSDATA + LDY ghostINDEX + LDX tblGHOSTSDATA,Y LDY #$13 L8703 LDA $84,X STA |$0070,Y @@ -7191,14 +7111,22 @@ L8703 LDA $84,X BPL L8703 RTS -L870D DB $00 - DB $13 +*--- Addresses are: 84 / 97 / AB / BF / D3 / E7 + +tblGHOSTSDATA + DB $00 ; index of ghost data relative to $84 + DB $13 ; rela DB $27 DB $3B DB $4F -L8712 LDY $E0 - LDX L870D,Y +*-------------------------------------- +* GET GHOSTS DATA (FROM ENGINE) +*-------------------------------------- + +getGHOSTSDATA + LDY ghostINDEX + LDX tblGHOSTSDATA,Y LDY #$13 L8719 LDA |$0070,Y STA $84,X @@ -7207,6 +7135,10 @@ L8719 LDA |$0070,Y BPL L8719 RTS +*-------------------------------------- +* +*-------------------------------------- + L8723 DB $0A DB $0A DB $09 @@ -7307,16 +7239,16 @@ L8793 LDA L8743,X L879A LDA L8753,X STA $80 L879F CLC - LDA $E0 + LDA ghostINDEX ROR TAX DEX LDA $72 AND #$02 BEQ L87AF - LDA $71 + LDA enemyY BNE L87B1 -L87AF LDA $70 +L87AF LDA enemyX L87B1 AND #$02 BNE L87BA TXA @@ -7330,22 +7262,22 @@ L87C0 LDA $73 JSR L75F1 LDY #$00 LDA (zpPTR2),Y - CMP $70 + CMP enemyX BNE L87D5 INY LDA (zpPTR2),Y - CMP $71 + CMP enemyY BEQ L87ED L87D5 LDA $74 TAX JSR L75F1 LDY #$00 LDA (zpPTR2),Y - CMP $70 + CMP enemyX BNE L87EA INY LDA (zpPTR2),Y - CMP $71 + CMP enemyY BEQ L87ED L87EA JMP L8866 @@ -7393,7 +7325,7 @@ L8839 LDA $79 STA $79 LDA #$01 STA $81 - JSR L7D8D + JSR setXYENEMY JSR eraseSPRITE44 JSR L6D30 JSR L6DA1 @@ -7416,31 +7348,31 @@ L886D LDA $81 BEQ L8874 JMP L8988 -L8874 JSR L7D8D +L8874 JSR setXYENEMY JSR eraseSPRITE44 CLC LDA $72 ROR BNE L888C - LDA $71 + LDA enemyY BCS L8888 ADC #$02 BCC L889A L8888 SBC #$02 BCS L889A -L888C LDA $70 +L888C LDA enemyX BCS L8894 ADC #$02 BCC L8896 L8894 SBC #$02 -L8896 STA $70 - LDA $71 -L889A STA $71 +L8896 STA enemyX + LDA enemyY +L889A STA enemyY STA zpY1 - LDA $70 + LDA enemyX STA zpX1 -L88A2 LDA $E0 +L88A2 LDA ghostINDEX ASL TAX LDA $78 @@ -7458,21 +7390,21 @@ L88BC LDA $79 BEQ L88C2 LDX #$0A -L88C2 LDA zpMONITOR +L88C2 LDA fgCOLOR BEQ L88D3 CLC TXA ROR TAY LDA L88E1,Y - STA $1E + STA hgrBIT7 TXA ADC #$0C TAX L88D3 LDA sprGHOSTS,X LDY sprGHOSTS+1,X - JSR L6A20 + JSR drawSPRITE LDA $81 BEQ L88E6 RTS @@ -7575,7 +7507,7 @@ L8981 ASL ; *2 L8988 DEC $82 BNE L89DA LDY $77 - LDA $E0 + LDA ghostINDEX ROR BCC L89A6 LDA $72 @@ -7595,7 +7527,7 @@ L89A6 LDA $72 INY LDA #$00 STA ($75),Y -L89B1 LDA $E0 +L89B1 LDA ghostINDEX CMP #$02 BNE L89BF LDA #$02 @@ -7618,7 +7550,7 @@ L89C7 INY STA ($75),Y BNE L89DA L89D7 JSR L6EA5 -L89DA LDA $E0 +L89DA LDA ghostINDEX ROR BCC L89E1 BCS L8A05 @@ -7627,9 +7559,9 @@ L89E1 ROR LDA #$7F BNE L89EA L89E8 LDA #$99 -L89EA CMP $70 +L89EA CMP enemyX BNE L8A05 - LDA $71 + LDA enemyY CMP #$55 BNE L89FF L89F4 INC $77 @@ -7641,10 +7573,10 @@ L89FC JMP L8874 L89FF CMP #$5D BEQ L89F4 BNE L89FC -L8A05 LDA $70 +L8A05 LDA enemyX CMP #$8B BNE L89FC - LDA $71 + LDA enemyY CMP #$5D BEQ L89F4 CMP #$55 @@ -7708,25 +7640,25 @@ drawGHOSTDOOR * *----------------------------------- -L8A9C JSR L7D8D +L8A9C JSR setXYENEMY JSR eraseSPRITE44 - LDA $70 + LDA enemyX CMP #$60 BCC L8AE0 LDA $72 ROR BCC L8ABC - LDA $70 + LDA enemyX SBC #$02 - STA $70 + STA enemyX STA zpX1 -L8AB5 LDA $71 +L8AB5 LDA enemyY STA zpY1 JMP L88A2 -L8ABC LDA $70 +L8ABC LDA enemyX ADC #$02 - STA $70 + STA enemyX STA zpX1 CMP #$DD BNE L8AB5 @@ -7735,7 +7667,7 @@ L8ABC LDA $70 LDA #$1D STA $74 LDA #$3D - STA $70 + STA enemyX STA zpX1 LDA #$00 STA $7B @@ -7745,14 +7677,14 @@ L8ABC LDA $70 L8AE0 LDA $72 ROR BCS L8AEF - LDA $70 + LDA enemyX ADC #$02 - STA $70 + STA enemyX STA zpX1 BNE L8AB5 -L8AEF LDA $70 +L8AEF LDA enemyX SBC #$02 - STA $70 + STA enemyX STA zpX1 CMP #$3B BNE L8AB5 @@ -7761,7 +7693,7 @@ L8AEF LDA $70 LDA #$1A STA $74 LDA #$DB - STA $70 + STA enemyX STA zpX1 LDA #$1C STA $7B @@ -7789,12 +7721,12 @@ L8B28 CLC L8B31 STA zpPTR2 RTS -L8B34 LDA $60 - CMP $70 +L8B34 LDA pacmanX + CMP enemyX BNE L8B6F SEC - LDA $61 - SBC $71 + LDA pacmanY + SBC enemyY L8B3F BCS L8B45 EOR #$FF ADC #$01 @@ -7807,32 +7739,31 @@ L8B45 CMP #$0A LDA $72 AND #$02 BEQ L8B5A - LDA $61 + LDA pacmanY BNE L8B5C -L8B5A LDA $60 +L8B5A LDA pacmanX L8B5C AND #$02 BNE L8B67 CLC - LDA $59 + LDA frameCNT ADC #$01 - STA $59 + STA frameCNT L8B67 TXA CMP #$06 BCS L8B7D JMP L8B7E -L8B6F LDA $61 - CMP $71 +L8B6F LDA pacmanY + CMP enemyY BNE L8B7D SEC - LDA $60 - SBC $70 + LDA pacmanX + SBC enemyX JMP L8B3F L8B7D RTS L8B7E LDA $67 - JMP L8B9D - + JMP L8B9D ; PATCH BEQ L8B8A DEC $67 BEQ L8B9D @@ -7865,16 +7796,16 @@ L8B9D LDA $78 STA $79 LDA #$00 STA $78 - LDX zpDEMO + LDX fgDEMO BNE L8BDC CLC SED LDA $68 - ADC $53 - STA $53 - LDA $54 + ADC curSCORE+1 + STA curSCORE+1 + LDA curSCORE+2 ADC #$00 - STA $54 + STA curSCORE+2 CLC LDA $68 ADC $68 @@ -7883,7 +7814,7 @@ L8B9D LDA $78 JSR displayPLAYERSCORE L8BDC RTS -L8BDD JSR L8712 +L8BDD JSR getGHOSTSDATA JSR L58FA LDY #$03 L8BE5 LDX #$FA @@ -7891,16 +7822,16 @@ L8BE5 LDX #$FA DEY BNE L8BE5 LDA #$04 - STA $E0 -L8BF1 JSR L86FC - JSR L7D8D + STA ghostINDEX +L8BF1 JSR setGHOSTSDATA + JSR setXYENEMY JSR eraseSPRITE44 - DEC $E0 + DEC ghostINDEX BNE L8BF1 - JSR L7D80 + JSR setXYPACMAN JSR eraseSPRITE44 JSR L7EC0 - LDA zpDEMO + LDA fgDEMO BEQ L8C0E JMP welcomePAGE @@ -7961,7 +7892,7 @@ L8C64 LDY $77 L8C6C LDA $73 ASL ASL - ADC $E0 + ADC ghostINDEX SEC SBC #$01 TAX @@ -7976,7 +7907,7 @@ L8C6C LDA $73 BNE L8C8F LDA $E9 BEQ L8CA0 -L8C8F LDA $E0 +L8C8F LDA ghostINDEX ASL TAX LDA L8CB4,X @@ -7987,8 +7918,8 @@ L8C8F LDA $E0 JMP L8CA6 L8CA0 LDA $72 - LDX $60 - LDY $61 + LDX pacmanX + LDY pacmanY L8CA6 JSR $0666 LDY $77 INY @@ -8113,18 +8044,18 @@ L8E46 CMP #$01 BCS L8E5F CMP #$02 BEQ L8E59 - CPX $70 + CPX enemyX BCS L8E5F L8E56 LDA #$03 RTS -L8E59 CPX $70 +L8E59 CPX enemyX BEQ L8E5F BCS L8E68 L8E5F LDA #$00 RTS -L8E62 CPX $70 +L8E62 CPX enemyX BEQ L8E56 BCC L8E56 L8E68 LDA #$02 @@ -8136,19 +8067,19 @@ L8E6B CMP #$01 BCS L8E86 CMP #$03 BEQ L8E80 - CPX $70 + CPX enemyX BEQ L8E86 BCC L8E86 L8E7D LDA #$02 RTS -L8E80 CPX $70 +L8E80 CPX enemyX BEQ L8E86 BCC L8E8D L8E86 LDA #$00 RTS -L8E89 CPX $70 +L8E89 CPX enemyX BCS L8E7D L8E8D LDA #$03 RTS @@ -8159,18 +8090,18 @@ L8E90 CMP #$03 BCS L8EA2 CMP #$01 BEQ L8EA5 - CPY $71 + CPY enemyY BEQ L8EA2 BCS L8EB0 L8EA2 LDA #$02 RTS -L8EA5 CPY $71 +L8EA5 CPY enemyY BCS L8EA2 L8EA9 LDA #$01 RTS -L8EAC CPY $71 +L8EAC CPY enemyY BCC L8EA9 L8EB0 LDA #$00 RTS @@ -8181,18 +8112,18 @@ L8EB3 CMP #$02 BCC L8EC5 CMP #$01 BEQ L8EC8 - CPY $71 + CPY enemyY BEQ L8EC5 BCS L8ED3 L8EC5 LDA #$03 RTS -L8EC8 CPY $71 +L8EC8 CPY enemyY BCS L8EC5 L8ECC LDA #$01 RTS -L8ECF CPY $71 +L8ECF CPY enemyY BCC L8ECC L8ED3 LDA #$00 RTS @@ -8205,38 +8136,38 @@ L8ED6 CMP #$01 BEQ L8EF8 CMP #$03 BEQ L8F0B - CPX $70 + CPX enemyX BEQ L8F15 BCS L8F02 L8EEC LDA #$03 RTS -L8EEF CPX $70 +L8EEF CPX enemyX BCC L8EEC BNE L8F02 L8EF5 LDA #$01 RTS -L8EF8 CPX $70 +L8EF8 CPX enemyX BCC L8F05 BEQ L8F05 - CPY $71 + CPY enemyY BCC L8EF5 L8F02 LDA #$02 RTS -L8F05 CPY $71 +L8F05 CPY enemyY BCC L8EF5 BCS L8F15 -L8F0B CPX $70 +L8F0B CPX enemyX BCC L8F18 - CPY $71 + CPY enemyY BCC L8EF5 BEQ L8EF5 L8F15 LDA #$00 RTS -L8F18 CPY $71 +L8F18 CPY enemyY BEQ L8EEC BCC L8EF5 BCS L8F15 @@ -8248,39 +8179,39 @@ L8F20 CMP #$01 BEQ L8F42 CMP #$02 BEQ L8F55 - CPX $70 + CPX enemyX BEQ L8F61 BCC L8F3F L8F36 LDA #$02 RTS -L8F39 CPX $70 +L8F39 CPX enemyX BEQ L8F4C BCS L8F36 L8F3F LDA #$03 RTS -L8F42 CPX $70 +L8F42 CPX enemyX BCS L8F4F - CPY $71 + CPY enemyY BEQ L8F3F BCC L8F3F L8F4C LDA #$01 RTS -L8F4F CPY $71 +L8F4F CPY enemyY BCC L8F4C BCS L8F61 -L8F55 CPX $70 +L8F55 CPX enemyX BEQ L8F5B BCS L8F64 -L8F5B CPY $71 +L8F5B CPY enemyY BCC L8F4C BEQ L8F4C L8F61 LDA #$00 RTS -L8F64 CPY $71 +L8F64 CPY enemyY BEQ L8F36 BCC L8F4C BCS L8F61 @@ -8291,13 +8222,13 @@ L8F6C CMP #$01 BEQ L8F81 CPX #$60 BCC L8F92 - CPY $71 + CPY enemyY BCC L8F92 BEQ L8F92 L8F7E LDA #$00 RTS -L8F81 CPY $71 +L8F81 CPY enemyY BEQ L8F87 BCS L8F7E L8F87 LDA #$02 @@ -8305,7 +8236,7 @@ L8F87 LDA #$02 L8F8A CPY #$37 BCS L8F92 - CPX $70 + CPX enemyX BCS L8F87 L8F92 LDA #$03 RTS @@ -8316,13 +8247,13 @@ L8F95 CMP #$01 BEQ L8FAA CPX #$B9 BCS L8FBB - CPY $71 + CPY enemyY BCC L8FBB BEQ L8FBB L8FA7 LDA #$00 RTS -L8FAA CPY $71 +L8FAA CPY enemyY BEQ L8FB0 BCS L8FA7 L8FB0 LDA #$03 @@ -8330,7 +8261,7 @@ L8FB0 LDA #$03 L8FB3 CPY #$37 BCS L8FBB - CPX $70 + CPX enemyX BCC L8FB0 L8FBB LDA #$02 RTS @@ -8346,7 +8277,7 @@ L8FCA LDA #$03 L8FCD CPX #$61 BCC L8FCA - CPY $71 + CPY enemyY BCS L8FCA L8FD5 LDA #$01 RTS @@ -8359,7 +8290,7 @@ L8FDC LDA #$02 L8FDF CPY #$37 BCC L8FD5 BCS L8FDC -L8FE5 CPX $70 +L8FE5 CPX enemyX BCC L8FCA BEQ L8FCA BCS L8FDC @@ -8375,7 +8306,7 @@ L8FF9 LDA #$02 L8FFC CPX #$B9 BCS L8FF9 - CPY $71 + CPY enemyY BCS L8FF9 L9004 LDA #$01 RTS @@ -8388,7 +8319,7 @@ L900B LDA #$03 L900E CPY #$37 BCC L9004 BCS L900B -L9014 CPX $70 +L9014 CPX enemyX BCS L8FF9 BCC L900B @@ -8396,18 +8327,18 @@ L901A CMP #$02 BEQ L9032 CMP #$00 BEQ L9029 - CPX $70 + CPX enemyX BCC L902F L9026 LDA #$01 RTS -L9029 CPY $71 +L9029 CPY enemyY BEQ L902F BCS L9038 L902F LDA #$03 RTS -L9032 CPY $71 +L9032 CPY enemyY BCC L9026 BEQ L9026 L9038 LDA #$00 @@ -8417,19 +8348,19 @@ L903B CMP #$03 BEQ L9055 CMP #$00 BEQ L904C - CPX $70 + CPX enemyX BEQ L9049 BCS L9052 L9049 LDA #$01 RTS -L904C CPY $71 +L904C CPY enemyY BEQ L9052 BCS L905B L9052 LDA #$02 RTS -L9055 CPY $71 +L9055 CPY enemyY BCC L9049 BEQ L9049 L905B LDA #$00 @@ -8446,7 +8377,7 @@ L9067 LDA #$03 L906A LDA #$02 RTS -L906D CPX $70 +L906D CPX enemyX BCC L9067 BCS L906A L9073 CMP #$02 @@ -8461,7 +8392,7 @@ L907E LDA $72 BEQ L90B1 CMP #$01 BEQ L9098 - CPY $71 + CPY enemyY BEQ L908E BCS L9091 L908E LDA #$02 @@ -8472,21 +8403,21 @@ L9091 CPY #$6C L9095 LDA #$00 RTS -L9098 CPY $71 +L9098 CPY enemyY BCS L908E CPY #$46 BCS L908E L90A0 LDA #$01 RTS -L90A3 CPX $70 +L90A3 CPX enemyX BEQ L90B1 CPY #$46 BCC L90A0 CPY #$6C BCS L9095 BCC L908E -L90B1 CPY $71 +L90B1 CPY enemyY BCC L90A0 BCS L9095 @@ -8521,7 +8452,7 @@ L90E2 CPY #$7C L90E6 LDA #$03 RTS -L90E9 CPY $71 +L90E9 CPY enemyY BCS L90DF L90ED LDA #$01 RTS @@ -8542,7 +8473,7 @@ L9103 CPY #$7C L9107 LDA #$02 RTS -L910A CPY $71 +L910A CPY enemyY BCS L9100 L910E LDA #$01 RTS @@ -8551,23 +8482,23 @@ L9111 CMP #$03 BEQ L9130 CMP #$01 BEQ L9129 - CPX $70 + CPX enemyX BCS L9120 L911D LDA #$00 RTS -L9120 CPY $71 +L9120 CPY enemyY BEQ L9126 BCS L911D L9126 LDA #$02 RTS -L9129 CPY $71 +L9129 CPY enemyY BEQ L9126 L912D LDA #$01 RTS -L9130 CPY $71 +L9130 CPY enemyY BCC L912D BCS L911D @@ -8575,24 +8506,24 @@ L9136 CMP #$02 BEQ L9157 CMP #$01 BEQ L9150 - CPX $70 + CPX enemyX BCC L9147 BEQ L9147 L9144 LDA #$00 RTS -L9147 CPY $71 +L9147 CPY enemyY BEQ L914D BCS L9144 L914D LDA #$03 RTS -L9150 CPY $71 +L9150 CPY enemyY BEQ L914D L9154 LDA #$01 RTS -L9157 CPY $71 +L9157 CPY enemyY BCC L9154 BCS L9144 @@ -8603,13 +8534,13 @@ L915D CMP #$00 L9165 LDA #$01 RTS -L9168 CPX $70 +L9168 CPX enemyX BEQ L9165 CMP #$01 BEQ L919D CMP #$02 BEQ L917E - CPX $70 + CPX enemyX BCC L917B L9178 LDA #$00 RTS @@ -8617,7 +8548,7 @@ L9178 LDA #$00 L917B LDA #$03 RTS -L917E CPX $70 +L917E CPX enemyX BEQ L9178 BCC L9178 CPX #$8D @@ -8625,7 +8556,7 @@ L917E CPX $70 L9188 LDA #$02 RTS -L918B CPY $71 +L918B CPY enemyY BEQ L9188 BCS L9197 CPY #$5A @@ -8634,16 +8565,16 @@ L918B CPY $71 L9197 CPY #$8F BCS L9178 BCC L9188 -L919D CPX $70 +L919D CPX enemyX BCC L917B BCS L9188 -L91A3 CPY $71 +L91A3 CPY enemyY BCC L9188 BNE L91AF - CPX $70 + CPX enemyX BCC L917B BCS L9188 -L91AF CPX $70 +L91AF CPX enemyX BEQ L9178 BCS L91BB CPY #$A1 @@ -8661,13 +8592,13 @@ L91C3 CMP #$00 L91CB LDA #$01 RTS -L91CE CPX $70 +L91CE CPX enemyX BEQ L91CB CMP #$01 BEQ L9205 CMP #$03 BEQ L91E6 - CPX $70 + CPX enemyX BEQ L91E0 BCS L917B L91E0 LDA #$00 @@ -8676,7 +8607,7 @@ L91E0 LDA #$00 L91E3 LDA #$02 RTS -L91E6 CPX $70 +L91E6 CPX enemyX BCS L91E0 CPX #$8D BEQ L91F0 @@ -8684,7 +8615,7 @@ L91E6 CPX $70 L91F0 LDA #$03 RTS -L91F3 CPY $71 +L91F3 CPY enemyY BEQ L91F0 BCS L91FF CPY #$5A @@ -8693,16 +8624,16 @@ L91F3 CPY $71 L91FF CPY #$8F BCS L91E0 BCC L91F0 -L9205 CPX $70 +L9205 CPX enemyX BCS L91E3 BCC L91F0 -L920B CPY $71 +L920B CPY enemyY BCC L91F0 BNE L9217 - CPX $70 + CPX enemyX BCS L91E3 BCC L91F0 -L9217 CPX $70 +L9217 CPX enemyX BEQ L91E0 BCC L9223 CPY #$A1 @@ -8722,9 +8653,9 @@ L922B CMP #$00 L9237 LDA #$03 RTS -L923A CPY $71 +L923A CPY enemyY BCS L9237 - CPX $70 + CPX enemyX BCC L9245 L9242 LDA #$01 RTS @@ -8735,16 +8666,16 @@ L9245 LDA $62 BNE L9237 L924D CPY #$36 BCC L9242 - CPY $71 + CPY enemyY BCC L9242 L9255 LDA #$02 RTS -L9258 CPY $71 +L9258 CPY enemyY BCC L9237 BEQ L9260 BCS L9255 -L9260 CPX $70 +L9260 CPX enemyX BCC L9237 BCS L9255 @@ -8757,9 +8688,9 @@ L9266 CMP #$00 L9272 LDA #$02 RTS -L9275 CPY $71 +L9275 CPY enemyY BCS L9272 - CPX $70 + CPX enemyX BEQ L927F BCS L9282 L927F LDA #$01 @@ -8771,16 +8702,16 @@ L9282 LDA $62 BNE L9272 L928A CPY #$36 BCC L927F - CPY $71 + CPY enemyY BCC L927F L9292 LDA #$03 RTS -L9295 CPY $71 +L9295 CPY enemyY BCC L9272 BEQ L929D BCS L9292 -L929D CPX $70 +L929D CPX enemyX BCS L9272 BCC L9292 @@ -8790,7 +8721,7 @@ L92A3 CMP #$03 BEQ L92CB CPY #$5A BCC L92BC - CPX $70 + CPX enemyX BEQ L92B5 BCS L92B8 L92B5 LDA #$00 @@ -8814,10 +8745,10 @@ L92CF LDA #$01 L92D2 CPX #$83 BCS L92BC - CPX $70 + CPX enemyX BEQ L92CF BCC L92CF - CPY $71 + CPY enemyY BCS L92BC LDA $62 CMP #$03 @@ -8825,7 +8756,7 @@ L92D2 CPX #$83 CMP #$01 BEQ L92CF BNE L92BC -L92EC CPY $71 +L92EC CPY enemyY BCC L92CF BCS L92B5 @@ -8835,7 +8766,7 @@ L92F2 CMP #$02 BEQ L9318 CPY #$5A BCC L9309 - CPX $70 + CPX enemyX BCC L9305 L9302 LDA #$00 RTS @@ -8858,9 +8789,9 @@ L931C LDA #$01 L931F CPX #$96 BCC L9309 - CPX $70 + CPX enemyX BCS L931C - CPY $71 + CPY enemyY BCS L9309 LDA $62 CMP #$02 @@ -8868,7 +8799,7 @@ L931F CPX #$96 CMP #$01 BEQ L931C BNE L9309 -L9337 CPY $71 +L9337 CPY enemyY BCC L931C BCS L9302 @@ -8876,9 +8807,9 @@ L933D CMP #$01 BEQ L9364 CMP #$02 BEQ L9355 - CPX $70 + CPX enemyX BCC L9352 - CPY $71 + CPY enemyY BCC L9352 BEQ L9352 L934F LDA #$00 @@ -8887,7 +8818,7 @@ L934F LDA #$00 L9352 LDA #$03 RTS -L9355 CPY $71 +L9355 CPY enemyY BEQ L935B BCS L935E L935B LDA #$02 @@ -8896,7 +8827,7 @@ L935B LDA #$02 L935E CPX #$84 BCC L934F BCS L935B -L9364 CPX $70 +L9364 CPX enemyX BCC L9352 BCS L935B @@ -8904,10 +8835,10 @@ L936A CMP #$01 BEQ L9393 CMP #$03 BEQ L9384 - CPX $70 + CPX enemyX BEQ L9378 BCS L9381 -L9378 CPY $71 +L9378 CPY enemyY BCC L9381 BEQ L9381 L937E LDA #$00 @@ -8916,7 +8847,7 @@ L937E LDA #$00 L9381 LDA #$02 RTS -L9384 CPY $71 +L9384 CPY enemyY BEQ L938A BCS L938D L938A LDA #$03 @@ -8925,7 +8856,7 @@ L938A LDA #$03 L938D CPX #$94 BCS L937E BCC L938A -L9393 CPX $70 +L9393 CPX enemyX BCS L9381 BCC L938A @@ -8935,7 +8866,7 @@ L9399 CMP #$00 BEQ L93B1 CPY #$7D BCC L93AE - CPX $70 + CPX enemyX BEQ L93AB BCS L93AE L93AB LDA #$03 @@ -8948,7 +8879,7 @@ L93B1 CPY #$B3 BCS L93BF CPY #$6B BEQ L93C2 - CPX $70 + CPX enemyX BCC L93AE BEQ L93AE L93BF LDA #$02 @@ -8964,7 +8895,7 @@ L93CA CPY #$B3 CMP #$02 BEQ L93BF BNE L93AB -L93D6 CPX $70 +L93D6 CPX enemyX BCC L93AB BEQ L93AB BCS L93BF @@ -8975,7 +8906,7 @@ L93DE CMP #$00 BEQ L93F4 CPY #$7D BCC L93F1 - CPX $70 + CPX enemyX BCC L93F1 L93EE LDA #$02 RTS @@ -8987,7 +8918,7 @@ L93F4 CPY #$B3 BCS L9400 CPY #$6B BEQ L9403 - CPX $70 + CPX enemyX BCS L93F1 L9400 LDA #$03 RTS @@ -9002,7 +8933,7 @@ L940B CPY #$B3 CMP #$03 BEQ L9400 BNE L93EE -L9417 CPX $70 +L9417 CPX enemyX BCS L93EE BCC L9400 @@ -9010,14 +8941,14 @@ L941D CMP #$00 BEQ L943E CMP #$02 BEQ L942C - CPY $71 + CPY enemyY BCC L9438 L9429 LDA #$03 RTS L942C CPY #$7D BCC L943B - CPY $71 + CPY enemyY BCS L943B CPX #$5F BCS L943B @@ -9032,12 +8963,12 @@ L943E CPY #$B3 LDA $62 CMP #$02 BNE L9429 - CPX $70 + CPX enemyX BCC L9429 BCS L943B -L944E CPX $70 +L944E CPX enemyX BCS L943B - CPY $71 + CPY enemyY BCS L9429 BCC L943B @@ -9045,14 +8976,14 @@ L9458 CMP #$00 BEQ L9479 CMP #$03 BEQ L9467 - CPY $71 + CPY enemyY BCC L9473 L9464 LDA #$02 RTS L9467 CPY #$7D BCC L9476 - CPY $71 + CPY enemyY BCS L9476 CPX #$BA BCC L9476 @@ -9067,12 +8998,12 @@ L9479 CPY #$B3 LDA $62 CMP #$03 BNE L9464 - CPX $70 + CPX enemyX BCC L9476 BCS L9464 -L9489 CPX $70 +L9489 CPX enemyX BCC L9476 - CPY $71 + CPY enemyY BCS L9464 BCC L9476 @@ -9095,7 +9026,7 @@ L94AC LDA #$01 L94AF CPY #$B3 BEQ L94B9 - CPX $70 + CPX enemyX BCC L94AC BEQ L94AC L94B9 LDA #$02 @@ -9103,7 +9034,7 @@ L94B9 LDA #$02 L94BC CPY #$7D BCC L94B9 - CPX $70 + CPX enemyX BCC L94A9 BCS L94B9 @@ -9126,28 +9057,28 @@ L94DF LDA #$01 L94E2 CPY #$B3 BEQ L94EA - CPX $70 + CPX enemyX BCS L94DF L94EA LDA #$03 RTS L94ED CPY #$7D BCC L94EA - CPX $70 + CPX enemyX BCS L94DC BCC L94EA L94F7 PHA TXA SEC - SBC $70 + SBC enemyX BCS L9500 EOR #$FF L9500 CMP #$20 BCS L951B TYA SEC - SBC $71 + SBC enemyY BCS L950C EOR #$FF L950C CMP #$20 @@ -9175,7 +9106,7 @@ L952B LDA #$01 L952E CPX #$B9 BCS L952B - CPY $71 + CPY enemyY BCS L952B L9536 LDA #$02 RTS @@ -9187,7 +9118,7 @@ L9539 CPX #$93 L9541 LDA #$03 RTS -L9544 CPX $70 +L9544 CPX enemyX BCS L9541 BCC L9536 @@ -9195,19 +9126,19 @@ L954A CMP #$03 BEQ L9564 CMP #$00 BEQ L955B - CPX $70 + CPX enemyX BEQ L9558 BCS L9568 L9558 LDA #$02 RTS -L955B CPY $71 +L955B CPY enemyY BEQ L9561 BCS L9558 L9561 LDA #$00 RTS -L9564 CPY $71 +L9564 CPY enemyY BCS L9561 L9568 LDA #$00 RTS @@ -9216,23 +9147,23 @@ L956B CMP #$03 BEQ L958A CMP #$01 BEQ L9583 - CPX $70 + CPX enemyX BCS L957A L9577 LDA #$02 RTS -L957A CPY $71 +L957A CPY enemyY BEQ L9580 BCS L9577 L9580 LDA #$00 RTS -L9583 CPY $71 +L9583 CPY enemyY BNE L9577 L9587 LDA #$01 RTS -L958A CPY $71 +L958A CPY enemyY BCC L9580 BCS L9587 @@ -9247,7 +9178,7 @@ L959B CMP #$01 BEQ L95C4 CMP #$02 BEQ L95AD - CPX $70 + CPX enemyX BCC L95AA L95A7 LDA #$00 RTS @@ -9255,12 +9186,12 @@ L95A7 LDA #$00 L95AA LDA #$03 RTS -L95AD CPX $70 +L95AD CPX enemyX BEQ L9598 BCC L9598 CPX #$8D BCS L9598 - CPY $71 + CPY enemyY BCS L9598 CPY #$5A BCC L95A7 @@ -9268,16 +9199,16 @@ L95AD CPX $70 L95C1 LDA #$02 RTS -L95C4 CPX $70 +L95C4 CPX enemyX BCC L95AA BCS L95C1 -L95CA CPY $71 +L95CA CPY enemyY BCC L95C1 BNE L95D6 - CPX $70 + CPX enemyX BCC L95AA BCS L95C1 -L95D6 CPX $70 +L95D6 CPX enemyX BEQ L95A7 BCS L95E2 CPY #$A1 @@ -9297,9 +9228,9 @@ L95EA CMP #$00 L95F6 LDA #$01 RTS -L95F9 CPY $71 +L95F9 CPY enemyY BCS L95F6 - CPX $70 + CPX enemyX BEQ L9603 BCS L9606 L9603 LDA #$02 @@ -9311,16 +9242,16 @@ L9606 LDA $62 BNE L95F6 L960E CPY #$36 BCC L9616 - CPY $71 + CPY enemyY BCS L95F6 L9616 LDA #$03 RTS -L9619 CPY $71 +L9619 CPY enemyY BCC L9616 BEQ L9621 BCS L9603 -L9621 CPX $70 +L9621 CPX enemyX BCS L9616 BCC L9603 @@ -9330,7 +9261,7 @@ L9627 CMP #$00 BEQ L963F CPY #$7D BCC L9639 - CPX $70 + CPX enemyX BEQ L963C BCC L963C L9639 LDA #$03 @@ -9343,7 +9274,7 @@ L963F CPY #$B3 BCS L963C CPY #$6B BEQ L9650 - CPX $70 + CPX enemyX BEQ L964D BCS L963C L964D LDA #$02 @@ -9359,7 +9290,7 @@ L9658 CPY #$B3 CMP #$02 BEQ L9639 BNE L964D -L9664 CPX $70 +L9664 CPX enemyX BCC L964D BEQ L964D BCS L9639 @@ -9383,14 +9314,14 @@ L9685 LDA #$02 L9688 CPY #$B3 BEQ L9682 - CPX $70 + CPX enemyX BCC L9682 L9690 LDA #$03 RTS L9693 CPY #$7D BCC L9682 - CPX $70 + CPX enemyX BCS L9690 BCC L9685 @@ -9400,7 +9331,7 @@ L969D CMP #$01 BEQ L96B2 CPX #$60 BCC L96BD - CPY $71 + CPY enemyY BCC L96BD BEQ L96BD LDA #$00 @@ -9411,7 +9342,7 @@ L96B2 LDA #$02 L96B5 CPY #$37 BCS L96BD - CPX $70 + CPX enemyX BCS L96B2 L96BD LDA #$03 RTS @@ -9419,14 +9350,14 @@ L96BD LDA #$03 L96C0 PHA TXA SEC - SBC $70 + SBC enemyX BCS L96C9 EOR #$FF L96C9 CMP #$20 BCS L96E4 TYA SEC - SBC $71 + SBC enemyY BCS L96D5 EOR #$FF L96D5 CMP #$20 @@ -9447,17 +9378,18 @@ L96E4 PLA * PAC-MAN SPRITES *----------------------------------- -sprPACMAN DA sprPACMAN0 ; Fully closed - DA L97CC ; Open goes down - DA L989E ; Open goes up - DA L9970 ; Open goes right - DA L9A42 ; Open goes left - DA L9B14 ; Open goes down 2 - DA L9BE6 ; Open goes up 2 - DA L9CB8 ; Open goes right 2 - DA L9D8A ; Open goes left 2 +sprPACMAN DA sprPACMANFULL ; Fully closed + DA sprPACMANDOWN1 ; Open goes down + DA sprPACMANUP1 ; Open goes up + DA sprPACMANRIGHT1 ; Open goes right + DA sprPACMANLEFT1 ; Open goes left + DA sprPACMANDOWN2 ; Open goes down 2 + DA sprPACMANUP2 ; Open goes up 2 + DA sprPACMANRIGHT2 ; Open goes right 2 + DA sprPACMANLEFT2 ; Open goes left 2 -sprPACMAN0 HEX 7800007C01007E03007F07007F07007F +sprPACMANFULL + HEX 7800007C01007E03007F07007F07007F HEX 07007F07007E03007C01007800007001 HEX 007803007C07007E0F007E0F007E0F00 HEX 7E0F007C070078030070010060030070 @@ -9471,7 +9403,8 @@ sprPACMAN0 HEX 7800007C01007E03007F07007F07007F HEX 00001E00003C00007E00007F01407F03 HEX 407F03407F03407F03007F01007E0000 HEX 3C00 -L97CC HEX 7800007C01007E03007F07007F07004F +sprPACMANDOWN1 + HEX 7800007C01007E03007F07007F07004F HEX 07004F07000603000401000000007001 HEX 007803007C07007E0F007E0F001E0F00 HEX 1E0F000C060008020000000060030070 @@ -9485,7 +9418,8 @@ L97CC HEX 7800007C01007E03007F07007F07004F HEX 00000000003C00007E00007F01407F03 HEX 407F0340670340670300430100420000 HEX 0000 -L989E HEX 0000000401000603004F07004F07007F +sprPACMANUP1 + HEX 0000000401000603004F07004F07007F HEX 07007F07007E03007C01007800000000 HEX 000802000C06001E0F001E0F007E0F00 HEX 7E0F007C070078030070010000000010 @@ -9499,7 +9433,8 @@ L989E HEX 0000000401000603004F07004F07007F HEX 00001E00000000004200004301406703 HEX 406703407F03407F03007F01007E0000 HEX 3C00 -L9970 HEX 7800007C01007E03007F00001F00001F +sprPACMANRIGHT1 + HEX 7800007C01007E03007F00001F00001F HEX 00007F00007E03007C01007800007001 HEX 007803007C07007E01003E00003E0000 HEX 7E01007C070078030070010060030070 @@ -9513,7 +9448,8 @@ L9970 HEX 7800007C01007E03007F00001F00001F HEX 00001E00003C00007E00007F01403F00 HEX 400F00400F00403F00007F01007E0000 HEX 3C00 -L9A42 HEX 7800007C01007E030078070060070060 +sprPACMANLEFT1 + HEX 7800007C01007E030078070060070060 HEX 07007807007E03007C01007800007001 HEX 007803007C0700700F00400F00400F00 HEX 700F007C070078030070010060030070 @@ -9527,7 +9463,8 @@ L9A42 HEX 7800007C01007E030078070060070060 HEX 00001E00003C00007E00007F01007C03 HEX 007003007003007C03007F01007E0000 HEX 3C00 -L9B14 HEX 7800007C01007E03007F07007F07004F +sprPACMANDOWN2 + HEX 7800007C01007E03007F07007F07004F HEX 07000707000202000000000000007001 HEX 007803007C07007E0F007E0F001E0F00 HEX 0E0E0004040000000000000060030070 @@ -9541,7 +9478,8 @@ L9B14 HEX 7800007C01007E03007F07007F07004F HEX 00000000003C00007E00007F01407F03 HEX 407F0340670340430300010100000000 HEX 0000 -L9BE6 HEX 0000000000000202000707004F07007F +sprPACMANUP2 + HEX 0000000000000202000707004F07007F HEX 07007F07007E03007C01007800000000 HEX 000000000404000E0E001E0F007E0F00 HEX 7E0F007C070078030070010000000000 @@ -9555,7 +9493,8 @@ L9BE6 HEX 0000000000000202000707004F07007F HEX 00001E00000000000000000101404303 HEX 406703407F03407F03007F01007E0000 HEX 3C00 -L9CB8 HEX 7800007C01007E00003F00001F00001F +sprPACMANRIGHT2 + HEX 7800007C01007E00003F00001F00001F HEX 00003F00007E00007C01007800007001 HEX 007803007C01007E00003E00003E0000 HEX 7E00007C010078030070010060030070 @@ -9569,7 +9508,8 @@ L9CB8 HEX 7800007C01007E00003F00001F00001F HEX 00001E00003C00007E00003F00401F00 HEX 400F00400F00401F00003F00007E0000 HEX 3C00 -L9D8A HEX 7800007C010078030070070060070060 +sprPACMANLEFT2 + HEX 7800007C010078030070070060070060 HEX 07007007007803007C01007800007001 HEX 00780300700700600F00400F00400F00 HEX 600F0070070078030070010060030070 diff --git a/pacman/disks/PACMAN.DSK b/pacman/disks/PACMAN.DSK new file mode 100644 index 0000000000000000000000000000000000000000..1f810f516c8187fb3aae1e135972ae1af8565f4d GIT binary patch literal 143360 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 S2tWV=5P$##AOL}%B=CQW2!+)E literal 0 HcmV?d00001