Mercurial > hg > Members > kono > os9 > sbc09
diff game09/game09.asm @ 68:ec9ef70bf6e4
add game09
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 05 Aug 2018 10:34:37 +0900 |
parents | |
children | b6aabbe1a027 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/game09/game09.asm Sun Aug 05 10:34:37 2018 +0900 @@ -0,0 +1,1409 @@ +LC000 BRA LC005 +LC002 NOP +LC003 BRA LC014 +LC005 LDA #$FB + TFR A,DP + LDX #LE000 + STX <$7E + STX <$50 + LDA #$FF + STA ,X +LC014 LBSR LCD00 + LDA #$FB + TFR A,DP + LDX #LEFFF + STX <$58 +LC020 LDA #$FF + STA <$8C +LC024 LDS #LFE00 + LDU #LFD80 + LEAX >LC63F,PCR + LBSR LC165 +LC032 LBSR LC370 + BCS LC06D + STX <$42 + LBSR LC1D3 + BEQ LC024 +LC03E BSR LC09C +LC040 BMI LC024 + STX <$42 +LC044 LEAX +$02,X + LDA ,X+ + CMPA #$20 + BNE LC05B + LBSR LC1D3 + BNE LC05F + LEAX +$01,X + TST ,X + BRA LC040 +LC057 LDS #LFE00 +LC05B BSR LC0A8 + BRA LC040 +LC05F LDX <$42 + STX <$84 + BSR LC0A0 + BMI LC024 + CMPX <$84 + BEQ LC03E + BRA LC044 +LC06D STX <$86 + STD <$4A + LDB ,X + CMPB #$2F + BNE LC0B1 +LC077 BSR LC09C +LC079 LBSR LC397 + TST ,X + BMI LC024 + BSR LC087 + LBSR LC173 + BRA LC079 +LC087 LDD ,X++ + PSHS X + LBSR LC443 + PULS X + LBRA LC165 +LC093 LDX <$42 + LEAX +$02,X +LC097 TST ,X+ + BNE LC097 + RTS +LC09C LDX <$7E +LC09E STX <$42 +LC0A0 LDD ,X + BMI LC0B0 + SUBD <$4A + BCC LC0AF +LC0A8 LBSR LC173 + BSR LC093 + BRA LC09E +LC0AF CLRA +LC0B0 RTS +LC0B1 LDX <$4A + BEQ LC077 + BMI LC117 + LDX <$50 + LDA ,X + INCA + BNE LC117 + BSR LC09C + BMI LC0DE + LDX ,X + CMPX <$4A + BNE LC0DE + BSR LC093 + LDY <$42 +LC0CD LDA ,X + STA ,Y + CMPX <$50 + BEQ LC0DB + LEAX +$01,X + LEAY +$01,Y + BRA LC0CD +LC0DB STY <$50 +LC0DE LDX <$86 + LDB #$03 + TST ,X+ + BEQ LC114 +LC0E6 INCB + TST ,X+ + BNE LC0E6 + CLRA + ADDD <$50 + TFR D,Y + SUBD <$58 + BCC LC117 + LDX <$50 + STY <$50 + LEAX +$01,X + LEAY +$01,Y +LC0FD LDB ,-X + STB ,-Y + CMPX <$42 + BNE LC0FD + LDY <$4A + STY ,X++ + LDY <$86 +LC10E LDB ,Y+ + STB ,X+ + BNE LC10E +LC114 LBRA LC032 +LC117 LBRA LC024 +LC11A LDX #LFB8F + TST <$8C + BNE LC124 + LDX #LFB95 +LC124 LEAY <LC159,PCR +LC127 PSHS X + LDX ,Y++ + PSHU X + LBSR LC335 + PULU X + PULS X + PSHS A + LDA <$83 + ADDA #$30 + STA ,X+ + PULS A + TST +$01,Y + BNE LC127 + CLR ,X + COM ,-X + PSHS X + LEAX -$05,X + CLRA +LC14B LEAX +$01,X + INCA + LDB ,X + CMPB #$30 + BEQ LC14B + COM [,S++] + SUBA #$06 +LC158 RTS +LC159 BEQ LC16B + COM <$E8 + NEG <$64 + NEG <$0A + NEG <$01 + NEG <$00 +LC165 CLRA +LC166 STA <$94 +LC168 LDB ,X+ + CMPB <$94 + BEQ LC158 + LBSR LC412 + BRA LC168 +LC173 LBSR LC650 + LBCS LC024 + RTS +LC17B CMPA #$20 + BEQ LC1D1 + CLR <$4A + CLR <$4B + LDB +$01,X + BITB #$DF + BNE LC1A6 + CMPA #$5D + BNE LC195 + PULU X,B,A + STD <$46 + STX <$42 + BRA LC1C6 +LC195 CMPA #$40 + BNE LC1A6 + LEAX +$01,X + STX <$46 + CLRA + CLRB + LDY <$42 + PSHU Y,X,B,A + BRA LC1D3 +LC1A6 CMPA #$22 + BNE LC1CA + LEAX +$01,X + BSR LC166 + BRA LC1D3 +LC1B0 CMPA #$5C + BNE LC1B9 + LBSR LC676 + BRA LC1D3 +LC1B9 STX <$84 + BSR LC1EC + LBSR LC39F + BSR LC173 + LDX <$4A + BNE LC1D7 +LC1C6 LDX <$46 + BRA LC1D3 +LC1CA CMPA #$2F + BNE LC1B0 + LBSR LC397 +LC1D1 LEAX +$01,X +LC1D3 LDA ,X + BNE LC17B +LC1D7 RTS +LC1D8 PSHS A + LEAX +$01,X + BSR LC1F6 + LDX <$46 +LC1E0 LDY <$42 + PSHU Y,X,B,A + PULS PC,B,A +LC1E7 LDA #$3D + LBRA LC4F9 +LC1EC LDA ,X+ + BITA #$DF + BEQ LC1E7 + CMPA #$3D + BNE LC1EC +LC1F6 LBSR LC521 +LC1F9 PSHS B + LDB ,X + BITB #$DF + BEQ LC210 + CMPB #$29 + BEQ LC214 + CMPB #$2C + BEQ LC1D8 + PULS B + LBSR LC29C + BRA LC1F9 +LC210 STX <$46 + PULS PC,B +LC214 LEAX +$01,X + PULS PC,B +LC218 CMPB #$3F + BNE LC22E + PSHS X + STB <$8C + LBSR LC5D8 + BSR LC1F6 + PULS X + LEAX +$01,X + RTS + LEAX +$01,X + BRA LC1F6 +LC22E BSR LC287 + CMPA #$3A + BEQ LC239 + BSR LC26E +LC236 LDD ,Y + RTS +LC239 BSR LC269 + CLRA +LC23C LDB ,Y +LC23E RTS +LC23F CMPB #$22 + BCS LC218 + CMPB #$2D + BHI LC218 + SUBB #$22 + LSLB + LEAY <LC251,PCR + LDD B,Y + JMP D,Y + +LC251 fdb LC6EC-* 049b + fdb LC535-* 02e2 + fdb LC5A1-* 034c + fdb LC545-* 02ee + fdb LC236-* ffdd + fdb LC54E-* 02f3 + fdb LC236-* ffd9 + fdb LC23C-* ffdd + fdb LC23E-* ffdd + fdb LC53F-* 02dc + fdb LC242-* ffdd + fdb LC53F-* 02d8 + +LC269 BSR LC279 + LEAY D,Y + RTS +LC26E CMPA #$28 + BNE LC292 + BSR LC279 + LSLB + ROLA + LEAY D,Y + RTS +LC279 BSR LC292 + LDY ,Y + PSHS Y + LEAX +$01,X + LBSR LC1F6 + PULS PC,Y +LC287 LDB ,X+ +LC289 LDA ,X+ + CMPA #$41 + BPL LC289 + LEAX -$01,X + RTS + +LC292 ANDB #$3F + CLRA + LSLB + ADDD #LFB04 + TFR D,Y + RTS +LC29C PSHU B,A + LDD ,X+ + PSHS B,A + SUBB #$3D + BEQ LC2A9 + DECB + BNE LC2AB +LC2A9 LEAX +$01,X +LC2AB LBSR LC521 + PULU Y + EXG D,Y + PSHU Y,B,A + PULS B,A + CMPA #$3D + BNE LC2C4 + PULU B,A + SUBD ,U++ + BNE LC2E4 +LC2C0 CLRA + LDB #$01 + RTS +LC2C4 CMPA #$3C + BNE LC2E7 + CMPB #$3D + BEQ LC2D7 + CMPB #$3E + PULU B,A + BNE LC2E0 + SUBD ,U++ + BNE LC2C0 + RTS +LC2D7 PULU B,A + SUBD ,U++ + BLE LC2C0 + CLRA + CLRB + RTS +LC2E0 SUBD ,U++ + BLT LC2C0 +LC2E4 CLRA + CLRB + RTS +LC2E7 CMPA #$3E + BNE LC2FF + CMPB #$3D + PULU B,A + BNE LC2F8 + SUBD ,U++ + BGE LC2C0 + CLRA + CLRB + RTS +LC2F8 SUBD ,U++ + BGT LC2C0 + CLRA + CLRB + RTS +LC2FF CMPA #$2B + BNE LC308 + PULU B,A + ADDD ,U++ + RTS +LC308 CMPA #$2D + BNE LC311 + PULU B,A + SUBD ,U++ + RTS +LC311 CMPA #$2A + LBNE LC653 + PULU B,A +LC319 EXG A,B + PSHU B,A + LDB +$03,U + MUL + STD <$82 + BSR LC32B + BSR LC32B + LDD <$82 + LEAU +$02,U + RTS +LC32B PULU A + LDB +$01,U + MUL + ADDB <$82 + STB <$82 + RTS +LC335 CLR ,-S +LC337 INC ,S + LSL +$01,U + ROL ,U + BCC LC337 + ROR ,U + ROR +$01,U + CLR <$82 + CLR <$83 +LC347 SUBD ,U + BCC LC351 + ADDD ,U + ANDCC #$FE + BRA LC353 +LC351 ORCC #$01 +LC353 ROR <$83 + ROR <$82 + DEC ,S + BEQ LC361 + LSR ,U + ROR +$01,U + BRA LC347 +LC361 LEAS +$01,S + RTS +LC364 LDB ,X + CMPB #$30 + BCS LC36D + CMPB #$3A + RTS +LC36D ANDCC #$FE + RTS +LC370 LBSR LC5D8 +LC373 BSR LC364 + BCC LC396 + CLRA + CLRB +LC379 ADDB ,X+ + ADCA #$00 + SUBD #LC030 + PSHU B,A + BSR LC364 + LDD ,U + BCC LC392 + LSLB + ROLA + LSLB + ROLA + ADDD ,U++ + LSLB + ROLA + BRA LC379 +LC392 PULU B,A + ORCC #$01 +LC396 RTS +LC397 LDB #$0D + BSR LC39D +LC39B LDB #$0A +LC39D BRA LC412 +LC39F PSHS B,A + LDA #$01 + STA <$8C + LDX <$84 + LDB ,X + CMPB #$2E + BNE LC3BA + PULS A + LDA ,S+ +LC3B1 BEQ LC3C4 + LDB #$20 + BSR LC412 + DECA + BRA LC3B1 +LC3BA CMPB #$3B + BNE LC3C5 + LDD ,S++ + LBEQ LC057 +LC3C4 RTS +LC3C5 CMPB #$40 + BNE LC3E4 + LDB +$02,X + LBSR LC292 + PULS B,A + STD ,Y + PULU B,A + SUBD ,Y + BLT LC3E1 + PULU X,B,A + STD <$46 + STX <$42 + LEAU -$06,U + RTS +LC3E1 LEAU +$04,U + RTS +LC3E4 CMPB #$26 + BNE LC3FA +LC3E8 LDB +$01,X + CMPB #$3D + BNE LC3FA + LDD ,S++ + BNE LC3F9 + LDX <$7E + STX <$50 + DECA + STA ,X +LC3F9 RTS +LC3FA CMPB #$21 + BNE LC40C + PULS B,A + STD <$4A + BEQ LC40B + LDY <$42 + LDX <$46 + PSHU Y,X +LC40B RTS +LC40C CMPB #$24 + BNE LC415 + PULS B,A +LC412 LBRA LC64A +LC415 CMPB #$3F + BNE LC449 + LDB +$01,X + CMPB #$28 + LBNE LC56E + LBSR LC51F +LC424 STB <$8E + PULS B,A + BSR LC433 + ADDA <$8E + BMI LC430 + BSR LC3B1 +LC430 LBRA LC165 +LC433 TSTA + LBPL LC11A + LBSR LC4F3 + LBSR LC11A + LDB #$2D + STB ,-X + RTS +LC443 PSHS B,A + LDB #$05 + BRA LC424 +LC449 CMPB #$3D + BNE LC460 + PULS B,A + STD <$7E + LDX #LFFFF + STX <$4A + LBSR LC09C + STX <$50 + LBRA LC024 +LC45E PULS PC,B,A +LC460 CMPB #$3E + BNE LC46C + LDD ,S + BEQ LC45E + JSR [,S++] + PSHS B,A +LC46C LDX <$84 + LBSR LC287 + CMPA #$3A + BNE LC47D + LBSR LC269 + PULS B,A + STB ,Y + RTS +LC47D LBSR LC26E + PULS B,A + STD ,Y + RTS + LDA +$01,X + CMPA #$4E + BEQ LC48E + LBRA LC7D7 +LC48E TST +$02,X + BNE LC494 + CLR +$03,X +LC494 LEAX +$03,X + CLR <$8C + LBSR LC373 + BCS LC4A0 + LDD #LC3E8 +LC4A0 STD <$88 + LDB ,X + CMPB #$2C + BNE LC4AF + LEAX +$01,X + LBSR LC373 + BCS LC4B2 +LC4AF LDD #LC00A +LC4B2 STD <$8A + RTS +LC4B5 CMPA #$2F + BNE LC4F9 + CLR <$8D + LDD +$02,U + BEQ LC4F9 + BMI LC4D4 + CMPD #LC002 + BNE LC4DE + PULU B,A + CLR <$4E + CLR <$4F + ASRA + RORB + ROR <$4F + LEAU +$02,U + RTS +LC4D4 INC <$8D + NEG +$03,U + BNE LC4DC + DEC +$02,U +LC4DC COM +$02,U +LC4DE LDD ,U++ + BPL LC4E6 + DEC <$8D + BSR LC4F3 +LC4E6 LBSR LC335 + LEAU +$02,U + STD <$4E + LDD <$82 + TST <$8D + BEQ LC4F8 +LC4F3 NEGB + BNE LC4F7 + DECA +LC4F7 COMA +LC4F8 RTS +LC4F9 LBSR LC397 + LDB #$3F + STB <$8C + LBSR LC412 + TFR A,B + LBSR LC412 + LDB #$20 + LBSR LC412 + LDX <$42 + CMPX #LFB95 + BNE LC519 + LBSR LC165 + BRA LC51C +LC519 LBSR LC087 +LC51C LBRA LC024 +LC51F LEAX +$01,X +LC521 LBSR LC373 + BCS LC532 + LBRA LC23F + BSR LC51F + BRA LC4F3 + BSR LC51F + TSTA + BMI LC4F3 +LC532 RTS + BSR LC51F +LC535 PSHS B,A + LDD ,S++ + LBNE LC2E4 + INCB + RTS +LC53F BSR LC51F + LDD <$4E + RTS + BSR LC51F + PSHU B,A + LDD <$52 + PSHU B,A + LDD #L3D09 + LBSR LC319 + ADDD #LC001 + STD <$52 + TFR A,B + CLRA + LBSR LC319 + TFR A,B + CLRA + ADDD #LC001 + RTS + NEG <$00 + NEG <$00 + CLRA + LDB +$01,X + LEAX +$03,X + RTS +LC56E CMPB #$3F + BEQ LC57E + CMPB #$24 + BEQ LC582 + PULS B,A + LBSR LC433 + LBRA LC165 +LC57E LDB ,S + BSR LC584 +LC582 PULS B,A +LC584 TFR B,A + BSR LC58E + TFR A,B + ANDB #$0F + BRA LC592 +LC58E LSRB + LSRB + LSRB + LSRB +LC592 CMPB #$0A + BMI LC598 + ADDB #$07 +LC598 ADDB #$30 + LBRA LC412 + CLRA + BSR LC5BD + LBCC LC64D +LC5A4 PSHS B + BSR LC5BD + PSHU B + PULS B + BCC LC5BA + LSLB + ROLA + LSLB + ROLA + LSLB + ROLA + LSLB + ROLA + ADDB ,U+ + BRA LC5A4 +LC5BA LEAU +$01,U + RTS +LC5BD LEAX +$01,X + LDB ,X + SUBB #$30 + BCS LC5D2 + CMPB #$0A + BCS LC5D1 + SUBB #$07 + CMPB #$0A + BCS LC5D2 + CMPB #$10 +LC5D1 RTS +LC5D2 ANDCC #$FE + RTS +LC5D5 LBSR LC397 +LC5D8 LDB #$3A + BSR LC64A + LDX #LFB95 + TST <$8C + BNE LC5F2 + LDD <$88 + LBMI LC020 + LBSR LC443 + LDB #$20 + STB -$01,X + BSR LC64A +LC5F2 BSR LC64D + CMPB #$08 + BEQ LC634 + CMPB #$0D + BCS LC5F2 + BEQ LC611 + CMPB #$18 + BEQ LC5D5 + STB ,X+ + CMPX #LFBDF + BNE LC5F2 + LEAX -$01,X + LDB #$08 + BSR LC64A + BRA LC5F2 +LC611 TST <$8C + BNE LC626 + CMPX #LFB9B + BEQ LC61F + CMPX #LFB9A + BCC LC626 +LC61F COM <$8C + LBSR LC39B + BRA LC5D8 +LC626 LDD <$88 + ADDD <$8A + STD <$88 + CLR ,X + LDX #LFB95 + LBRA LC39B +LC634 LEAX -$01,X + CMPX #LFB94 + BNE LC5F2 + STB <$8C + BRA LC5D8 + + FCB $D,$A + FCS "*READY" + FCB $D,$A,0 + +LC64A LBRA LC6FE OUTCH +LC64D LBRA LC6FC GETCH +LC650 LBRA LC720 SENSE +LC653 CMPA #$2E EXBOP + BNE LC65E + PULU B,A + ORA ,U+ + ORB ,U+ + RTS +LC65E CMPA #$26 + BNE LC669 + PULU B,A + ANDA ,U+ + ANDB ,U+ + RTS +LC669 CMPA #$21 + LBNE LC4B5 + PULU B,A + EORA ,U+ + EORB ,U+ + RTS +LC676 LDD +$01,X EXTEND + LEAX +$03,X + PSHS U,X,B,A + LEAY >LC737,PCR +LC680 LDX ,Y + BMI LC6E7 + CMPX ,S + BEQ LC68C + LEAY +$05,Y + BRA LC680 +LC68C LEAY +$03,Y + LEAS +$02,S + LDX ,S + LDA -$01,Y + BEQ LC6C3 + PSHS Y,A + LDA #$20 +LC69A CMPA ,X+ + BEQ LC69A + LDA ,-X + STX +$03,S +LC6A2 BITA #$DF + BEQ LC6B0 + CMPA #$2C + BEQ LC6AE + BSR LC6C9 + BRA LC6B3 +LC6AE LEAX +$01,X +LC6B0 LDD #LFFFF +LC6B3 PSHU B,A + LDA ,X + DEC ,S + BNE LC6A2 + LDD +$03,S + STX +$03,S + TFR D,X + PULS Y,A +LC6C3 LDD ,Y + JSR D,Y + PULS PC,U,X +LC6C9 LBSR LC521 +LC6CC PSHS B + LDB ,X + BITB #$DF + BEQ LC6E5 + CMPB #$2C + BEQ LC6E3 + CMPB #$29 + BEQ LC6E3 + PULS B + LBSR LC29C + BRA LC6CC +LC6E3 LEAX +$01,X +LC6E5 PULS PC,B +LC6E7 PULS U,X,B,A + LBRA LC4F9 +LC6EC LEAX +$01,X + LDB ,X+ +LC6F0 LDA ,X+ + BEQ LC6F8 + CMPA #$22 + BNE LC6F0 +LC6F8 CLRA + RTS +LC6FA STB LFC8D + CLR <$34 + LBRA L758E + STB LA602 + STB +$02,X +LC707 LDA +$03,X + BPL LC707 + PULS PC,X,B,A + PSHS X + LDX <LC6FA,PCR +LC712 LDB +$01,X + BPL LC712 + LDB ,X + CMPB #$18 + LBEQ LC003 + PULS PC,X +LC720 PSHS X,A + LDX <LC6FA,PCR + LDA +$01,X + BPL LC731 + BSR LC6FC + CMPB #$18 + BEQ LC734 + BSR LC6FC +LC731 CLRA + PULS PC,X,A + + * COMMAND TABLE CONSIST.... + * COMMAND NAME (2 BYTE) + * PARAMETER COUNT (1 BYTE) + * OFSET TO SUBROUTIE FROM HERE (1 WORD) + ************************** + OPCMD FCC "AT",2 START LINE,STEP + FDB CAUTO-* + FCC "RN",3 RENUM first line no,inc,renum start + FDB RENUM-* + FCC "RD",3 DISK READ address,track,sector + FDB GETDK-* + FCC "WR",3 DISK WRITE + FDB PUTDK-* + FCC "SY",0 TO SYSTEM + FDB SYSTEM-* + FDB -1,-1,-1,-1,-1,-1 + ************************* + + LDD ,U++ + BPL LC762 + CLRA + CLRB +LC762 STD <$4A + LBSR LC09C + BMI LC789 + LDD ,U++ + BPL LC770 + LDD #LC00A +LC770 LDY ,U++ + BPL LC779 + LDY #LC3E8 +LC779 STY ,X++ + LBSR LC173 + LEAY D,Y +LC781 TST ,X+ + BNE LC781 + TST ,X + BPL LC779 +LC789 RTS + LDD ,U++ + BPL LC791 + LDD #LC00A +LC791 STD <$8A + LDD ,U + BEQ LC79E + BPL LC79C + LDD #LC3E8 +LC79C STD <$88 +LC79E CLR <$8C + RTS + BSR LC7B6 + LBSR LCD09 + BNE LC7B1 + RTS + BSR LC7B6 + LBSR LCD0C + BNE LC7B1 + RTS +LC7B1 LDA #$44 + LBRA LC4F9 +LC7B6 LDX +$04,U + LDA +$03,U + LDB +$01,U + RTS + SWI + DEC <$02 + LDA LD7FC + CMPA #$18 + BEQ LC7D3 +LC7C7 TST LD7FD + BPL LC7C7 + LDA LD7FC + ANDCC #$FE + PULS PC,A +LC7D3 ORCC #$01 + PULS PC,A + + org $c800 + LBRA LCA96 + LBRA LC8CA + LBRA LC9F2 +LC809 STB <$FC +LC80B STB <$FD +LC80D STB <$FE +LC80F STB <$FF + SUBB +$00,X +LC813 SUBA #$0E +LC815 LDA [<LC80B,PCR] + BPL LC815 + LDA [<LC809,PCR] + BRA LC831 +LC81F LSRA + LSRA + LSRA + LSRA +LC823 ANDA #$0F + CMPA #$0A + BCS LC82B + ADDA #$07 +LC82B ADDA #$30 + BRA LC831 +LC82F LDA #$20 +LC831 LDB [<LC80D,PCR] + STA [<LC80D,PCR] +LC837 LDB [<LC80F,PCR] + BPL LC837 + JMP ,U +LC83E CMPA #$30 + BCS LC856 + CMPA #$3A + BCC LC84A + SUBA #$30 + BRA LC858 +LC84A CMPA #$41 + BCS LC856 + CMPA #$47 + BCC LC856 + SUBA #$37 + BRA LC858 +LC856 ORCC #$01 +LC858 JMP ,U +LC85A EXG D,X + LSLB + ROLA + LSLB + ROLA + LSLB + ROLA + LSLB + ROLA + EXG D,X + LEAX A,X + JMP ,U +LC86A TFR U,Y + LDA #$0D + LEAU <LC874,PCR + LBRA LC831 +LC874 LDA #$0A + LEAU <LC87C,PCR + LBRA LC831 +LC87C JMP ,Y +LC87E TFR U,Y + LDA ,X + LEAU <LC888,PCR + LBRA LC81F +LC888 LDA ,X + LEAU <LC890,PCR + LBRA LC823 +LC890 JMP ,Y +LC892 TFR U,Y +LC894 TFR X,D + LEAU <LC89C,PCR + LBRA LC81F +LC89C TFR X,D + LEAU <LC8A4,PCR + LBRA LC823 +LC8A4 TFR X,D + TFR B,A + LEAU <LC8AE,PCR + LBRA LC81F +LC8AE TFR X,D + TFR B,A + LEAU <LC8B8,PCR + LBRA LC823 +LC8B8 JMP ,Y + TFR U,Y +LC8BC LDA ,X+ +LC8BE BEQ LC8C8 + LEAU <LC8C6,PCR + LBRA LC831 +LC8C6 BRA LC8BC +LC8C8 JMP ,Y +LC8CA LEAU <LC8D0,PCR + LBRA LC86A +LC8D0 LEAU <LC8D6,PCR + LBRA LC86A +LC8D6 LDA #$2A + LEAU <LC8DE,PCR + LBRA LC831 +LC8DE LDY #LC000 +LC8E2 LEAU <LC8E8,PCR + LBRA LC815 +LC8E8 CMPA #$47 +LC8EA LBEQ LC915 + CMPA #$4D + LBEQ LC931 + CMPA #$53 + LBEQ LC96B + LEAU <LC900,PCR + LBRA LC83E +LC900 BCS LC8CA + LEAY ,Y + BNE LC90D + LDY #LC001 + LDX #LC000 +LC90D LEAU <LC913,PCR + LBRA LC85A +LC913 BRA LC8E2 +LC915 LEAU <LC91B,PCR + LBRA LC86A +LC91B LEAU <LC921,PCR + LBRA LC892 +LC921 LEAU <LC927,PCR + LBRA LC82F +LC927 LDA #$47 + LEAU <LC92F,PCR + LBRA LC831 +LC92F JMP ,X +LC931 LDB >LC814,PCR +LC935 ORB >LC813,PCR + TFR B,DP + LEAU <LC941,PCR + LBRA LC86A +LC941 LEAU <LC947,PCR + LBRA LC892 +LC947 LEAU <LC94D,PCR +LC94A LBRA LC82F +LC94D LEAU <LC953,PCR + LBRA LC82F +LC953 LEAU <LC959,PCR + LBRA LC87E +LC959 LEAX +$01,X + TFR DP,B + SUBB #$10 + TFR B,DP + BITB #$F0 + BNE LC94D + DECB + BNE LC935 + LBRA LC8CA +LC96B LEAU <LC971,PCR + LBRA LC86A +LC971 LEAU <LC977,PCR + LBRA LC892 +LC977 LEAU <LC97D,PCR + LBRA LC82F +LC97D LEAU <LC983,PCR + BCS LC94A + LEAY ,Y + BNE LC98D + LDY #LC001 + LDX #LC000 +LC98D LEAU <LC993,PCR + LBRA LC8DA +LC993 BRA LC962 + LEAU <LC99B,PCR + LBRA LC8EA +LC99B LEAU <LC9A1,PCR + LBRA LC912 +LC9A1 LEAU <LC9A7,PCR + LBRA LC8AF +LC9A7 LDA #$47 + LEAU <LC9AF,PCR + LBRA LC8B1 +LC9AF JMP ,X + LDB >LC894,PCR +LC9B5 ORB >LC893,PCR + TFR B,DP + LEAU <LC9C1,PCR + LBRA LC8EA +LC9C1 LEAU <LC9C7,PCR + LBRA LC912 +LC9C7 LEAU <LC9CD,PCR + LBRA LC8AF +LC9CD LEAU <LC9D3,PCR + LBRA LC8AF +LC9D3 LEAU <LC9D9,PCR + LBRA LC8FE +LC9D9 LEAX +$01,X + TFR DP,B + SUBB #$10 + TFR B,DP + BITB #$F0 + BNE LC9CD + DECB + BNE LC9B5 + LBRA LC94A +LC9EB LEAU <LC9F1,PCR + LBRA LC8EA +LC9F1 LEAU <LC9F7,PCR + LBRA LC912 +LC9F7 LEAU <LC9FD,PCR + LBRA LC8AF +LC9FD LEAU <LCA03,PCR + LBRA LC8FE +LCA03 LDA #$2D + LEAU <LCA0B,PCR + LBRA LC8B1 +LCA0B LDY #LC000 + CLRB + TFR B,DP +LCA12 LEAU <LCA18,PCR + LBRA LC895 +LCA18 LEAU <LCA1E,PCR + LBRA LC8BE +LCA1E BCS LCA39 + LDY #LC001 + TFR DP,B + LSLB + LSLB + LSLB + LSLB + TFR A,DP + EXG D,X + EXG DP,B + ABX + EXG B,DP + EXG X,D + TFR B,DP + BRA LCA12 +LCA39 CMPA #$0D + BNE LCA47 + LDA #$0A + LEAU <LCA45,PCR + LBRA LC8B1 +LCA45 LDA #$0D +LCA47 EXG A,DP + LEAY ,Y + BEQ LCA4F + STA ,X +LCA4F LDA #$2D + LEAU <LCA57,PCR + LBRA LC8B1 +LCA57 LEAU <LCA5D,PCR + LBRA LC8FE +LCA5D TFR DP,A + CMPA #$0D + LBEQ LC94A + LEAX -$01,X + CMPA #$5E + LBEQ LC9EB + LEAX +$02,X + LBRA LC9EB + LEAX <LCAE5,PCR + LEAU <LCA7B,PCR + LBRA LC93A +LCA7B LDA #$04 +LCA7D TFR A,DP + LEAX ,S+ + LEAU <LCA87,PCR + LBRA LC8FE +LCA87 LEAU <LCA8D,PCR + LBRA LC8AF +LCA8D LEAU <LCA93,PCR + LBRA LC8AF +LCA93 LEAU <LCA99,PCR +LCA96 TFR DP,A + DECA +LCA99 BNE LCA7D + LEAX <LCAF8,PCR + LEAU <LCAA4,PCR + LBRA LC93A +LCAA4 LDA #$04 +LCAA6 TFR A,DP + LDX ,S++ + LEAU <LCAB0,PCR + LBRA LC912 +LCAB0 LEAU <LCAB6,PCR + LBRA LC8AF +LCAB6 LEAU <LCABC,PCR + LBRA LC8AF +LCABC TFR DP,A + DECA + BNE LCAA6 + LEAX ,S + LEAU <LCAC9,PCR + LBRA LC912 +LCAC9 LBRA LC94A +LCACC INC <$09 + + fcs "RALPH09 DEBUGGER 2.0" + fcb $d,$a,0 + fcb $d,$a + fcs "CC A B DP" + fcb $d,$a,0 + fcb $d,$a + fcs "X Y U PC S" + fcb $d,$a,0 + + LDX #LFF48 + LDA #$07 +LCB1B STA ,-X + DECA + BNE LCB1B + CLR LFF4A + LDX #LFF00 + LDD #LC1E0 +LCB29 STD ,X++ + INCB + BNE LCB29 + CLR LFF40 + LDU >LC889,PCR + CLRA + STA +$01,U + STA +$03,U + DECA + STA +$02,U + LDA #$24 + STA +$01,U + STA +$03,U + LDA ,U + LDA +$02,U + LDS >LC891,PCR + LEAX >LCACC,PCR + LEAU <LCB56,PCR + LBRA LC93A +LCB56 LBRA LC94A + + org $cb80 + LDA #$01 + STA LFF4A + STA LFF4B + LDX #LFF40 + LDD #LC01F +LCB8E STD ,--X + DECB + BNE LCB8E + STD ,--X + LDD #LC1FE + STD LFF38 + INCB + STD LFF3A + LDD #LC1FA + STD LFF3C + LDA #$04 + STA LFF49 + JMP LE000 + + org $cc80 + LDB #$00 + BRA LCCC0 + LDB #$01 + BRA LCCC0 + LDB #$02 + BRA LCCC0 + LDB #$03 + BRA LCCC0 + LDB #$04 + BRA LCCC0 + LDB #$05 + BRA LCCC0 + LDB #$06 + BRA LCCC0 + LDB #$07 + BRA LCCC0 + LDB #$08 + BRA LCCC0 + LDB #$09 + BRA LCCC0 + LDB #$0A + BRA LCCC0 + LDB #$0B + BRA LCCC0 + LDB #$0C + BRA LCCC0 + LDB #$0D + BRA LCCC0 + LDB #$0E + BRA LCCC0 + LDB #$0F + BRA LCCC0 +LCCC0 STS LDF82 + LDS #LDF80 + CMPB #$09 + BLE LCCDB + BSR LCD01 + PSHS B + LDB #$01 + BSR LCCF7 + PULS B + BSR LCCF7 + BRA LCCDF + RTI + +LCCDB BSR LCD01 + BSR LCCF7 +LCCDF BSR LCD14 + LDS LDF82 + LDA #$01 + STA LFF49 + RTI + + LDA LD7FE + STB LD7FE +LCCF1 LDA LD7FF + BPL LCCF1 + RTS + +LCCF7 CMPB #$0A + BCS LCCFD + SUBB #$0A +LCCFD ADDB #$30 + BRA LCD01