Disassembling code from d967 to f55d Interrupt Handler d967 d967 cc 07 d0 ldd 0x07D0 d96a f3 10 1e addd (0x101E) d96d fd 10 1e std (0x101E) d970 86 08 ldaa 0x08 d972 b7 10 23 staa (0x1023) d975 7d 00 c6 tst (0x00C6) d978 26 01 bne [0xD97B] d97a 3b rti d97b 7a 00 c6 dec (0x00C6) d97e d6 00 ldab (0x0000) d980 c4 0c andb 0x0C d982 27 03 beq [0xD987] d984 7e da 5b jmp (0xDA5B) d987 b6 10 20 ldaa (0x1020) d98a 88 01 eora 0x01 d98c b7 10 20 staa (0x1020) d98f 96 b7 ldaa (0x00B7) d991 26 0c bne [0xD99F] d993 96 59 ldaa (0x0059) d995 2a 08 bpl [0xD99F] d997 7c 00 5b inc (0x005B) d99a 26 03 bne [0xD99F] d99c 7a 00 5b dec (0x005B) d99f de 29 ldx (0x0029) d9a1 09 dex d9a2 df 29 stx (0x0029) d9a4 26 13 bne [0xD9B9] d9a6 fe c0 11 ldx (0xC011) d9a9 df 29 stx (0x0029) d9ab dc 23 ldd (0x0023) d9ad d3 27 addd (0x0027) d9af dd 2d std (0x002D) d9b1 de 23 ldx (0x0023) d9b3 df 27 stx (0x0027) d9b5 4f clra d9b6 5f clrb d9b7 dd 23 std (0x0023) d9b9 96 2c ldaa (0x002C) d9bb 4a deca d9bc 97 2c staa (0x002C) d9be 26 33 bne [0xD9F3] d9c0 14 39 02 bset (0x0039), 0x02 d9c3 86 55 ldaa 0x55 d9c5 97 2c staa (0x002C) d9c7 de 2f ldx (0x002F) d9c9 dc 25 ldd (0x0025) d9cb 05 asld d9cc 05 asld d9cd 05 asld d9ce dd 2f std (0x002F) d9d0 8f xgdx d9d1 93 2f subd (0x002F) d9d3 23 0b bls [0xD9E0] d9d5 1a 83 00 20 cpd 0x0020 d9d9 25 08 bcs [0xD9E3] d9db 14 39 40 bset (0x0039), 0x40 d9de 20 03 bra [0xD9E3] d9e0 15 39 40 bclr (0x0039), 0x40 d9e3 dc e1 ldd (0x00E1) d9e5 d3 e3 addd (0x00E3) d9e7 dd d6 std (0x00D6) d9e9 dc e1 ldd (0x00E1) d9eb dd e3 std (0x00E3) d9ed 4f clra d9ee 5f clrb d9ef dd 25 std (0x0025) d9f1 dd e1 std (0x00E1) d9f3 b6 10 00 ldaa (0x1000) d9f6 84 7f anda 0x7F d9f8 d6 0f ldab (0x000F) d9fa 2a 02 bpl [0xD9FE] d9fc 8a 80 oraa 0x80 d9fe b7 10 00 staa (0x1000) da01 c4 34 andb 0x34 da03 b6 10 08 ldaa (0x1008) da06 84 cb anda 0xCB da08 1b aba da09 b7 10 08 staa (0x1008) da0c b6 10 31 ldaa (0x1031) da0f 85 01 bita 0x01 da11 26 2c bne [0xDA3F] da13 b6 10 33 ldaa (0x1033) da16 85 02 bita 0x02 da18 26 15 bne [0xDA2F] da1a 96 ec ldaa (0x00EC) da1c 8b 01 adda 0x01 da1e 97 ec staa (0x00EC) da20 81 64 cmpa 0x64 da22 23 1b bls [0xDA3F] da24 4a deca da25 97 ec staa (0x00EC) da27 14 e0 10 bset (0x00E0), 0x10 da2a 14 05 10 bset (0x0005), 0x10 da2d 20 10 bra [0xDA3F] da2f 96 18 ldaa (0x0018) da31 b1 c0 4e cmpa (0xC04E) da34 25 09 bcs [0xDA3F] da36 7f 00 ec clr (0x00EC) da39 15 e0 10 bclr (0x00E0), 0x10 da3c 15 05 10 bclr (0x0005), 0x10 da3f d6 10 ldab (0x0010) da41 b6 10 31 ldaa (0x1031) da44 84 f8 anda 0xF8 da46 1b aba da47 b7 10 31 staa (0x1031) da4a 0e cli da4b bd db 90 jsr (0xDB90) da4e ce da 5c ldx 0xDA5C da51 d6 b7 ldab (0x00B7) da53 58 aslb da54 3a abx da55 ee 00 ldx (X+0x00) da57 27 02 beq [0xDA5B] da59 ad 00 jsr (X+0x00) da5b 3b rti da5c DATA db 33 df 76 00 00 df 07 da64 DATA db 17 da f7 df 76 df df da6c DATA 00 00 da 70 Subroutine da70 da70 96 59 ldaa (0x0059) da72 84 80 anda 0x80 da74 27 0b beq [0xDA81] da76 bd de a4 jsr (0xDEA4) da79 96 5e ldaa (0x005E) da7b 84 ba anda 0xBA da7d 88 ba eora 0xBA da7f 26 1b bne [0xDA9C] da81 15 59 c2 bclr (0x0059), 0xC2 da84 cc 00 b2 ldd 0x00B2 da87 97 5d staa (0x005D) da89 d7 5e stab (0x005E) da8b de 55 ldx (0x0055) da8d df 53 stx (0x0053) da8f a6 29 ldaa (X+0x29) da91 97 5f staa (0x005F) da93 97 60 staa (0x0060) da95 bd da c3 jsr (0xDAC3) da98 d7 4e stab (0x004E) da9a 20 3a bra [0xDAD6] da9c de 55 ldx (0x0055) da9e 96 5e ldaa (0x005E) daa0 a4 29 anda (X+0x29) daa2 97 60 staa (0x0060) daa4 96 5e ldaa (0x005E) daa6 43 coma daa7 d6 5f ldab (0x005F) daa9 53 comb daaa d7 c9 stab (0x00C9) daac 94 c9 anda (0x00C9) daae 9a 60 oraa (0x0060) dab0 94 5d anda (0x005D) dab2 97 60 staa (0x0060) dab4 96 5d ldaa (0x005D) dab6 9a 5e oraa (0x005E) dab8 43 coma dab9 94 5f anda (0x005F) dabb 9a 60 oraa (0x0060) dabd 84 b2 anda 0xB2 dabf 97 60 staa (0x0060) dac1 20 13 bra [0xDAD6] Subroutine dac3 dac3 5f clrb dac4 84 30 anda 0x30 dac6 81 30 cmpa 0x30 dac8 27 0b beq [0xDAD5] daca 5c incb dacb 81 20 cmpa 0x20 dacd 27 06 beq [0xDAD5] dacf 5c incb dad0 81 00 cmpa 0x00 dad2 27 01 beq [0xDAD5] dad4 5c incb dad5 39 rts Part of subroutine da70 dad6 d6 60 ldab (0x0060) dad8 c8 80 eorb 0x80 dada 17 tba dadb 84 30 anda 0x30 dadd 81 10 cmpa 0x10 dadf 27 0a beq [0xDAEB] dae1 12 59 80 06 brset (0x0059), 0x80, [0xDAEB] dae5 12 58 10 02 brset (0x0058), 0x10, [0xDAEB] dae9 c4 7f andb 0x7F daeb d7 60 stab (0x0060) daed 96 57 ldaa (0x0057) daef 84 fd anda 0xFD daf1 c4 02 andb 0x02 daf3 1b aba daf4 97 57 staa (0x0057) daf6 39 rts Subroutine daf7 daf7 96 0f ldaa (0x000F) daf9 84 4f anda 0x4F dafb d6 60 ldab (0x0060) dafd c4 b0 andb 0xB0 daff 1b aba db00 d6 8f ldab (0x008F) db02 c5 80 bitb 0x80 db04 27 02 beq [0xDB08] db06 84 7f anda 0x7F db08 da 8e orab (0x008E) db0a c4 89 andb 0x89 db0c 27 06 beq [0xDB14] db0e c5 09 bitb 0x09 db10 27 02 beq [0xDB14] db12 84 cf anda 0xCF db14 97 0f staa (0x000F) db16 39 rts Subroutine db17 db17 15 76 04 bclr (0x0076), 0x04 db1a dc 79 ldd (0x0079) db1c 83 00 0c subd 0x000C db1f 1a 83 27 10 cpd 0x2710 db23 23 03 bls [0xDB28] db25 83 00 58 subd 0x0058 db28 93 7b subd (0x007B) db2a 22 02 bhi [0xDB2E] db2c 4f clra db2d 5f clrb db2e d3 7b addd (0x007B) db30 dd 79 std (0x0079) db32 39 rts Subroutine db33 db33 b6 10 02 ldaa (0x1002) db36 97 c9 staa (0x00C9) db38 98 0c eora (0x000C) db3a 16 tab db3b 53 comb db3c 94 08 anda (0x0008) db3e d4 c9 andb (0x00C9) db40 d7 ca stab (0x00CA) db42 9a ca oraa (0x00CA) db44 97 08 staa (0x0008) db46 96 c9 ldaa (0x00C9) db48 97 0c staa (0x000C) db4a b6 10 33 ldaa (0x1033) db4d 97 c9 staa (0x00C9) db4f 98 0d eora (0x000D) db51 16 tab db52 53 comb db53 94 09 anda (0x0009) db55 d4 c9 andb (0x00C9) db57 d7 ca stab (0x00CA) db59 9a ca oraa (0x00CA) db5b 97 09 staa (0x0009) db5d 96 c9 ldaa (0x00C9) db5f 97 0d staa (0x000D) db61 b6 10 0a ldaa (0x100A) db64 97 c9 staa (0x00C9) db66 98 0b eora (0x000B) db68 16 tab db69 53 comb db6a 94 07 anda (0x0007) db6c d4 c9 andb (0x00C9) db6e d7 ca stab (0x00CA) db70 9a ca oraa (0x00CA) db72 97 07 staa (0x0007) db74 96 c9 ldaa (0x00C9) db76 97 0b staa (0x000B) db78 b6 10 08 ldaa (0x1008) db7b 97 c9 staa (0x00C9) db7d 98 0e eora (0x000E) db7f 16 tab db80 53 comb db81 94 0a anda (0x000A) db83 d4 c9 andb (0x00C9) db85 d7 ca stab (0x00CA) db87 9a ca oraa (0x00CA) db89 97 0a staa (0x000A) db8b 96 c9 ldaa (0x00C9) db8d 97 0e staa (0x000E) db8f 39 rts Subroutine db90 db90 13 38 04 14 brclr (0x0038), 0x04, [0xDBA8] db94 12 38 08 05 brset (0x0038), 0x08, [0xDB9D] db98 14 38 08 bset (0x0038), 0x08 db9b 20 0b bra [0xDBA8] db9d 15 38 0c bclr (0x0038), 0x0C dba0 b6 10 21 ldaa (0x1021) dba3 8a 02 oraa 0x02 dba5 b7 10 21 staa (0x1021) dba8 7a 00 74 dec (0x0074) dbab 26 0e bne [0xDBBB] dbad b6 cd 8d ldaa (0xCD8D) dbb0 97 74 staa (0x0074) dbb2 dc 70 ldd (0x0070) dbb4 d3 72 addd (0x0072) dbb6 bd ea f8 jsr (0xEAF8) dbb9 dd 70 std (0x0070) dbbb d6 b7 ldab (0x00B7) dbbd 26 12 bne [0xDBD1] dbbf dc 6c ldd (0x006C) dbc1 d3 6e addd (0x006E) dbc3 83 4a 38 subd 0x4A38 dbc6 25 02 bcs [0xDBCA] dbc8 4f clra dbc9 5f clrb dbca c3 4a 38 addd 0x4A38 dbcd dd 6c std (0x006C) dbcf c6 0a ldab 0x0A dbd1 5a decb dbd2 d7 b7 stab (0x00B7) dbd4 ce dc 59 ldx 0xDC59 dbd7 3a abx dbd8 e6 00 ldab (X+0x00) dbda 27 15 beq [0xDBF1] dbdc c1 02 cmpb 0x02 dbde 27 4f beq [0xDC2F] dbe0 c1 01 cmpb 0x01 dbe2 27 66 beq [0xDC4A] dbe4 ce 00 00 ldx 0x0000 dbe7 3a abx dbe8 a6 00 ldaa (X+0x00) dbea 27 5e beq [0xDC4A] dbec 4a deca dbed a7 00 staa (X+0x00) dbef 20 59 bra [0xDC4A] dbf1 96 b8 ldaa (0x00B8) dbf3 26 02 bne [0xDBF7] dbf5 86 04 ldaa 0x04 dbf7 4a deca dbf8 97 b8 staa (0x00B8) dbfa 81 03 cmpa 0x03 dbfc 26 4c bne [0xDC4A] dbfe 96 e8 ldaa (0x00E8) dc00 27 03 beq [0xDC05] dc02 4a deca dc03 97 e8 staa (0x00E8) dc05 96 c0 ldaa (0x00C0) dc07 27 03 beq [0xDC0C] dc09 4a deca dc0a 97 c0 staa (0x00C0) dc0c 96 c3 ldaa (0x00C3) dc0e 27 03 beq [0xDC13] dc10 4a deca dc11 97 c3 staa (0x00C3) dc13 96 c2 ldaa (0x00C2) dc15 27 03 beq [0xDC1A] dc17 4a deca dc18 97 c2 staa (0x00C2) dc1a 96 c1 ldaa (0x00C1) dc1c 27 03 beq [0xDC21] dc1e 4a deca dc1f 97 c1 staa (0x00C1) dc21 96 4a ldaa (0x004A) dc23 97 4b staa (0x004B) dc25 96 49 ldaa (0x0049) dc27 97 4a staa (0x004A) dc29 96 45 ldaa (0x0045) dc2b 97 49 staa (0x0049) dc2d 20 1b bra [0xDC4A] dc2f 96 b9 ldaa (0x00B9) dc31 26 02 bne [0xDC35] dc33 86 19 ldaa 0x19 dc35 4a deca dc36 97 b9 staa (0x00B9) dc38 81 18 cmpa 0x18 dc3a 26 0e bne [0xDC4A] dc3c 96 c4 ldaa (0x00C4) dc3e 27 03 beq [0xDC43] dc40 4a deca dc41 97 c4 staa (0x00C4) dc43 96 fd ldaa (0x00FD) dc45 27 03 beq [0xDC4A] dc47 4a deca dc48 97 fd staa (0x00FD) dc4a 96 b1 ldaa (0x00B1) dc4c 27 03 beq [0xDC51] dc4e 7a 00 b1 dec (0x00B1) dc51 d6 c5 ldab (0x00C5) dc53 27 03 beq [0xDC58] dc55 5a decb dc56 d7 c5 stab (0x00C5) dc58 39 rts dc59 DATA bf ba bb bc bd 02 01 be dc61 DATA 89 00 Interrupt Handler dc63 dc63 96 44 ldaa (0x0044) dc65 f6 10 25 ldab (0x1025) dc68 fe 10 10 ldx (0x1010) dc6b 97 cb staa (0x00CB) dc6d df cc stx (0x00CC) dc6f 86 04 ldaa 0x04 dc71 b7 10 23 staa (0x1023) dc74 96 40 ldaa (0x0040) dc76 4c inca dc77 97 40 staa (0x0040) dc79 b4 c0 0c anda (0xC00C) dc7c b0 c0 0b suba (0xC00B) dc7f 26 1a bne [0xDC9B] dc81 97 40 staa (0x0040) dc83 bd dd 02 jsr (0xDD02) dc86 8f xgdx dc87 93 3e subd (0x003E) dc89 de cc ldx (0x00CC) dc8b df 3e stx (0x003E) dc8d dd 42 std (0x0042) dc8f 96 cb ldaa (0x00CB) dc91 16 tab dc92 92 3d sbca (0x003D) dc94 97 41 staa (0x0041) dc96 d7 3d stab (0x003D) dc98 14 38 02 bset (0x0038), 0x02 dc9b 3b rti Interrupt Handler dc9c dc9c 86 02 ldaa 0x02 dc9e b7 10 23 staa (0x1023) dca1 de 23 ldx (0x0023) dca3 08 inx dca4 df 23 stx (0x0023) dca6 de 25 ldx (0x0025) dca8 08 inx dca9 df 25 stx (0x0025) dcab 7c 00 37 inc (0x0037) dcae 26 03 bne [0xDCB3] dcb0 7a 00 37 dec (0x0037) dcb3 de e1 ldx (0x00E1) dcb5 08 inx dcb6 df e1 stx (0x00E1) dcb8 3b rti dcb9 3b rti Interrupt Handler dcba dcba 96 44 ldaa (0x0044) dcbc f6 10 25 ldab (0x1025) dcbf fe 10 14 ldx (0x1014) dcc2 97 cb staa (0x00CB) dcc4 df cc stx (0x00CC) dcc6 b6 10 21 ldaa (0x1021) dcc9 84 fc anda 0xFC dccb b7 10 21 staa (0x1021) dcce 14 38 04 bset (0x0038), 0x04 dcd1 86 01 ldaa 0x01 dcd3 b7 10 23 staa (0x1023) dcd6 96 38 ldaa (0x0038) dcd8 88 80 eora 0x80 dcda 97 38 staa (0x0038) dcdc 2b 23 bmi [0xDD01] dcde bd dd 02 jsr (0xDD02) dce1 8f xgdx dce2 93 32 subd (0x0032) dce4 de cc ldx (0x00CC) dce6 df 32 stx (0x0032) dce8 dd 35 std (0x0035) dcea 96 cb ldaa (0x00CB) dcec 16 tab dced 92 31 sbca (0x0031) dcef 97 34 staa (0x0034) dcf1 d7 31 stab (0x0031) dcf3 81 16 cmpa 0x16 dcf5 24 04 bcc [0xDCFB] dcf7 96 37 ldaa (0x0037) dcf9 97 78 staa (0x0078) dcfb 4f clra dcfc 97 37 staa (0x0037) dcfe 14 38 01 bset (0x0038), 0x01 dd01 3b rti Subroutine dd02 dd02 8c 07 d0 cpx 0x07D0 dd05 24 07 bcc [0xDD0E] dd07 c5 08 bitb 0x08 dd09 27 03 beq [0xDD0E] dd0b 7c 00 cb inc (0x00CB) dd0e 39 rts Interrupt Handler dd0f dd0f dc 7e ldd (0x007E) dd11 05 asld dd12 fd 10 18 std (0x1018) dd15 86 40 ldaa 0x40 dd17 b7 10 23 staa (0x1023) dd1a b6 10 20 ldaa (0x1020) dd1d 88 40 eora 0x40 dd1f b7 10 20 staa (0x1020) dd22 85 40 bita 0x40 dd24 26 06 bne [0xDD2C] dd26 dc 7e ldd (0x007E) dd28 d3 61 addd (0x0061) dd2a 20 07 bra [0xDD33] dd2c dc 7e ldd (0x007E) dd2e f3 c0 05 addd (0xC005) dd31 93 61 subd (0x0061) dd33 dd 7e std (0x007E) dd35 7d 00 c3 tst (0x00C3) dd38 26 39 bne [0xDD73] dd3a 02 idiv dd3b 02 idiv dd3c 02 idiv dd3d 02 idiv dd3e b6 10 20 ldaa (0x1020) dd41 85 40 bita 0x40 dd43 26 18 bne [0xDD5D] dd45 b6 10 33 ldaa (0x1033) dd48 85 40 bita 0x40 dd4a 27 05 beq [0xDD51] dd4c 15 8b 70 bclr (0x008B), 0x70 dd4f 20 22 bra [0xDD73] dd51 d6 8b ldab (0x008B) dd53 cb 10 addb 0x10 dd55 24 02 bcc [0xDD59] dd57 d6 8b ldab (0x008B) dd59 d7 8b stab (0x008B) dd5b 20 16 bra [0xDD73] dd5d b6 10 33 ldaa (0x1033) dd60 85 40 bita 0x40 dd62 26 05 bne [0xDD69] dd64 15 8b 0f bclr (0x008B), 0x0F dd67 20 0a bra [0xDD73] dd69 7c 00 8b inc (0x008B) dd6c 13 8b 08 03 brclr (0x008B), 0x08, [0xDD73] dd70 7a 00 8b dec (0x008B) dd73 96 94 ldaa (0x0094) dd75 27 15 beq [0xDD8C] dd77 84 01 anda 0x01 dd79 26 09 bne [0xDD84] dd7b b6 10 20 ldaa (0x1020) dd7e 8a 40 oraa 0x40 dd80 b7 10 20 staa (0x1020) dd83 3b rti dd84 b6 10 20 ldaa (0x1020) dd87 84 bf anda 0xBF dd89 b7 10 20 staa (0x1020) dd8c 3b rti Interrupt Handler dd8d dd8d dc 80 ldd (0x0080) dd8f 05 asld dd90 fd 10 1a std (0x101A) dd93 86 20 ldaa 0x20 dd95 b7 10 23 staa (0x1023) dd98 b6 10 20 ldaa (0x1020) dd9b 88 10 eora 0x10 dd9d b7 10 20 staa (0x1020) dda0 85 10 bita 0x10 dda2 26 09 bne [0xDDAD] dda4 dc 80 ldd (0x0080) dda6 f3 c0 05 addd (0xC005) dda9 93 6c subd (0x006C) ddab 20 04 bra [0xDDB1] ddad dc 80 ldd (0x0080) ddaf d3 6c addd (0x006C) ddb1 dd 80 std (0x0080) ddb3 7d 00 c3 tst (0x00C3) ddb6 26 5b bne [0xDE13] ddb8 02 idiv ddb9 02 idiv ddba 02 idiv ddbb 02 idiv ddbc b6 10 20 ldaa (0x1020) ddbf 85 10 bita 0x10 ddc1 27 1d beq [0xDDE0] ddc3 b6 10 33 ldaa (0x1033) ddc6 85 20 bita 0x20 ddc8 26 05 bne [0xDDCF] ddca 15 8c 70 bclr (0x008C), 0x70 ddcd 20 44 bra [0xDE13] ddcf d6 8c ldab (0x008C) ddd1 cb 10 addb 0x10 ddd3 c4 70 andb 0x70 ddd5 26 05 bne [0xDDDC] ddd7 d6 8c ldab (0x008C) ddd9 14 8e 20 bset (0x008E), 0x20 dddc d7 8c stab (0x008C) ddde 20 33 bra [0xDE13] dde0 b6 10 33 ldaa (0x1033) dde3 85 20 bita 0x20 dde5 27 05 beq [0xDDEC] dde7 15 8c 0f bclr (0x008C), 0x0F ddea 20 27 bra [0xDE13] ddec d6 8c ldab (0x008C) ddee cb 01 addb 0x01 ddf0 c4 07 andb 0x07 ddf2 26 1d bne [0xDE11] ddf4 14 8f 20 bset (0x008F), 0x20 ddf7 b6 10 20 ldaa (0x1020) ddfa 84 cf anda 0xCF ddfc b7 10 20 staa (0x1020) ddff b6 10 00 ldaa (0x1000) de02 84 df anda 0xDF de04 b7 10 00 staa (0x1000) de07 b6 10 22 ldaa (0x1022) de0a 84 df anda 0xDF de0c b7 10 22 staa (0x1022) de0f d6 8c ldab (0x008C) de11 d7 8c stab (0x008C) de13 3b rti Interrupt Handler de14 de14 dc 82 ldd (0x0082) de16 05 asld de17 fd 10 1c std (0x101C) de1a 86 10 ldaa 0x10 de1c b7 10 23 staa (0x1023) de1f b6 10 20 ldaa (0x1020) de22 88 04 eora 0x04 de24 b7 10 20 staa (0x1020) de27 85 04 bita 0x04 de29 26 09 bne [0xDE34] de2b dc 82 ldd (0x0082) de2d f3 c0 05 addd (0xC005) de30 93 79 subd (0x0079) de32 20 04 bra [0xDE38] de34 dc 82 ldd (0x0082) de36 d3 79 addd (0x0079) de38 dd 82 std (0x0082) de3a 7d 00 c3 tst (0x00C3) de3d 26 5b bne [0xDE9A] de3f 02 idiv de40 02 idiv de41 02 idiv de42 02 idiv de43 b6 10 20 ldaa (0x1020) de46 85 04 bita 0x04 de48 27 1d beq [0xDE67] de4a b6 10 33 ldaa (0x1033) de4d 85 10 bita 0x10 de4f 26 05 bne [0xDE56] de51 15 8d 70 bclr (0x008D), 0x70 de54 20 44 bra [0xDE9A] de56 d6 8d ldab (0x008D) de58 cb 10 addb 0x10 de5a c4 70 andb 0x70 de5c 26 05 bne [0xDE63] de5e d6 8d ldab (0x008D) de60 14 8e 10 bset (0x008E), 0x10 de63 d7 8d stab (0x008D) de65 20 33 bra [0xDE9A] de67 b6 10 33 ldaa (0x1033) de6a 85 10 bita 0x10 de6c 27 05 beq [0xDE73] de6e 15 8d 0f bclr (0x008D), 0x0F de71 20 27 bra [0xDE9A] de73 d6 8d ldab (0x008D) de75 cb 01 addb 0x01 de77 c4 07 andb 0x07 de79 26 1d bne [0xDE98] de7b 14 8f 10 bset (0x008F), 0x10 de7e b6 10 20 ldaa (0x1020) de81 84 f3 anda 0xF3 de83 b7 10 20 staa (0x1020) de86 b6 10 00 ldaa (0x1000) de89 84 ef anda 0xEF de8b b7 10 00 staa (0x1000) de8e b6 10 22 ldaa (0x1022) de91 84 ef anda 0xEF de93 b7 10 22 staa (0x1022) de96 d6 8d ldab (0x008D) de98 d7 8d stab (0x008D) de9a 3b rti Interrupt Handler de9b de9b 7c 00 44 inc (0x0044) de9e 86 08 ldaa 0x08 dea0 b7 10 25 staa (0x1025) dea3 3b rti Subroutine dea4 dea4 96 5b ldaa (0x005B) dea6 d6 5d ldab (0x005D) dea8 de 51 ldx (0x0051) deaa a1 00 cmpa (X+0x00) deac 25 02 bcs [0xDEB0] deae ca 02 orab 0x02 deb0 a1 02 cmpa (X+0x02) deb2 25 02 bcs [0xDEB6] deb4 ca 80 orab 0x80 deb6 a1 04 cmpa (X+0x04) deb8 25 02 bcs [0xDEBC] deba ca 20 orab 0x20 debc a1 06 cmpa (X+0x06) debe 25 02 bcs [0xDEC2] dec0 ca 10 orab 0x10 dec2 a1 08 cmpa (X+0x08) dec4 25 02 bcs [0xDEC8] dec6 ca 08 orab 0x08 dec8 13 59 02 05 brclr (0x0059), 0x02, [0xDED1] decc 15 59 02 bclr (0x0059), 0x02 decf 20 06 bra [0xDED7] ded1 de 55 ldx (0x0055) ded3 a1 28 cmpa (X+0x28) ded5 25 03 bcs [0xDEDA] ded7 14 59 40 bset (0x0059), 0x40 deda d7 5d stab (0x005D) dedc de 51 ldx (0x0051) dede d6 5e ldab (0x005E) dee0 a1 01 cmpa (X+0x01) dee2 25 02 bcs [0xDEE6] dee4 ca 02 orab 0x02 dee6 a1 03 cmpa (X+0x03) dee8 25 02 bcs [0xDEEC] deea ca 80 orab 0x80 deec a1 05 cmpa (X+0x05) deee 25 02 bcs [0xDEF2] def0 ca 20 orab 0x20 def2 a1 07 cmpa (X+0x07) def4 25 02 bcs [0xDEF8] def6 ca 10 orab 0x10 def8 a1 09 cmpa (X+0x09) defa 25 02 bcs [0xDEFE] defc ca 08 orab 0x08 defe d7 5e stab (0x005E) df00 39 rts Interrupt Handler df01 df01 4f clra df02 06 tap df03 cf stop df04 20 fe bra [0xDF04] df06 3b rti Subroutine df07 df07 7d 00 c3 tst (0x00C3) df0a 27 01 beq [0xDF0D] df0c 39 rts df0d 0f sei df0e b6 10 00 ldaa (0x1000) df11 f6 10 08 ldab (0x1008) df14 0e cli df15 c4 30 andb 0x30 df17 54 lsrb df18 54 lsrb df19 d7 ca stab (0x00CA) df1b 54 lsrb df1c 54 lsrb df1d da ca orab (0x00CA) df1f c4 09 andb 0x09 df21 84 80 anda 0x80 df23 1b aba df24 97 ca staa (0x00CA) df26 b8 10 33 eora (0x1033) df29 84 89 anda 0x89 df2b 97 c9 staa (0x00C9) df2d 98 ca eora (0x00CA) df2f 94 c9 anda (0x00C9) df31 d6 c9 ldab (0x00C9) df33 d4 ca andb (0x00CA) df35 dd c9 std (0x00C9) df37 94 90 anda (0x0090) df39 94 92 anda (0x0092) df3b 9a 8e oraa (0x008E) df3d 97 8e staa (0x008E) df3f d4 91 andb (0x0091) df41 d4 93 andb (0x0093) df43 da 8f orab (0x008F) df45 d7 8f stab (0x008F) df47 dc 90 ldd (0x0090) df49 dd 92 std (0x0092) df4b dc c9 ldd (0x00C9) df4d dd 90 std (0x0090) df4f 39 rts Interrupt Handler df50 df50 fc 10 2e ldd (0x102E) df53 85 20 bita 0x20 df55 27 07 beq [0xDF5E] df57 85 0a bita 0x0A df59 27 07 beq [0xDF62] df5b 15 b2 02 bclr (0x00B2), 0x02 df5e 7f 00 ae clr (0x00AE) df61 3b rti df62 d7 af stab (0x00AF) df64 d6 ae ldab (0x00AE) df66 58 aslb df67 b6 10 2c ldaa (0x102C) df6a 48 asla df6b 56 rorb df6c d7 ae stab (0x00AE) df6e 14 b2 01 bset (0x00B2), 0x01 df71 86 0f ldaa 0x0F df73 97 b1 staa (0x00B1) df75 3b rti Subroutine df76 // Select Monitor Commands df76 13 b2 01 5d brclr (0x00B2), 0x01, [0xDFD7] df7a 0f sei df7b dc ae ldd (0x00AE) df7d dd c9 std (0x00C9) df7f 0e cli df80 15 b2 01 bclr (0x00B2), 0x01 df83 ce 00 08 ldx 0x0008 df86 4f clra df87 54 lsrb df88 89 00 adca 0x00 df8a 09 dex df8b 26 fa bne [0xDF87] df8d d6 c9 ldab (0x00C9) df8f 58 aslb df90 89 00 adca 0x00 df92 44 lsra df93 24 05 bcc [0xDF9A] df95 7f 00 ae clr (0x00AE) df98 20 3d bra [0xDFD7] df9a 96 ca ldaa (0x00CA) df9c 54 lsrb df9d ce 00 a7 ldx 0x00A7 dfa0 3a abx dfa1 a7 00 staa (X+0x00) dfa3 5c incb dfa4 c1 03 cmpb 0x03 dfa6 23 2d bls [0xDFD5] dfa8 7f 00 ae clr (0x00AE) dfab dc a7 ldd (0x00A7) dfad dd a3 std (0x00A3) dfaf de a9 ldx (0x00A9) dfb1 df a5 stx (0x00A5) dfb3 12 b2 02 09 brset (0x00B2), 0x02, [0xDFC0] dfb7 81 45 cmpa 0x45 // Read Data Command dfb9 26 1c bne [0xDFD7] dfbb 14 b2 02 bset (0x00B2), 0x02 dfbe 20 17 bra [0xDFD7] dfc0 81 12 cmpa 0x12 // STFU Command dfc2 26 05 bne [0xDFC9] dfc4 15 b2 02 bclr (0x00B2), 0x02 dfc7 20 0e bra [0xDFD7] dfc9 81 aa cmpa 0xAA // Write Data Command dfcb 26 0a bne [0xDFD7] dfcd 96 a6 ldaa (0x00A6) dfcf de a4 ldx (0x00A4) dfd1 a7 00 staa (X+0x00) dfd3 20 02 bra [0xDFD7] dfd5 d7 ae stab (0x00AE) dfd7 96 b1 ldaa (0x00B1) dfd9 26 03 bne [0xDFDE] dfdb 7f 00 ae clr (0x00AE) dfde 39 rts Subroutine dfdf dfdf 13 b2 02 63 brclr (0x00B2), 0x02, [0xE046] // Reply to Select Monitor dfe3 b6 10 2e ldaa (0x102E) dfe6 85 80 bita 0x80 dfe8 27 5c beq [0xE046] dfea d6 b0 ldab (0x00B0) dfec 2a 06 bpl [0xDFF4] dfee c4 7f andb 0x7F dff0 d7 b0 stab (0x00B0) dff2 20 52 bra [0xE046] dff4 5c incb dff5 c1 02 cmpb 0x02 dff7 23 22 bls [0xE01B] dff9 7f 00 b0 clr (0x00B0) dffc 96 a3 ldaa (0x00A3) dffe 81 00 cmpa 0x00 // Get ROM ID Command e000 26 08 bne [0xE00A] e002 fe c0 00 ldx (0xC000) e005 b6 c0 02 ldaa (0xC002) e008 20 0c bra [0xE016] e00a 81 45 cmpa 0x45 // Read Data Command e00c 27 04 beq [0xE012] e00e 81 aa cmpa 0xAA // Write Data Command e010 26 35 bne [0xE047] e012 de a4 ldx (0x00A4) e014 a6 00 ldaa (X+0x00) e016 df ab stx (0x00AB) e018 97 ad staa (0x00AD) e01a 5f clrb e01b d7 b0 stab (0x00B0) e01d ce 00 ab ldx 0x00AB e020 3a abx e021 e6 00 ldab (X+0x00) e023 d7 c9 stab (0x00C9) e025 4f clra e026 ce 00 08 ldx 0x0008 e029 54 lsrb e02a 89 00 adca 0x00 e02c 09 dex e02d 26 fa bne [0xE029] e02f 04 lsrd e030 54 lsrb e031 b6 10 2c ldaa (0x102C) e034 84 bf anda 0xBF e036 1b aba e037 b7 10 2c staa (0x102C) e03a d6 c9 ldab (0x00C9) e03c f7 10 2f stab (0x102F) e03f 13 b0 02 03 brclr (0x00B0), 0x02, [0xE046] e043 14 b0 80 bset (0x00B0), 0x80 e046 39 rts e047 15 b2 02 bclr (0x00B2), 0x02 e04a 39 rts Part of interrupt handler f41e e04b bd e1 86 jsr (0xE186) e04e bd e4 69 jsr (0xE469) e051 96 01 ldaa (0x0001) e053 98 02 eora (0x0002) e055 43 coma e056 27 03 beq [0xE05B] e058 14 00 02 bset (0x0000), 0x02 e05b 96 05 ldaa (0x0005) e05d 84 1f anda 0x1F e05f 9a 01 oraa (0x0001) e061 27 03 beq [0xE066] e063 14 84 20 bset (0x0084), 0x20 e066 7d 00 05 tst (0x0005) e069 2a 09 bpl [0xE074] e06b 4f clra e06c c6 ff ldab 0xFF e06e 97 00 staa (0x0000) e070 97 05 staa (0x0005) e072 dd 01 std (0x0001) e074 13 00 0f 03 brclr (0x0000), 0x0F, [0xE07B] e078 14 84 10 bset (0x0084), 0x10 e07b 96 12 ldaa (0x0012) e07d 81 44 cmpa 0x44 // "D" + "Man" (Read current errors) e07f 27 07 beq [0xE088] e081 81 60 cmpa 0x60 // "1" + "Man" (Read previous errors) e083 26 0b bne [0xE090] e085 14 84 08 bset (0x0084), 0x08 e088 13 57 01 04 brclr (0x0057), 0x01, [0xE090] e08c 86 01 ldaa 0x01 e08e 97 06 staa (0x0006) e090 15 05 c0 bclr (0x0005), 0xC0 e093 7d 00 c5 tst (0x00C5) e096 26 b3 bne [0xE04B] e098 86 7f ldaa 0x7F e09a 97 9b staa (0x009B) e09c 97 9c staa (0x009C) e09e 86 04 ldaa 0x04 e0a0 97 9d staa (0x009D) e0a2 97 9e staa (0x009E) e0a4 86 70 ldaa 0x70 e0a6 97 99 staa (0x0099) e0a8 86 10 ldaa 0x10 e0aa 97 9a staa (0x009A) e0ac 86 00 ldaa 0x00 e0ae 97 9f staa (0x009F) e0b0 86 00 ldaa 0x00 e0b2 97 a0 staa (0x00A0) e0b4 b6 c0 68 ldaa (0xC068) e0b7 97 c6 staa (0x00C6) e0b9 bd f2 9e jsr (0xF29E) // Error code lookup e0bc bd e1 86 jsr (0xE186) e0bf bd ee 13 jsr (0xEE13) e0c2 bd e2 7f jsr (0xE27F) e0c5 bd e4 26 jsr (0xE426) e0c8 bd e3 78 jsr (0xE378) e0cb bd ee cc jsr (0xEECC) e0ce bd f1 4b jsr (0xF14B) e0d1 bd e4 69 jsr (0xE469) e0d4 bd e5 5c jsr (0xE55C) e0d7 bd e7 6f jsr (0xE76F) // Decide which map to use e0da bd e7 df jsr (0xE7DF) e0dd bd e5 ab jsr (0xE5AB) e0e0 bd e9 3a jsr (0xE93A) e0e3 bd e9 e6 jsr (0xE9E6) e0e6 bd eb 2f jsr (0xEB2F) e0e9 bd ec bd jsr (0xECBD) e0ec bd ef 4c jsr (0xEF4C) e0ef d6 84 ldab (0x0084) e0f1 c4 c0 andb 0xC0 e0f3 26 4d bne [0xE142] e0f5 d6 88 ldab (0x0088) e0f7 c4 c0 andb 0xC0 e0f9 26 47 bne [0xE142] e0fb 13 3a 02 17 brclr (0x003A), 0x02, [0xE116] e0ff 13 12 80 13 brclr (0x0012), 0x80, [0xE116] e103 7f 00 01 clr (0x0001) e106 c6 c3 ldab 0xC3 e108 d7 88 stab (0x0088) e10a f6 c0 69 ldab (0xC069) e10d d7 c4 stab (0x00C4) e10f 96 06 ldaa (0x0006) e111 27 03 beq [0xE116] e113 7f 00 06 clr (0x0006) e116 d6 06 ldab (0x0006) e118 27 28 beq [0xE142] e11a c1 04 cmpb 0x04 e11c 25 15 bcs [0xE133] e11e 12 57 01 11 brset (0x0057), 0x01, [0xE133] e122 12 84 08 08 brset (0x0084), 0x08, [0xE12E] e126 14 84 40 bset (0x0084), 0x40 e129 14 05 80 bset (0x0005), 0x80 e12c 20 14 bra [0xE142] e12e 14 84 80 bset (0x0084), 0x80 e131 20 0f bra [0xE142] e133 ce f3 fe ldx 0xF3FE e136 13 84 08 03 brclr (0x0084), 0x08, [0xE13D] e13a ce f4 0e ldx 0xF40E e13d bd f3 e9 jsr (0xF3E9) e140 d7 06 stab (0x0006) e142 13 3a 03 03 brclr (0x003A), 0x03, [0xE149] e146 7e e0 b4 jmp (0xE0B4) e149 bd e1 86 jsr (0xE186) e14c b6 c0 68 ldaa (0xC068) e14f 97 c6 staa (0x00C6) e151 bd ee 13 jsr (0xEE13) e154 bd e2 7f jsr (0xE27F) e157 bd e4 26 jsr (0xE426) e15a bd e3 78 jsr (0xE378) e15d bd ee cc jsr (0xEECC) e160 bd f1 4b jsr (0xF14B) e163 bd e4 69 jsr (0xE469) e166 bd e5 5c jsr (0xE55C) e169 bd e7 6f jsr (0xE76F) // Decide which map to use e16c bd e7 df jsr (0xE7DF) e16f bd e5 ab jsr (0xE5AB) e172 bd e9 3a jsr (0xE93A) e175 bd e9 e6 jsr (0xE9E6) e178 bd eb 2f jsr (0xEB2F) e17b bd ec bd jsr (0xECBD) e17e bd ef 4c jsr (0xEF4C) e181 bd f2 9e jsr (0xF29E) // Error code lookup e184 20 c3 bra [0xE149] Subroutine e186 e186 96 07 ldaa (0x0007) e188 84 f0 anda 0xF0 e18a 88 f0 eora 0xF0 e18c 97 11 staa (0x0011) e18e 16 tab e18f 94 99 anda (0x0099) e191 97 99 staa (0x0099) e193 53 comb e194 d4 9a andb (0x009A) e196 d7 9a stab (0x009A) e198 96 08 ldaa (0x0008) e19a 84 ff anda 0xFF e19c 88 fe eora 0xFE e19e 97 12 staa (0x0012) e1a0 16 tab e1a1 94 9b anda (0x009B) e1a3 97 9b staa (0x009B) e1a5 53 comb e1a6 d4 9c andb (0x009C) e1a8 d7 9c stab (0x009C) e1aa 96 09 ldaa (0x0009) e1ac 84 06 anda 0x06 e1ae 88 02 eora 0x02 e1b0 97 13 staa (0x0013) e1b2 16 tab e1b3 94 9d anda (0x009D) e1b5 97 9d staa (0x009D) e1b7 53 comb e1b8 d4 9e andb (0x009E) e1ba d7 9e stab (0x009E) e1bc 96 0a ldaa (0x000A) e1be 84 08 anda 0x08 e1c0 88 08 eora 0x08 e1c2 97 14 staa (0x0014) e1c4 16 tab e1c5 94 9f anda (0x009F) e1c7 97 9f staa (0x009F) e1c9 53 comb e1ca d4 a0 andb (0x00A0) e1cc d7 a0 stab (0x00A0) e1ce d6 12 ldab (0x0012) // Stick Pos ..123DRN e1d0 c4 3f andb 0x3F e1d2 ce e2 3f ldx 0xE23F e1d5 3a abx // Look up value in table e1d6 a6 00 ldaa (X+0x00) // based on stick pos e1d8 2a 02 bpl [0xE1DC] // 1=83,2=82,3=81,D=80 e1da 97 4d staa (0x004D) // R=87,N&P=86 e1dc 96 58 ldaa (0x0058) e1de 84 f7 anda 0xF7 e1e0 13 11 20 02 brclr (0x0011), 0x20, [0xE1E6] e1e4 8a 08 oraa 0x08 e1e6 13 13 04 0d brclr (0x0013), 0x04, [0xE1F7] // if brakeswitch=0 goto e1f7 e1ea 7d 00 4c tst (0x004C) e1ed 26 08 bne [0xE1F7] e1ef 85 80 bita 0x80 e1f1 27 08 beq [0xE1FB] e1f3 d6 fe ldab (0x00FE) e1f5 26 04 bne [0xE1FB] e1f7 84 7f anda 0x7F e1f9 20 10 bra [0xE20B] e1fb 13 39 40 0c brclr (0x0039), 0x40, [0xE20B] e1ff 7d 00 67 tst (0x0067) e202 27 07 beq [0xE20B] e204 8a 80 oraa 0x80 e206 f6 c0 4a ldab (0xC04A) e209 d7 fe stab (0x00FE) e20b 97 58 staa (0x0058) e20d 96 57 ldaa (0x0057) e20f 84 df anda 0xDF e211 12 4d 04 25 brset (0x004D), 0x04, [0xE23A] // if stick=PNR goto e23a e215 d6 4e ldab (0x004E) e217 27 21 beq [0xE23A] e219 c1 03 cmpb 0x03 e21b 26 15 bne [0xE232] e21d 12 58 08 11 brset (0x0058), 0x08, [0xE232] e221 13 9a 10 17 brclr (0x009A), 0x10, [0xE23C] e225 d6 18 ldab (0x0018) e227 f1 c0 47 cmpb (0xC047) e22a 24 10 bcc [0xE23C] e22c 12 9e 04 0a brset (0x009E), 0x04, [0xE23A] e230 20 04 bra [0xE236] e232 85 01 bita 0x01 e234 26 04 bne [0xE23A] e236 13 13 04 02 brclr (0x0013), 0x04, [0xE23C] // if brakeswitch=0 goto e23c e23a 8a 20 oraa 0x20 e23c 97 57 staa (0x0057) e23e 39 rts e23f DATA 00 86 87 e6 80 e0 e0 e0 e247 DATA 81 e6 e7 e6 e0 e0 e0 e0 e24f DATA 82 e6 e7 e6 e0 e0 e0 e0 e257 DATA e1 e6 e7 e6 e0 e0 e0 e0 e25f DATA 83 e6 e7 e6 e0 e0 e0 e0 e267 DATA e1 e6 e7 e6 e0 e0 e0 e0 e26f DATA e2 e6 e7 e6 e0 e0 e0 e0 e277 DATA e1 e6 e7 e6 e0 e0 e0 e0 Subroutine e27f e27f b6 10 46 ldaa (0x1046) e282 81 fe cmpa 0xFE e284 24 08 bcc [0xE28E] e286 90 15 suba (0x0015) e288 8b 02 adda 0x02 e28a 47 asra e28b 47 asra e28c 9b 15 adda (0x0015) e28e f6 c0 01 ldab (0xC001) e291 c1 55 cmpb 0x55 e293 23 04 bls [0xE299] e295 86 ff ldaa 0xFF e297 20 13 bra [0xE2AC] e299 b1 c0 6b cmpa (0xC06B) e29c 22 05 bhi [0xE2A3] e29e b1 c0 6a cmpa (0xC06A) e2a1 24 09 bcc [0xE2AC] e2a3 14 8a 08 bset (0x008A), 0x08 e2a6 86 ff ldaa 0xFF e2a8 97 15 staa (0x0015) e2aa 20 05 bra [0xE2B1] e2ac 15 8a 08 bclr (0x008A), 0x08 e2af 97 15 staa (0x0015) e2b1 b6 10 44 ldaa (0x1044) e2b4 81 fe cmpa 0xFE e2b6 24 08 bcc [0xE2C0] e2b8 90 16 suba (0x0016) e2ba 8b 02 adda 0x02 e2bc 47 asra e2bd 47 asra e2be 9b 16 adda (0x0016) e2c0 97 16 staa (0x0016) e2c2 b1 c0 6c cmpa (0xC06C) e2c5 24 05 bcc [0xE2CC] e2c7 14 8a 10 bset (0x008A), 0x10 e2ca 20 03 bra [0xE2CF] e2cc 15 8a 10 bclr (0x008A), 0x10 e2cf b6 10 42 ldaa (0x1042) e2d2 43 coma e2d3 81 fe cmpa 0xFE e2d5 24 18 bcc [0xE2EF] e2d7 b1 c0 6d cmpa (0xC06D) e2da 22 08 bhi [0xE2E4] e2dc 14 8a 20 bset (0x008A), 0x20 e2df b6 c0 72 ldaa (0xC072) e2e2 20 0b bra [0xE2EF] e2e4 15 8a 20 bclr (0x008A), 0x20 e2e7 90 17 suba (0x0017) e2e9 8b 02 adda 0x02 e2eb 47 asra e2ec 47 asra e2ed 9b 17 adda (0x0017) e2ef 97 17 staa (0x0017) e2f1 d6 58 ldab (0x0058) e2f3 c4 db andb 0xDB e2f5 b1 c0 22 cmpa (0xC022) e2f8 22 02 bhi [0xE2FC] e2fa ca 04 orab 0x04 e2fc b1 c0 24 cmpa (0xC024) e2ff 22 02 bhi [0xE303] e301 ca 20 orab 0x20 e303 d7 58 stab (0x0058) e305 b1 c0 27 cmpa (0xC027) e308 22 03 bhi [0xE30D] e30a 15 59 08 bclr (0x0059), 0x08 e30d b1 c0 28 cmpa (0xC028) e310 23 03 bls [0xE315] e312 14 59 08 bset (0x0059), 0x08 e315 d6 57 ldab (0x0057) e317 c4 f7 andb 0xF7 e319 b1 c0 23 cmpa (0xC023) e31c 22 02 bhi [0xE320] e31e ca 08 orab 0x08 e320 b1 c0 26 cmpa (0xC026) e323 22 02 bhi [0xE327] e325 c4 ef andb 0xEF e327 b1 c0 25 cmpa (0xC025) e32a 23 02 bls [0xE32E] e32c ca 10 orab 0x10 e32e d7 57 stab (0x0057) e330 96 10 ldaa (0x0010) e332 c5 10 bitb 0x10 e334 26 07 bne [0xE33D] e336 de 3b ldx (0x003B) e338 bc c0 6f cpx (0xC06F) e33b 24 04 bcc [0xE341] e33d 8a 04 oraa 0x04 e33f 20 02 bra [0xE343] e341 84 fb anda 0xFB e343 97 10 staa (0x0010) e345 96 18 ldaa (0x0018) e347 d6 05 ldab (0x0005) e349 b1 c0 6e cmpa (0xC06E) e34c 23 1e bls [0xE36C] e34e c4 f1 andb 0xF1 e350 13 8a 08 02 brclr (0x008A), 0x08, [0xE356] e354 ca 08 orab 0x08 e356 13 8a 20 02 brclr (0x008A), 0x20, [0xE35C] e35a ca 02 orab 0x02 e35c de 3b ldx (0x003B) e35e bc c0 6f cpx (0xC06F) e361 22 09 bhi [0xE36C] e363 7d 00 bf tst (0x00BF) e366 26 0d bne [0xE375] e368 ca 04 orab 0x04 e36a 20 09 bra [0xE375] e36c c5 04 bitb 0x04 e36e 26 05 bne [0xE375] e370 b6 c0 71 ldaa (0xC071) e373 97 bf staa (0x00BF) e375 d7 05 stab (0x0005) e377 39 rts Subroutine e378 e378 dc 2d ldd (0x002D) e37a dd 1f std (0x001F) e37c ce e4 1e ldx 0xE41E e37f d6 4e ldab (0x004E) e381 58 aslb e382 3a abx e383 a6 01 ldaa (X+0x01) e385 d6 20 ldab (0x0020) e387 3d mul e388 16 tab e389 4f clra e38a dd c7 std (0x00C7) e38c a6 01 ldaa (X+0x01) e38e d6 1f ldab (0x001F) e390 3d mul e391 d3 c7 addd (0x00C7) e393 dd c7 std (0x00C7) e395 a6 00 ldaa (X+0x00) e397 d6 20 ldab (0x0020) e399 3d mul e39a d3 c7 addd (0x00C7) e39c dd c7 std (0x00C7) e39e a6 00 ldaa (X+0x00) e3a0 d6 1f ldab (0x001F) e3a2 3d mul e3a3 17 tba e3a4 5f clrb e3a5 d3 c7 addd (0x00C7) e3a7 dd 1d std (0x001D) e3a9 13 e0 40 42 brclr (0x00E0), 0x40, [0xE3EF] e3ad 15 e0 40 bclr (0x00E0), 0x40 e3b0 dc d6 ldd (0x00D6) e3b2 05 asld e3b3 05 asld e3b4 dd dc std (0x00DC) e3b6 ce e4 1e ldx 0xE41E e3b9 d6 4f ldab (0x004F) e3bb 58 aslb e3bc 3a abx e3bd a6 01 ldaa (X+0x01) e3bf d6 dd ldab (0x00DD) e3c1 3d mul e3c2 16 tab e3c3 4f clra e3c4 dd c7 std (0x00C7) e3c6 a6 01 ldaa (X+0x01) e3c8 d6 dc ldab (0x00DC) e3ca 3d mul e3cb d3 c7 addd (0x00C7) e3cd dd c7 std (0x00C7) e3cf a6 00 ldaa (X+0x00) e3d1 d6 dd ldab (0x00DD) e3d3 3d mul e3d4 d3 c7 addd (0x00C7) e3d6 dd c7 std (0x00C7) e3d8 a6 00 ldaa (X+0x00) e3da d6 dc ldab (0x00DC) e3dc 3d mul e3dd 17 tba e3de 5f clrb e3df d3 c7 addd (0x00C7) e3e1 dd da std (0x00DA) e3e3 de 3b ldx (0x003B) e3e5 dc da ldd (0x00DA) e3e7 03 fdiv e3e8 8f xgdx e3e9 24 02 bcc [0xE3ED] e3eb 86 ff ldaa 0xFF e3ed 97 d5 staa (0x00D5) e3ef dc 2f ldd (0x002F) e3f1 05 asld e3f2 05 asld e3f3 dd 1f std (0x001F) e3f5 b6 c0 1a ldaa (0xC01A) e3f8 d6 20 ldab (0x0020) e3fa 3d mul e3fb 5d tstb e3fc 2a 01 bpl [0xE3FF] e3fe 4c inca e3ff 16 tab e400 4f clra e401 dd c7 std (0x00C7) e403 b6 c0 1a ldaa (0xC01A) e406 d6 1f ldab (0x001F) e408 3d mul e409 d3 c7 addd (0x00C7) e40b dd c7 std (0x00C7) e40d 05 asld e40e 25 06 bcs [0xE416] e410 05 asld e411 25 03 bcs [0xE416] e413 05 asld e414 24 05 bcc [0xE41B] e416 86 ff ldaa 0xFF e418 14 39 01 bset (0x0039), 0x01 e41b 97 19 staa (0x0019) e41d 39 rts e41e DATA 0b 24 06 2e 04 00 02 c6 Subroutine e426 e426 13 38 02 3e brclr (0x0038), 0x02, [0xE468] e42a 15 38 02 bclr (0x0038), 0x02 e42d 14 e0 40 bset (0x00E0), 0x40 e430 0f sei e431 96 43 ldaa (0x0043) e433 97 c8 staa (0x00C8) e435 dc 41 ldd (0x0041) e437 0e cli e438 ce 00 04 ldx 0x0004 e43b 04 lsrd e43c 76 00 c8 ror (0x00C8) e43f 09 dex e440 26 f9 bne [0xE43B] e442 4d tsta e443 27 04 beq [0xE449] e445 c6 ff ldab 0xFF e447 d7 c8 stab (0x00C8) e449 d7 c7 stab (0x00C7) e44b de c7 ldx (0x00C7) e44d bc c0 0d cpx (0xC00D) e450 23 16 bls [0xE468] e452 fc c0 0d ldd (0xC00D) e455 03 fdiv e456 df 3b stx (0x003B) e458 f3 c0 0f addd (0xC00F) e45b de c7 ldx (0x00C7) e45d 02 idiv e45e 8f xgdx e45f d3 3b addd (0x003B) e461 dd 3b std (0x003B) e463 05 asld e464 05 asld e465 05 asld e466 97 b6 staa (0x00B6) e468 39 rts Subroutine e469 e469 b6 10 40 ldaa (0x1040) e46c b1 c0 1d cmpa (0xC01D) e46f 22 59 bhi [0xE4CA] e471 b1 c0 1c cmpa (0xC01C) e474 24 02 bcc [0xE478] e476 20 52 bra [0xE4CA] e478 d6 18 ldab (0x0018) e47a f1 c0 20 cmpb (0xC020) e47d 22 0a bhi [0xE489] e47f 15 8a 02 bclr (0x008A), 0x02 e482 15 05 01 bclr (0x0005), 0x01 e485 12 8a 02 41 brset (0x008A), 0x02, [0xE4CA] e489 f6 c0 1f ldab (0xC01F) e48c d7 c2 stab (0x00C2) e48e b1 c0 1b cmpa (0xC01B) e491 23 05 bls [0xE498] e493 14 57 80 bset (0x0057), 0x80 e496 20 1a bra [0xE4B2] e498 12 57 80 0c brset (0x0057), 0x80, [0xE4A8] e49c 91 47 cmpa (0x0047) e49e 22 12 bhi [0xE4B2] e4a0 91 45 cmpa (0x0045) e4a2 26 0e bne [0xE4B2] e4a4 91 4b cmpa (0x004B) e4a6 26 0a bne [0xE4B2] e4a8 15 57 80 bclr (0x0057), 0x80 e4ab b1 c0 1b cmpa (0xC01B) e4ae 24 02 bcc [0xE4B2] e4b0 97 47 staa (0x0047) e4b2 97 45 staa (0x0045) e4b4 f6 c0 1e ldab (0xC01E) e4b7 96 45 ldaa (0x0045) e4b9 90 47 suba (0x0047) e4bb 24 01 bcc [0xE4BE] e4bd 4f clra e4be 3d mul e4bf 04 lsrd e4c0 04 lsrd e4c1 04 lsrd e4c2 04 lsrd e4c3 4d tsta e4c4 27 12 beq [0xE4D8] e4c6 c6 ff ldab 0xFF e4c8 20 0e bra [0xE4D8] e4ca 14 8a 02 bset (0x008A), 0x02 e4cd 7d 00 c2 tst (0x00C2) e4d0 26 03 bne [0xE4D5] e4d2 14 05 01 bset (0x0005), 0x01 e4d5 f6 c0 21 ldab (0xC021) // 38% throttle e4d8 d7 46 stab (0x0046) // Throttle Position Sensor e4da c1 03 cmpb 0x03 e4dc 25 03 bcs [0xE4E1] e4de 15 57 01 bclr (0x0057), 0x01 e4e1 c1 01 cmpb 0x01 e4e3 22 03 bhi [0xE4E8] e4e5 14 57 01 bset (0x0057), 0x01 e4e8 17 tba e4e9 d6 4c ldab (0x004C) e4eb ce c8 f3 ldx 0xC8F3 e4ee 3a abx e4ef a1 01 cmpa (X+0x01) e4f1 25 07 bcs [0xE4FA] e4f3 c1 07 cmpb 0x07 e4f5 24 08 bcc [0xE4FF] e4f7 5c incb e4f8 20 05 bra [0xE4FF] e4fa a1 00 cmpa (X+0x00) e4fc 24 01 bcc [0xE4FF] e4fe 5a decb e4ff d7 4c stab (0x004C) e501 c6 ff ldab 0xFF e503 96 49 ldaa (0x0049) e505 90 4b suba (0x004B) e507 22 02 bhi [0xE50B] e509 40 nega e50a 53 comb e50b d7 c7 stab (0x00C7) e50d f6 c0 1e ldab (0xC01E) e510 3d mul e511 04 lsrd e512 04 lsrd e513 04 lsrd e514 04 lsrd e515 4d tsta e516 27 02 beq [0xE51A] e518 c6 ff ldab 0xFF e51a 17 tba e51b d4 c7 andb (0x00C7) e51d d7 48 stab (0x0048) e51f 97 c7 staa (0x00C7) e521 96 4b ldaa (0x004B) e523 90 47 suba (0x0047) e525 81 07 cmpa 0x07 e527 22 04 bhi [0xE52D] e529 c1 10 cmpb 0x10 e52b 22 26 bhi [0xE553] e52d ce c8 ea ldx 0xC8EA e530 5f clrb e531 13 11 20 02 brclr (0x0011), 0x20, [0xE537] e535 cb 04 addb 0x04 e537 7d 00 48 tst (0x0048) e53a 26 02 bne [0xE53E] e53c cb 02 addb 0x02 e53e 3a abx e53f 96 c7 ldaa (0x00C7) e541 a1 00 cmpa (X+0x00) e543 22 0e bhi [0xE553] e545 a1 01 cmpa (X+0x01) e547 22 0d bhi [0xE556] e549 7d 00 be tst (0x00BE) e54c 26 0d bne [0xE55B] e54e 15 57 04 bclr (0x0057), 0x04 e551 20 08 bra [0xE55B] e553 14 57 04 bset (0x0057), 0x04 e556 b6 c8 f2 ldaa (0xC8F2) e559 97 be staa (0x00BE) e55b 39 rts Subroutine e55c e55c dc 3b ldd (0x003B) e55e 93 1d subd (0x001D) e560 2a 05 bpl [0xE567] e562 43 coma e563 53 comb e564 c3 00 01 addd 0x0001 e567 dd 68 std (0x0068) e569 4d tsta e56a 26 06 bne [0xE572] e56c 17 tba e56d b1 c0 3c cmpa (0xC03C) e570 23 03 bls [0xE575] e572 b6 c0 3c ldaa (0xC03C) e575 97 6a staa (0x006A) e577 b0 c0 3d suba (0xC03D) e57a 97 6b staa (0x006B) e57c d6 c0 ldab (0x00C0) e57e 96 66 ldaa (0x0066) e580 81 02 cmpa 0x02 e582 26 1d bne [0xE5A1] e584 96 18 ldaa (0x0018) e586 44 lsra e587 bb c0 3e adda (0xC03E) e58a 24 02 bcc [0xE58E] e58c 86 ff ldaa 0xFF e58e 91 6a cmpa (0x006A) e590 22 0f bhi [0xE5A1] e592 de 6c ldx (0x006C) e594 8c 48 44 cpx 0x4844 e597 23 08 bls [0xE5A1] e599 12 11 80 04 brset (0x0011), 0x80, [0xE5A1] // If difflock-fuse=1 goto e5a1 e59d 13 3a 10 02 brclr (0x003A), 0x10, [0xE5A3] e5a1 c6 ff ldab 0xFF e5a3 d7 c0 stab (0x00C0) e5a5 26 03 bne [0xE5AA] e5a7 14 57 40 bset (0x0057), 0x40 e5aa 39 rts Subroutine e5ab e5ab c6 02 ldab 0x02 e5ad d7 c8 stab (0x00C8) e5af 13 3a 80 02 brclr (0x003A), 0x80, [0xE5B5] e5b3 20 29 bra [0xE5DE] e5b5 96 4f ldaa (0x004F) e5b7 97 c8 staa (0x00C8) e5b9 12 59 40 24 brset (0x0059), 0x40, [0xE5E1] e5bd bd e7 29 jsr (0xE729) e5c0 96 c8 ldaa (0x00C8) e5c2 85 80 bita 0x80 e5c4 27 06 beq [0xE5CC] e5c6 84 7f anda 0x7F e5c8 97 c8 staa (0x00C8) e5ca 20 12 bra [0xE5DE] e5cc bd e6 85 jsr (0xE685) e5cf 96 58 ldaa (0x0058) e5d1 84 e0 anda 0xE0 e5d3 27 09 beq [0xE5DE] e5d5 96 c8 ldaa (0x00C8) e5d7 81 03 cmpa 0x03 e5d9 26 03 bne [0xE5DE] e5db 7a 00 c8 dec (0x00C8) e5de bd e5 e2 jsr (0xE5E2) e5e1 39 rts Subroutine e5e2 e5e2 96 c8 ldaa (0x00C8) e5e4 91 4f cmpa (0x004F) e5e6 27 44 beq [0xE62C] e5e8 97 4f staa (0x004F) e5ea d6 4e ldab (0x004E) e5ec 58 aslb e5ed 58 aslb e5ee db c8 addb (0x00C8) e5f0 58 aslb e5f1 d7 50 stab (0x0050) e5f3 ce c0 73 ldx 0xC073 e5f6 3a abx e5f7 ee 00 ldx (X+0x00) e5f9 27 27 beq [0xE622] e5fb 3c pshx e5fc d6 4c ldab (0x004C) e5fe c4 fe andb 0xFE e600 86 05 ldaa 0x05 e602 3d mul e603 3a abx e604 5f clrb e605 0f sei e606 df 51 stx (0x0051) e608 38 pulx e609 df 55 stx (0x0055) e60b d7 5d stab (0x005D) e60d d7 5e stab (0x005E) e60f 12 59 80 02 brset (0x0059), 0x80, [0xE615] e613 d7 5b stab (0x005B) e615 14 59 80 bset (0x0059), 0x80 e618 13 59 02 03 brclr (0x0059), 0x02, [0xE61F] e61c 14 59 40 bset (0x0059), 0x40 e61f 0e cli e620 20 0c bra [0xE62E] e622 de 53 ldx (0x0053) e624 df 55 stx (0x0055) e626 d6 59 ldab (0x0059) e628 c4 08 andb 0x08 e62a d7 59 stab (0x0059) e62c 97 4f staa (0x004F) e62e d6 50 ldab (0x0050) e630 c1 1a cmpb 0x1A e632 26 23 bne [0xE657] e634 96 4c ldaa (0x004C) e636 81 07 cmpa 0x07 e638 25 1d bcs [0xE657] e63a ce c3 d5 ldx 0xC3D5 e63d 5f clrb e63e 96 18 ldaa (0x0018) e640 81 37 cmpa 0x37 e642 25 08 bcs [0xE64C] e644 cb 0a addb 0x0A e646 81 41 cmpa 0x41 e648 25 02 bcs [0xE64C] e64a cb 0a addb 0x0A e64c 3a abx e64d 0f sei e64e df 51 stx (0x0051) e650 5f clrb e651 d7 5d stab (0x005D) e653 d7 5e stab (0x005E) e655 0e cli e656 39 rts e657 d6 50 ldab (0x0050) e659 86 05 ldaa 0x05 e65b 3d mul e65c ce c2 8b ldx 0xC28B e65f 96 4d ldaa (0x004D) e661 84 07 anda 0x07 e663 27 03 beq [0xE668] // if stick=D goto e668 e665 ce c3 2b ldx 0xC32B e668 3a abx e669 96 57 ldaa (0x0057) e66b 9c 51 cpx (0x0051) e66d 27 0d beq [0xE67C] e66f 85 01 bita 0x01 e671 27 11 beq [0xE684] e673 0f sei e674 df 51 stx (0x0051) e676 5f clrb e677 d7 5d stab (0x005D) e679 d7 5e stab (0x005E) e67b 0e cli e67c 85 01 bita 0x01 e67e 26 04 bne [0xE684] e680 dc 55 ldd (0x0055) e682 dd 51 std (0x0051) e684 39 rts Subroutine e685 e685 12 59 80 2e brset (0x0059), 0x80, [0xE6B7] e689 ce d9 5f ldx 0xD95F e68c d6 c8 ldab (0x00C8) e68e c4 03 andb 0x03 e690 96 4d ldaa (0x004D) e692 84 07 anda 0x07 e694 27 0c beq [0xE6A2] // If stick=D goto E6A2 e696 9b 4e adda (0x004E) e698 81 03 cmpa 0x03 e69a 24 04 bcc [0xE6A0] e69c 13 12 40 02 brclr (0x0012), 0x40, [0xE6A2] // if manualswitch=0 goto e6a2 e6a0 cb 04 addb 0x04 e6a2 3a abx e6a3 a6 00 ldaa (X+0x00) e6a5 97 c7 staa (0x00C7) e6a7 dc 3b ldd (0x003B) e6a9 05 asld e6aa 05 asld e6ab 16 tab e6ac 96 c7 ldaa (0x00C7) e6ae 10 sba e6af 24 06 bcc [0xE6B7] e6b1 7c 00 c8 inc (0x00C8) e6b4 14 59 02 bset (0x0059), 0x02 e6b7 5f clrb e6b8 96 5a ldaa (0x005A) e6ba 27 02 beq [0xE6BE] e6bc c6 10 ldab 0x10 e6be 13 58 08 02 brclr (0x0058), 0x08, [0xE6C4] e6c2 c6 30 ldab 0x30 e6c4 13 59 08 02 brclr (0x0059), 0x08, [0xE6CA] e6c8 c6 60 ldab 0x60 e6ca 13 12 40 02 brclr (0x0012), 0x40, [0xE6D0] // if manualswitch=0 goto e6d0 e6ce c6 20 ldab 0x20 e6d0 96 4d ldaa (0x004D) e6d2 84 07 anda 0x07 e6d4 85 04 bita 0x04 e6d6 27 01 beq [0xE6D9] // if stick=123D goto e6d9 e6d8 4f clra e6d9 48 asla e6da 48 asla e6db 1b aba e6dc d6 c8 ldab (0x00C8) e6de c4 03 andb 0x03 e6e0 1b aba e6e1 16 tab e6e2 4f clra e6e3 05 asld e6e4 05 asld e6e5 dd d3 std (0x00D3) e6e7 12 59 02 1c brset (0x0059), 0x02, [0xE707] e6eb c3 d0 64 addd 0xD064 e6ee 8f xgdx e6ef ee 00 ldx (X+0x00) e6f1 c6 03 ldab 0x03 e6f3 96 18 ldaa (0x0018) e6f5 bd e7 40 jsr (0xE740) e6f8 10 sba e6f9 24 0c bcc [0xE707] e6fb 7c 00 c8 inc (0x00C8) e6fe 96 c8 ldaa (0x00C8) e700 81 03 cmpa 0x03 e702 23 03 bls [0xE707] e704 7a 00 c8 dec (0x00C8) e707 dc d3 ldd (0x00D3) e709 c3 00 02 addd 0x0002 e70c c3 d0 64 addd 0xD064 e70f 8f xgdx e710 ee 00 ldx (X+0x00) e712 c6 03 ldab 0x03 e714 96 18 ldaa (0x0018) e716 bd e7 40 jsr (0xE740) e719 10 sba e71a 25 0c bcs [0xE728] e71c 7a 00 c8 dec (0x00C8) e71f 96 c8 ldaa (0x00C8) e721 81 00 cmpa 0x00 e723 2c 03 bge [0xE728] e725 7c 00 c8 inc (0x00C8) e728 39 rts Subroutine e729 e729 13 11 10 11 brclr (0x0011), 0x10, [0xE73E] e72d 13 13 04 0d brclr (0x0013), 0x04, [0xE73E] // If brakeswitch=0 goto e73e e731 96 4c ldaa (0x004C) e733 81 02 cmpa 0x02 e735 24 07 bcc [0xE73E] e737 b6 c0 29 ldaa (0xC029) e73a 8a 80 oraa 0x80 e73c 97 c8 staa (0x00C8) e73e 39 rts e73f 3a abx Subroutine e740 e740 a1 00 cmpa (X+0x00) e742 22 fb bhi [0xE73F] e744 a0 00 suba (X+0x00) e746 40 nega e747 e6 01 ldab (X+0x01) e749 3d mul e74a 04 lsrd e74b 04 lsrd e74c 04 lsrd e74d 04 lsrd e74e 43 coma e74f 53 comb e750 c3 00 01 addd 0x0001 e753 eb 02 addb (X+0x02) e755 89 00 adca 0x00 e757 23 03 bls [0xE75C] e759 cc 00 80 ldd 0x0080 e75c 83 00 80 subd 0x0080 e75f 8b 00 adda 0x00 e761 26 04 bne [0xE767] e763 c1 7f cmpb 0x7F e765 25 02 bcs [0xE769] e767 c6 82 ldab 0x82 e769 96 46 ldaa (0x0046) // Throttle position sensor e76b 44 lsra e76c 8b 01 adda 0x01 e76e 39 rts Subroutine e76f // Decide which map to use e76f 12 8a 02 20 brset (0x008A), 0x02, [0xE793] e773 12 3a 80 1c brset (0x003A), 0x80, [0xE793] e777 12 11 20 18 brset (0x0011), 0x20, [0xE793] e77b 12 12 40 14 brset (0x0012), 0x40, [0xE793] // if manualswitch=1 goto e793 e77f 13 11 40 04 brclr (0x0011), 0x40, [0xE787] // if powerswitch=0 goto e787 e783 c6 02 ldab 0x02 e785 20 55 bra [0xE7DC] e787 12 5a 02 08 brset (0x005A), 0x02, [0xE793] // if in power mode goto e793 e78b 96 4d ldaa (0x004D) e78d 84 07 anda 0x07 e78f 81 03 cmpa 0x03 e791 25 03 bcs [0xE796] // if stick=D32 goto e796 e793 5f clrb // turn power mode off e794 20 46 bra [0xE7DC] e796 ce c9 04 ldx 0xC904 // speed/throttle table X-axis e799 96 18 ldaa (0x0018) // Vehicle speed e79b 5f clrb // b is the index e79c a1 00 cmpa (X+0x00) // 1E e79e 23 0b bls [0xE7AB] e7a0 5c incb e7a1 a1 01 cmpa (X+0x01) // 3C e7a3 23 06 bls [0xE7AB] e7a5 5c incb e7a6 a1 02 cmpa (X+0x02) // 5A e7a8 23 01 bls [0xE7AB] e7aa 5c incb e7ab 96 5a ldaa (0x005A) e7ad 27 18 beq [0xE7C7] if map=0 goto e7c7 e7af 58 aslb e7b0 ce c9 17 ldx 0xC917 // speed/throttle table Y-axis e7b3 3a abx e7b4 96 4c ldaa (0x004C) // throttle opening e7b6 a1 00 cmpa (X+0x00) // compare to threshold e7b8 25 05 bcs [0xE7BF] // if < goto e7bf e7ba a6 01 ldaa (X+0x01) // power mode timeout e7bc 97 c1 staa (0x00C1) // Set power mode timer e7be 39 rts e7bf 5f clrb e7c0 96 c1 ldaa (0x00C1) // if timer=0 then e7c2 26 17 bne [0xE7DB] // revert to map 0 e7c4 d7 5a stab (0x005A) e7c6 39 rts e7c7 58 aslb e7c8 58 aslb e7c9 96 4c ldaa (0x004C) e7cb 44 lsra e7cc 1b aba e7cd 16 tab e7ce ce c9 07 ldx 0xC907 e7d1 3a abx e7d2 5f clrb e7d3 96 48 ldaa (0x0048) // compare 0048 against e7d5 27 05 beq [0xE7DC] // table. if greater e7d7 a1 00 cmpa (X+0x00) // then set power mode. e7d9 23 01 bls [0xE7DC] e7db 5c incb e7dc d7 5a stab (0x005A) e7de 39 rts Subroutine e7df e7df 7d 00 18 tst (0x0018) e7e2 26 0d bne [0xE7F1] e7e4 d6 84 ldab (0x0084) e7e6 c4 c0 andb 0xC0 e7e8 26 07 bne [0xE7F1] // if not prev check goto e7f1 e7ea de 3b ldx (0x003B) e7ec bc c0 6f cpx (0xC06F) // 01 e7ef 25 38 bcs [0xE829] e7f1 96 89 ldaa (0x0089) e7f3 d6 85 ldab (0x0085) e7f5 12 84 01 34 brset (0x0084), 0x01, [0xE82D] e7f9 12 88 40 40 brset (0x0088), 0x40, [0xE83D] e7fd 7d 00 c4 tst (0x00C4) e800 27 04 beq [0xE806] e802 7f 00 87 clr (0x0087) e805 39 rts e806 13 88 80 03 brclr (0x0088), 0x80, [0xE80D] e80a 7e e8 a7 jmp (0xE8A7) e80d 12 84 40 04 brset (0x0084), 0x40, [0xE815] e811 13 84 80 03 brclr (0x0084), 0x80, [0xE818] e815 7e e8 99 jmp (0xE899) e818 12 84 20 59 brset (0x0084), 0x20, [0xE875] e81c 5f clrb e81d d7 85 stab (0x0085) e81f d6 5a ldab (0x005A) // Check map in use e821 c4 03 andb 0x03 e823 26 04 bne [0xE829] // if not map 0 goto e829 e825 15 0f 04 bclr (0x000F), 0x04 // Turn off power light e828 39 rts e829 14 0f 04 bset (0x000F), 0x04 // Turn on power light e82c 39 rts e82d 4d tsta e82e 26 0c bne [0xE83C] e830 ce e9 1c ldx 0xE91C e833 bd e9 05 jsr (0xE905) e836 5d tstb e837 26 03 bne [0xE83C] e839 15 84 01 bclr (0x0084), 0x01 e83c 39 rts e83d 4d tsta e83e 26 34 bne [0xE874] e840 d7 c7 stab (0x00C7) e842 c4 01 andb 0x01 e844 ce e9 2e ldx 0xE92E e847 b6 c0 03 ldaa (0xC003) e84a 2a 03 bpl [0xE84F] e84c ce e9 34 ldx 0xE934 e84f bd e9 05 jsr (0xE905) e852 7c 00 c7 inc (0x00C7) e855 b6 c0 03 ldaa (0xC003) e858 84 7f anda 0x7F e85a 48 asla e85b 91 c7 cmpa (0x00C7) e85d 23 06 bls [0xE865] e85f d6 c7 ldab (0x00C7) e861 d7 85 stab (0x0085) e863 20 0f bra [0xE874] e865 d6 88 ldab (0x0088) e867 5a decb e868 c5 0f bitb 0x0F e86a 26 02 bne [0xE86E] e86c c4 b0 andb 0xB0 e86e d7 88 stab (0x0088) e870 86 96 ldaa 0x96 e872 97 89 staa (0x0089) e874 39 rts e875 4d tsta e876 26 20 bne [0xE898] e878 d7 c7 stab (0x00C7) e87a c4 01 andb 0x01 e87c ce e9 22 ldx 0xE922 e87f bd e9 05 jsr (0xE905) e882 7c 00 c7 inc (0x00C7) e885 86 10 ldaa 0x10 e887 48 asla e888 91 c7 cmpa (0x00C7) e88a 23 06 bls [0xE892] e88c d6 c7 ldab (0x00C7) e88e d7 85 stab (0x0085) e890 20 06 bra [0xE898] e892 15 84 20 bclr (0x0084), 0x20 e895 4f clra e896 97 01 staa (0x0001) e898 39 rts e899 4d tsta e89a 26 68 bne [0xE904] e89c 13 84 10 0a brclr (0x0084), 0x10, [0xE8AA] e8a0 ce e9 28 ldx 0xE928 e8a3 bd e9 05 jsr (0xE905) e8a6 39 rts e8a7 4d tsta e8a8 26 5a bne [0xE904] e8aa 7d 00 87 tst (0x0087) e8ad 26 0e bne [0xE8BD] // if not done msn/lsn e8af ce e9 2e ldx 0xE92E e8b2 bd e9 05 jsr (0xE905) e8b5 13 88 80 03 brclr (0x0088), 0x80, [0xE8BC] e8b9 14 05 40 bset (0x0005), 0x40 e8bc 39 rts e8bd d7 c7 stab (0x00C7) e8bf c4 01 andb 0x01 e8c1 13 87 01 1d brclr (0x0087), 0x01, [0xE8E2] // if done msn goto e8e2 e8c5 ce e9 34 ldx 0xE934 e8c8 bd e9 05 jsr (0xE905) e8cb 7c 00 c7 inc (0x00C7) e8ce 96 a1 ldaa (0x00A1) // Get error code MSN e8d0 84 f0 anda 0xF0 e8d2 44 lsra e8d3 44 lsra e8d4 44 lsra e8d5 91 c7 cmpa (0x00C7) e8d7 23 05 bls [0xE8DE] e8d9 d6 c7 ldab (0x00C7) e8db d7 85 stab (0x0085) e8dd 39 rts e8de 78 00 87 asl (0x0087) e8e1 39 rts e8e2 12 87 04 1e brset (0x0087), 0x04, [0xE904] // if done lsn goto e904 e8e6 ce e9 2e ldx 0xE92E e8e9 bd e9 05 jsr (0xE905) e8ec 7c 00 c7 inc (0x00C7) e8ef 96 a1 ldaa (0x00A1) // Get error code LSN e8f1 84 0f anda 0x0F e8f3 48 asla e8f4 91 c7 cmpa (0x00C7) e8f6 23 05 bls [0xE8FD] e8f8 d6 c7 ldab (0x00C7) e8fa d7 85 stab (0x0085) e8fc 39 rts e8fd 78 00 87 asl (0x0087) e900 86 b4 ldaa 0xB4 e902 97 89 staa (0x0089) e904 39 rts Subroutine e905 e905 3a abx e906 3a abx e907 3a abx e908 ec 00 ldd (X+0x00) e90a 97 85 staa (0x0085) e90c d7 89 stab (0x0089) e90e 6d 02 tst (X+0x02) e910 27 05 beq [0xE917] e912 14 0f 04 bset (0x000F), 0x04 e915 20 03 bra [0xE91A] e917 15 0f 04 bclr (0x000F), 0x04 e91a 16 tab e91b 39 rts e91c DATA 01 c8 01 00 32 00 00 19 e924 DATA 01 00 19 00 01 0d 00 00 e92c DATA 0d 01 01 14 01 00 1e 00 e934 DATA 00 78 01 00 1e 00 Subroutine e93a e93a 96 66 ldaa (0x0066) e93c 84 03 anda 0x03 e93e 97 67 staa (0x0067) e940 d6 57 ldab (0x0057) e942 c5 6e bitb 0x6E e944 26 0f bne [0xE955] e946 c5 01 bitb 0x01 e948 27 03 beq [0xE94D] e94a 4d tsta e94b 27 08 beq [0xE955] e94d 12 39 40 04 brset (0x0039), 0x40, [0xE955] e951 13 3a 84 09 brclr (0x003A), 0x84, [0xE95E] e955 b6 c0 48 ldaa (0xC048) e958 97 fd staa (0x00FD) e95a 7f 00 66 clr (0x0066) e95d 39 rts e95e ce c3 f3 ldx 0xC3F3 e961 12 59 08 08 brset (0x0059), 0x08, [0xE96D] e965 13 11 20 04 brclr (0x0011), 0x20, [0xE96D] e969 c6 10 ldab 0x10 e96b 20 16 bra [0xE983] e96d d6 4d ldab (0x004D) // stick pos e96f c4 07 andb 0x07 e971 58 aslb // 1:b=6,2:b=4,3:b=2,d:b=0 e972 3a abx e973 5f clrb e974 13 59 08 04 brclr (0x0059), 0x08, [0xE97C] e978 c6 12 ldab 0x12 e97a 20 07 bra [0xE983] e97c 7d 00 5a tst (0x005A) e97f 27 02 beq [0xE983] e981 c6 08 ldab 0x08 e983 3a abx e984 ee 00 ldx (X+0x00) e986 d6 4e ldab (0x004E) e988 86 18 ldaa 0x18 e98a 3d mul e98b 3a abx e98c ff 00 64 stx (0x0064) e98f 96 66 ldaa (0x0066) e991 26 1f bne [0xE9B2] e993 c6 0c ldab 0x0C e995 8d 39 bsr [0xE9D0] e997 91 18 cmpa (0x0018) e999 22 17 bhi [0xE9B2] e99b 7d 00 fd tst (0x00FD) e99e 27 0e beq [0xE9AE] e9a0 12 59 08 07 brset (0x0059), 0x08, [0xE9AB] e9a4 96 18 ldaa (0x0018) e9a6 b1 c0 49 cmpa (0xC049) e9a9 25 24 bcs [0xE9CF] e9ab 7f 00 fd clr (0x00FD) e9ae 86 02 ldaa 0x02 e9b0 97 66 staa (0x0066) e9b2 96 66 ldaa (0x0066) e9b4 27 14 beq [0xE9CA] e9b6 86 02 ldaa 0x02 e9b8 13 57 01 02 brclr (0x0057), 0x01, [0xE9BE] e9bc 86 01 ldaa 0x01 e9be 97 66 staa (0x0066) e9c0 5f clrb e9c1 8d 0d bsr [0xE9D0] e9c3 91 18 cmpa (0x0018) e9c5 25 08 bcs [0xE9CF] e9c7 7f 00 66 clr (0x0066) e9ca b6 c0 48 ldaa (0xC048) e9cd 97 fd staa (0x00FD) e9cf 39 rts Subroutine e9d0 e9d0 96 46 ldaa (0x0046) // Throttle Position Sensor e9d2 fe 00 64 ldx (0x0064) e9d5 3a abx e9d6 c6 03 ldab 0x03 e9d8 a1 00 cmpa (X+0x00) e9da 22 f9 bhi [0xE9D5] e9dc e6 01 ldab (X+0x01) e9de 3d mul e9df ab 02 adda (X+0x02) e9e1 24 02 bcc [0xE9E5] e9e3 86 ff ldaa 0xFF e9e5 39 rts Subroutine e9e6 e9e6 d6 67 ldab (0x0067) e9e8 96 66 ldaa (0x0066) e9ea 26 03 bne [0xE9EF] e9ec 7e ea 5f jmp (0xEA5F) e9ef 81 01 cmpa 0x01 e9f1 26 15 bne [0xEA08] e9f3 cc 2a f8 ldd 0x2AF8 e9f6 1a 93 6c cpd (0x006C) e9f9 22 64 bhi [0xEA5F] e9fb dd 70 std (0x0070) e9fd dd 6c std (0x006C) e9ff 4f clra ea00 5f clrb ea01 dd 6e std (0x006E) ea03 dd 72 std (0x0072) ea05 7e ea a1 jmp (0xEAA1) ea08 dc 3b ldd (0x003B) ea0a 1a 83 07 d0 cpd 0x07D0 ea0e 2c 14 bge [0xEA24] ea10 dc 68 ldd (0x0068) ea12 b3 c0 38 subd (0xC038) ea15 2f 29 ble [0xEA40] ea17 b3 c0 3a subd (0xC03A) ea1a 2f 04 ble [0xEA20] ea1c 86 12 ldaa 0x12 ea1e 20 15 bra [0xEA35] ea20 86 0c ldaa 0x0C ea22 20 11 bra [0xEA35] ea24 dc 68 ldd (0x0068) ea26 b3 c0 38 subd (0xC038) ea29 2f 15 ble [0xEA40] ea2b b3 c0 3a subd (0xC03A) ea2e 2f 04 ble [0xEA34] ea30 86 06 ldaa 0x06 ea32 20 01 bra [0xEA35] ea34 4f clra ea35 97 75 staa (0x0075) ea37 4f clra ea38 5f clrb ea39 dd 6e std (0x006E) ea3b bd ea ab jsr (0xEAAB) ea3e 20 61 bra [0xEAA1] ea40 cc 00 00 ldd 0x0000 ea43 dd 72 std (0x0072) ea45 d6 4c ldab (0x004C) ea47 f3 c0 43 addd (0xC043) ea4a dd 6e std (0x006E) ea4c dc 6c ldd (0x006C) ea4e b3 c0 32 subd (0xC032) ea51 22 03 bhi [0xEA56] ea53 cc 00 00 ldd 0x0000 ea56 f3 c0 32 addd (0xC032) ea59 dd 70 std (0x0070) ea5b dd 6c std (0x006C) ea5d 20 42 bra [0xEAA1] ea5f cc 00 00 ldd 0x0000 ea62 dd 72 std (0x0072) ea64 97 66 staa (0x0066) ea66 dc 6c ldd (0x006C) ea68 dd 70 std (0x0070) ea6a b3 c0 34 subd (0xC034) ea6d 25 02 bcs [0xEA71] ea6f 4f clra ea70 5f clrb ea71 f3 c0 34 addd (0xC034) ea74 dd 6c std (0x006C) ea76 b3 c0 41 subd (0xC041) ea79 23 15 bls [0xEA90] ea7b 12 57 06 11 brset (0x0057), 0x06, [0xEA90] ea7f 12 57 01 0d brset (0x0057), 0x01, [0xEA90] ea83 d6 4c ldab (0x004C) ea85 c1 03 cmpb 0x03 ea87 23 07 bls [0xEA90] ea89 dc 68 ldd (0x0068) ea8b b3 c0 3f subd (0xC03F) ea8e 25 0c bcs [0xEA9C] ea90 cc 03 e8 ldd 0x03E8 ea93 dd 6c std (0x006C) ea95 fc c0 32 ldd (0xC032) ea98 dd 70 std (0x0070) ea9a 20 05 bra [0xEAA1] ea9c fc c0 45 ldd (0xC045) ea9f dd 6e std (0x006E) eaa1 dc 6c ldd (0x006C) eaa3 ce 00 64 ldx 0x0064 eaa6 02 idiv eaa7 8f xgdx eaa8 d7 b4 stab (0x00B4) eaaa 39 rts Subroutine eaab eaab ce cd 75 ldx 0xCD75 eaae d6 75 ldab (0x0075) eab0 3a abx eab1 d6 6b ldab (0x006B) eab3 8d 33 bsr [0xEAE8] eab5 47 asra eab6 56 rorb eab7 47 asra eab8 56 rorb eab9 dd c7 std (0x00C7) eabb dc 70 ldd (0x0070) eabd d3 c7 addd (0x00C7) eabf 8d 37 bsr [0xEAF8] eac1 4d tsta eac2 2c 03 bge [0xEAC7] eac4 cc 00 00 ldd 0x0000 eac7 83 4a 38 subd 0x4A38 eaca 25 02 bcs [0xEACE] eacc 4f clra eacd 5f clrb eace c3 4a 38 addd 0x4A38 ead1 83 03 e8 subd 0x03E8 ead4 22 02 bhi [0xEAD8] ead6 4f clra ead7 5f clrb ead8 c3 03 e8 addd 0x03E8 eadb dd 6c std (0x006C) eadd d6 6b ldab (0x006B) eadf 8d 0f bsr [0xEAF0] eae1 47 asra eae2 56 rorb eae3 47 asra eae4 56 rorb eae5 dd 72 std (0x0072) eae7 39 rts Subroutine eae8 eae8 cb 80 addb 0x80 eaea a6 00 ldaa (X+0x00) eaec 3d mul eaed a3 01 subd (X+0x01) eaef 39 rts Subroutine eaf0 eaf0 cb 80 addb 0x80 eaf2 a6 03 ldaa (X+0x03) eaf4 3d mul eaf5 a3 04 subd (X+0x04) eaf7 39 rts Subroutine eaf8 eaf8 28 0a bvc [0xEB04] eafa 24 05 bcc [0xEB01] eafc cc 80 00 ldd 0x8000 eaff 20 03 bra [0xEB04] eb01 cc 7f ff ldd 0x7FFF eb04 39 rts eb05 4d tsta eb06 27 0c beq [0xEB14] eb08 2a 0d bpl [0xEB17] eb0a 43 coma eb0b 26 03 bne [0xEB10] eb0d 5d tstb eb0e 2b 09 bmi [0xEB19] eb10 c6 80 ldab 0x80 eb12 20 05 bra [0xEB19] eb14 5d tstb eb15 2a 02 bpl [0xEB19] eb17 c6 7f ldab 0x7F eb19 39 rts Subroutine eb1a eb1a 83 4a 38 subd 0x4A38 eb1d 25 02 bcs [0xEB21] eb1f 4f clra eb20 5f clrb eb21 c3 4a 38 addd 0x4A38 eb24 83 03 e8 subd 0x03E8 eb27 22 02 bhi [0xEB2B] eb29 4f clra eb2a 5f clrb eb2b c3 03 e8 addd 0x03E8 eb2e 39 rts Subroutine eb2f eb2f 96 4d ldaa (0x004D) eb31 81 86 cmpa 0x86 eb33 27 31 beq [0xEB66] // if stick=NP goto eb66 eb35 dc e6 ldd (0x00E6) eb37 1a 93 3b cpd (0x003B) eb3a 24 02 bcc [0xEB3E] eb3c dd ef std (0x00EF) eb3e dc ef ldd (0x00EF) eb40 ce 00 0a ldx 0x000A eb43 02 idiv eb44 8f xgdx eb45 d7 c8 stab (0x00C8) eb47 f6 c0 5a ldab (0xC05A) eb4a 3d mul eb4b d7 c7 stab (0x00C7) eb4d 96 c8 ldaa (0x00C8) eb4f f6 c0 5a ldab (0xC05A) eb52 3d mul eb53 7f 00 c8 clr (0x00C8) eb56 d3 c7 addd (0x00C7) eb58 dd f1 std (0x00F1) eb5a dc 3b ldd (0x003B) eb5c 1a 93 f1 cpd (0x00F1) eb5f 24 0d bcc [0xEB6E] eb61 14 e0 02 bset (0x00E0), 0x02 eb64 20 08 bra [0xEB6E] eb66 cc 02 58 ldd 0x0258 eb69 dd ef std (0x00EF) eb6b 15 e0 02 bclr (0x00E0), 0x02 eb6e 96 e9 ldaa (0x00E9) eb70 81 86 cmpa 0x86 eb72 26 36 bne [0xEBAA] eb74 96 4d ldaa (0x004D) eb76 81 86 cmpa 0x86 eb78 26 08 bne [0xEB82] // if stick!=NP goto eb82 eb7a 96 f3 ldaa (0x00F3) eb7c 84 fc anda 0xFC eb7e 97 f3 staa (0x00F3) eb80 20 28 bra [0xEBAA] eb82 81 87 cmpa 0x87 // if stick!=R goto eb92 eb84 26 0c bne [0xEB92] eb86 86 32 ldaa 0x32 eb88 97 e8 staa (0x00E8) eb8a 96 f3 ldaa (0x00F3) eb8c 8a 02 oraa 0x02 eb8e 97 f3 staa (0x00F3) eb90 20 18 bra [0xEBAA] eb92 96 46 ldaa (0x0046) // Throttle Position Sensor eb94 b1 c0 50 cmpa (0xC050) // 35% eb97 25 11 bcs [0xEBAA] // if throttle < 35% goto ebaa eb99 de 3b ldx (0x003B) eb9b bc c0 52 cpx (0xC052) eb9e 25 0a bcs [0xEBAA] eba0 86 32 ldaa 0x32 eba2 97 e8 staa (0x00E8) eba4 96 f3 ldaa (0x00F3) eba6 8a 01 oraa 0x01 eba8 97 f3 staa (0x00F3) ebaa 96 4d ldaa (0x004D) ebac 97 e9 staa (0x00E9) ebae 96 4d ldaa (0x004D) ebb0 84 07 anda 0x07 ebb2 81 06 cmpa 0x06 ebb4 27 0d beq [0xEBC3] // if stick=NP goto ebc3 ebb6 13 f3 04 0c brclr (0x00F3), 0x04, [0xEBC6] ebba 12 e0 80 08 brset (0x00E0), 0x80, [0xEBC6] // if throttle>=35% goto ebc6 ebbe 14 f3 08 bset (0x00F3), 0x08 ebc1 20 03 bra [0xEBC6] ebc3 15 f3 08 bclr (0x00F3), 0x08 ebc6 15 f3 04 bclr (0x00F3), 0x04 ebc9 13 e0 80 03 brclr (0x00E0), 0x80, [0xEBD0] // if throttle<35% goto ebd0 ebcd 14 f3 04 bset (0x00F3), 0x04 ebd0 12 f3 08 36 brset (0x00F3), 0x08, [0xEC0A] ebd4 96 18 ldaa (0x0018) ebd6 b1 c0 55 cmpa (0xC055) ebd9 24 2f bcc [0xEC0A] ebdb 12 58 20 2b brset (0x0058), 0x20, [0xEC0A] ebdf 96 e8 ldaa (0x00E8) ebe1 27 27 beq [0xEC0A] ebe3 de 3b ldx (0x003B) ebe5 bc c0 52 cpx (0xC052) ebe8 25 20 bcs [0xEC0A] ebea 12 e0 02 1c brset (0x00E0), 0x02, [0xEC0A] ebee 96 f3 ldaa (0x00F3) ebf0 85 01 bita 0x01 ebf2 26 11 bne [0xEC05] ebf4 85 02 bita 0x02 ebf6 27 12 beq [0xEC0A] ebf8 96 e8 ldaa (0x00E8) ebfa 81 19 cmpa 0x19 ebfc 23 0f bls [0xEC0D] ebfe 96 46 ldaa (0x0046) // Throttle Position Sensor ec00 b1 c0 51 cmpa (0xC051) // 35% ec03 25 05 bcs [0xEC0A] // If throttle < 35% goto ec0a ec05 14 e0 80 bset (0x00E0), 0x80 ec08 20 03 bra [0xEC0D] ec0a 15 e0 80 bclr (0x00E0), 0x80 ec0d 13 59 80 37 brclr (0x0059), 0x80, [0xEC48] ec11 96 46 ldaa (0x0046) // Throttle Position Sensor ec13 b1 c0 4f cmpa (0xC04F) // 88% ec16 25 30 bcs [0xEC48] // if throttle < 88% goto ec48 ec18 96 18 ldaa (0x0018) ec1a b1 c0 54 cmpa (0xC054) ec1d 25 29 bcs [0xEC48] ec1f dc e6 ldd (0x00E6) ec21 1a 93 3b cpd (0x003B) ec24 24 02 bcc [0xEC28] ec26 dd ed std (0x00ED) ec28 96 50 ldaa (0x0050) ec2a 81 02 cmpa 0x02 ec2c 26 07 bne [0xEC35] ec2e dc ed ldd (0x00ED) ec30 b3 c0 56 subd (0xC056) ec33 20 09 bra [0xEC3E] ec35 81 0c cmpa 0x0C ec37 26 0f bne [0xEC48] ec39 dc ed ldd (0x00ED) ec3b b3 c0 58 subd (0xC058) ec3e 1a 93 3b cpd (0x003B) ec41 23 0d bls [0xEC50] ec43 14 e0 04 bset (0x00E0), 0x04 ec46 20 08 bra [0xEC50] ec48 15 e0 04 bclr (0x00E0), 0x04 ec4b cc 17 70 ldd 0x1770 ec4e dd ed std (0x00ED) ec50 96 18 ldaa (0x0018) ec52 b1 c0 54 cmpa (0xC054) ec55 25 14 bcs [0xEC6B] ec57 96 4d ldaa (0x004D) ec59 81 86 cmpa 0x86 ec5b 27 0e beq [0xEC6B] // if stick=NP goto ec6b ec5d 96 4c ldaa (0x004C) ec5f 26 0a bne [0xEC6B] ec61 13 11 20 06 brclr (0x0011), 0x20, [0xEC6B] ec65 14 e0 20 bset (0x00E0), 0x20 ec68 7e ec a8 jmp (0xECA8) ec6b 15 e0 20 bclr (0x00E0), 0x20 ec6e 96 18 ldaa (0x0018) ec70 b1 c0 54 cmpa (0xC054) ec73 25 2c bcs [0xECA1] ec75 96 46 ldaa (0x0046) // Throttle Position Sensor ec77 b1 c0 4f cmpa (0xC04F) // 88% ec7a 25 25 bcs [0xECA1] // if throttle < 88% goto eca1 ec7c 13 59 80 21 brclr (0x0059), 0x80, [0xECA1] ec80 14 e0 08 bset (0x00E0), 0x08 ec83 96 50 ldaa (0x0050) ec85 81 02 cmpa 0x02 ec87 27 0e beq [0xEC97] ec89 81 0c cmpa 0x0C ec8b 27 05 beq [0xEC92] ec8d 15 e0 0c bclr (0x00E0), 0x0C ec90 20 23 bra [0xECB5] ec92 b6 c0 5c ldaa (0xC05C) ec95 20 03 bra [0xEC9A] ec97 b6 c0 5b ldaa (0xC05B) ec9a 91 d5 cmpa (0x00D5) ec9c 22 03 bhi [0xECA1] ec9e 15 e0 04 bclr (0x00E0), 0x04 eca1 12 59 80 03 brset (0x0059), 0x80, [0xECA8] eca5 15 e0 08 bclr (0x00E0), 0x08 eca8 12 e0 10 09 brset (0x00E0), 0x10, [0xECB5] ecac 13 e0 a4 05 brclr (0x00E0), 0xA4, [0xECB5] ecb0 14 10 01 bset (0x0010), 0x01 ecb3 20 03 bra [0xECB8] ecb5 15 10 01 bclr (0x0010), 0x01 ecb8 dc 3b ldd (0x003B) ecba dd e6 std (0x00E6) ecbc 39 rts Subroutine ecbd ecbd d6 5b ldab (0x005B) ecbf 26 09 bne [0xECCA] ecc1 d6 8b ldab (0x008B) ecc3 c4 80 andb 0x80 ecc5 d7 8b stab (0x008B) ecc7 15 94 01 bclr (0x0094), 0x01 ecca d6 8b ldab (0x008B) eccc c4 77 andb 0x77 ecce cb 10 addb 0x10 ecd0 2a 0b bpl [0xECDD] ecd2 14 94 01 bset (0x0094), 0x01 ecd5 14 8f 40 bset (0x008F), 0x40 ecd8 c6 00 ldab 0x00 ecda d7 b3 stab (0x00B3) ecdc 39 rts ecdd c4 07 andb 0x07 ecdf c1 07 cmpb 0x07 ece1 26 03 bne [0xECE6] ece3 14 8e 40 bset (0x008E), 0x40 ece6 d6 58 ldab (0x0058) ece8 c5 04 bitb 0x04 ecea 27 06 beq [0xECF2] ecec dc 3b ldd (0x003B) ecee 04 lsrd ecef 4d tsta ecf0 26 1c bne [0xED0E] ecf2 d6 8a ldab (0x008A) ecf4 c4 02 andb 0x02 ecf6 27 04 beq [0xECFC] ecf8 13 57 01 12 brclr (0x0057), 0x01, [0xED0E] ecfc 96 8e ldaa (0x008E) ecfe 9a 8f oraa (0x008F) ed00 85 80 bita 0x80 ed02 27 13 beq [0xED17] ed04 84 09 anda 0x09 ed06 26 06 bne [0xED0E] ed08 d6 4e ldab (0x004E) ed0a c1 03 cmpb 0x03 ed0c 26 09 bne [0xED17] ed0e 15 94 02 bclr (0x0094), 0x02 ed11 cc 7f ff ldd 0x7FFF ed14 7e ed db jmp (0xEDDB) ed17 dc 3b ldd (0x003B) ed19 05 asld ed1a 05 asld ed1b b1 c0 4d cmpa (0xC04D) ed1e 22 1b bhi [0xED3B] ed20 96 4c ldaa (0x004C) ed22 b1 c0 4b cmpa (0xC04B) ed25 22 14 bhi [0xED3B] ed27 96 18 ldaa (0x0018) ed29 b1 c0 4c cmpa (0xC04C) ed2c 22 0d bhi [0xED3B] ed2e 14 94 02 bset (0x0094), 0x02 ed31 cc 4a 38 ldd 0x4A38 ed34 dd 61 std (0x0061) ed36 c6 c8 ldab 0xC8 ed38 d7 b3 stab (0x00B3) ed3a 39 rts ed3b 15 94 02 bclr (0x0094), 0x02 ed3e ce c9 27 ldx 0xC927 ed41 96 4d ldaa (0x004D) ed43 84 07 anda 0x07 ed45 81 07 cmpa 0x07 ed47 26 04 bne [0xED4D] // if stick!=R goto ed4d ed49 c6 20 ldab 0x20 ed4b 20 12 bra [0xED5F] ed4d 96 5e ldaa (0x005E) ed4f 98 5d eora (0x005D) ed51 85 08 bita 0x08 ed53 27 04 beq [0xED59] ed55 d6 50 ldab (0x0050) ed57 20 06 bra [0xED5F] ed59 c6 22 ldab 0x22 ed5b 3a abx ed5c d6 4e ldab (0x004E) ed5e 58 aslb ed5f 12 e0 10 07 brset (0x00E0), 0x10, [0xED6A] ed63 13 e0 08 03 brclr (0x00E0), 0x08, [0xED6A] ed67 ce c9 51 ldx 0xC951 // Lookup table ed6a 3a abx ed6b ee 00 ldx (X+0x00) ed6d 96 46 ldaa (0x0046) // Throttle Position Sensor ed6f a1 00 cmpa (X+0x00) ed71 23 06 bls [0xED79] ed73 08 inx ed74 08 inx ed75 08 inx ed76 08 inx ed77 20 f6 bra [0xED6F] ed79 e6 01 ldab (X+0x01) ed7b 3d mul ed7c e3 02 addd (X+0x02) ed7e dd c7 std (0x00C7) ed80 96 5e ldaa (0x005E) ed82 98 5d eora (0x005D) ed84 85 08 bita 0x08 ed86 27 02 beq [0xED8A] ed88 20 4f bra [0xEDD9] ed8a 96 4d ldaa (0x004D) ed8c 84 07 anda 0x07 ed8e 81 03 cmpa 0x03 ed90 24 47 bcc [0xEDD9] // if stick=1NRP goto edd9 ed92 12 76 10 43 brset (0x0076), 0x10, [0xEDD9] ed96 96 18 ldaa (0x0018) ed98 27 3f beq [0xEDD9] ed9a ce cd 6d ldx 0xCD6D ed9d d6 4e ldab (0x004E) ed9f 58 aslb eda0 3a abx eda1 ec 00 ldd (X+0x00) eda3 d3 c7 addd (0x00C7) eda5 24 03 bcc [0xEDAA] eda7 cc ff ff ldd 0xFFFF edaa dd c7 std (0x00C7) edac ce cd 69 ldx 0xCD69 edaf d6 4e ldab (0x004E) edb1 3a abx edb2 96 18 ldaa (0x0018) edb4 a1 00 cmpa (X+0x00) edb6 23 02 bls [0xEDBA] edb8 a6 00 ldaa (X+0x00) edba ce cd 65 ldx 0xCD65 edbd 3a abx edbe e6 00 ldab (X+0x00) edc0 3d mul edc1 43 coma edc2 53 comb edc3 c3 00 01 addd 0x0001 edc6 d3 c7 addd (0x00C7) edc8 25 03 bcs [0xEDCD] edca cc 00 00 ldd 0x0000 edcd 83 1f 40 subd 0x1F40 edd0 22 02 bhi [0xEDD4] edd2 4f clra edd3 5f clrb edd4 c3 1f 40 addd 0x1F40 edd7 dd c7 std (0x00C7) edd9 dc c7 ldd (0x00C7) eddb bd eb 1a jsr (0xEB1A) edde dd 61 std (0x0061) ede0 ce 00 64 ldx 0x0064 ede3 02 idiv ede4 df c7 stx (0x00C7) ede6 c6 c8 ldab 0xC8 ede8 d0 c8 subb (0x00C8) edea d7 b3 stab (0x00B3) edec 39 rts Dead Code? eded 15 94 02 bclr (0x0094), 0x02 edf0 ce cd 45 ldx 0xCD45 edf3 d6 4d ldab (0x004D) edf5 c4 18 andb 0x18 edf7 26 04 bne [0xEDFD] edf9 ec 00 ldd (X+0x00) edfb 20 de bra [0xEDDB] edfd 54 lsrb edfe 54 lsrb edff 54 lsrb ee00 54 lsrb ee01 3a abx ee02 5c incb ee03 58 aslb ee04 3a abx ee05 96 18 ldaa (0x0018) ee07 e6 00 ldab (X+0x00) ee09 3d mul ee0a e3 01 addd (X+0x01) ee0c 24 03 bcc [0xEE11] ee0e cc ff ff ldd 0xFFFF ee11 20 c8 bra [0xEDDB] Subroutine ee13 ee13 12 11 10 7b brset (0x0011), 0x10, [0xEE92] ee17 12 58 80 77 brset (0x0058), 0x80, [0xEE92] ee1b 96 4d ldaa (0x004D) ee1d 81 87 cmpa 0x87 ee1f 27 77 beq [0xEE98] // if stick=R goto ee98 ee21 81 83 cmpa 0x83 ee23 27 73 beq [0xEE98] // if stick=1 goto ee98 ee25 81 82 cmpa 0x82 ee27 27 6f beq [0xEE98] // if stick=2 goto ee98 ee29 d6 18 ldab (0x0018) ee2b 8d 72 bsr [0xEE9F] ee2d 91 46 cmpa (0x0046) // Throttle Position Sensor ee2f 23 1d bls [0xEE4E] ee31 b6 c0 2c ldaa (0xC02C) // 13% ee34 91 46 cmpa (0x0046) ee36 23 36 bls [0xEE6E] // if throttle <= 13% goto ee6e ee38 bd ee b5 jsr (0xEEB5) ee3b 27 55 beq [0xEE92] ee3d 96 4d ldaa (0x004D) ee3f 84 fe anda 0xFE ee41 81 80 cmpa 0x80 ee43 26 53 bne [0xEE98] // if stick!=3D goto ee98 ee45 d6 18 ldab (0x0018) ee47 f1 c0 31 cmpb (0xC031) ee4a 25 46 bcs [0xEE92] ee4c 20 4a bra [0xEE98] ee4e b0 c0 2e suba (0xC02E) ee51 bb c0 2f adda (0xC02F) ee54 91 46 cmpa (0x0046) // Throttle Position Sensor ee56 23 0d bls [0xEE65] ee58 b6 c0 2c ldaa (0xC02C) // 13% ee5b 91 46 cmpa (0x0046) // Throttle Position Sensor ee5d 23 06 bls [0xEE65] ee5f 8d 54 bsr [0xEEB5] ee61 27 2f beq [0xEE92] ee63 20 25 bra [0xEE8A] ee65 b6 c0 2c ldaa (0xC02C) // 13% ee68 91 46 cmpa (0x0046) // Throttle Position Sensor ee6a 23 02 bls [0xEE6E] // if throttle <= 13% goto ee6e ee6c 20 24 bra [0xEE92] ee6e b6 c0 2d ldaa (0xC02D) // 8% ee71 91 46 cmpa (0x0046) // Throttle Position Sensor ee73 23 09 bls [0xEE7E] // if throttle <= 8% goto ee7e ee75 d6 18 ldab (0x0018) ee77 f1 c0 2b cmpb (0xC02B) ee7a 22 16 bhi [0xEE92] ee7c 20 0c bra [0xEE8A] ee7e d6 18 ldab (0x0018) ee80 f1 c0 2b cmpb (0xC02B) ee83 22 0d bhi [0xEE92] ee85 f1 c0 2a cmpb (0xC02A) ee88 23 0e bls [0xEE98] ee8a 96 58 ldaa (0x0058) ee8c 85 10 bita 0x10 ee8e 26 04 bne [0xEE94] ee90 20 08 bra [0xEE9A] ee92 96 58 ldaa (0x0058) ee94 8a 10 oraa 0x10 ee96 20 04 bra [0xEE9C] ee98 96 58 ldaa (0x0058) ee9a 84 ef anda 0xEF ee9c 97 58 staa (0x0058) ee9e 39 rts Subroutine ee9f ee9f b6 c0 30 ldaa (0xC030) eea2 3d mul eea3 04 lsrd eea4 04 lsrd eea5 04 lsrd eea6 04 lsrd eea7 fb c0 2e addb (0xC02E) eeaa 24 01 bcc [0xEEAD] eeac 4c inca eead 81 00 cmpa 0x00 eeaf 27 02 beq [0xEEB3] eeb1 c6 ff ldab 0xFF eeb3 17 tba eeb4 39 rts Subroutine eeb5 eeb5 d6 4d ldab (0x004D) eeb7 c4 07 andb 0x07 eeb9 26 05 bne [0xEEC0] // if stick!=D goto eec0 eebb d6 58 ldab (0x0058) eebd c5 40 bitb 0x40 eebf 39 rts eec0 c1 01 cmpb 0x01 eec2 26 07 bne [0xEECB] // if stick!=3 goto eecb eec4 d6 0f ldab (0x000F) eec6 c4 20 andb 0x20 eec8 53 comb eec9 c5 20 bitb 0x20 eecb 39 rts Subroutine eecc eecc 7d 00 ba tst (0x00BA) eecf 26 09 bne [0xEEDA] eed1 4f clra eed2 5f clrb eed3 dd 21 std (0x0021) eed5 97 1a staa (0x001A) eed7 14 39 14 bset (0x0039), 0x14 eeda 13 38 01 6d brclr (0x0038), 0x01, [0xEF4B] eede 15 38 01 bclr (0x0038), 0x01 eee1 7d 00 ba tst (0x00BA) eee4 27 60 beq [0xEF46] eee6 0f sei eee7 96 36 ldaa (0x0036) eee9 97 c8 staa (0x00C8) eeeb dc 34 ldd (0x0034) eeed 0e cli eeee ce 00 02 ldx 0x0002 eef1 78 00 c8 asl (0x00C8) eef4 59 rolb eef5 49 rola eef6 25 08 bcs [0xEF00] eef8 09 dex eef9 26 f6 bne [0xEEF1] eefb 15 39 10 bclr (0x0039), 0x10 eefe 20 06 bra [0xEF06] ef00 cc ff ff ldd 0xFFFF ef03 14 39 10 bset (0x0039), 0x10 ef06 dd c7 std (0x00C7) ef08 8f xgdx ef09 bc c0 13 cpx (0xC013) ef0c 23 3d bls [0xEF4B] ef0e fc c0 13 ldd (0xC013) ef11 03 fdiv ef12 df 21 stx (0x0021) ef14 f3 c0 15 addd (0xC015) ef17 de c7 ldx (0x00C7) ef19 02 idiv ef1a 8f xgdx ef1b d3 21 addd (0x0021) ef1d 05 asld ef1e dd 21 std (0x0021) ef20 fc c0 17 ldd (0xC017) ef23 de c7 ldx (0x00C7) ef25 02 idiv ef26 8f xgdx ef27 05 asld ef28 4d tsta ef29 27 02 beq [0xEF2D] ef2b c6 ff ldab 0xFF ef2d 17 tba ef2e 90 1a suba (0x001A) ef30 23 0c bls [0xEF3E] ef32 81 05 cmpa 0x05 ef34 23 08 bls [0xEF3E] ef36 d6 1a ldab (0x001A) ef38 cb 05 addb 0x05 ef3a 24 02 bcc [0xEF3E] ef3c c6 ff ldab 0xFF ef3e db 1a addb (0x001A) ef40 56 rorb ef41 d7 1a stab (0x001A) ef43 14 39 08 bset (0x0039), 0x08 ef46 b6 c0 19 ldaa (0xC019) ef49 97 ba staa (0x00BA) ef4b 39 rts Subroutine ef4c ef4c 13 11 80 26 brclr (0x0011), 0x80, [0xEF76] // If difflock-fuse=0 goto ef76 ef50 13 01 10 05 brclr (0x0001), 0x10, [0xEF59] ef54 15 10 02 bclr (0x0010), 0x02 ef57 20 03 bra [0xEF5C] ef59 14 10 02 bset (0x0010), 0x02 ef5c 96 76 ldaa (0x0076) ef5e 2a 0f bpl [0xEF6F] ef60 4f clra ef61 97 76 staa (0x0076) ef63 dc 79 ldd (0x0079) ef65 b3 d0 49 subd (0xD049) ef68 2a 05 bpl [0xEF6F] ef6a fc d0 49 ldd (0xD049) ef6d dd 79 std (0x0079) ef6f cc 4a 38 ldd 0x4A38 ef72 dd 7b std (0x007B) ef74 20 4d bra [0xEFC3] ef76 14 76 80 bset (0x0076), 0x80 ef79 15 10 02 bclr (0x0010), 0x02 ef7c 13 57 01 26 brclr (0x0057), 0x01, [0xEFA6] ef80 15 76 7c bclr (0x0076), 0x7C ef83 96 4d ldaa (0x004D) ef85 81 86 cmpa 0x86 ef87 26 1d bne [0xEFA6] // if stick!=NP goto efa6 ef89 f6 d0 48 ldab (0xD048) ef8c d7 78 stab (0x0078) ef8e 96 3b ldaa (0x003B) ef90 44 lsra ef91 26 05 bne [0xEF98] ef93 cc 03 e8 ldd 0x03E8 ef96 20 27 bra [0xEFBF] ef98 96 1a ldaa (0x001A) ef9a b1 d0 4b cmpa (0xD04B) ef9d 22 07 bhi [0xEFA6] ef9f fc d0 4c ldd (0xD04C) efa2 dd 7b std (0x007B) efa4 20 1d bra [0xEFC3] efa6 12 95 10 1c brset (0x0095), 0x10, [0xEFC6] efaa 12 76 01 04 brset (0x0076), 0x01, [0xEFB2] efae 13 11 10 14 brclr (0x0011), 0x10, [0xEFC6] efb2 13 13 04 10 brclr (0x0013), 0x04, [0xEFC6] // if brakeswitch=0 goto efc6 efb6 14 76 01 bset (0x0076), 0x01 efb9 fc d0 50 ldd (0xD050) efbc bd eb 1a jsr (0xEB1A) efbf dd 79 std (0x0079) efc1 dd 7b std (0x007B) efc3 7e f1 43 jmp (0xF143) efc6 15 76 01 bclr (0x0076), 0x01 efc9 96 1a ldaa (0x001A) efcb 81 14 cmpa 0x14 efcd 23 18 bls [0xEFE7] efcf 96 78 ldaa (0x0078) efd1 81 1f cmpa 0x1F efd3 25 12 bcs [0xEFE7] efd5 13 13 04 0e brclr (0x0013), 0x04, [0xEFE7] // if brakeswitch=0 goto efe7 efd9 13 57 01 0a brclr (0x0057), 0x01, [0xEFE7] efdd cc 07 d0 ldd 0x07D0 efe0 dd 7b std (0x007B) efe2 dd 79 std (0x0079) efe4 7e f1 43 jmp (0xF143) efe7 96 4d ldaa (0x004D) efe9 81 86 cmpa 0x86 efeb 26 05 bne [0xEFF2] // if stick!=NP goto eff2 efed cc 03 e8 ldd 0x03E8 eff0 20 cf bra [0xEFC1] eff2 13 57 01 0b brclr (0x0057), 0x01, [0xF001] eff6 96 4e ldaa (0x004E) eff8 81 02 cmpa 0x02 effa 25 32 bcs [0xF02E] effc 86 78 ldaa 0x78 effe 7e f0 bb jmp (0xF0BB) f001 96 18 ldaa (0x0018) f003 b1 d0 54 cmpa (0xD054) f006 25 05 bcs [0xF00D] f008 15 76 7c bclr (0x0076), 0x7C f00b 20 21 bra [0xF02E] f00d 12 76 10 29 brset (0x0076), 0x10, [0xF03A] f011 f6 d0 57 ldab (0xD057) f014 d1 78 cmpb (0x0078) f016 23 05 bls [0xF01D] f018 14 76 40 bset (0x0076), 0x40 f01b 20 0c bra [0xF029] f01d f6 d0 48 ldab (0xD048) f020 cb 03 addb 0x03 f022 d1 37 cmpb (0x0037) f024 22 08 bhi [0xF02E] f026 14 76 20 bset (0x0076), 0x20 f029 14 76 1c bset (0x0076), 0x1C f02c 20 0c bra [0xF03A] f02e 12 88 80 08 brset (0x0088), 0x80, [0xF03A] f032 d6 4d ldab (0x004D) f034 c4 07 andb 0x07 f036 c1 03 cmpb 0x03 f038 26 05 bne [0xF03F] // if stick!=1 goto f03f f03a ce cf 2d ldx 0xCF2D f03d 20 29 bra [0xF068] f03f 96 1a ldaa (0x001A) f041 26 17 bne [0xF05A] f043 96 78 ldaa (0x0078) f045 b1 d0 59 cmpa (0xD059) f048 25 10 bcs [0xF05A] f04a ce cf 7e ldx 0xCF7E f04d d6 4c ldab (0x004C) f04f 3a abx f050 a6 00 ldaa (X+0x00) f052 97 c8 staa (0x00C8) f054 a6 01 ldaa (X+0x01) f056 97 c7 staa (0x00C7) f058 20 3c bra [0xF096] f05a ce cd 8e ldx 0xCD8E f05d c1 07 cmpb 0x07 f05f 27 05 beq [0xF066] f061 d6 4e ldab (0x004E) f063 5c incb f064 58 aslb f065 3a abx f066 ee 00 ldx (X+0x00) f068 d6 4c ldab (0x004C) f06a 86 09 ldaa 0x09 f06c 3d mul f06d 3a abx f06e dc 1d ldd (0x001D) f070 04 lsrd f071 81 08 cmpa 0x08 f073 2b 03 bmi [0xF078] f075 cc 07 ff ldd 0x07FF f078 d7 c7 stab (0x00C7) f07a 97 77 staa (0x0077) f07c 16 tab f07d 3a abx f07e d6 c7 ldab (0x00C7) f080 a6 01 ldaa (X+0x01) f082 a0 00 suba (X+0x00) f084 8d 2c bsr [0xF0B2] f086 ab 00 adda (X+0x00) f088 97 c8 staa (0x00C8) f08a d6 c7 ldab (0x00C7) f08c a6 0a ldaa (X+0x0A) f08e a0 09 suba (X+0x09) f090 8d 20 bsr [0xF0B2] f092 ab 09 adda (X+0x09) f094 97 c7 staa (0x00C7) f096 96 46 ldaa (0x0046) // Throttle Position Sensor f098 d6 4c ldab (0x004C) f09a ce c8 f3 ldx 0xC8F3 f09d 3a abx f09e a0 00 suba (X+0x00) f0a0 e6 09 ldab (X+0x09) f0a2 3d mul f0a3 4d tsta f0a4 27 02 beq [0xF0A8] f0a6 c6 ff ldab 0xFF f0a8 96 c7 ldaa (0x00C7) f0aa 90 c8 suba (0x00C8) f0ac 8d 04 bsr [0xF0B2] f0ae 9b c8 adda (0x00C8) f0b0 20 09 bra [0xF0BB] Subroutine f0b2 f0b2 2b 03 bmi [0xF0B7] f0b4 3d mul f0b5 20 03 bra [0xF0BA] f0b7 40 nega f0b8 3d mul f0b9 43 coma f0ba 39 rts Part of subroutine ef4c f0bb 97 c8 staa (0x00C8) f0bd d6 1a ldab (0x001A) f0bf f1 d0 55 cmpb (0xD055) f0c2 24 2c bcc [0xF0F0] f0c4 12 76 10 28 brset (0x0076), 0x10, [0xF0F0] f0c8 96 78 ldaa (0x0078) f0ca b1 d0 59 cmpa (0xD059) f0cd 24 21 bcc [0xF0F0] f0cf f6 d0 5a ldab (0xD05A) f0d2 3d mul f0d3 b3 d0 5b subd (0xD05B) f0d6 8f xgdx f0d7 d6 1a ldab (0x001A) f0d9 58 aslb f0da 3a abx f0db 8f xgdx f0dc 4d tsta f0dd 27 04 beq [0xF0E3] f0df 96 c8 ldaa (0x00C8) f0e1 20 0f bra [0xF0F2] f0e3 96 c8 ldaa (0x00C8) f0e5 3d mul f0e6 b1 d0 5d cmpa (0xD05D) f0e9 24 07 bcc [0xF0F2] f0eb b6 d0 5d ldaa (0xD05D) f0ee 20 02 bra [0xF0F2] f0f0 96 c8 ldaa (0x00C8) f0f2 97 c7 staa (0x00C7) f0f4 96 17 ldaa (0x0017) f0f6 5f clrb f0f7 ce cf a0 ldx 0xCFA0 f0fa a1 00 cmpa (X+0x00) f0fc 23 04 bls [0xF102] f0fe 08 inx f0ff 5c incb f100 20 f8 bra [0xF0FA] f102 58 aslb f103 ce cf 90 ldx 0xCF90 f106 3a abx f107 ee 00 ldx (X+0x00) f109 c6 04 ldab 0x04 f10b 96 16 ldaa (0x0016) f10d a1 00 cmpa (X+0x00) f10f 23 03 bls [0xF114] f111 3a abx f112 20 f7 bra [0xF10B] f114 a0 01 suba (X+0x01) f116 e6 02 ldab (X+0x02) f118 3d mul f119 05 asld f11a 25 06 bcs [0xF122] f11c 16 tab f11d a6 03 ldaa (X+0x03) f11f 10 sba f120 24 02 bcc [0xF124] f122 86 ff ldaa 0xFF f124 97 7d staa (0x007D) f126 16 tab f127 96 c7 ldaa (0x00C7) f129 c0 80 subb 0x80 f12b 24 08 bcc [0xF135] f12d 50 negb f12e 58 aslb f12f 10 sba f130 24 09 bcc [0xF13B] f132 4f clra f133 20 06 bra [0xF13B] f135 58 aslb f136 1b aba f137 24 02 bcc [0xF13B] f139 86 ff ldaa 0xFF f13b c6 64 ldab 0x64 f13d 3d mul f13e bd eb 1a jsr (0xEB1A) f141 dd 7b std (0x007B) f143 ce 00 64 ldx 0x0064 f146 02 idiv f147 8f xgdx f148 d7 b5 stab (0x00B5) f14a 39 rts Subroutine f14b f14b 13 11 80 08 brclr (0x0011), 0x80, [0xF157] // if difflock-fuse=0 goto f157 f14f b6 c0 66 ldaa (0xC066) f152 97 bb staa (0x00BB) f154 7e f1 e1 jmp (0xF1E1) f157 13 3a 01 2f brclr (0x003A), 0x01, [0xF18A] f15b 96 19 ldaa (0x0019) f15d d6 1a ldab (0x001A) f15f b1 c0 64 cmpa (0xC064) f162 25 05 bcs [0xF169] f164 15 3a 01 bclr (0x003A), 0x01 f167 20 78 bra [0xF1E1] f169 f1 c0 63 cmpb (0xC063) f16c 22 0c bhi [0xF17A] f16e b6 c0 66 ldaa (0xC066) f171 48 asla f172 24 02 bcc [0xF176] f174 86 ff ldaa 0xFF f176 97 bb staa (0x00BB) f178 20 67 bra [0xF1E1] f17a 7d 00 bb tst (0x00BB) f17d 26 62 bne [0xF1E1] f17f 14 01 02 bset (0x0001), 0x02 f182 14 03 02 bset (0x0003), 0x02 f185 15 04 02 bclr (0x0004), 0x02 f188 20 43 bra [0xF1CD] f18a 96 1b ldaa (0x001B) f18c 12 3a 04 29 brset (0x003A), 0x04, [0xF1B9] f190 f6 c0 66 ldab (0xC066) f193 d7 bb stab (0x00BB) f195 b1 c0 63 cmpa (0xC063) f198 22 10 bhi [0xF1AA] f19a b1 c0 64 cmpa (0xC064) f19d 25 37 bcs [0xF1D6] f19f 15 3a 10 bclr (0x003A), 0x10 f1a2 15 01 02 bclr (0x0001), 0x02 f1a5 14 02 02 bset (0x0002), 0x02 f1a8 20 2c bra [0xF1D6] f1aa 90 19 suba (0x0019) f1ac 24 01 bcc [0xF1AF] f1ae 4f clra f1af b1 c0 65 cmpa (0xC065) f1b2 23 22 bls [0xF1D6] f1b4 14 3a 04 bset (0x003A), 0x04 f1b7 20 1d bra [0xF1D6] f1b9 7d 00 bb tst (0x00BB) f1bc 27 0f beq [0xF1CD] f1be 13 3a 08 14 brclr (0x003A), 0x08, [0xF1D6] f1c2 15 3a 0c bclr (0x003A), 0x0C f1c5 15 39 40 bclr (0x0039), 0x40 f1c8 14 3a 40 bset (0x003A), 0x40 f1cb 20 09 bra [0xF1D6] f1cd 14 3a 10 bset (0x003A), 0x10 f1d0 15 3a 05 bclr (0x003A), 0x05 f1d3 15 39 40 bclr (0x0039), 0x40 f1d6 13 39 02 07 brclr (0x0039), 0x02, [0xF1E1] f1da 15 39 02 bclr (0x0039), 0x02 f1dd 96 19 ldaa (0x0019) f1df 97 1b staa (0x001B) f1e1 13 3a 02 1d brclr (0x003A), 0x02, [0xF202] f1e5 96 1a ldaa (0x001A) f1e7 d6 19 ldab (0x0019) f1e9 13 39 08 05 brclr (0x0039), 0x08, [0xF1F2] f1ed 15 3a 02 bclr (0x003A), 0x02 f1f0 20 60 bra [0xF252] f1f2 f1 c0 63 cmpb (0xC063) f1f5 23 5b bls [0xF252] f1f7 14 01 04 bset (0x0001), 0x04 f1fa 14 03 04 bset (0x0003), 0x04 f1fd 15 04 04 bclr (0x0004), 0x04 f200 20 4a bra [0xF24C] f202 96 1c ldaa (0x001C) f204 12 3a 08 30 brset (0x003A), 0x08, [0xF238] f208 f6 c0 67 ldab (0xC067) f20b d7 bc stab (0x00BC) f20d b1 c0 63 cmpa (0xC063) f210 22 16 bhi [0xF228] f212 13 39 08 3c brclr (0x0039), 0x08, [0xF252] f216 d6 1a ldab (0x001A) f218 f1 c0 63 cmpb (0xC063) f21b 22 35 bhi [0xF252] f21d 15 3a 60 bclr (0x003A), 0x60 f220 15 01 04 bclr (0x0001), 0x04 f223 14 02 04 bset (0x0002), 0x04 f226 20 2a bra [0xF252] f228 12 3a 40 26 brset (0x003A), 0x40, [0xF252] f22c 13 39 10 22 brclr (0x0039), 0x10, [0xF252] f230 14 3a 08 bset (0x003A), 0x08 f233 15 39 10 bclr (0x0039), 0x10 f236 20 1a bra [0xF252] f238 7d 00 bc tst (0x00BC) f23b 27 0f beq [0xF24C] f23d 13 3a 04 11 brclr (0x003A), 0x04, [0xF252] f241 15 3a 0c bclr (0x003A), 0x0C f244 15 39 40 bclr (0x0039), 0x40 f247 14 3a 40 bset (0x003A), 0x40 f24a 20 06 bra [0xF252] f24c 14 3a 20 bset (0x003A), 0x20 f24f 15 3a 0a bclr (0x003A), 0x0A f252 13 39 0c 07 brclr (0x0039), 0x0C, [0xF25D] f256 15 39 0c bclr (0x0039), 0x0C f259 96 1a ldaa (0x001A) f25b 97 1c staa (0x001C) f25d 96 18 ldaa (0x0018) f25f d6 3a ldab (0x003A) f261 c5 0c bitb 0x0C f263 26 34 bne [0xF299] f265 c4 7f andb 0x7F f267 c5 20 bitb 0x20 f269 26 18 bne [0xF283] f26b 12 11 80 22 brset (0x0011), 0x80, [0xF291] // if difflock-fuse=1 goto f291 f26f 96 19 ldaa (0x0019) f271 b1 c0 63 cmpa (0xC063) f274 25 0d bcs [0xF283] f276 44 lsra f277 9b 19 adda (0x0019) f279 25 08 bcs [0xF283] f27b 90 1a suba (0x001A) f27d 24 04 bcc [0xF283] f27f c5 20 bitb 0x20 f281 27 0e beq [0xF291] f283 96 19 ldaa (0x0019) f285 c5 10 bitb 0x10 f287 27 10 beq [0xF299] f289 96 1a ldaa (0x001A) f28b c5 20 bitb 0x20 f28d 27 0a beq [0xF299] f28f 20 04 bra [0xF295] f291 96 1a ldaa (0x001A) f293 20 04 bra [0xF299] f295 96 18 ldaa (0x0018) f297 ca 80 orab 0x80 f299 97 18 staa (0x0018) f29b d7 3a stab (0x003A) f29d 39 rts Subroutine f29e // Error code handler f29e 96 8e ldaa (0x008E) f2a0 9a 8f oraa (0x008F) f2a2 84 f9 anda 0xF9 f2a4 9a 03 oraa (0x0003) f2a6 97 03 staa (0x0003) f2a8 96 05 ldaa (0x0005) f2aa 84 3f anda 0x3F f2ac 9a 04 oraa (0x0004) f2ae 97 04 staa (0x0004) f2b0 96 8e ldaa (0x008E) f2b2 9a 8f oraa (0x008F) f2b4 84 f9 anda 0xF9 f2b6 9a 01 oraa (0x0001) f2b8 16 tab f2b9 53 comb f2ba dd 01 std (0x0001) f2bc 9a 05 oraa (0x0005) f2be 27 03 beq [0xF2C3] f2c0 7f 00 00 clr (0x0000) f2c3 96 9b ldaa (0x009B) f2c5 9a 9c oraa (0x009C) f2c7 97 96 staa (0x0096) f2c9 96 9f ldaa (0x009F) f2cb 9a a0 oraa (0x00A0) f2cd 97 98 staa (0x0098) f2cf 96 9d ldaa (0x009D) f2d1 9a 9e oraa (0x009E) f2d3 9a 98 oraa (0x0098) f2d5 97 97 staa (0x0097) f2d7 96 99 ldaa (0x0099) f2d9 9a 9a oraa (0x009A) f2db 97 95 staa (0x0095) f2dd 96 84 ldaa (0x0084) f2df 84 c0 anda 0xC0 f2e1 26 0c bne [0xF2EF] f2e3 13 88 80 51 brclr (0x0088), 0x80, [0xF338] f2e7 18 ce 00 1b ldy 0x001B // Table size (current) f2eb 86 1a ldaa 0x1A // last element f2ed 20 06 bra [0xF2F5] f2ef 18 ce 00 0e ldy 0x000E // Table size (previous) f2f3 86 0d ldaa 0x0D // last element f2f5 97 c7 staa (0x00C7) f2f7 96 87 ldaa (0x0087) f2f9 27 04 beq [0xF2FF] f2fb 85 04 bita 0x04 f2fd 27 39 beq [0xF338] f2ff d6 a2 ldab (0x00A2) // index f301 ce f3 39 ldx 0xF339 f304 13 84 80 03 brclr (0x0084), 0x80, [0xF30B] // Choose error table f308 ce f3 87 ldx 0xF387 f30b 58 aslb f30c db a2 addb (0x00A2) f30e 3a abx f30f 3c pshx f310 e6 00 ldab (X+0x00) f312 4f clra f313 8f xgdx f314 e6 00 ldab (X+0x00) f316 38 pulx f317 e5 01 bitb (X+0x01) f319 27 08 beq [0xF323] f31b e6 02 ldab (X+0x02) f31d d7 a1 stab (0x00A1) // Error code from table f31f 86 01 ldaa 0x01 f321 97 87 staa (0x0087) // terminate loop flag f323 7c 00 a2 inc (0x00A2) f326 96 a2 ldaa (0x00A2) f328 91 c7 cmpa (0x00C7) f32a 25 03 bcs [0xF32F] f32c 7f 00 a2 clr (0x00A2) f32f 18 09 dey f331 26 c4 bne [0xF2F7] f333 4f clra f334 97 a1 staa (0x00A1) f336 97 87 staa (0x0087) f338 39 rts f339 DATA 01 40 11 01 20 12 01 80 // Error code table (Current Mode) f341 DATA 13 01 08 14 01 01 15 05 // First byte is an address f349 DATA 02 21 05 08 22 05 04 23 // Second byte is a bit mask f351 DATA 01 10 24 05 10 25 05 20 // Third byte is the error code that f359 DATA 26 05 01 31 01 02 32 01 // gets set if addr & mask != 0 f361 DATA 04 33 97 04 34 95 10 35 f369 DATA 96 40 41 98 08 42 95 40 f371 DATA 43 95 20 44 96 20 45 96 f379 DATA 01 51 96 10 52 96 08 53 f381 DATA 96 04 54 96 02 55 03 40 // Error code table (Previous Mode) f389 DATA 11 03 20 12 03 80 13 03 f391 DATA 08 14 03 01 15 04 02 21 f399 DATA 04 08 22 04 04 23 03 10 f3a1 DATA 24 04 10 25 04 01 31 03 f3a9 DATA 02 32 03 04 33 Subroutine f3ae f3ae ce 00 00 ldx 0x0000 f3b1 0f sei f3b2 a6 00 ldaa (X+0x00) f3b4 5f clrb f3b5 e7 00 stab (X+0x00) f3b7 e1 00 cmpb (X+0x00) f3b9 26 12 bne [0xF3CD] f3bb 53 comb f3bc e7 00 stab (X+0x00) f3be e1 00 cmpb (X+0x00) f3c0 26 0b bne [0xF3CD] f3c2 a7 00 staa (X+0x00) f3c4 8c 01 ff cpx 0x01FF f3c7 27 07 beq [0xF3D0] f3c9 0e cli f3ca 08 inx f3cb 20 e4 bra [0xF3B1] f3cd 14 00 04 bset (0x0000), 0x04 f3d0 0e cli f3d1 39 rts Dead Code? f3d2 4f clra f3d3 ce c0 00 ldx 0xC000 f3d6 5f clrb f3d7 ab 00 adda (X+0x00) f3d9 08 inx f3da 27 09 beq [0xF3E5] f3dc 5c incb f3dd 26 f8 bne [0xF3D7] f3df c6 ff ldab 0xFF f3e1 d7 c6 stab (0x00C6) f3e3 20 f1 bra [0xF3D6] f3e5 4d tsta f3e6 27 00 beq [0xF3E8] f3e8 39 rts Subroutine f3e9 f3e9 17 tba f3ea 0c clc f3eb 13 12 40 01 brclr (0x0012), 0x40, [0xF3F0] // if manualswitch=0 goto f3f0 f3ef 0d sec f3f0 59 rolb f3f1 58 aslb f3f2 3a abx f3f3 d6 4d ldab (0x004D) f3f5 e8 00 eorb (X+0x00) f3f7 26 03 bne [0xF3FC] f3f9 e6 01 ldab (X+0x01) f3fb 39 rts f3fc 16 tab f3fd 39 rts f3fe DATA 00 00 00 00 81 02 00 01 f406 DATA 00 02 82 03 83 04 00 03 f40e DATA 00 00 00 00 82 02 00 01 f416 DATA 00 02 81 03 80 04 00 03 Interrupt Handler f41e - Initial entry point (Reset Vector) f41e 8e 01 ff lds 0x01FF // Set stack top to 01FF f421 86 a0 ldaa 0xA0 f423 b7 10 39 staa (0x1039) f426 86 04 ldaa 0x04 f428 b7 10 3f staa (0x103F) f42b 86 01 ldaa 0x01 f42d b7 10 38 staa (0x1038) f430 86 36 ldaa 0x36 f432 b7 10 09 staa (0x1009) f435 86 f8 ldaa 0xF8 f437 b7 10 01 staa (0x1001) f43a 86 00 ldaa 0x00 f43c b7 10 07 staa (0x1007) f43f 86 00 ldaa 0x00 f441 b7 10 03 staa (0x1003) f444 86 00 ldaa 0x00 f446 b7 10 34 staa (0x1034) f449 86 0f ldaa 0x0F f44b b7 10 32 staa (0x1032) f44e 86 00 ldaa 0x00 f450 b7 10 26 staa (0x1026) f453 86 70 ldaa 0x70 f455 b7 10 30 staa (0x1030) f458 96 01 ldaa (0x0001) f45a 98 02 eora (0x0002) f45c 26 06 bne [0xF464] f45e c6 01 ldab 0x01 f460 d7 00 stab (0x0000) f462 20 0d bra [0xF471] f464 43 coma f465 27 06 beq [0xF46D] f467 86 02 ldaa 0x02 f469 97 00 staa (0x0000) f46b 20 04 bra [0xF471] f46d 13 05 40 05 brclr (0x0005), 0x40, [0xF476] f471 ce 00 01 ldx 0x0001 f474 20 06 bra [0xF47C] f476 ce 00 06 ldx 0x0006 f479 15 00 03 bclr (0x0000), 0x03 f47c 5f clrb f47d e7 00 stab (X+0x00) f47f 08 inx f480 8c 02 00 cpx 0x0200 f483 26 f8 bne [0xF47D] f485 bd f5 0f jsr (0xF50F) f488 b6 10 30 ldaa (0x1030) f48b 85 80 bita 0x80 f48d 27 f9 beq [0xF488] f48f b6 10 42 ldaa (0x1042) f492 43 coma f493 97 17 staa (0x0017) f495 86 00 ldaa 0x00 f497 b7 10 0b staa (0x100B) f49a 86 00 ldaa 0x00 f49c b7 10 0c staa (0x100C) f49f 86 7f ldaa 0x7F f4a1 b7 10 22 staa (0x1022) f4a4 86 08 ldaa 0x08 f4a6 b7 10 24 staa (0x1024) f4a9 86 ee ldaa 0xEE f4ab b7 10 20 staa (0x1020) f4ae 86 2a ldaa 0x2A f4b0 b7 10 21 staa (0x1021) f4b3 86 00 ldaa 0x00 f4b5 b7 10 58 staa (0x1058) f4b8 86 ff ldaa 0xFF f4ba b7 10 23 staa (0x1023) f4bd 86 fe ldaa 0xFE f4bf b7 10 25 staa (0x1025) f4c2 fc 10 0e ldd (0x100E) f4c5 c3 9c 40 addd 0x9C40 f4c8 fd 10 18 std (0x1018) f4cb fd 10 1a std (0x101A) f4ce fd 10 1c std (0x101C) f4d1 fc 10 0e ldd (0x100E) f4d4 c3 07 d0 addd 0x07D0 f4d7 fd 10 1e std (0x101E) f4da 86 10 ldaa 0x10 f4dc b7 10 2c staa (0x102C) f4df 86 2e ldaa 0x2E f4e1 b7 10 2d staa (0x102D) f4e4 86 24 ldaa 0x24 f4e6 b7 10 2b staa (0x102B) f4e9 86 00 ldaa 0x00 f4eb b7 10 63 staa (0x1063) f4ee 86 00 ldaa 0x00 f4f0 b7 10 71 staa (0x1071) f4f3 86 ff ldaa 0xFF f4f5 97 c6 staa (0x00C6) f4f7 86 0d ldaa 0x0D f4f9 97 c3 staa (0x00C3) f4fb 15 00 0c bclr (0x0000), 0x0C f4fe 14 00 10 bset (0x0000), 0x10 f501 0e cli f502 bd f3 ae jsr (0xF3AE) f505 15 00 10 bclr (0x0000), 0x10 f508 12 00 0c eb brset (0x0000), 0x0C, [0xF4F7] f50c 7e e0 4b jmp (0xE04B) Subroutine f50f f50f b6 c0 1b ldaa (0xC01B) f512 97 47 staa (0x0047) f514 86 ff ldaa 0xFF f516 97 49 staa (0x0049) f518 97 4a staa (0x004A) f51a 97 4b staa (0x004B) f51c b6 c0 11 ldaa (0xC011) f51f 97 29 staa (0x0029) f521 cc ff ff ldd 0xFFFF f524 dd 34 std (0x0034) f526 dd 41 std (0x0041) f528 b6 d0 48 ldaa (0xD048) f52b 97 78 staa (0x0078) f52d fc c0 09 ldd (0xC009) f530 dd 61 std (0x0061) f532 dd 6c std (0x006C) f534 fc c0 07 ldd (0xC007) f537 dd 79 std (0x0079) f539 dd 7b std (0x007B) f53b 86 86 ldaa 0x86 // Neutral f53d 97 4d staa (0x004D) f53f 86 02 ldaa 0x02 f541 97 4f staa (0x004F) f543 14 0f 0c bset (0x000F), 0x0C f546 86 10 ldaa 0x10 f548 97 58 staa (0x0058) f54a cc c1 3b ldd 0xC13B f54d dd 55 std (0x0055) f54f 86 03 ldaa 0x03 f551 97 3a staa (0x003A) f553 86 01 ldaa 0x01 f555 97 84 staa (0x0084) f557 86 1e ldaa 0x1E f559 97 c5 staa (0x00C5) f55b 97 5b staa (0x005B) f55d 39 rts