f9dasm: M6800/1/2/3/8/9 / H6309 Binary/OS9/FLEX9 Disassembler V1.82 Loaded binary file xb223.bin ;**************************************************** ;* Used Labels * ;**************************************************** $0000 EQU $0000 $0001 EQU $0001 PORT2_TG_LED EQU $0003 P4DDR EQU $0005 TCSR1 EQU $0008 FRC EQU $0009 OCR1 EQU $000B RMCR EQU $0010 RP5CR EQU $0014 PORT5 EQU $0015 PORT6_MASTER EQU $0017 P5DDR EQU $0020 P6CSR EQU $0021 IRAM_40 EQU $0040 IRAM_44 EQU $0044 IRAM_46 EQU $0046 IRAM_48 EQU $0048 IRAM_4A EQU $004A IRAM_4B EQU $004B IRAM_4C EQU $004C IRAM_4D EQU $004D IRAM_4F EQU $004F IRAM_53 EQU $0053 IRAM_55 EQU $0055 IRAM_57 EQU $0057 IRAM_59 EQU $0059 IRAM_5A EQU $005A IRAM_5B EQU $005B IRAM_5D EQU $005D IRAM_5F EQU $005F IRAM_61 EQU $0061 IRAM_62 EQU $0062 IRAM_6A EQU $006A IRAM_6B EQU $006B IRAM_6C EQU $006C IRAM_6D EQU $006D IRAM_6F EQU $006F IRAM_70 EQU $0070 IRAM_71 EQU $0071 IRAM_72 EQU $0072 IRAM_73 EQU $0073 IRAM_74 EQU $0074 IRAM_75 EQU $0075 IRAM_76 EQU $0076 IRAM_78 EQU $0078 IRAM_7A EQU $007A IRAM_7C EQU $007C IRAM_7E EQU $007E IRAM_7F EQU $007F IRAM_F0 EQU $00F0 IRAM_FF EQU $00FF IRAM_end EQU $0140 $028F EQU $028F EGM_00 EQU $1000 EGM_16 EQU $1016 EGM_17 EQU $1017 EGM_18 EQU $1018 EGM_19 EQU $1019 EGM_1A EQU $101A EGM_1B EQU $101B EGM_1C EQU $101C EGM_1D EQU $101D EGM_1F EQU $101F OPS_0 EQU $1800 OPS_1 EQU $1801 $2600 EQU $2600 $2FDE EQU $2FDE $4000 EQU $4000 $4180 EQU $4180 SRAM_43C0 EQU $43C0 SRAM_43C8 EQU $43C8 SRAM_43D0 EQU $43D0 SRAM_4400 EQU $4400 SRAM_5B70 EQU $5B70 SRAM_5EA8 EQU $5EA8 SRAM_5FFF EQU $5FFF $7FFF EQU $7FFF M90B0 EQU $90B0 $F000 EQU $F000 ;**************************************************** ;* Program Code / Data Areas * ;**************************************************** ORG $E000 hdlr_RST SEI ;E000: 0F '.' LDS #SRAM_5FFF ;E001: 8E 5F FF '._.' ; Initialize registers LDAA #$FF ;E004: 86 FF '..' STAA P4DDR ;E006: 97 05 '..' LDAA #$04 ;E008: 86 04 '..' STAA RMCR ;E00A: 97 10 '..' LDAA #$FF ;E00C: 86 FF '..' STAA PORT2_TG_LED ;E00E: 97 03 '..' STAA $0001 ;E010: 97 01 '..' LDAA #$E0 ;E012: 86 E0 '..' STAA RP5CR ;E014: 97 14 '..' LDAA #$FE ;E016: 86 FE '..' STAA PORT5 ;E018: 97 15 '..' LDAA #$01 ;E01A: 86 01 '..' STAA P5DDR ;E01C: 97 20 '. ' JSR clear_SP ;E01E: BD E9 53 '..S' LDAA #$68 ;E021: 86 68 '.h' STAA P6CSR ;E023: 97 21 '.!' clr_IRAM LDX #IRAM_40 ;E025: CE 00 40 '..@' clr_IRAM_0 CLR $00,X ;E028: 6F 00 'o.' INX ;E02A: 08 '.' CPX #IRAM_end ;E02B: 8C 01 40 '..@' BNE clr_IRAM_0 ;E02E: 26 F8 '&.' LDAB #$10 ;E030: C6 10 '..' STAB IRAM_44 ;E032: D7 44 '.D' LDX #$4180 ;E034: CE 41 80 '.A.' ZE037 LDD #SRAM_5EA8 ;E037: CC 5E A8 '.^.' STD $16,X ;E03A: ED 16 '..' LDD #SRAM_5EA8 ;E03C: CC 5E A8 '.^.' STD $14,X ;E03F: ED 14 '..' LDD #SRAM_5EA8 ;E041: CC 5E A8 '.^.' STD $18,X ;E044: ED 18 '..' LDAA #$04 ;E046: 86 04 '..' STAA $01,X ;E048: A7 01 '..' LDD #$0000 ;E04A: CC 00 00 '...' STD $02,X ;E04D: ED 02 '..' LDAB #$24 ;E04F: C6 24 '.$' ABX ;E051: 3A ':' DEC >IRAM_44 ;E052: 7A 00 44 'z.D' BNE ZE037 ;E055: 26 E0 '&.' CLR >IRAM_4C ;E057: 7F 00 4C '..L' CLR >IRAM_71 ;E05A: 7F 00 71 '..q' CLR >IRAM_73 ;E05D: 7F 00 73 '..s' CLR >IRAM_7E ;E060: 7F 00 7E '..~' LDD #$F000 ;E063: CC F0 00 '...' STD IRAM_4D ;E066: DD 4D '.M' STD IRAM_76 ;E068: DD 76 '.v' STD IRAM_78 ;E06A: DD 78 '.x' STD IRAM_7A ;E06C: DD 7A '.z' LDD #$0000 ;E06E: CC 00 00 '...' STD FRC ;E071: DD 09 '..' LDD #$2FDE ;E073: CC 2F DE './.' STD OCR1 ;E076: DD 0B '..' LDAA #$08 ;E078: 86 08 '..' STAA TCSR1 ;E07A: 97 08 '..' CLR EGM_1F ;E07C: 7F 10 1F '...' Init LDX #SRAM_4400 ;E07F: CE 44 00 '.D.' STX IRAM_46 ;E082: DF 46 '.F' STX IRAM_48 ;E084: DF 48 '.H' LDAA PORT6_MASTER ;E086: 96 17 '..' CLI ;E088: 0E '.' Loop LDX IRAM_48 ;E089: DE 48 '.H' CPX IRAM_46 ;E08B: 9C 46 '.F' BNE ZE094 ;E08D: 26 05 '&.' TIM #$40,P6CSR ;E08F: 7B 40 21 '{@!' BNE Loop ;E092: 26 F5 '&.' ZE094 LDD $00,X ;E094: EC 00 '..' INX ;E096: 08 '.' INX ;E097: 08 '.' CPX #SRAM_5B70 ;E098: 8C 5B 70 '.[p' BNE ZE0A0 ;E09B: 26 03 '&.' LDX #SRAM_4400 ;E09D: CE 44 00 '.D.' ZE0A0 STX IRAM_48 ;E0A0: DF 48 '.H' OIM #$40,P6CSR ;E0A2: 72 40 21 'r@!' TSTA ;E0A5: 4D 'M' BMI ZE0AF ;E0A6: 2B 07 '+.' STAB IRAM_4A ;E0A8: D7 4A '.J' CLR >IRAM_4C ;E0AA: 7F 00 4C '..L' BRA Loop ;E0AD: 20 DA ' .' ZE0AF TBA ;E0AF: 17 '.' LDAB IRAM_4A ;E0B0: D6 4A '.J' LDX #MainJump ;E0B2: CE E0 BF '...' ASLB ;E0B5: 58 'X' ABX ;E0B6: 3A ':' LDX $00,X ;E0B7: EE 00 '..' LSRB ;E0B9: 54 'T' JSR $00,X ;E0BA: AD 00 '..' BRA Loop ;E0BC: 20 CB ' .' ME0BE_via_cvec_e0d1 RTS ;E0BE: 39 '9' MainJump FDB EGM_wr_00_0,EGM_wr_00_0 ;E0BF: E6 BB E6 BB '....' FDB EGM_wr_00_0,EGM_wr_00_0 ;E0C3: E6 BB E6 BB '....' FDB EGM_wr_00_0,EGM_wr_00_0 ;E0C7: E6 BB E6 BB '....' FDB EGM_wr_00_0,EGM_wr_00_0 ;E0CB: E6 BB E6 BB '....' FDB EGM_wr_00_1 ;E0CF: E6 C5 '..' FDB ME0BE_via_cvec_e0d1 ;E0D1: E0 BE '..' FDB EGM_wr_00_0,EGM_wr_00_0 ;E0D3: E6 BB E6 BB '....' FDB ME0BE_via_cvec_e0d1 ;E0D7: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0D9: E0 BE '..' FDB EGM_wr_00_0,EGM_wr_00_0 ;E0DB: E6 BB E6 BB '....' FDB ME0BE_via_cvec_e0d1 ;E0DF: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0E1: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0E3: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0E5: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0E7: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0E9: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0EB: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0ED: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0EF: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0F1: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0F3: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0F5: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0F7: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E0F9: E0 BE '..' FDB OPS_wr_0,OPS_wr_1 ;E0FB: E7 91 E6 EE '....' FDB ME84E_via_cvec_e0ff ;E0FF: E8 4E '.N' FDB ME84E_via_cvec_e0ff ;E101: E8 4E '.N' FDB ME84E_via_cvec_e0ff ;E103: E8 4E '.N' FDB ME84E_via_cvec_e0ff ;E105: E8 4E '.N' FDB ME84E_via_cvec_e0ff ;E107: E8 4E '.N' FDB ME84E_via_cvec_e0ff ;E109: E8 4E '.N' FDB ME84E_via_cvec_e0ff ;E10B: E8 4E '.N' FDB ME84E_via_cvec_e0ff ;E10D: E8 4E '.N' FDB ME85E_via_cvec_e10f ;E10F: E8 5E '.^' FDB ME85E_via_cvec_e10f ;E111: E8 5E '.^' FDB ME85E_via_cvec_e10f ;E113: E8 5E '.^' FDB ME85E_via_cvec_e10f ;E115: E8 5E '.^' FDB ME85E_via_cvec_e10f ;E117: E8 5E '.^' FDB ME85E_via_cvec_e10f ;E119: E8 5E '.^' FDB ME85E_via_cvec_e10f ;E11B: E8 5E '.^' FDB ME85E_via_cvec_e10f ;E11D: E8 5E '.^' FDB ME6E2_via_cvec_e11f ;E11F: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E121: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E123: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E125: E6 E2 '..' FDB ME0BE_via_cvec_e0d1 ;E127: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E129: E0 BE '..' FDB ME71F_via_cvec_e12b ;E12B: E7 1F '..' FDB ME0BE_via_cvec_e0d1 ;E12D: E0 BE '..' FDB ME6E2_via_cvec_e11f ;E12F: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E131: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E133: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E135: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E137: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E139: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E13B: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E13D: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E13F: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E141: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E143: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E145: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E147: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E149: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E14B: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E14D: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E14F: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E151: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E153: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E155: E6 E2 '..' FDB ME6E2_via_cvec_e11f ;E157: E6 E2 '..' FDB ME805_via_cvec_e159 ;E159: E8 05 '..' FDB ME0BE_via_cvec_e0d1 ;E15B: E0 BE '..' FDB ME843_via_cvec_e15d ;E15D: E8 43 '.C' FDB ME767_via_cvec_e15f ;E15F: E7 67 '.g' FDB ME767_via_cvec_e15f ;E161: E7 67 '.g' FDB ME767_via_cvec_e15f ;E163: E7 67 '.g' FDB ME767_via_cvec_e15f ;E165: E7 67 '.g' FDB ME767_via_cvec_e15f ;E167: E7 67 '.g' FDB ME767_via_cvec_e15f ;E169: E7 67 '.g' FDB ME767_via_cvec_e15f ;E16B: E7 67 '.g' FDB EGM_wr_17_1A_1B ;E16D: E9 20 '. ' FDB EGM_wr_17_1A_1B ;E16F: E9 20 '. ' FDB ME0BE_via_cvec_e0d1 ;E171: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E173: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E175: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E177: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E179: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E17B: E0 BE '..' FDB EGM_wr_16_1 ;E17D: E7 74 '.t' FDB ME79D_via_cvec_e17f ;E17F: E7 9D '..' FDB ME79D_via_cvec_e17f ;E181: E7 9D '..' FDB ME79D_via_cvec_e17f ;E183: E7 9D '..' FDB ME79D_via_cvec_e17f ;E185: E7 9D '..' FDB ME0BE_via_cvec_e0d1 ;E187: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E189: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E18B: E0 BE '..' FDB ME0BE_via_cvec_e0d1 ;E18D: E0 BE '..' FDB ME7AD_via_cvec_e18f ;E18F: E7 AD '..' FDB ME7AD_via_cvec_e18f ;E191: E7 AD '..' FDB ME7AD_via_cvec_e18f ;E193: E7 AD '..' FDB ME7AD_via_cvec_e18f ;E195: E7 AD '..' FDB ME7AD_via_cvec_e18f ;E197: E7 AD '..' FDB ME7AD_via_cvec_e18f ;E199: E7 AD '..' FDB ME7AD_via_cvec_e18f ;E19B: E7 AD '..' FDB ME7AD_via_cvec_e18f ;E19D: E7 AD '..' FDB ME914_via_cvec_e19f ;E19F: E9 14 '..' FDB EGM_wr_16_0 ;E1A1: E7 18 '..' FDB ME6FA_via_cvec_e1a3 ;E1A3: E6 FA '..' FDB ME7EE_via_cvec_e1a5 ;E1A5: E7 EE '..' FDB ME7D5_via_cvec_e1a7 ;E1A7: E7 D5 '..' FDB EGM_wr_00_2,EGM_wr_00_2 ;E1A9: E8 F6 E8 F6 '....' FDB EGM_wr_00_2,EGM_wr_00_2 ;E1AD: E8 F6 E8 F6 '....' FDB EGM_wr_00_2,EGM_wr_00_2 ;E1B1: E8 F6 E8 F6 '....' FDB ME82C_via_cvec_e1b5 ;E1B5: E8 2C '.,' FDB ME0BE_via_cvec_e0d1 ;E1B7: E0 BE '..' FDB EGM_wr_17_18_19 ;E1B9: E7 37 '.7' FDB ME7D0_via_cvec_e1bb ;E1BB: E7 D0 '..' FDB ME7B9_via_cvec_e1bd ;E1BD: E7 B9 '..' ; Timer 1 Output Compare 1, 2 hdlr_SWI2 CLR >TCSR1 ;E1BF: 7F 00 08 '...' LDAA TCSR1 ;E1C2: 96 08 '..' LDD #$0000 ;E1C4: CC 00 00 '...' STD FRC ;E1C7: DD 09 '..' LDD #$2FDE ;E1C9: CC 2F DE './.' STD OCR1 ;E1CC: DD 0B '..' CLI ;E1CE: 0E '.' CLR >IRAM_5A ;E1CF: 7F 00 5A '..Z' ZE1D2 LDAB IRAM_5A ;E1D2: D6 5A '.Z' LDX #SRAM_43C0 ;E1D4: CE 43 C0 '.C.' ABX ;E1D7: 3A ':' LDAA $00,X ;E1D8: A6 00 '..' ANDA #$07 ;E1DA: 84 07 '..' STAA IRAM_59 ;E1DC: 97 59 '.Y' LDAB #$30 ;E1DE: C6 30 '.0' MUL ;E1E0: 3D '=' ADDD #$4000 ;E1E1: C3 40 00 '.@.' STD IRAM_5B ;E1E4: DD 5B '.[' LDAA IRAM_5A ;E1E6: 96 5A '.Z' ASLA ;E1E8: 48 'H' LDAB #$24 ;E1E9: C6 24 '.$' MUL ;E1EB: 3D '=' ADDD #$4180 ;E1EC: C3 41 80 '.A.' STD IRAM_5D ;E1EF: DD 5D '.]' LDAA IRAM_59 ;E1F1: 96 59 '.Y' ASLA ;E1F3: 48 'H' LDAB #$24 ;E1F4: C6 24 '.$' MUL ;E1F6: 3D '=' ADDD #$4180 ;E1F7: C3 41 80 '.A.' STD IRAM_5F ;E1FA: DD 5F '._' LDAA IRAM_5A ;E1FC: 96 5A '.Z' ASLA ;E1FE: 48 'H' STAA IRAM_75 ;E1FF: 97 75 '.u' STAA EGM_17 ;E201: B7 10 17 '...' Select JSR tmr_sub_0 ;E204: BD E2 AA '...' JSR EGM_wr_1A ;E207: BD E4 95 '...' JSR EGM_wr_18 ;E20A: BD E3 90 '...' JSR tmr_sub_5 ;E20D: BD E6 44 '..D' JSR EGM_wr_1C ;E210: BD E5 F2 '...' LDAB #$24 ;E213: C6 24 '.$' LDX IRAM_5D ;E215: DE 5D '.]' ABX ;E217: 3A ':' STX IRAM_5D ;E218: DF 5D '.]' LDAA IRAM_5A ;E21A: 96 5A '.Z' ASLA ;E21C: 48 'H' INCA ;E21D: 4C 'L' STAA IRAM_75 ;E21E: 97 75 '.u' STAA EGM_17 ;E220: B7 10 17 '...' Select JSR tmr_sub_0 ;E223: BD E2 AA '...' JSR EGM_wr_18 ;E226: BD E3 90 '...' JSR tmr_sub_5 ;E229: BD E6 44 '..D' JSR EGM_wr_1C ;E22C: BD E5 F2 '...' LDAA IRAM_5A ;E22F: 96 5A '.Z' INCA ;E231: 4C 'L' STAA IRAM_5A ;E232: 97 5A '.Z' CMPA #$08 ;E234: 81 08 '..' BCS ZE1D2 ;E236: 25 9A '%.' JSR LED_wr_0 ;E238: BD E4 48 '..H' LDAA #$08 ;E23B: 86 08 '..' STAA TCSR1 ;E23D: 97 08 '..' RTI ;E23F: 3B ';' ; Port 6 interrupt handler hdlr_IRQ LDAA P6CSR ;E240: 96 21 '.!' LDAA PORT5 ;E242: 96 15 '..' LDAB PORT6_MASTER ;E244: D6 17 '..' TSTA ;E246: 4D 'M' BPL ZE266 ;E247: 2A 1D '*.' TST >IRAM_72 ;E249: 7D 00 72 '}.r' BNE ZE27B ;E24C: 26 2D '&-' ZE24E LDX IRAM_46 ;E24E: DE 46 '.F' STD $00,X ;E250: ED 00 '..' INX ;E252: 08 '.' INX ;E253: 08 '.' CPX #SRAM_5B70 ;E254: 8C 5B 70 '.[p' BNE ZE25C ;E257: 26 03 '&.' LDX #SRAM_4400 ;E259: CE 44 00 '.D.' ZE25C STX IRAM_46 ;E25C: DF 46 '.F' CPX IRAM_48 ;E25E: 9C 48 '.H' BNE ZE265 ;E260: 26 03 '&.' AIM #$BF,P6CSR ;E262: 71 BF 21 'q.!' ZE265 RTI ;E265: 3B ';' ZE266 CMPB #$50 ;E266: C1 50 '.P' BCC ZE26F ;E268: 24 05 '$.' CLR >IRAM_72 ;E26A: 7F 00 72 '..r' BRA ZE24E ;E26D: 20 DF ' .' ZE26F STAB IRAM_6F ;E26F: D7 6F '.o' BMI ZE289 ;E271: 2B 16 '+.' CLR >IRAM_71 ;E273: 7F 00 71 '..q' LDAA #$01 ;E276: 86 01 '..' STAA IRAM_72 ;E278: 97 72 '.r' RTI ;E27A: 3B ';' ZE27B TBA ;E27B: 17 '.' LDAB IRAM_6F ;E27C: D6 6F '.o' LDX #MainJump ;E27E: CE E0 BF '...' ASLB ;E281: 58 'X' ABX ;E282: 3A ':' LDX $00,X ;E283: EE 00 '..' LSRB ;E285: 54 'T' JSR $00,X ;E286: AD 00 '..' RTI ;E288: 3B ';' ZE289 ANDB #$03 ;E289: C4 03 '..' LDX #ME299 ;E28B: CE E2 99 '...' ASLB ;E28E: 58 'X' ABX ;E28F: 3A ':' LDX $00,X ;E290: EE 00 '..' CLR >IRAM_72 ;E292: 7F 00 72 '..r' JSR $00,X ;E295: AD 00 '..' RTI ;E297: 3B ';' RTS ;E298: 39 '9' ME299 EORB $9E,X ;E299: E8 9E '..' ADCB $08,X ;E29B: E9 08 '..' STAB $7F,X ;E29D: E7 7F '..' EORB $6E,X ;E29F: E8 6E '.n' LDS #IRAM_FF ;E2A1: 8E 00 FF '...' ; Halt hdlr_NMI LDAA #$55 ;E2A4: 86 55 '.U' STAA PORT2_TG_LED ;E2A6: 97 03 '..' ZE2A8 BRA ZE2A8 ;E2A8: 20 FE ' .' tmr_sub_0 LDX IRAM_5B ;E2AA: DE 5B '.[' LDD $12,X ;E2AC: EC 12 '..' LDX IRAM_5D ;E2AE: DE 5D '.]' ADDD $1C,X ;E2B0: E3 1C '..' BCC ZE2B7 ;E2B2: 24 03 '$.' LDD #$FFFF ;E2B4: CC FF FF '...' ZE2B7 STD $1C,X ;E2B7: ED 1C '..' ADDD #$0001 ;E2B9: C3 00 01 '...' BNE ZE2CD ;E2BC: 26 0F '&.' LDD $1E,X ;E2BE: EC 1E '..' LDX IRAM_5B ;E2C0: DE 5B '.[' ADDD $12,X ;E2C2: E3 12 '..' BCC ZE2C9 ;E2C4: 24 03 '$.' LDD #$FFFF ;E2C6: CC FF FF '...' ZE2C9 LDX IRAM_5D ;E2C9: DE 5D '.]' STD $1E,X ;E2CB: ED 1E '..' ZE2CD CLR >IRAM_61 ;E2CD: 7F 00 61 '..a' LDD $20,X ;E2D0: EC 20 '. ' LDX IRAM_5B ;E2D2: DE 5B '.[' ADDD $10,X ;E2D4: E3 10 '..' BVC ZE2DB ;E2D6: 28 03 '(.' COM >IRAM_61 ;E2D8: 73 00 61 's.a' ZE2DB LDX IRAM_5D ;E2DB: DE 5D '.]' STD $20,X ;E2DD: ED 20 '. ' LDX IRAM_5B ;E2DF: DE 5B '.[' LDAB $20,X ;E2E1: E6 20 '. ' CMPB #$06 ;E2E3: C1 06 '..' BCS ZE2E8 ;E2E5: 25 01 '%.' CLRB ;E2E7: 5F '_' ZE2E8 LDX #tmr_sub_0_jump ;E2E8: CE E2 F1 '...' ASLB ;E2EB: 58 'X' ABX ;E2EC: 3A ':' LDX $00,X ;E2ED: EE 00 '..' JMP $00,X ;E2EF: 6E 00 'n.' tmr_sub_0_jump FDB ME2FD_via_cvec_e2f1 ;E2F1: E2 FD '..' FDB ME309_via_cvec_e2f3 ;E2F3: E3 09 '..' FDB ME30A_via_cvec_e2f5 ;E2F5: E3 0A '..' FDB ME30C_via_cvec_e2f7 ;E2F7: E3 0C '..' FDB ME314_via_cvec_e2f9 ;E2F9: E3 14 '..' FDB ME32A_via_cvec_e2fb ;E2FB: E3 2A '.*' ME2FD_via_cvec_e2f1 LDX IRAM_5D ;E2FD: DE 5D '.]' LDD $20,X ;E2FF: EC 20 '. ' ASLD ;E301: 05 '.' BCC ZE305 ;E302: 24 01 '$.' COMA ;E304: 43 'C' ZE305 ADDA #$80 ;E305: 8B 80 '..' BRA ZE343 ;E307: 20 3A ' :' ME309_via_cvec_e2f3 COMA ;E309: 43 'C' ME30A_via_cvec_e2f5 BRA ZE343 ;E30A: 20 37 ' 7' ME30C_via_cvec_e2f7 ANDA #$80 ;E30C: 84 80 '..' BMI ZE312 ;E30E: 2B 02 '+.' LDAA #$7F ;E310: 86 7F '..' ZE312 BRA ZE343 ;E312: 20 2F ' /' ME314_via_cvec_e2f9 TAB ;E314: 16 '.' ANDB #$3F ;E315: C4 3F '.?' BITA #$40 ;E317: 85 40 '.@' BEQ ZE31D ;E319: 27 02 ''.' EORB #$3F ;E31B: C8 3F '.?' ZE31D LDX #DATA_E348 ;E31D: CE E3 48 '..H' ABX ;E320: 3A ':' LDAB $00,X ;E321: E6 00 '..' TSTA ;E323: 4D 'M' BPL ZE327 ;E324: 2A 01 '*.' COMB ;E326: 53 'S' ZE327 TBA ;E327: 17 '.' BRA ZE343 ;E328: 20 19 ' .' ME32A_via_cvec_e2fb LDX IRAM_5D ;E32A: DE 5D '.]' TST >IRAM_61 ;E32C: 7D 00 61 '}.a' BPL ZE347 ;E32F: 2A 16 '*.' LDAA $23,X ;E331: A6 23 '.#' LDAB #$B3 ;E333: C6 B3 '..' MUL ;E335: 3D '=' TBA ;E336: 17 '.' LDAB IRAM_59 ;E337: D6 59 '.Y' LDX #ME388 ;E339: CE E3 88 '...' ABX ;E33C: 3A ':' ADDA $00,X ;E33D: AB 00 '..' LDX IRAM_5D ;E33F: DE 5D '.]' STAA $23,X ;E341: A7 23 '.#' ZE343 LDX IRAM_5D ;E343: DE 5D '.]' STAA $22,X ;E345: A7 22 '."' ZE347 RTS ;E347: 39 '9' ; Data DATA_E348 FCB $02,$05,$08,$0B,$0E,$11 ;E348: 02 05 08 0B 0E 11 '......' FCB $14,$17,$1A,$1D ;E34E: 14 17 1A 1D '....' FCC " #" ;E352: 20 23 ' #' FCB $26 ;E354: 26 '&' FCC "),/258:=@CEHJMORTVY[]" ;E355: 29 2C 2F 32 35 38 3A 3D 40 43 45 48 4A 4D 4F 52 54 56 59 5B 5D '),/258:=@CEHJMORTVY[]' FCC "_acegijlnoqrsuvwxyz{|" ;E36A: 5F 61 63 65 67 69 6A 6C 6E 6F 71 72 73 75 76 77 78 79 7A 7B 7C '_acegijlnoqrsuvwxyz{|' FCC "||}}~~" ;E37F: 7C 7C 7D 7D 7E 7E '||}}~~' FCB $7F,$7F,$7F ;E385: 7F 7F 7F '...' ME388 FCB $01,$03,$05,$07,$0B,$0D ;E388: 01 03 05 07 0B 0D '......' FCB $11,$13 ;E38E: 11 13 '..' ; Code EGM_wr_18 LDX IRAM_5B ;E390: DE 5B '.[' LDD $2D,X ;E392: EC 2D '.-' STD IRAM_55 ;E394: DD 55 '.U' LDAA $27,X ;E396: A6 27 '.'' STAA IRAM_57 ;E398: 97 57 '.W' TST $2B,X ;E39A: 6D 2B 'm+' BEQ ZE3A2 ;E39C: 27 04 ''.' TST $29,X ;E39E: 6D 29 'm)' BEQ ZE3AC ;E3A0: 27 0A ''.' ZE3A2 TIM #$40,$0A,Y ;E3A2: 6B 40 2A 'k@*' BNE ZE3AC ;E3A5: 26 05 '&.' LDX IRAM_5D ;E3A7: DE 5D '.]' JMP ZE42B ;E3A9: 7E E4 2B '~.+' ZE3AC LDX IRAM_5D ;E3AC: DE 5D '.]' LDD $14,X ;E3AE: EC 14 '..' SUBD $16,X ;E3B0: A3 16 '..' BCS ZE3B9 ;E3B2: 25 05 '%.' BHI ZE3F3 ;E3B4: 22 3D '"=' JMP ZE42B ;E3B6: 7E E4 2B '~.+' ZE3B9 LDAB IRAM_57 ;E3B9: D6 57 '.W' CMPB #$FF ;E3BB: C1 FF '..' BEQ ZE42B ;E3BD: 27 6C ''l' TST >IRAM_55 ;E3BF: 7D 00 55 '}.U' BEQ ZE3C8 ;E3C2: 27 04 ''.' LDAA #$03 ;E3C4: 86 03 '..' BRA ZE3CC ;E3C6: 20 04 ' .' ZE3C8 NEGA ;E3C8: 40 '@' LSRA ;E3C9: 44 'D' LSRA ;E3CA: 44 'D' INCA ;E3CB: 4C 'L' ZE3CC MUL ;E3CC: 3D '=' COMA ;E3CD: 43 'C' COMB ;E3CE: 53 'S' ADDD #$0001 ;E3CF: C3 00 01 '...' ADDD $16,X ;E3D2: E3 16 '..' SUBD $14,X ;E3D4: A3 14 '..' BLS ZE42B ;E3D6: 23 53 '#S' ADDD $14,X ;E3D8: E3 14 '..' STD $16,X ;E3DA: ED 16 '..' TST >IRAM_55 ;E3DC: 7D 00 55 '}.U' BEQ ZE431 ;E3DF: 27 50 ''P' ZE3E1 LDD $18,X ;E3E1: EC 18 '..' SUBD $16,X ;E3E3: A3 16 '..' BCS ZE415 ;E3E5: 25 2E '%.' SUBD IRAM_55 ;E3E7: 93 55 '.U' BCS ZE427 ;E3E9: 25 3C '%<' LDD $18,X ;E3EB: EC 18 '..' SUBD IRAM_55 ;E3ED: 93 55 '.U' STD $18,X ;E3EF: ED 18 '..' BRA ZE431 ;E3F1: 20 3E ' >' ZE3F3 LDAB IRAM_57 ;E3F3: D6 57 '.W' CMPB #$FF ;E3F5: C1 FF '..' BEQ ZE42B ;E3F7: 27 32 ''2' TST >IRAM_55 ;E3F9: 7D 00 55 '}.U' BEQ ZE402 ;E3FC: 27 04 ''.' LDAA #$03 ;E3FE: 86 03 '..' BRA ZE405 ;E400: 20 03 ' .' ZE402 LSRA ;E402: 44 'D' LSRA ;E403: 44 'D' INCA ;E404: 4C 'L' ZE405 MUL ;E405: 3D '=' ADDD $16,X ;E406: E3 16 '..' SUBD $14,X ;E408: A3 14 '..' BCC ZE42B ;E40A: 24 1F '$.' ADDD $14,X ;E40C: E3 14 '..' STD $16,X ;E40E: ED 16 '..' TST >IRAM_55 ;E410: 7D 00 55 '}.U' BEQ ZE431 ;E413: 27 1C ''.' ZE415 LDD $16,X ;E415: EC 16 '..' SUBD $18,X ;E417: A3 18 '..' BCS ZE3E1 ;E419: 25 C6 '%.' SUBD IRAM_55 ;E41B: 93 55 '.U' BCS ZE427 ;E41D: 25 08 '%.' LDD $18,X ;E41F: EC 18 '..' ADDD IRAM_55 ;E421: D3 55 '.U' STD $18,X ;E423: ED 18 '..' BRA ZE431 ;E425: 20 0A ' .' ZE427 LDD $18,X ;E427: EC 18 '..' BRA ZE431 ;E429: 20 06 ' .' ZE42B LDD $14,X ;E42B: EC 14 '..' STD $16,X ;E42D: ED 16 '..' STD $18,X ;E42F: ED 18 '..' ZE431 ADDD $02,X ;E431: E3 02 '..' ADDD $1A,X ;E433: E3 1A '..' LDX IRAM_5B ;E435: DE 5B '.[' ADDD $1A,X ;E437: E3 1A '..' ADDD $05,X ;E439: E3 05 '..' AIM #$BF,P6CSR ;E43B: 71 BF 21 'q.!' Clear bit 7 STAA EGM_18 ;E43E: B7 10 18 '...' STAB EGM_19 ;E441: F7 10 19 '...' OIM #$40,P6CSR ;E444: 72 40 21 'r@!' Set bit 7 RTS ;E447: 39 '9' LED_wr_0 LDX #IRAM_62 ;E448: CE 00 62 '..b' ZE44B LDAA $00,X ;E44B: A6 00 '..' BEQ ZE452 ;E44D: 27 03 ''.' DECA ;E44F: 4A 'J' STAA $00,X ;E450: A7 00 '..' ZE452 INX ;E452: 08 '.' CPX #IRAM_6A ;E453: 8C 00 6A '..j' BCS ZE44B ;E456: 25 F3 '%.' CLR >IRAM_6A ;E458: 7F 00 6A '..j' LDAA #$01 ;E45B: 86 01 '..' STAA IRAM_53 ;E45D: 97 53 '.S' LDX #SRAM_43C0 ;E45F: CE 43 C0 '.C.' CLRB ;E462: 5F '_' ZE463 CMPB $00,X ;E463: E1 00 '..' BNE ZE471 ;E465: 26 0A '&.' TST $08,X ;E467: 6D 08 'm.' BEQ ZE471 ;E469: 27 06 ''.' LDAA IRAM_53 ;E46B: 96 53 '.S' ORAA IRAM_6A ;E46D: 9A 6A '.j' STAA IRAM_6A ;E46F: 97 6A '.j' ZE471 INX ;E471: 08 '.' INCB ;E472: 5C '\' ASL >IRAM_53 ;E473: 78 00 53 'x.S' BNE ZE463 ;E476: 26 EB '&.' CLR >IRAM_6B ;E478: 7F 00 6B '..k' LDAA #$01 ;E47B: 86 01 '..' LDX #IRAM_62 ;E47D: CE 00 62 '..b' ZE480 TST $00,X ;E480: 6D 00 'm.' BEQ ZE489 ;E482: 27 05 ''.' TAB ;E484: 16 '.' ORAB IRAM_6B ;E485: DA 6B '.k' STAB IRAM_6B ;E487: D7 6B '.k' ZE489 INX ;E489: 08 '.' ASLA ;E48A: 48 'H' BNE ZE480 ;E48B: 26 F3 '&.' LDAA IRAM_6A ;E48D: 96 6A '.j' COMA ;E48F: 43 'C' ORAA IRAM_6B ;E490: 9A 6B '.k' STAA PORT2_TG_LED ;E492: 97 03 '..' RTS ;E494: 39 '9' EGM_wr_1A LDX IRAM_5B ;E495: DE 5B '.[' TST $16,X ;E497: 6D 16 'm.' BNE ZE4A5 ;E499: 26 0A '&.' LDX IRAM_5D ;E49B: DE 5D '.]' CPX IRAM_5F ;E49D: 9C 5F '._' BNE ZE4E3 ;E49F: 26 42 '&B' STX IRAM_4F ;E4A1: DF 4F '.O' BRA ZE4B5 ;E4A3: 20 10 ' .' ZE4A5 LDAB IRAM_5A ;E4A5: D6 5A '.Z' LDX #SRAM_43D0 ;E4A7: CE 43 D0 '.C.' ABX ;E4AA: 3A ':' LDAA $00,X ;E4AB: A6 00 '..' LDAB #$24 ;E4AD: C6 24 '.$' MUL ;E4AF: 3D '=' ADDD #$4180 ;E4B0: C3 41 80 '.A.' STD IRAM_4F ;E4B3: DD 4F '.O' ZE4B5 LDX IRAM_5B ;E4B5: DE 5B '.[' LDAA $21,X ;E4B7: A6 21 '.!' LDX IRAM_4F ;E4B9: DE 4F '.O' LDAB $1E,X ;E4BB: E6 1E '..' MUL ;E4BD: 3D '=' LDX IRAM_5B ;E4BE: DE 5B '.[' ADDA $03,X ;E4C0: AB 03 '..' BCC ZE4C6 ;E4C2: 24 02 '$.' LDAA #$FF ;E4C4: 86 FF '..' ZE4C6 ADDA $04,X ;E4C6: AB 04 '..' BCC ZE4CC ;E4C8: 24 02 '$.' LDAA #$FF ;E4CA: 86 FF '..' ZE4CC SUBA $04,X ;E4CC: A0 04 '..' LDX IRAM_4F ;E4CE: DE 4F '.O' LDAB $22,X ;E4D0: E6 22 '."' COMB ;E4D2: 53 'S' EORB #$80 ;E4D3: C8 80 '..' MUL ;E4D5: 3D '=' LDX IRAM_5B ;E4D6: DE 5B '.[' ADDA $04,X ;E4D8: AB 04 '..' TAB ;E4DA: 16 '.' LDX #EGM_wr_fg_data ;E4DB: CE E4 F2 '...' ABX ;E4DE: 3A ':' LDAA $00,X ;E4DF: A6 00 '..' STAA IRAM_6C ;E4E1: 97 6C '.l' ZE4E3 AIM #$BF,P6CSR ;E4E3: 71 BF 21 'q.!' LDAA IRAM_6C ;E4E6: 96 6C '.l' STAA EGM_1A ;E4E8: B7 10 1A '...' CLR EGM_1B ;E4EB: 7F 10 1B '...' OIM #$40,P6CSR ;E4EE: 72 40 21 'r@!' RTS ;E4F1: 39 '9' EGM_wr_fg_data FCB $00,$00,$00,$00,$00,$00 ;E4F2: 00 00 00 00 00 00 '......' FCB $01,$01,$01,$01,$01,$02 ;E4F8: 01 01 01 01 01 02 '......' FCB $02,$02,$02,$02,$02,$03 ;E4FE: 02 02 02 02 02 03 '......' FCB $03,$03,$03,$03,$04,$04 ;E504: 03 03 03 03 04 04 '......' FCB $04,$04,$04,$05,$05,$05 ;E50A: 04 04 04 05 05 05 '......' FCB $05,$05,$06,$06,$06,$06 ;E510: 05 05 06 06 06 06 '......' FCB $06,$07,$07,$07,$07,$08 ;E516: 06 07 07 07 07 08 '......' FCB $08,$08,$08,$08,$09,$09 ;E51C: 08 08 08 08 09 09 '......' FCB $09,$09,$0A,$0A,$0A,$0A ;E522: 09 09 0A 0A 0A 0A '......' FCB $0B,$0B,$0B,$0B,$0C,$0C ;E528: 0B 0B 0B 0B 0C 0C '......' FCB $0C,$0C,$0D,$0D,$0D,$0D ;E52E: 0C 0C 0D 0D 0D 0D '......' FCB $0E,$0E,$0E,$0E,$0F,$0F ;E534: 0E 0E 0E 0E 0F 0F '......' FCB $0F,$0F,$10,$10,$10,$10 ;E53A: 0F 0F 10 10 10 10 '......' FCB $11,$11,$11,$11,$12,$12 ;E540: 11 11 11 11 12 12 '......' FCB $12,$12,$13,$13,$13,$13 ;E546: 12 12 13 13 13 13 '......' FCB $14,$14,$14,$15,$15,$15 ;E54C: 14 14 14 15 15 15 '......' FCB $15,$16,$16,$16,$17,$17 ;E552: 15 16 16 16 17 17 '......' FCB $17,$18,$18,$18,$18,$19 ;E558: 17 18 18 18 18 19 '......' FCB $19,$19,$1A,$1A,$1A,$1B ;E55E: 19 19 1A 1A 1A 1B '......' FCB $1B,$1B,$1C,$1C,$1C,$1D ;E564: 1B 1B 1C 1C 1C 1D '......' FCB $1D,$1D,$1E,$1E,$1E,$1F ;E56A: 1D 1D 1E 1E 1E 1F '......' FCB $1F ;E570: 1F '.' FCC " !!!" ;E571: 20 20 20 21 21 21 ' !!!' FCB $22,$22,$22 ;E577: 22 22 22 '"""' FCC "##$$$%%" ;E57A: 23 23 24 24 24 25 25 '##$$$%%' FCB $26,$26,$26 ;E581: 26 26 26 '&&&' FCC "''(())***++,,--..//00" ;E584: 27 27 28 28 29 29 2A 2A 2A 2B 2B 2C 2C 2D 2D 2E 2E 2F 2F 30 30 '''(())***++,,--..//00' FCC "1122334556678899:;;<=" ;E599: 31 31 32 32 33 33 34 35 35 36 36 37 38 38 39 39 3A 3B 3B 3C 3D '1122334556678899:;;<=' FCC "=>?@@ABBCDEFFGHIJKLMN" ;E5AE: 3D 3E 3F 40 40 41 42 42 43 44 45 46 46 47 48 49 4A 4B 4C 4D 4E '=>?@@ABBCDEFFGHIJKLMN' FCC "OPQRSTUVXYZ[]^`abdfgi" ;E5C3: 4F 50 51 52 53 54 55 56 58 59 5A 5B 5D 5E 60 61 62 64 66 67 69 'OPQRSTUVXYZ[]^`abdfgi' FCC "kmoqsuxz}" ;E5D8: 6B 6D 6F 71 73 75 78 7A 7D 'kmoqsuxz}' FCB $80,$82,$86,$89,$8D,$91 ;E5E1: 80 82 86 89 8D 91 '......' FCB $95,$9A,$A0,$A6,$AD,$B5 ;E5E7: 95 9A A0 A6 AD B5 '......' FCB $C0,$CD,$E0,$FF,$FF ;E5ED: C0 CD E0 FF FF '.....' EGM_wr_1C LDX IRAM_5B ;E5F2: DE 5B '.[' TST $16,X ;E5F4: 6D 16 'm.' BNE ZE601 ;E5F6: 26 09 '&.' LDX IRAM_5D ;E5F8: DE 5D '.]' CPX IRAM_5F ;E5FA: 9C 5F '._' BEQ ZE601 ;E5FC: 27 03 ''.' JMP ZE635 ;E5FE: 7E E6 35 '~.5' ZE601 LDX IRAM_5D ;E601: DE 5D '.]' LDAB $1E,X ;E603: E6 1E '..' LDX IRAM_5B ;E605: DE 5B '.[' LDAA $18,X ;E607: A6 18 '..' MUL ;E609: 3D '=' ADDA $02,X ;E60A: AB 02 '..' BCC ZE610 ;E60C: 24 02 '$.' LDAA #$FF ;E60E: 86 FF '..' ZE610 PSHA ;E610: 36 '6' LDAB $19,X ;E611: E6 19 '..' LDX IRAM_5D ;E613: DE 5D '.]' LDAA $22,X ;E615: A6 22 '."' BMI ZE61C ;E617: 2B 03 '+.' MUL ;E619: 3D '=' BRA ZE61F ;E61A: 20 03 ' .' ZE61C NEGA ;E61C: 40 '@' MUL ;E61D: 3D '=' NEGA ;E61E: 40 '@' ZE61F PULB ;E61F: 33 '3' TSTA ;E620: 4D 'M' BMI ZE626 ;E621: 2B 03 '+.' MUL ;E623: 3D '=' BRA ZE62D ;E624: 20 07 ' .' ZE626 NEGA ;E626: 40 '@' MUL ;E627: 3D '=' COMA ;E628: 43 'C' COMB ;E629: 53 'S' ADDD #$0001 ;E62A: C3 00 01 '...' ZE62D ASRA ;E62D: 47 'G' RORB ;E62E: 56 'V' LDX IRAM_5B ;E62F: DE 5B '.[' ADDD $00,X ;E631: E3 00 '..' STD IRAM_6D ;E633: DD 6D '.m' ZE635 LDD IRAM_6D ;E635: DC 6D '.m' AIM #$BF,P6CSR ;E637: 71 BF 21 'q.!' STAA EGM_1C ;E63A: B7 10 1C '...' STAB EGM_1D ;E63D: F7 10 1D '...' OIM #$40,P6CSR ;E640: 72 40 21 'r@!' RTS ;E643: 39 '9' tmr_sub_5 LDX IRAM_5D ;E644: DE 5D '.]' LDAB $01,X ;E646: E6 01 '..' CMPB #$06 ;E648: C1 06 '..' BCS ZE650 ;E64A: 25 04 '%.' LDAB #$04 ;E64C: C6 04 '..' STAB $01,X ;E64E: E7 01 '..' ZE650 CMPB #$03 ;E650: C1 03 '..' BEQ ZE6BA ;E652: 27 66 ''f' CMPB #$05 ;E654: C1 05 '..' BEQ ZE6BA ;E656: 27 62 ''b' CMPB #$04 ;E658: C1 04 '..' BNE ZE65D ;E65A: 26 01 '&.' DECB ;E65C: 5A 'Z' ZE65D LDX IRAM_5D ;E65D: DE 5D '.]' ASLB ;E65F: 58 'X' ABX ;E660: 3A ':' LDAB #$04 ;E661: C6 04 '..' ABX ;E663: 3A ':' STX IRAM_4F ;E664: DF 4F '.O' LDAB $01,X ;E666: E6 01 '..' CMPB #$FF ;E668: C1 FF '..' BNE ZE674 ;E66A: 26 08 '&.' LDD $08,X ;E66C: EC 08 '..' LDX IRAM_5D ;E66E: DE 5D '.]' STD $02,X ;E670: ED 02 '..' BRA ZE69A ;E672: 20 26 ' &' ZE674 LDD $08,X ;E674: EC 08 '..' LDX IRAM_5D ;E676: DE 5D '.]' SUBD $02,X ;E678: A3 02 '..' BEQ ZE69A ;E67A: 27 1E ''.' BLT ZE6A0 ;E67C: 2D 22 '-"' LDD $02,X ;E67E: EC 02 '..' LDX IRAM_4F ;E680: DE 4F '.O' ADDD $00,X ;E682: E3 00 '..' SUBD $08,X ;E684: A3 08 '..' BLT ZE692 ;E686: 2D 0A '-.' LDD $08,X ;E688: EC 08 '..' LDX IRAM_5D ;E68A: DE 5D '.]' STD $02,X ;E68C: ED 02 '..' INC $01,X ;E68E: 6C 01 'l.' BRA ZE6BA ;E690: 20 28 ' (' ZE692 ADDD $08,X ;E692: E3 08 '..' LDX IRAM_5D ;E694: DE 5D '.]' STD $02,X ;E696: ED 02 '..' BRA ZE6BA ;E698: 20 20 ' ' ZE69A LDX IRAM_5D ;E69A: DE 5D '.]' INC $01,X ;E69C: 6C 01 'l.' BRA ZE6BA ;E69E: 20 1A ' .' ZE6A0 LDD $02,X ;E6A0: EC 02 '..' LDX IRAM_4F ;E6A2: DE 4F '.O' SUBD $00,X ;E6A4: A3 00 '..' SUBD $08,X ;E6A6: A3 08 '..' BGT ZE6B4 ;E6A8: 2E 0A '..' LDD $08,X ;E6AA: EC 08 '..' LDX IRAM_5D ;E6AC: DE 5D '.]' STD $02,X ;E6AE: ED 02 '..' INC $01,X ;E6B0: 6C 01 'l.' BRA ZE6BA ;E6B2: 20 06 ' .' ZE6B4 ADDD $08,X ;E6B4: E3 08 '..' LDX IRAM_5D ;E6B6: DE 5D '.]' STD $02,X ;E6B8: ED 02 '..' ZE6BA RTS ;E6BA: 39 '9' EGM_wr_00_0 LDX #EGM_00 ;E6BB: CE 10 00 '...' ABX ;E6BE: 3A ':' STAA $00,X ;E6BF: A7 00 '..' INCB ;E6C1: 5C '\' STAB IRAM_4A ;E6C2: D7 4A '.J' RTS ;E6C4: 39 '9' EGM_wr_00_1 TST >IRAM_4C ;E6C5: 7D 00 4C '}.L' BNE ZE6D1 ;E6C8: 26 07 '&.' STAA IRAM_4B ;E6CA: 97 4B '.K' LDAB #$01 ;E6CC: C6 01 '..' STAB IRAM_4C ;E6CE: D7 4C '.L' RTS ;E6D0: 39 '9' ZE6D1 LDX #EGM_00 ;E6D1: CE 10 00 '...' ABX ;E6D4: 3A ':' TAB ;E6D5: 16 '.' LDAA IRAM_4B ;E6D6: 96 4B '.K' SEI ;E6D8: 0F '.' STAA $00,X ;E6D9: A7 00 '..' STAB $01,X ;E6DB: E7 01 '..' CLI ;E6DD: 0E '.' CLR >IRAM_4C ;E6DE: 7F 00 4C '..L' RTS ;E6E1: 39 '9' ME6E2_via_cvec_e11f SUBB #$20 ;E6E2: C0 20 '. ' LDX IRAM_4D ;E6E4: DE 4D '.M' ABX ;E6E6: 3A ':' STAA $00,X ;E6E7: A7 00 '..' ADDB #$21 ;E6E9: CB 21 '.!' STAB IRAM_4A ;E6EB: D7 4A '.J' RTS ;E6ED: 39 '9' OPS_wr_1 SEI ;E6EE: 0F '.' OIM #$10,RP5CR ;E6EF: 72 10 14 'r..' STAA OPS_1 ;E6F2: B7 18 01 '...' AIM #$EF,RP5CR ;E6F5: 71 EF 14 'q..' CLI ;E6F8: 0E '.' RTS ;E6F9: 39 '9' ME6FA_via_cvec_e1a3 STAA IRAM_73 ;E6FA: 97 73 '.s' LDAB #$24 ;E6FC: C6 24 '.$' MUL ;E6FE: 3D '=' ADDD #$4180 ;E6FF: C3 41 80 '.A.' STD IRAM_7A ;E702: DD 7A '.z' LDAB IRAM_73 ;E704: D6 73 '.s' LSRB ;E706: 54 'T' LDX #SRAM_43C0 ;E707: CE 43 C0 '.C.' ABX ;E70A: 3A ':' LDAA $00,X ;E70B: A6 00 '..' STAA IRAM_7E ;E70D: 97 7E '.~' LDAB #$30 ;E70F: C6 30 '.0' MUL ;E711: 3D '=' ADDD #$4000 ;E712: C3 40 00 '.@.' STD IRAM_76 ;E715: DD 76 '.v' RTS ;E717: 39 '9' EGM_wr_16_0 JSR Check_Timer1 ;E718: BD E9 44 '..D' STAA EGM_16 ;E71B: B7 10 16 '...' RTS ;E71E: 39 '9' ME71F_via_cvec_e12b SUBB #$20 ;E71F: C0 20 '. ' LDX IRAM_4D ;E721: DE 4D '.M' ABX ;E723: 3A ':' STAA $00,X ;E724: A7 00 '..' RTS ;E726: 39 '9' FCB $00 ;E727: 00 '.' BRA ZE76A ;E728: 20 40 ' @' NEG $80,X ;E72A: 60 80 '`.' SUBA $C0,X ;E72C: A0 C0 '..' SUBB $10,X ;E72E: E0 10 '..' TSX ;E730: 30 '0' NEGB ;E731: 50 'P' NEG M90B0 ;E732: 70 90 B0 'p..' SUBB IRAM_F0 ;E735: D0 F0 '..' EGM_wr_17_18_19 TST >IRAM_71 ;E737: 7D 00 71 '}.q' BNE ZE743 ;E73A: 26 07 '&.' STAA IRAM_70 ;E73C: 97 70 '.p' LDAB #$01 ;E73E: C6 01 '..' STAB IRAM_71 ;E740: D7 71 '.q' RTS ;E742: 39 '9' ZE743 JSR Check_Timer1 ;E743: BD E9 44 '..D' LDX IRAM_76 ;E746: DE 76 '.v' TAB ;E748: 16 '.' LDAA IRAM_73 ;E749: 96 73 '.s' STAA EGM_17 ;E74B: B7 10 17 '...' LDAA IRAM_70 ;E74E: 96 70 '.p' ADDD $1A,X ;E750: E3 1A '..' ADDD $05,X ;E752: E3 05 '..' LDX IRAM_7A ;E754: DE 7A '.z' ADDD $1A,X ;E756: E3 1A '..' STAA EGM_18 ;E758: B7 10 18 '...' STAB EGM_19 ;E75B: F7 10 19 '...' CLR >IRAM_71 ;E75E: 7F 00 71 '..q' LDAA IRAM_75 ;E761: 96 75 '.u' STAA EGM_17 ;E763: B7 10 17 '...' RTS ;E766: 39 '9' ME767_via_cvec_e15f PSHB ;E767: 37 '7' SUBB #$50 ;E768: C0 50 '.P' ZE76A LDX IRAM_78 ;E76A: DE 78 '.x' ABX ;E76C: 3A ':' STAA $00,X ;E76D: A7 00 '..' PULB ;E76F: 33 '3' INCB ;E770: 5C '\' STAB IRAM_6F ;E771: D7 6F '.o' RTS ;E773: 39 '9' EGM_wr_16_1 ANDA #$07 ;E774: 84 07 '..' LDAB #$30 ;E776: C6 30 '.0' MUL ;E778: 3D '=' ADDD #$4000 ;E779: C3 40 00 '.@.' STD IRAM_78 ;E77C: DD 78 '.x' RTS ;E77E: 39 '9' JSR Check_Timer1 ;E77F: BD E9 44 '..D' LDX #IRAM_7F ;E782: CE 00 7F '...' LDAB IRAM_74 ;E785: D6 74 '.t' ZE787 LDAA $00,X ;E787: A6 00 '..' INX ;E789: 08 '.' STAA EGM_16 ;E78A: B7 10 16 '...' DECB ;E78D: 5A 'Z' BNE ZE787 ;E78E: 26 F7 '&.' RTS ;E790: 39 '9' OPS_wr_0 SEI ;E791: 0F '.' OIM #$10,RP5CR ;E792: 72 10 14 'r..' STAA OPS_0 ;E795: B7 18 00 '...' AIM #$EF,RP5CR ;E798: 71 EF 14 'q..' CLI ;E79B: 0E '.' RTS ;E79C: 39 '9' ME79D_via_cvec_e17f PSHB ;E79D: 37 '7' SUBB #$60 ;E79E: C0 60 '.`' LDX IRAM_7A ;E7A0: DE 7A '.z' ASLB ;E7A2: 58 'X' ABX ;E7A3: 3A ':' CLR $04,X ;E7A4: 6F 04 'o.' STAA $05,X ;E7A6: A7 05 '..' PULB ;E7A8: 33 '3' INCB ;E7A9: 5C '\' STAB IRAM_6F ;E7AA: D7 6F '.o' RTS ;E7AC: 39 '9' ME7AD_via_cvec_e18f SUBB #$68 ;E7AD: C0 68 '.h' LDX IRAM_7A ;E7AF: DE 7A '.z' ABX ;E7B1: 3A ':' STAA $0C,X ;E7B2: A7 0C '..' ADDB #$69 ;E7B4: CB 69 '.i' STAB IRAM_6F ;E7B6: D7 6F '.o' RTS ;E7B8: 39 '9' ME7B9_via_cvec_e1bd TST >IRAM_71 ;E7B9: 7D 00 71 '}.q' BNE ZE7C5 ;E7BC: 26 07 '&.' STAA IRAM_70 ;E7BE: 97 70 '.p' LDAB #$01 ;E7C0: C6 01 '..' STAB IRAM_71 ;E7C2: D7 71 '.q' RTS ;E7C4: 39 '9' ZE7C5 LDX IRAM_7A ;E7C5: DE 7A '.z' TAB ;E7C7: 16 '.' LDAA IRAM_70 ;E7C8: 96 70 '.p' STD $02,X ;E7CA: ED 02 '..' CLR >IRAM_71 ;E7CC: 7F 00 71 '..q' RTS ;E7CF: 39 '9' ME7D0_via_cvec_e1bb LDX IRAM_7A ;E7D0: DE 7A '.z' STAA $01,X ;E7D2: A7 01 '..' RTS ;E7D4: 39 '9' ME7D5_via_cvec_e1a7 TST >IRAM_71 ;E7D5: 7D 00 71 '}.q' BNE ZE7E1 ;E7D8: 26 07 '&.' STAA IRAM_70 ;E7DA: 97 70 '.p' LDAB #$01 ;E7DC: C6 01 '..' STAB IRAM_71 ;E7DE: D7 71 '.q' RTS ;E7E0: 39 '9' ZE7E1 LDX IRAM_7A ;E7E1: DE 7A '.z' TAB ;E7E3: 16 '.' LDAA IRAM_70 ;E7E4: 96 70 '.p' STD $16,X ;E7E6: ED 16 '..' STD $18,X ;E7E8: ED 18 '..' CLR >IRAM_71 ;E7EA: 7F 00 71 '..q' RTS ;E7ED: 39 '9' ME7EE_via_cvec_e1a5 TST >IRAM_71 ;E7EE: 7D 00 71 '}.q' BNE ZE7FA ;E7F1: 26 07 '&.' STAA IRAM_70 ;E7F3: 97 70 '.p' LDAB #$01 ;E7F5: C6 01 '..' STAB IRAM_71 ;E7F7: D7 71 '.q' RTS ;E7F9: 39 '9' ZE7FA LDX IRAM_7A ;E7FA: DE 7A '.z' TAB ;E7FC: 16 '.' LDAA IRAM_70 ;E7FD: 96 70 '.p' STD $14,X ;E7FF: ED 14 '..' CLR >IRAM_71 ;E801: 7F 00 71 '..q' RTS ;E804: 39 '9' ME805_via_cvec_e159 TAB ;E805: 16 '.' LDX #ME812 ;E806: CE E8 12 '...' ASLB ;E809: 58 'X' ABX ;E80A: 3A ':' LDD $00,X ;E80B: EC 00 '..' LDX IRAM_4D ;E80D: DE 4D '.M' STD $2D,X ;E80F: ED 2D '.-' RTS ;E811: 39 '9' ME812 FCB $00 ;E812: 00 '.' FCB $00 ;E813: 00 '.' NOP ;E814: 01 '.' FCB $55 ;E815: 55 'U' FCB $02 ;E816: 02 '.' ORAA $04,X ;E817: AA 04 '..' FCB $00 ;E819: 00 '.' ASLD ;E81A: 05 '.' FCB $55 ;E81B: 55 'U' TAP ;E81C: 06 '.' ORAA $08,X ;E81D: AA 08 '..' FCB $00 ;E81F: 00 '.' DEX ;E820: 09 '.' FCB $55 ;E821: 55 'U' CLV ;E822: 0A '.' ORAA $0C,X ;E823: AA 0C '..' FCB $00 ;E825: 00 '.' SEC ;E826: 0D '.' FCB $55 ;E827: 55 'U' CLI ;E828: 0E '.' ORAA $10,X ;E829: AA 10 '..' FCB $00 ;E82B: 00 '.' ME82C_via_cvec_e1b5 TST >IRAM_71 ;E82C: 7D 00 71 '}.q' BNE ZE838 ;E82F: 26 07 '&.' STAA IRAM_70 ;E831: 97 70 '.p' LDAB #$01 ;E833: C6 01 '..' STAB IRAM_71 ;E835: D7 71 '.q' RTS ;E837: 39 '9' ZE838 LDX IRAM_7A ;E838: DE 7A '.z' TAB ;E83A: 16 '.' LDAA IRAM_70 ;E83B: 96 70 '.p' STD $1A,X ;E83D: ED 1A '..' CLR >IRAM_71 ;E83F: 7F 00 71 '..q' RTS ;E842: 39 '9' ME843_via_cvec_e15d ANDA #$07 ;E843: 84 07 '..' LDAB #$30 ;E845: C6 30 '.0' MUL ;E847: 3D '=' ADDD #$4000 ;E848: C3 40 00 '.@.' STD IRAM_4D ;E84B: DD 4D '.M' RTS ;E84D: 39 '9' ME84E_via_cvec_e0ff PSHB ;E84E: 37 '7' LDX #SRAM_43C0 ;E84F: CE 43 C0 '.C.' ANDB #$07 ;E852: C4 07 '..' ABX ;E854: 3A ':' ANDA #$07 ;E855: 84 07 '..' STAA $00,X ;E857: A7 00 '..' PULB ;E859: 33 '3' INCB ;E85A: 5C '\' STAB IRAM_4A ;E85B: D7 4A '.J' RTS ;E85D: 39 '9' ME85E_via_cvec_e10f PSHB ;E85E: 37 '7' LDX #SRAM_43C8 ;E85F: CE 43 C8 '.C.' ANDB #$07 ;E862: C4 07 '..' ABX ;E864: 3A ':' ANDA #$01 ;E865: 84 01 '..' STAA $00,X ;E867: A7 00 '..' PULB ;E869: 33 '3' INCB ;E86A: 5C '\' STAB IRAM_4A ;E86B: D7 4A '.J' RTS ;E86D: 39 '9' LDX IRAM_76 ;E86E: DE 76 '.v' TST $16,X ;E870: 6D 16 'm.' BNE ZE8A4 ;E872: 26 30 '&0' LDAA IRAM_7E ;E874: 96 7E '.~' ASLA ;E876: 48 'H' LDAB #$24 ;E877: C6 24 '.$' MUL ;E879: 3D '=' ADDD #$4180 ;E87A: C3 41 80 '.A.' STD IRAM_7C ;E87D: DD 7C '.|' LDD $12,X ;E87F: EC 12 '..' SUBD #$2600 ;E881: 83 26 00 '.&.' BEQ ZE88F ;E884: 27 09 ''.' LDX IRAM_7C ;E886: DE 7C '.|' LDD #$0000 ;E888: CC 00 00 '...' STD $1C,X ;E88B: ED 1C '..' STD $1E,X ;E88D: ED 1E '..' ZE88F LDX IRAM_76 ;E88F: DE 76 '.v' TST $2C,X ;E891: 6D 2C 'm,' BEQ ZE89C ;E893: 27 07 ''.' LDX IRAM_7C ;E895: DE 7C '.|' LDD #$7FFF ;E897: CC 7F FF '...' STD $20,X ;E89A: ED 20 '. ' ZE89C BRA ZE8C1 ;E89C: 20 23 ' #' LDX IRAM_76 ;E89E: DE 76 '.v' TST $16,X ;E8A0: 6D 16 'm.' BEQ ZE8C1 ;E8A2: 27 1D ''.' ZE8A4 LDD $12,X ;E8A4: EC 12 '..' SUBD #$2600 ;E8A6: 83 26 00 '.&.' BEQ ZE8B4 ;E8A9: 27 09 ''.' LDX IRAM_7A ;E8AB: DE 7A '.z' LDD #$0000 ;E8AD: CC 00 00 '...' STD $1C,X ;E8B0: ED 1C '..' STD $1E,X ;E8B2: ED 1E '..' ZE8B4 LDX IRAM_76 ;E8B4: DE 76 '.v' TST $2C,X ;E8B6: 6D 2C 'm,' BEQ ZE8C1 ;E8B8: 27 07 ''.' LDX IRAM_7A ;E8BA: DE 7A '.z' LDD #$7FFF ;E8BC: CC 7F FF '...' STD $20,X ;E8BF: ED 20 '. ' ZE8C1 LDX IRAM_7A ;E8C1: DE 7A '.z' LDAA $05,X ;E8C3: A6 05 '..' CMPA #$FF ;E8C5: 81 FF '..' BEQ ZE8D1 ;E8C7: 27 08 ''.' LDD $12,X ;E8C9: EC 12 '..' STD $02,X ;E8CB: ED 02 '..' CLR $01,X ;E8CD: 6F 01 'o.' BRA ZE8D9 ;E8CF: 20 08 ' .' ZE8D1 LDD $0C,X ;E8D1: EC 0C '..' STD $02,X ;E8D3: ED 02 '..' LDAA #$01 ;E8D5: 86 01 '..' STAA $01,X ;E8D7: A7 01 '..' ZE8D9 LDAB IRAM_7E ;E8D9: D6 7E '.~' LDX #IRAM_62 ;E8DB: CE 00 62 '..b' ABX ;E8DE: 3A ':' LDAA #$20 ;E8DF: 86 20 '. ' STAA $00,X ;E8E1: A7 00 '..' LDX #SRAM_43C0 ;E8E3: CE 43 C0 '.C.' ABX ;E8E6: 3A ':' LDAA IRAM_73 ;E8E7: 96 73 '.s' ZE8E9 CMPB $00,X ;E8E9: E1 00 '..' BNE ZE8F5 ;E8EB: 26 08 '&.' STAA $10,X ;E8ED: A7 10 '..' INX ;E8EF: 08 '.' CPX #SRAM_43C8 ;E8F0: 8C 43 C8 '.C.' BCS ZE8E9 ;E8F3: 25 F4 '%.' ZE8F5 RTS ;E8F5: 39 '9' EGM_wr_00_2 JSR Check_Timer1 ;E8F6: BD E9 44 '..D' SUBB #$65 ;E8F9: C0 65 '.e' LDX #EGM_00 ;E8FB: CE 10 00 '...' ABX ;E8FE: 3A ':' STAA $00,X ;E8FF: A7 00 '..' ADDB #$66 ;E901: CB 66 '.f' STAB IRAM_6F ;E903: D7 6F '.o' JMP ZE94A ;E905: 7E E9 4A '~.J' CLR >IRAM_74 ;E908: 7F 00 74 '..t' LDAA #$01 ;E90B: 86 01 '..' STAA IRAM_72 ;E90D: 97 72 '.r' LDAA #$70 ;E90F: 86 70 '.p' STAA IRAM_6F ;E911: 97 6F '.o' RTS ;E913: 39 '9' ME914_via_cvec_e19f LDAB IRAM_74 ;E914: D6 74 '.t' LDX #IRAM_7F ;E916: CE 00 7F '...' ABX ;E919: 3A ':' STAA $00,X ;E91A: A7 00 '..' INCB ;E91C: 5C '\' STAB IRAM_74 ;E91D: D7 74 '.t' RTS ;E91F: 39 '9' EGM_wr_17_1A_1B TST >IRAM_71 ;E920: 7D 00 71 '}.q' BNE ZE92C ;E923: 26 07 '&.' STAA IRAM_70 ;E925: 97 70 '.p' LDAB #$01 ;E927: C6 01 '..' STAB IRAM_71 ;E929: D7 71 '.q' RTS ;E92B: 39 '9' ZE92C JSR Check_Timer1 ;E92C: BD E9 44 '..D' LDAB IRAM_70 ;E92F: D6 70 '.p' STAB EGM_17 ;E931: F7 10 17 '...' CLRB ;E934: 5F '_' STAA EGM_1A ;E935: B7 10 1A '...' STAB EGM_1B ;E938: F7 10 1B '...' CLR >IRAM_71 ;E93B: 7F 00 71 '..q' LDAA IRAM_75 ;E93E: 96 75 '.u' STAA EGM_17 ;E940: B7 10 17 '...' RTS ;E943: 39 '9' Check_Timer1 PSHX ;E944: 3C '<' LDX #OCR1 ;E945: CE 00 0B '...' BRA ZE94E ;E948: 20 04 ' .' ZE94A PSHX ;E94A: 3C '<' LDX #RP5CR ;E94B: CE 00 14 '...' ZE94E DEX ;E94E: 09 '.' BNE ZE94E ;E94F: 26 FD '&.' PULX ;E951: 38 '8' RTS ;E952: 39 '9' ; Stack clear? clear_SP LDX #$0000 ;E953: CE 00 00 '...' ZE956 PSHX ;E956: 3C '<' PULX ;E957: 38 '8' DEX ;E958: 09 '.' BNE ZE956 ;E959: 26 FB '&.' RTS ;E95B: 39 '9' LDX #$028F ;E95C: CE 02 8F '...' BRA ZE956 ;E95F: 20 F5 ' .' ORG $FFEA svec_IRQ2 FDB hdlr_NMI ;FFEA: E2 A4 '..' Halt svec_CMI FDB hdlr_NMI ;FFEC: E2 A4 '..' Halt FDB $E2A1 ;FFEE: E2 A1 '..' Halt svec_DIV0 FDB hdlr_NMI ;FFF0: E2 A4 '..' Halt svec_SWI3 FDB hdlr_NMI ;FFF2: E2 A4 '..' Halt svec_SWI2 FDB hdlr_SWI2 ;FFF4: E1 BF '..' Timer1 svec_FIRQ FDB hdlr_NMI ;FFF6: E2 A4 '..' Halt svec_IRQ FDB hdlr_IRQ ;FFF8: E2 40 '.@' Port6 flag set svec_SWI FDB hdlr_NMI ;FFFA: E2 A4 '..' Halt svec_NMI FDB hdlr_NMI ;FFFC: E2 A4 '..' Halt svec_RST FDB hdlr_RST ;FFFE: E0 00 '..' Main END