# HG changeset patch # User Shinji KONO # Date 1533449712 -32400 # Node ID b6aabbe1a027b9dc96240aa4106a7f28fc587cd6 # Parent ec9ef70bf6e4039da4bd39b5ec04c12cf69e065a ... diff -r ec9ef70bf6e4 -r b6aabbe1a027 game09/game09.asm --- a/game09/game09.asm Sun Aug 05 10:34:37 2018 +0900 +++ b/game09/game09.asm Sun Aug 05 15:15:12 2018 +0900 @@ -1,1409 +1,1496 @@ +* +* GAME09 interpreter +* + + +L3D09 equ $3D09 +L758E equ $758E +LA602 equ $A602 + +LC1FA equ $C1FA +LC1FE equ $C1FE +LC889 equ $C889 +LC891 equ $C891 +LC893 equ $C893 +LC895 equ $C895 +LC8AF equ $C8AF +LC8B1 equ $C8B1 +LC8DA equ $C8DA +LC8FE equ $C8FE +LC912 equ $C912 +LC93A equ $C93A +LC962 equ $C962 +LC983 equ $C983 +LC9F2 equ $C9F2 +LCAE5 equ $CAE5 +LCAF8 equ $CAF8 +LCD00 equ $CD00 +LCD01 equ $CD01 +LCD09 equ $CD09 +LCD0C equ $CD0C +LCD14 equ $CD14 + +LC814 equ $C814 +LC813 equ $C813 + + +LD7FC equ $D7FC +LD7FD equ $D7FD +LD7FE equ $D7FE +LD7FF equ $D7FF +LDF80 equ $DF80 +LDF82 equ $DF82 + +LE000 equ $E000 +LEFFF equ $EFFF +LFB04 equ $FB04 +LFB8F equ $FB8F +LFB94 equ $FB94 +LFB95 equ $FB95 +LFB9A equ $FB9A +LFB9B equ $FB9B +LFBDF equ $FBDF +LFC8D equ $FC8D +LFD80 equ $FD80 +LFE00 equ $FE00 +LFF00 equ $FF00 +LFF38 equ $FF38 +LFF3A equ $FF3A +LFF3C equ $FF3C +LFF40 equ $FF40 +LFF48 equ $FF48 +LFF49 equ $FF49 +LFF4A equ $FF4A +LFF4B equ $FF4B +LFFFF equ $FFFF + + LC000 BRA LC005 LC002 NOP LC003 BRA LC014 LC005 LDA #$FB - TFR A,DP - LDX #LE000 - STX <$7E - STX <$50 - LDA #$FF - STA ,X + 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 + LDA #$FB + TFR A,DP + LDX #LEFFF + STX <$58 LC020 LDA #$FF - STA <$8C + STA <$8C LC024 LDS #LFE00 - LDU #LFD80 - LEAX >LC63F,PCR - LBSR LC165 + LDU #LFD80 + LEAX >LC63F,PCR + LBSR LC165 LC032 LBSR LC370 - BCS LC06D - STX <$42 - LBSR LC1D3 - BEQ LC024 + BCS LC06D + STX <$42 + LBSR LC1D3 + BEQ LC024 LC03E BSR LC09C LC040 BMI LC024 - STX <$42 + STX <$42 LC044 LEAX +$02,X - LDA ,X+ - CMPA #$20 - BNE LC05B - LBSR LC1D3 - BNE LC05F - LEAX +$01,X - TST ,X - BRA LC040 + 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 + BRA LC040 LC05F LDX <$42 - STX <$84 - BSR LC0A0 - BMI LC024 - CMPX <$84 - BEQ LC03E - BRA LC044 + STX <$84 + BSR LC0A0 + BMI LC024 + CMPX <$84 + BEQ LC03E + BRA LC044 LC06D STX <$86 - STD <$4A - LDB ,X - CMPB #$2F - BNE LC0B1 + STD <$4A + LDB ,X + CMPB #$2F + BNE LC0B1 LC077 BSR LC09C LC079 LBSR LC397 - TST ,X - BMI LC024 - BSR LC087 - LBSR LC173 - BRA LC079 + TST ,X + BMI LC024 + BSR LC087 + LBSR LC173 + BRA LC079 LC087 LDD ,X++ - PSHS X - LBSR LC443 - PULS X - LBRA LC165 + PSHS X + LBSR LC443 + PULS X + LBRA LC165 LC093 LDX <$42 - LEAX +$02,X + LEAX +$02,X LC097 TST ,X+ - BNE LC097 - RTS + BNE LC097 + RTS LC09C LDX <$7E LC09E STX <$42 LC0A0 LDD ,X - BMI LC0B0 - SUBD <$4A - BCC LC0AF + BMI LC0B0 + SUBD <$4A + BCC LC0AF LC0A8 LBSR LC173 - BSR LC093 - BRA LC09E + 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 + 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 + 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 + 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 + 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 + STB ,-Y + CMPX <$42 + BNE LC0FD + LDY <$4A + STY ,X++ + LDY <$86 LC10E LDB ,Y+ - STB ,X+ - BNE LC10E + STB ,X+ + BNE LC10E LC114 LBRA LC032 LC117 LBRA LC024 LC11A LDX #LFB8F - TST <$8C - BNE LC124 - LDX #LFB95 + TST <$8C + BNE LC124 + LDX #LFB95 LC124 LEAY LC737,PCR + LEAX +$03,X + PSHS U,X,B,A + LEAY >OPCMD,PCR LC680 LDX ,Y - BMI LC6E7 - CMPX ,S - BEQ LC68C - LEAY +$05,Y - BRA LC680 + 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 + 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 + BEQ LC69A + LDA ,-X + STX +$03,S LC6A2 BITA #$DF - BEQ LC6B0 - CMPA #$2C - BEQ LC6AE - BSR LC6C9 - BRA LC6B3 + 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 + 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 + 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 + 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 + LBRA LC4F9 LC6EC LEAX +$01,X - LDB ,X+ + LDB ,X+ LC6F0 LDA ,X+ - BEQ LC6F8 - CMPA #$22 - BNE LC6F0 + BEQ LC6F8 + CMPA #$22 + BNE LC6F0 LC6F8 CLRA - RTS -LC6FA STB LFC8D - CLR <$34 - LBRA L758E - STB LA602 - STB +$02,X + RTS +LC6FA FDB $FCFD + +GETCH +LC6FC BSR LC70D +OUTCH + PSHS X,B,A + LDX LC814,PCR LC935 ORB >LC813,PCR - TFR B,DP - LEAU LC894,PCR + LDB >LC894,PCR LC9B5 ORB >LC893,PCR - TFR B,DP - LEAU 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 + 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 LCACC,PCR + LEAU