forked from milkeybabes/Rampage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDJCODE
341 lines (275 loc) · 4.1 KB
/
DJCODE
1
HOLE EQU COMMON+1HOLEUP EQU HOLE+2HOLEDOWN EQU HOLE+4HOLESIDE EQU HOLE+6STEMP DB 0WHTILE DB 0FISTX DB 0FISTY DB 0PUNCHX DB 0PUNCHY DB 0STORE EQU &0900XOFFSET DB 30,-30POYT0 DB 6,2,3,2POXT1 DB 0,-2,-4,2POXT2 DB -1,2,4,-2 TESTER DB 0TRY JSR PRINTOUT INC TESTER LDX TESTER LDA SDAMAGE,X BEQ TESTED ; DEC SDAMAGE,X TESTED INC TESTER LDA TESTER AND #7 STA TESTER LDX #0 JSR TRY2 LDX #1 JSR TRY2 LDX #2TRY2 STX PLAYER LDA ACTION,X CMP #APUNCHC BEQ TRY3 RTS TRY3 LDY HANDY,X LDA Y,X LSR A LSR A LSR A SEC SBC POYT0,Y STA FISTY LDA X,X LSR A LSR A STA XTEMP LDA DIR,X BPL SBIT1 LDA POXT2,Y JMP QBIT2SBIT1 LDA POXT1,YQBIT2 CLC ADC XTEMP STA FISTX JSR GETCHAR STA CGET1 INY LDA (BUILD),Y STA CGET2 TYA CLC ADC #39 LDA (BUILD),Y STA CGET3 INY LDA (BUILD),Y STA CGET4 LDY #OBJECTEND-OBJECTSTARTEATLIS LDA OBJECTSTART,Y CMP CGET1 BEQ EATIT CMP CGET2 BEQ EATIT CMP CGET3 BEQ EATIT CMP CGET4 BEQ EATIT DEY BNE EATLIS JMP SMASHOLEEATIT LDA #AEAT STA ACTION,X SMASHOLE PUNCHCHECK STX XSAFE LDX HOWMANY INX STX BUILDCHECK LDX #0GETBUILD LDA BUILDTALL,X BEQ NEXTBUILD LDA SBXSTART,X CMP FISTX BCS NEXTBUILD LDA SBXEND,X CMP FISTX BCS GOTBUILDNEXTBUILD INX CPX BUILDCHECK BNE GETBUILD CLC LDX XSAFE RTSGOTBUILD LDA #22 SEC SBC BUILDTALL,X BMI NEXTBUILD STA STEMP LDA FISTY SEC SBC STEMP STA FISTY LSR A STA YHEIGHT CALCTILE LDA BUILDMAPHB,X STA HOLE+1 STA HOLEUP+1 STA HOLEDOWN+1 STA HOLESIDE+1 LDA BUILDMAPLB,X STA HOLE ; !!! STA HOLESIDE CLC ADC BUILDWIDE,X STA HOLEDOWN LDA HOLE SEC SBC BUILDWIDE,X STA HOLEDOWN LDA FISTX CMP SBXSTART,X LDA FISTX SEC SBC SBXSTART,X LSR A STA PUNCHX BNE NLEFT INC HOLESIDE NLEFT CMP BUILDWIDE,X BNE DEMOQ DEC HOLESIDEDEMOQ LDA YHEIGHT TAY BEQ ONTOPL LDA #0 CLCOFF1 ADC BUILDWIDE,X DEY BNE OFF1ONTOPL CLC ADC PUNCHX TAY STY DAVE1 STX TEMPX FINE LDA (HOLE),Y TAX JSR PRINTOUT1 LDA BLOCKVALID,X CMP #255 BEQ SMASHED LDA BLOCKVALID,X BPL HOLEPUT1 AND #7 CLC CHEAT ADC #&54 STA (HOLE),Y JMP POINTS HOLEPUT1 STA STACK LDA (HOLEUP),Y CMP #24 BCS NOUP ORA #2 STA (HOLEUP),Y LDA STACK ORA #1 STA STACK NOUP LDA (HOLEDOWN),Y CMP #24 BCS NODOWN ORA #1 STA (HOLEDOWN),Y LDA STACK ORA #2 STA STACKNODOWN NOK2 ; LDA (HOLESIDE),Y ; TAX ; LDA BLOCKVALID,X; AND #240; CMP #128 ; BNE NOSIDE ; LDA STACK ; ORA #4 ; JMP NOSIDE1NOSIDE LDA STACKNOSIDE1 STA (HOLE),Y POINTS LDX TEMPX LDA SDAMAGE,X BEQ SMASHED DEC SDAMAGE,X LDX PLAYER JSR SCINC LDA #0 LDX #0 JSR SOUNDSMASHED RTS UPDATE DB 0PRINTOUT1 STA UPDATEPRINTOUT RTS LDA UPDATE AND #15 CLC ADC #ZERO STA &F401 STA &F801 LDA UPDATE LSR A LSR A LSR A LSR A ADC #ZERO STA &F400 STA &F800 RTS TEMPX DB 0YHEIGHT DB 0BUILDCHECK DB 0XSAFE DB 0BLOCKMID DB &55,&56,&57,&58SIDEFLAG DB 0BTCHARS DB 0STACK DB 0BLOCKVALID DB &FF,&FF,&FF,&FF,&FF,&FF,&FF,&FF DB &FF,&FF,&FF,&FF,&FF,&FF,&FF,&FF DB &FF,&FF,&FF,&FF,&FF,&FF,&FF,&FF DB &FF,&FF,&FF,&FF,&FF,&FF,&FF,&FF DB &87,&FF,&FF,&88,&87,&FF,&FF,&88 DB &89,&FF,&FF,&8A,&10,&83,&84,&18 DB &10,&83,&84,&18,&00,&81,&82,&08 DB &FF,&81,&82,&00,&10,&FF,&FF,&18 DB &FF,&FF,&FF,&FF,&83,&FF,&18,&10 DB &00,&FF,&82,&08,&81,&08,&FF,&82 DB &18,&89,&8A,&FF,&FF,&FF,&FF,&FF DB &FF,&83,&84,&FF,&FF,&FF,&FF,&81 DB &FF,&FF,&00,&81,&FF,&FF,&FF,&FF DB &FF,&FF,&FF,&FF,&FF,&FF,&FF,&FF DB &FF,&FF,&FF,&FF,&FF,&FF,&FF,&FF DB &FF,&FF,&FF,&FF,&FF,&FF,&FF,&FF;&00 = LGREY LEFT HAND;&81 = LGREY LEFT MIDDLE;&82 = LGREY RIGHT MIDDLE;$08 = LGREY RIGHT HAND;&10 = DGREY LEFT HAND;&83 = DGREY LEFT MIDDLE;&84 = DGREY RIGHT MIDDLE;&18 = DGREY RIGHT HANDPLAYER DB 0CADD EQU 4CGET1 DB 0CGET2 DB 0CGET3 DB 0CGET4 DB 0