; Disassembled by: ; DASMx object code disassembler ; (c) Copyright 1996-1999 Conquest Consultants ; Version 1.30 (Oct 6 1999) ; ; File: C:\work\0286-0276.rom ; ; Size: 16384 bytes ; Checksum: AEB0 ; CRC-32: 8780265E ; ; Date: Mon Oct 21 02:35:50 2002 ; ; CPU: Hitachi 6303 (6301/6303 family) ; ; ; org 0xC000 C000 ROM_Low: C000 : 63 10 01 86 "c " db 0x63, 0x10, 0x01, 0x86 C004 : 06 18 " " db 0x06, 0x18 C006 ver_string: C006 : 4E 33 32 36 "N326" db "N326-C" 2D 43 C00C : 4D 50 3F 3F "MP??" db 0x4D, 0x50, 0x3F, 0x3F C010 XC010: C010 : 00 96 " " db 0x00, 0x96 C012 XC012: C012 : 00 FA " " db 0x00, 0xFA C014 AFR_threshold_value_1: C014 : 71 "q" db 0x71 C015 AFR_threshold_value_2: C015 : 5C "\" db 0x5C C016 AFR_constant_value_1: C016 : 01 38 " 8" dw 0x0138 C018 XC018: C018 : 00 20 " " db 0x00, 0x20 C01A XC01A: C01A : 0A BE " " db 0x0A, 0xBE C01C XC01C: C01C : 01 " " db 0x01 C01D XC01D: C01D : E0 " " db 0xE0 C01E sub_14_table_1: C01E : 08 08 " " db 0x08, 0x08 C020 sub_14_table_2: C020 : 00 00 00 66 " f" db 0x00, 0x00, 0x00, 0x66 C024 sub_14_table_4: C024 : 00 9A 00 CD " " db 0x00, 0x9A, 0x00, 0xCD C028 : 00 CD " " db 0x00, 0xCD C02A sub_14_table_3: C02A : 01 33 " 3" db 0x01, 0x33 C02C sub_14_table_5: C02C : 00 00 " " db 0x00, 0x00 C02E XC02E: C02E : 03 " " db 0x03 C02F XC02F: C02F : 00 03 " " db 0x00, 0x03 C031 XC031: C031 : 00 CD " " db 0x00, 0xCD C033 XC033: C033 : 19 9A " " db 0x19, 0x9A C035 XC035: C035 : E6 66 " f" db 0xE6, 0x66 C037 XC037: C037 : 2C 08 ", " db 0x2C, 0x08 C039 XC039: C039 : 00 D2 " " db 0x00, 0xD2 C03B XC03B: C03B : 13 " " db 0x13 C03C XC03C: C03C : 05 " " db 0x05 C03D XC03D: C03D : 01 " " db 0x01 C03E XC03E: C03E : 01 " " db 0x01 C03F XC03F: C03F : 01 " " db 0x01 C040 XC040: C040 : 01 " " db 0x01 C041 XC041: C041 : 01 " " db 0x01 C042 XC042: C042 : 01 " " db 0x01 C043 XC043: C043 : 01 " " db 0x01 C044 XC044: C044 : 5C 29 "\)" db 0x5C, 0x29 C046 XC046: C046 : A3 D7 " " db 0xA3, 0xD7 C048 XC048: C048 : 3E ">" db 0x3E C049 XC049: C049 : FF " " db 0xFF C04A XC04A: C04A : 20 " " db 0x20 C04B XC04B: C04B : 20 " " db 0x20 C04C XC04C: C04C : 04 02 " " db 0x04, 0x02 C04E XC04E: C04E : 3D "=" db 0x3D C04F XC04F: C04F : 8F " " db 0x8F C050 XC050: C050 : 1F " " db 0x1F C051 sub_02_const_1: C051 : 01 " " db 0x01 C052 XC052: C052 : 03 E8 " " db 0x03, 0xE8 C054 XC054: C054 : 04 07 " " db 0x04, 0x07 C056 AFR_constant_value_2: C056 : 5E 03 "^ " dw 0x5E03 C058 : 52 "R" db 0x52 C059 XC059: C059 : 05 5F " _" db 0x05, 0x5F C05B XC05B: C05B : FF " " db 0xFF C05C XC05C: C05C : 0F " " db 0x0F C05D XC05D: C05D : 03 " " db 0x03 C05E table_1: C05E : 10 00 " " db 0x10, 0x00 C060 sub_02_table_1: C060 : 66 59 40 33 "fY@3" db 0x66, 0x59, 0x40, 0x33 C064 : 03 66 59 4C " fYL" db 0x03, 0x66, 0x59, 0x4C C068 : 40 03 66 66 "@ ff" db 0x40, 0x03, 0x66, 0x66 C06C : 66 66 03 66 "ff f" db 0x66, 0x66, 0x03, 0x66 C070 : 66 66 66 03 "fff " db 0x66, 0x66, 0x66, 0x03 C074 : 73 59 40 33 "sY@3" db 0x73, 0x59, 0x40, 0x33 C078 : 08 6B 59 40 " kY@" db 0x08, 0x6B, 0x59, 0x40 C07C : 33 08 59 59 "3 YY" db 0x33, 0x08, 0x59, 0x59 C080 : 40 33 08 73 "@3 s" db 0x40, 0x33, 0x08, 0x73 C084 : 59 40 33 09 "Y@3 " db 0x59, 0x40, 0x33, 0x09 C088 : 66 4C 33 2B "fL3+" db 0x66, 0x4C, 0x33, 0x2B C08C : 09 59 59 40 " YY@" db 0x09, 0x59, 0x59, 0x40 C090 : 33 09 "3 " db 0x33, 0x09 C092 sub_02_table_2: C092 : 6B 4C 33 33 "kL33" db 0x6B, 0x4C, 0x33, 0x33 C096 : 06 66 4C 2B " fL+" db 0x06, 0x66, 0x4C, 0x2B C09A : 12 06 66 40 " f@" db 0x12, 0x06, 0x66, 0x40 C09E : 19 0C 06 66 " f" db 0x19, 0x0C, 0x06, 0x66 C0A2 : 33 00 00 07 "3 " db 0x33, 0x00, 0x00, 0x07 C0A6 : 66 4C 14 10 "fL " db 0x66, 0x4C, 0x14, 0x10 C0AA : 8A 66 4C 33 " fL3" db 0x8A, 0x66, 0x4C, 0x33 C0AE : 26 8A 66 4C "& fL" db 0x26, 0x8A, 0x66, 0x4C C0B2 : 33 26 8A 6B "3& k" db 0x33, 0x26, 0x8A, 0x6B C0B6 : 4C 33 33 06 "L33 " db 0x4C, 0x33, 0x33, 0x06 C0BA : 66 4C 2B 12 "fL+ " db 0x66, 0x4C, 0x2B, 0x12 C0BE : 06 66 40 19 " f@ " db 0x06, 0x66, 0x40, 0x19 C0C2 : 0C 06 66 33 " f3" db 0x0C, 0x06, 0x66, 0x33 C0C6 : 00 00 07 59 " Y" db 0x00, 0x00, 0x07, 0x59 C0CA : 4C 14 10 8B "L " db 0x4C, 0x14, 0x10, 0x8B C0CE : 59 4C 33 19 "YL3 " db 0x59, 0x4C, 0x33, 0x19 C0D2 : 8B 59 4C 33 " YL3" db 0x8B, 0x59, 0x4C, 0x33 C0D6 : 26 8B 54 47 "& TG" db 0x26, 0x8B, 0x54, 0x47 C0DA : 33 26 0C 54 "3& T" db 0x33, 0x26, 0x0C, 0x54 C0DE : 47 2E 19 8C "G. " db 0x47, 0x2E, 0x19, 0x8C C0E2 : 54 47 2E 19 "TG. " db 0x54, 0x47, 0x2E, 0x19 C0E6 : 8C 54 47 2E " TG." db 0x8C, 0x54, 0x47, 0x2E C0EA : 19 0D 54 47 " TG" db 0x19, 0x0D, 0x54, 0x47 C0EE : 2E 19 8D 54 ". T" db 0x2E, 0x19, 0x8D, 0x54 C0F2 : 47 2E 19 8D "G. " db 0x47, 0x2E, 0x19, 0x8D C0F6 sub_02_table_3: C0F6 : 59 59 40 40 "YY@@" db 0x59, 0x59, 0x40, 0x40 C0FA : 01 4C 4C 40 " LL@" db 0x01, 0x4C, 0x4C, 0x40 C0FE : 40 01 59 59 "@ YY" db 0x40, 0x01, 0x59, 0x59 C102 : 4C 4C 01 00 "LL " db 0x4C, 0x4C, 0x01, 0x00 C106 : 00 00 00 01 " " db 0x00, 0x00, 0x00, 0x01 C10A : 40 33 26 22 "@3&"" db 0x40, 0x33, 0x26, 0x22 C10E : 01 59 59 4C " YYL" db 0x01, 0x59, 0x59, 0x4C C112 : 33 01 00 00 "3 " db 0x33, 0x01, 0x00, 0x00 C116 : 00 00 01 00 " " db 0x00, 0x00, 0x01, 0x00 C11A : 00 00 00 01 " " db 0x00, 0x00, 0x00, 0x01 C11E : 00 00 00 00 " " db 0x00, 0x00, 0x00, 0x00 C122 : 01 40 33 26 " @3&" db 0x01, 0x40, 0x33, 0x26 C126 : 26 02 4C 4C "& LL" db 0x26, 0x02, 0x4C, 0x4C C12A : 40 40 02 40 "@@ @" db 0x40, 0x40, 0x02, 0x40 C12E : 40 40 40 02 "@@@ " db 0x40, 0x40, 0x40, 0x02 C132 : 40 33 26 26 "@3&&" db 0x40, 0x33, 0x26, 0x26 C136 : 02 40 33 26 " @3&" db 0x02, 0x40, 0x33, 0x26 C13A : 26 02 40 40 "& @@" db 0x26, 0x02, 0x40, 0x40 C13E : 40 40 02 40 "@@ @" db 0x40, 0x40, 0x02, 0x40 C142 : 33 26 26 02 "3&& " db 0x33, 0x26, 0x26, 0x02 C146 : 40 33 26 26 "@3&&" db 0x40, 0x33, 0x26, 0x26 C14A : 02 40 40 40 " @@@" db 0x02, 0x40, 0x40, 0x40 C14E : 40 02 66 59 "@ fY" db 0x40, 0x02, 0x66, 0x59 C152 : 4C 40 04 66 "L@ f" db 0x4C, 0x40, 0x04, 0x66 C156 : 59 40 3A 04 "Y@: " db 0x59, 0x40, 0x3A, 0x04 C15A : 59 59 4C 40 "YYL@" db 0x59, 0x59, 0x4C, 0x40 C15E : 04 66 59 4C " fYL" db 0x04, 0x66, 0x59, 0x4C C162 : 40 04 66 59 "@ fY" db 0x40, 0x04, 0x66, 0x59 C166 : 40 3A 04 59 "@: Y" db 0x40, 0x3A, 0x04, 0x59 C16A : 59 40 40 04 "Y@@ " db 0x59, 0x40, 0x40, 0x04 C16E : 66 59 40 40 "fY@@" db 0x66, 0x59, 0x40, 0x40 C172 : 04 66 59 40 " fY@" db 0x04, 0x66, 0x59, 0x40 C176 : 33 04 59 59 "3 YY" db 0x33, 0x04, 0x59, 0x59 C17A : 4C 40 04 66 "L@ f" db 0x4C, 0x40, 0x04, 0x66 C17E : 59 40 40 05 "Y@@ " db 0x59, 0x40, 0x40, 0x05 C182 : 66 59 40 33 "fY@3" db 0x66, 0x59, 0x40, 0x33 C186 : 05 59 59 4C " YYL" db 0x05, 0x59, 0x59, 0x4C C18A : 40 05 66 59 "@ fY" db 0x40, 0x05, 0x66, 0x59 C18E : 40 33 05 66 "@3 f" db 0x40, 0x33, 0x05, 0x66 C192 : 59 40 33 05 "Y@3 " db 0x59, 0x40, 0x33, 0x05 C196 : 59 59 4C 40 "YYL@" db 0x59, 0x59, 0x4C, 0x40 C19A : 05 66 59 33 " fY3" db 0x05, 0x66, 0x59, 0x33 C19E : 33 05 66 59 "3 fY" db 0x33, 0x05, 0x66, 0x59 C1A2 : 33 26 05 59 "3& Y" db 0x33, 0x26, 0x05, 0x59 C1A6 : 59 4C 40 05 "YL@ " db 0x59, 0x4C, 0x40, 0x05 C1AA sub_10_const: C1AA : 0A 0A 0A 0A " " db 0x0A, 0x0A, 0x0A, 0x0A C1AE : 09 09 08 08 " " db 0x09, 0x09, 0x08, 0x08 C1B2 : 07 07 07 07 " " db 0x07, 0x07, 0x07, 0x07 C1B6 : 07 04 04 04 " " db 0x07, 0x04, 0x04, 0x04 C1BA : 04 03 03 02 " " db 0x04, 0x03, 0x03, 0x02 C1BE : 02 01 01 01 " " db 0x02, 0x01, 0x01, 0x01 C1C2 : 01 01 " " db 0x01, 0x01 C1C4 waterTemp_i_table_1: C1C4 : FF " " db 0xFF C1C5 : 00 08 FF 9A " " db 0x00, 0x08, 0xFF, 0x9A C1C9 : 40 0D 05 00 "@ " db 0x40, 0x0D, 0x05, 0x00 C1CD : 00 00 00 " " db 0x00, 0x00, 0x00 C1D0 sub_13_1_i_table: C1D0 : FF " " db 0xFF C1D1 : 00 08 C0 C0 " " db 0x00, 0x08, 0xC0, 0xC0 C1D5 : C0 6C 4D 33 " lM3" db 0xC0, 0x6C, 0x4D, 0x33 C1D9 : 33 33 33 "333" db 0x33, 0x33, 0x33 C1DC sub_13_2_i_table: C1DC : FF " " db 0xFF C1DD : 00 08 B3 B3 " " db 0x00, 0x08, 0xB3, 0xB3 C1E1 : A6 8D 73 73 " ss" db 0xA6, 0x8D, 0x73, 0x73 C1E5 sub_12_const: C1E5 : 73 73 73 "sss" db 0x73, 0x73, 0x73 C1E8 sub_12_1_ix_table: C1E8 : C0 " " db 0xC0 C1E9 : C0 A0 80 80 " " db 0xC0, 0xA0, 0x80, 0x80 C1ED : 80 80 80 80 " " db 0x80, 0x80, 0x80, 0x80 C1F1 : 80 80 80 80 " " db 0x80, 0x80, 0x80, 0x80 C1F5 waterTemp_i_table_2: C1F5 : FF " " db 0xFF C1F6 : 00 08 8C 7A " z" db 0x00, 0x08, 0x8C, 0x7A C1FA : 66 4C 33 1A "fL3 " db 0x66, 0x4C, 0x33, 0x1A C1FE vRes_i_table: C1FE : 00 00 00 " " db 0x00, 0x00, 0x00 C201 vRes_ix_table: C201 : 4D "M" db 0x4D C202 : 66 80 9A B3 "f " db 0x66, 0x80, 0x9A, 0xB3 C206 waterTemp_i_table_3: C206 : FF " " db 0xFF C207 : 00 08 89 58 " X" db 0x00, 0x08, 0x89, 0x58 C20B : 3B 2A 1D 13 ";* " db 0x3B, 0x2A, 0x1D, 0x13 C20F : 0A 0A 0A " " db 0x0A, 0x0A, 0x0A C212 AFMTemp_i_table: C212 : FF " " db 0xFF C213 : 00 08 E6 BD " " db 0x00, 0x08, 0xE6, 0xBD C217 : 9F 76 4D 05 " vM " db 0x9F, 0x76, 0x4D, 0x05 C21B calc_ATP_i_table: C21B : 05 " " db 0x05 C21C : 05 05 " " db 0x05, 0x05 C21E calc_ATP_ix_table: C21E : 43 "C" db 0x43 C21F : 4A 52 57 66 "JRWf" db 0x4A, 0x52, 0x57, 0x66 C223 : 6E 76 80 83 "nv " db 0x6E, 0x76, 0x80, 0x83 C227 Batt_i_table: C227 : D3 " " db 0xD3 C228 : 53 10 D1 A1 "S " db 0x53, 0x10, 0xD1, 0xA1 C22C : 7D 60 4C 40 "}`L@" db 0x7D, 0x60, 0x4C, 0x40 C230 : 37 30 29 "70)" db 0x37, 0x30, 0x29 C233 XC233: C233 : 02 EE 00 00 " " db 0x02, 0xEE, 0x00, 0x00 C237 : 02 EE 04 E2 " " db 0x02, 0xEE, 0x04, 0xE2 C23B XC23B: C23B : 02 EE " " db 0x02, 0xEE C23D table_2: C23D : 02 EE " " db 0x02, 0xEE C23F sub_01_1_i_table: C23F : 01 " " db 0x01 C240 : 06 01 " " db 0x06, 0x01 C242 sub_01_1_ix_table: C242 : FF " " db 0xFF C243 : FF FF FF FF " " db 0xFF, 0xFF, 0xFF, 0xFF C247 : FF " " db 0xFF C248 sub_01_2_i_table: C248 : 01 " " db 0x01 C249 : 06 01 " " db 0x06, 0x01 C24B sub_01_2_ix_table: C24B : 00 " " db 0x00 C24C : 00 2A 00 00 " * " db 0x00, 0x2A, 0x00, 0x00 C250 : 00 " " db 0x00 C251 sub_01_3_i_table: C251 : 01 " " db 0x01 C252 : 06 01 " " db 0x06, 0x01 C254 sub_01_3_ix_table: C254 : 00 " " db 0x00 C255 : 00 00 00 00 " " db 0x00, 0x00, 0x00, 0x00 C259 : 00 " " db 0x00 C25A XC25A: C25A : 00 96 " " db 0x00, 0x96 C25C XC25C: C25C : 00 " " db 0x00 C25D XC25D: C25D : 12 " " db 0x12 C25E XC25E: C25E : 03 " " db 0x03 ; C25F Main_Fuel: C25F : CE C3 0B ldx #Main_Fuel_computed_target C262 : DC 5C ldd ADC_AFM_value C264 : 83 00 40 subd #0x0040 C267 : 24 03 bcc Main_Fuel_above_floor C269 : CC 00 00 ldd #0x0000 C26C Main_Fuel_above_floor: C26C : C3 00 40 addd #0x0040 C26F Main_Fuel_loop: C26F : 85 FE bita #0xFE C271 : 26 05 bne Main_Fuel_loop_end C273 : 08 inx C274 : 08 inx C275 : 05 asld C276 : 20 F7 bra Main_Fuel_loop ; C278 Main_Fuel_loop_end: C278 : 05 asld C279 : 05 asld C27A : 3C pshx C27B : FD 41 2A std mystery_data_1 C27E : 16 tab C27F : 58 aslb C280 : CE C2 D8 ldx #Main_Fuel_table_base C283 : 3A abx C284 : EC 00 ldd 0x00,x C286 : A3 02 subd 0x02,x C288 : B6 41 2B ldaa mystery_data_1_LSB C28B : 3D mul C28C : 16 tab C28D : 4F clra C28E : 43 coma C28F : 50 negb C290 : 82 FF sbca #0xFF C292 : E3 00 addd 0x00,x C294 : FD 41 2C std mystery_data_2 C297 : 4F clra C298 : F6 41 2B ldab mystery_data_1_LSB C29B : 05 asld C29C : 05 asld C29D : 05 asld C29E : F7 41 2B stab mystery_data_1_LSB C2A1 : 16 tab C2A2 : CE C2 FA ldx #data_X C2A5 : 3A abx C2A6 : B6 41 2B ldaa mystery_data_1_LSB C2A9 : 27 0A beq Main_Fuel_zero C2AB : E6 01 ldab 0x01,x C2AD : E0 00 subb 0x00,x C2AF : 24 03 bcc Main_Fuel_skip_negate C2B1 : 40 nega C2B2 : 50 negb C2B3 : 08 inx C2B4 Main_Fuel_skip_negate: C2B4 : 3D mul C2B5 Main_Fuel_zero: C2B5 : AB 00 adda 0x00,x C2B7 : F6 41 2A ldab mystery_data_1 C2BA : CE C2 FB ldx #data_Y C2BD : 3A abx C2BE : E6 00 ldab 0x00,x C2C0 : 3D mul C2C1 : 44 lsra C2C2 : 44 lsra C2C3 : 44 lsra C2C4 : 44 lsra C2C5 : 44 lsra C2C6 : 16 tab C2C7 : 4F clra C2C8 : 43 coma C2C9 : 50 negb C2CA : 82 FF sbca #0xFF C2CC : F3 41 2C addd mystery_data_2 C2CF : FD 41 2C std mystery_data_2 C2D2 : FC 41 3B ldd mystery_data_3 C2D5 : 4D tsta C2D6 : 2A 09 bpl Main_Fuel_skip_inc C2D8 Main_Fuel_table_base: C2D8 : 7D 00 5C tst ADC_AFM_value C2DB : 27 04 beq Main_Fuel_skip_inc C2DD : 04 lsrd C2DE : 38 pulx C2DF : 08 inx C2E0 : 3C pshx C2E1 Main_Fuel_skip_inc: C2E1 : FE 41 2C ldx mystery_data_2 C2E4 : BD F3 A8 jsr Word_Mult_Scale_256 C2E7 : 39 rts ; C2E8 mystery_table: C2E8 : 01 D5 01 73 " s" db 0x01, 0xD5, 0x01, 0x73 C2EC : 01 2C 00 F8 " , " db 0x01, 0x2C, 0x00, 0xF8 C2F0 : 00 D0 00 B1 " " db 0x00, 0xD0, 0x00, 0xB1 C2F4 : 00 99 00 85 " " db 0x00, 0x99, 0x00, 0x85 C2F8 : 00 75 " u" db 0x00, 0x75 C2FA data_X: C2FA : 00 " " db 0x00 C2FB data_Y: C2FB : 36 65 7D 84 "6e} " db 0x36, 0x65, 0x7D, 0x84 C2FF : 79 5D 32 00 "y]2 " db 0x79, 0x5D, 0x32, 0x00 C303 : FF A3 6F 4C " oL" db 0xFF, 0xA3, 0x6F, 0x4C C307 : 36 29 1E 18 "6) " db 0x36, 0x29, 0x1E, 0x18 ; C30B Main_Fuel_computed_target: C30B : 04 lsrd C30C : 04 lsrd C30D : 04 lsrd C30E : 04 lsrd C30F : 04 lsrd C310 : 04 lsrd C311 : 36 psha C312 : 37 pshb C313 : FE C0 52 ldx XC052 C316 : 96 B7 ldaa AFR_flags_4 C318 : 85 80 bita #0x80 C31A : 27 09 beq Main_Fuel_10 C31C : 96 50 ldaa self_test_flags_2 C31E : 85 40 bita #0x40 C320 : 27 03 beq Main_Fuel_10 C322 : FE C0 54 ldx XC054 C325 Main_Fuel_10: C325 : 33 pulb C326 : 32 pula C327 : BD F3 AD jsr Word_Mult_Scale_1024 C32A : DD EC std X00EC C32C : 96 49 ldaa X0049 C32E : 85 20 bita #0x20 C330 : 27 1D beq Main_Fuel_13 C332 : DC F3 ldd TPS_fuel_or_something C334 : 04 lsrd C335 : D3 F3 addd TPS_fuel_or_something C337 : 24 03 bcc Main_Fuel_11 C339 : CC FF FF ldd #0xFFFF C33C Main_Fuel_11: C33C : FD 41 2A std mystery_data_1 C33F : DC EC ldd X00EC C341 : 04 lsrd C342 : F3 41 2A addd mystery_data_1 C345 : 24 03 bcc Main_Fuel_12 C347 : CC FF FF ldd #0xFFFF C34A Main_Fuel_12: C34A : 04 lsrd C34B : DD F3 std TPS_fuel_or_something C34D : 20 0C bra Main_Fuel_15 ; C34F Main_Fuel_13: C34F : DC F3 ldd TPS_fuel_or_something C351 : D3 EC addd X00EC C353 : 24 03 bcc Main_Fuel_14 C355 : CC FF FF ldd #0xFFFF C358 Main_Fuel_14: C358 : 04 lsrd C359 : DD F3 std TPS_fuel_or_something C35B Main_Fuel_15: C35B : B6 40 DA ldaa Scaled_AFMTemp_1 C35E : F6 40 DC ldab Scaled_ATP C361 : 3D mul C362 : 16 tab C363 : 4F clra C364 : FD 41 2A std mystery_data_1 C367 : B6 40 DC ldaa Scaled_ATP C36A : C6 07 ldab #0x07 C36C : 3D mul C36D : 04 lsrd C36E : F3 41 2A addd mystery_data_1 C371 : FD 41 2A std mystery_data_1 C374 : F6 40 DA ldab Scaled_AFMTemp_1 C377 : 54 lsrb C378 : 4F clra C379 : F3 41 2A addd mystery_data_1 C37C : C3 01 C0 addd #0x01C0 C37F : DE EC ldx X00EC C381 : BD F3 AD jsr Word_Mult_Scale_1024 C384 : B3 C0 1A subd XC01A C387 : 25 03 bcs Main_Fuel_16 C389 : CC 00 00 ldd #0x0000 C38C Main_Fuel_16: C38C : F3 C0 1A addd XC01A C38F : DD BB std sub_50_data_1 C391 : 96 B7 ldaa AFR_flags_4 C393 : 85 80 bita #0x80 C395 : 27 0D beq Main_Fuel_17 C397 : 4F clra C398 : D6 DD ldab X00DD C39A : DB DE addb sub_04_data_1 C39C : 89 00 adca #0x00 C39E : C3 01 00 addd #0x0100 C3A1 : 05 asld C3A2 : 20 61 bra Main_Fuel_24 ; C3A4 Main_Fuel_17: C3A4 : 96 B6 ldaa AFR_flags_3 C3A6 : 88 10 eora #0x10 C3A8 : 26 0C bne Main_Fuel_18 C3AA : 96 43 ldaa AFR_flags_1 C3AC : 85 40 bita #0x40 C3AE : 26 06 bne Main_Fuel_18 C3B0 : 96 4A ldaa AFR_flags_2 C3B2 : 85 40 bita #0x40 C3B4 : 27 22 beq Main_Fuel_20 C3B6 Main_Fuel_18: C3B6 : 96 47 ldaa sub_02_flags_5 C3B8 : 85 80 bita #0x80 C3BA : 27 06 beq Main_Fuel_19 C3BC : 96 48 ldaa sub_02_flags_6 C3BE : 85 20 bita #0x20 C3C0 : 27 16 beq Main_Fuel_20 C3C2 Main_Fuel_19: C3C2 : 96 B9 ldaa sub_02_data_1 C3C4 : 81 06 cmpa #0x06 C3C6 : 27 10 beq Main_Fuel_20 C3C8 : 96 47 ldaa sub_02_flags_5 C3CA : 85 80 bita #0x80 C3CC : 26 1D bne Main_Fuel_22 C3CE : 96 E7 ldaa sub_02_data_3 C3D0 : 81 04 cmpa #0x04 C3D2 : 27 04 beq Main_Fuel_20 C3D4 : 81 0B cmpa #0x0B C3D6 : 26 13 bne Main_Fuel_22 C3D8 Main_Fuel_20: C3D8 : FC 40 E2 ldd X40E2 C3DB : 80 80 suba #0x80 C3DD : 9B DD adda X00DD C3DF : 05 asld C3E0 : 24 04 bcc Main_Fuel_21 C3E2 : 16 tab C3E3 : 4F clra C3E4 : 20 07 bra Main_Fuel_23 ; C3E6 Main_Fuel_21: C3E6 : 16 tab C3E7 : 86 FF ldaa #0xFF C3E9 : 20 02 bra Main_Fuel_23 ; C3EB Main_Fuel_22: C3EB : 4F clra C3EC : 5F clrb C3ED Main_Fuel_23: C3ED : D3 CB addd Scaled_WaterTemp_4 C3EF : D3 CD addd X00CD C3F1 : D3 CF addd X00CF C3F3 : D3 D1 addd X00D1 C3F5 : D3 D3 addd X00D3 C3F7 : D3 D5 addd X00D5 C3F9 : D3 D7 addd Scaled_VRes C3FB : D3 D9 addd sub_20_data C3FD : D3 DB addd sub_02_data_5 C3FF : F3 40 F2 addd X40F2 C402 : C3 04 00 addd #0x0400 C405 Main_Fuel_24: C405 : DD E0 std X00E0 C407 : 96 51 ldaa error_flags_1 C409 : 85 40 bita #0x40 C40B : 27 16 beq Main_Fuel_26 C40D : 96 4F ldaa self_test_flags_1 C40F : 85 40 bita #0x40 C411 : 26 1C bne Main_Fuel_27 C413 : 96 44 ldaa sub_02_flags_3 C415 : 85 04 bita #0x04 C417 : 27 05 beq Main_Fuel_25 C419 : FC C0 57 ldd XC057 C41C : 20 26 bra Main_Fuel_30 ; C41E Main_Fuel_25: C41E : FC C0 59 ldd XC059 C421 : 20 21 bra Main_Fuel_30 ; C423 Main_Fuel_26: C423 : 96 40 ldaa sub_02_flags_1 C425 : 85 01 bita #0x01 C427 : 27 10 beq Main_Fuel_28 C429 : 96 4F ldaa self_test_flags_1 C42B : 85 40 bita #0x40 C42D : 27 0A beq Main_Fuel_28 C42F Main_Fuel_27: C42F : DC C9 ldd Scaled_WaterTemp_3 C431 : DD BD std X00BD C433 : 96 B6 ldaa AFR_flags_3 C435 : 8A 80 oraa #0x80 C437 : 20 11 bra Main_Fuel_31 ; C439 Main_Fuel_28: C439 : DE BB ldx sub_50_data_1 C43B : DC E0 ldd X00E0 C43D : 2A 02 bpl Main_Fuel_29 C43F : 4F clra C440 : 5F clrb C441 Main_Fuel_29: C441 : BD F3 AD jsr Word_Mult_Scale_1024 C444 Main_Fuel_30: C444 : DD BD std X00BD C446 : 96 B6 ldaa AFR_flags_3 C448 : 84 7F anda #0x7F C44A Main_Fuel_31: C44A : 97 B6 staa AFR_flags_3 C44C : 4F clra C44D : F6 C0 5B ldab XC05B C450 : 27 2D beq Main_Fuel_33 C452 : D6 51 ldab error_flags_1 C454 : C5 40 bitb #0x40 C456 : 27 0D beq Main_Fuel_32 C458 : D6 4F ldab self_test_flags_1 C45A : C5 40 bitb #0x40 C45C : 26 21 bne Main_Fuel_33 C45E : B7 41 2A staa mystery_data_1 C461 : DC BD ldd X00BD C463 : 20 5F bra Main_Fuel_40 ; C465 Main_Fuel_32: C465 : D6 B6 ldab AFR_flags_3 C467 : C5 80 bitb #0x80 C469 : 26 14 bne Main_Fuel_33 C46B : D6 45 ldab sub_02_flags_4 C46D : C5 80 bitb #0x80 C46F : 26 0E bne Main_Fuel_33 C471 : D6 41 ldab sub_42_flags_1 C473 : C5 20 bitb #0x20 C475 : 26 08 bne Main_Fuel_33 C477 : D6 44 ldab sub_02_flags_3 C479 : C5 20 bitb #0x20 C47B : 26 02 bne Main_Fuel_33 C47D : 86 80 ldaa #0x80 C47F Main_Fuel_33: C47F : B7 41 2A staa mystery_data_1 C482 : 91 C3 cmpa X00C3 C484 : 27 19 beq Main_Fuel_35 C486 : CE 04 00 ldx #0x0400 C489 : F6 40 FE ldab X40FE C48C : 26 09 bne Main_Fuel_34 C48E : FE 40 EF ldx sub_01_data_3 C491 : 4D tsta C492 : 27 03 beq Main_Fuel_34 C494 : FE 40 ED ldx sub_01_data_2 C497 Main_Fuel_34: C497 : DF C7 stx X00C7 C499 : F6 C0 5C ldab XC05C C49C : F7 40 FE stab X40FE C49F Main_Fuel_35: C49F : DC BD ldd X00BD C4A1 : 7D 41 2A tst mystery_data_1 C4A4 : 27 01 beq Main_Fuel_36 C4A6 : 04 lsrd C4A7 Main_Fuel_36: C4A7 : 36 psha C4A8 : 96 40 ldaa sub_02_flags_1 C4AA : 85 01 bita #0x01 C4AC : 27 06 beq Main_Fuel_37 C4AE : 96 4F ldaa self_test_flags_1 C4B0 : 85 40 bita #0x40 C4B2 : 26 08 bne Main_Fuel_38 C4B4 Main_Fuel_37: C4B4 : 32 pula C4B5 : DE C7 ldx X00C7 C4B7 : BD F3 AD jsr Word_Mult_Scale_1024 C4BA : 20 01 bra Main_Fuel_39 ; C4BC Main_Fuel_38: C4BC : 32 pula C4BD Main_Fuel_39: C4BD : D3 BF addd Scaled_Batt_val C4BF : 24 03 bcc Main_Fuel_40 C4C1 : CC FF FF ldd #0xFFFF C4C4 Main_Fuel_40: C4C4 : 7F 41 2B clr mystery_data_1_LSB C4C7 : 85 C0 bita #0xC0 C4C9 : 27 14 beq Main_Fuel_41 C4CB : 05 asld C4CC : 79 41 2B rol mystery_data_1_LSB C4CF : 05 asld C4D0 : 79 41 2B rol mystery_data_1_LSB C4D3 : 05 asld C4D4 : 79 41 2B rol mystery_data_1_LSB C4D7 : 7A 41 2B dec mystery_data_1_LSB C4DA : 0D sec C4DB : 46 rora C4DC : 56 rorb C4DD : 20 02 bra Main_Fuel_42 ; C4DF Main_Fuel_41: C4DF : 05 asld C4E0 : 05 asld C4E1 Main_Fuel_42: C4E1 : 0F sei C4E2 : DD C5 std sec_inj_width C4E4 : FC 41 2A ldd mystery_data_1 C4E7 : DD C3 std X00C3 C4E9 : 0E cli C4EA : DC CF ldd X00CF C4EC : 27 06 beq Main_Fuel_exit C4EE : 96 49 ldaa X0049 C4F0 : 84 BF anda #0xBF C4F2 : 97 49 staa X0049 C4F4 Main_Fuel_exit: C4F4 : 39 rts ; C4F5 Sub_01: C4F5 : DC 77 ldd sub_48_data_1 C4F7 : 83 02 00 subd #0x0200 C4FA : 24 02 bcc Sub_01_above_floor C4FC : 4F clra C4FD : 5F clrb C4FE Sub_01_above_floor: C4FE : 83 0A 00 subd #0x0A00 C501 : 25 02 bcs Sub_01_below_ceiling C503 : 4F clra C504 : 5F clrb C505 Sub_01_below_ceiling: C505 : C3 0A 00 addd #0x0A00 C508 : 04 lsrd C509 : DD 7A std temp_word_1 C50B : CE C2 3F ldx #sub_01_1_i_table C50E : BD F3 92 jsr Table_Interpolate_no_offset_scale C511 : B7 40 EA staa sub_01_data_1 C514 : DC 7A ldd temp_word_1 C516 : CE C2 48 ldx #sub_01_2_i_table C519 : BD F3 92 jsr Table_Interpolate_no_offset_scale C51C : 04 lsrd C51D : 04 lsrd C51E : 04 lsrd C51F : 04 lsrd C520 : 04 lsrd C521 : 04 lsrd C522 : C3 04 00 addd #0x0400 C525 : FD 40 ED std sub_01_data_2 C528 : DC 7A ldd temp_word_1 C52A : CE C2 51 ldx #sub_01_3_i_table C52D : BD F3 92 jsr Table_Interpolate_no_offset_scale C530 : 04 lsrd C531 : 04 lsrd C532 : 04 lsrd C533 : 04 lsrd C534 : 04 lsrd C535 : 04 lsrd C536 : DD 7A std temp_word_1 C538 : CC 04 00 ldd #0x0400 C53B : 93 7A subd temp_word_1 C53D : FD 40 EF std sub_01_data_3 C540 : 39 rts ; C541 Sub_02: C541 : 5F clrb C542 : 96 48 ldaa sub_02_flags_6 C544 : 85 20 bita #0x20 C546 : 27 48 beq Sub_02_8 C548 : CE C0 60 ldx #sub_02_table_1 C54B : 96 44 ldaa sub_02_flags_3 C54D : 85 04 bita #0x04 C54F : 27 28 beq Sub_02_5 C551 : 96 4C ldaa sub_02_flags_7 C553 : 85 02 bita #0x02 C555 : 27 03 beq Sub_02_1 C557 : 7E C6 1C jmp Sub_02_17 ; C55A Sub_02_1: C55A : 5C incb C55B : 96 42 ldaa sub_02_flags_2 C55D : 85 02 bita #0x02 C55F : 27 03 beq Sub_02_2 C561 : 7E C6 1C jmp Sub_02_17 ; C564 Sub_02_2: C564 : 5C incb C565 : 85 01 bita #0x01 C567 : 27 0C beq Sub_02_3 C569 : 96 43 ldaa AFR_flags_1 C56B : 85 20 bita #0x20 C56D : 26 06 bne Sub_02_3 C56F : 96 40 ldaa sub_02_flags_1 C571 : 85 80 bita #0x80 C573 : 27 01 beq Sub_02_4 C575 Sub_02_3: C575 : 5C incb C576 Sub_02_4: C576 : 7E C6 1C jmp Sub_02_17 ; C579 Sub_02_5: C579 : C6 04 ldab #0x04 C57B : 85 08 bita #0x08 C57D : 26 02 bne Sub_02_6 C57F : C6 07 ldab #0x07 C581 Sub_02_6: C581 : 96 42 ldaa sub_02_flags_2 C583 : 85 01 bita #0x01 C585 : 26 06 bne Sub_02_7 C587 : 5C incb C588 : 85 02 bita #0x02 C58A : 26 01 bne Sub_02_7 C58C : 5C incb C58D Sub_02_7: C58D : 7E C6 1C jmp Sub_02_17 ; C590 Sub_02_8: C590 : CE C0 92 ldx #sub_02_table_2 C593 : 96 47 ldaa sub_02_flags_5 C595 : 85 80 bita #0x80 C597 : 26 50 bne Sub_02_14 C599 : C6 13 ldab #0x13 C59B : 96 40 ldaa sub_02_flags_1 C59D : 85 20 bita #0x20 C59F : 27 06 beq Sub_02_9 C5A1 : C6 10 ldab #0x10 C5A3 : 85 10 bita #0x10 C5A5 : 26 0E bne Sub_02_10 C5A7 Sub_02_9: C5A7 : 96 45 ldaa sub_02_flags_4 C5A9 : 85 40 bita #0x40 C5AB : 27 39 beq Sub_02_13 C5AD : 5A decb C5AE : 85 20 bita #0x20 C5B0 : 27 34 beq Sub_02_13 C5B2 : 5A decb C5B3 : 20 31 bra Sub_02_13 ; C5B5 Sub_02_10: C5B5 : C6 0D ldab #0x0D C5B7 : 85 08 bita #0x08 C5B9 : 27 02 beq Sub_02_11 C5BB : C6 06 ldab #0x06 C5BD Sub_02_11: C5BD : 96 45 ldaa sub_02_flags_4 C5BF : 85 40 bita #0x40 C5C1 : 27 23 beq Sub_02_13 C5C3 : 5A decb C5C4 : 96 45 ldaa sub_02_flags_4 C5C6 : 85 20 bita #0x20 C5C8 : 26 09 bne Sub_02_12 C5CA : 96 4D ldaa sub_52_flags C5CC : 85 01 bita #0x01 C5CE : 27 16 beq Sub_02_13 C5D0 : 5A decb C5D1 : 20 13 bra Sub_02_13 ; C5D3 Sub_02_12: C5D3 : 5A decb C5D4 : 5A decb C5D5 : 96 44 ldaa sub_02_flags_3 C5D7 : 85 08 bita #0x08 C5D9 : 27 0B beq Sub_02_13 C5DB : 5A decb C5DC : 85 40 bita #0x40 C5DE : 27 06 beq Sub_02_13 C5E0 : 5A decb C5E1 : 85 80 bita #0x80 C5E3 : 27 01 beq Sub_02_13 C5E5 : 5A decb C5E6 Sub_02_13: C5E6 : 7E C6 1C jmp Sub_02_17 ; C5E9 Sub_02_14: C5E9 : CE C0 F6 ldx #sub_02_table_3 C5EC : 96 47 ldaa sub_02_flags_5 C5EE : 85 20 bita #0x20 C5F0 : 26 0E bne Sub_02_15 C5F2 : C6 09 ldab #0x09 C5F4 : 85 40 bita #0x40 C5F6 : 26 08 bne Sub_02_15 C5F8 : C6 12 ldab #0x12 C5FA : 85 10 bita #0x10 C5FC : 26 02 bne Sub_02_15 C5FE : C6 1B ldab #0x1B C600 Sub_02_15: C600 : 96 48 ldaa sub_02_flags_6 C602 : 85 40 bita #0x40 C604 : 26 0A bne Sub_02_16 C606 : CB 03 addb #0x03 C608 : 96 40 ldaa sub_02_flags_1 C60A : 85 08 bita #0x08 C60C : 26 02 bne Sub_02_16 C60E : CB 03 addb #0x03 C610 Sub_02_16: C610 : 96 42 ldaa sub_02_flags_2 C612 : 85 01 bita #0x01 C614 : 26 06 bne Sub_02_17 C616 : 5C incb C617 : 85 02 bita #0x02 C619 : 26 01 bne Sub_02_17 C61B : 5C incb C61C Sub_02_17: C61C : 96 B9 ldaa sub_02_data_1 C61E : 97 BA staa sub_02_data_2 C620 : 96 E7 ldaa sub_02_data_3 C622 : B7 40 EB staa sub_02_data_8 C625 : D7 E7 stab sub_02_data_3 C627 : 7E C6 2A jmp Sub_02_18 ; C62A Sub_02_18: C62A : 86 05 ldaa #0x05 C62C : 3D mul C62D : 3A abx C62E : A6 04 ldaa 0x04,x C630 : 97 B9 staa sub_02_data_1 C632 : D6 B6 ldab AFR_flags_3 C634 : C4 FB andb #0xFB C636 : 81 07 cmpa #0x07 C638 : 27 02 beq Sub_02_19 C63A : CA 04 orab #0x04 C63C Sub_02_19: C63C : D7 B6 stab AFR_flags_3 C63E : 96 43 ldaa AFR_flags_1 C640 : 85 10 bita #0x10 C642 : 26 0B bne Sub_02_22 C644 : 85 40 bita #0x40 C646 : 26 06 bne Sub_02_21 C648 : 85 20 bita #0x20 C64A : 26 01 bne Sub_02_20 C64C : 08 inx C64D Sub_02_20: C64D : 08 inx C64E Sub_02_21: C64E : 08 inx C64F Sub_02_22: C64F : 4F clra C650 : E6 00 ldab 0x00,x C652 : 05 asld C653 : 05 asld C654 : DD 7A std temp_word_1 C656 : 96 B9 ldaa sub_02_data_1 C658 : 81 07 cmpa #0x07 C65A : 27 1F beq Sub_02_24 C65C : 96 E7 ldaa sub_02_data_3 C65E : B1 40 EB cmpa sub_02_data_8 C661 : 26 0A bne Sub_02_23 C663 : DC 7A ldd temp_word_1 C665 : 93 DB subd sub_02_data_5 C667 : 24 12 bcc Sub_02_24 C669 : 96 E4 ldaa sub_02_data_7 C66B : 27 0E beq Sub_02_24 C66D Sub_02_23: C66D : 0F sei C66E : DC 7A ldd temp_word_1 C670 : DD E2 std sub_02_data_6 C672 : D6 B6 ldab AFR_flags_3 C674 : CA 08 orab #0x08 C676 : D7 B6 stab AFR_flags_3 C678 : 0E cli C679 : 20 11 bra Sub_02_exit ; C67B Sub_02_24: C67B : 0F sei C67C : DC 7A ldd temp_word_1 C67E : DD DB std sub_02_data_5 C680 : B6 C0 51 ldaa sub_02_const_1 C683 : 97 E4 staa sub_02_data_7 C685 : D6 B6 ldab AFR_flags_3 C687 : C4 F7 andb #0xF7 C689 : D7 B6 stab AFR_flags_3 C68B : 0E cli C68C Sub_02_exit: C68C : 39 rts ; C68D Sub_03: C68D : DC DB ldd sub_02_data_5 C68F : 93 E2 subd sub_02_data_6 C691 : 24 06 bcc Sub_03_1 C693 : DC E2 ldd sub_02_data_6 C695 : DD DB std sub_02_data_5 C697 : 20 0A bra Sub_03_2 ; C699 Sub_03_1: C699 : 04 lsrd C69A : D3 E2 addd sub_02_data_6 C69C : DD DB std sub_02_data_5 C69E : 7A 00 E4 dec sub_02_data_7 C6A1 : 26 06 bne Sub_03_3 C6A3 Sub_03_2: C6A3 : 96 B6 ldaa AFR_flags_3 C6A5 : 84 F7 anda #0xF7 C6A7 : 97 B6 staa AFR_flags_3 C6A9 Sub_03_3: C6A9 : 39 rts ; C6AA Sub_11_18: C6AA : 96 B6 ldaa AFR_flags_3 C6AC : 26 18 bne Sub_11_19 C6AE : D6 4A ldab AFR_flags_2 C6B0 : C5 40 bitb #0x40 C6B2 : 26 12 bne Sub_11_19 C6B4 : 96 43 ldaa AFR_flags_1 C6B6 : 85 40 bita #0x40 C6B8 : 26 0C bne Sub_11_19 C6BA : D6 42 ldab sub_02_flags_2 C6BC : C5 02 bitb #0x02 C6BE : 26 1D bne Sub_11_21 C6C0 : D6 50 ldab self_test_flags_2 C6C2 : C5 80 bitb #0x80 C6C4 : 27 17 beq Sub_11_21 C6C6 Sub_11_19: C6C6 : FE 40 E2 ldx X40E2 C6C9 : 96 4A ldaa AFR_flags_2 C6CB : 85 40 bita #0x40 C6CD : 27 03 beq Sub_11_20 C6CF : CE 80 00 ldx #rom_test_8000 C6D2 Sub_11_20: C6D2 : 0F sei C6D3 : DF DE stx sub_04_data_1 C6D5 : D6 B7 ldab AFR_flags_4 C6D7 : C4 7F andb #0x7F C6D9 : D7 B7 stab AFR_flags_4 C6DB : 0E cli C6DC : 39 rts ; C6DD Sub_11_21: C6DD : 96 49 ldaa X0049 C6DF : 85 80 bita #0x80 C6E1 : 27 0C beq Sub_11_22 C6E3 : FC C0 4C ldd XC04C C6E6 : DD EE std X00EE C6E8 : D6 B7 ldab AFR_flags_4 C6EA : CA 40 orab #0x40 C6EC : 7E C7 5F jmp Sub_11_32 ; C6EF Sub_11_22: C6EF : DC 6A ldd twoD_interpolator_colum_num C6F1 : 27 07 beq Sub_11_23 C6F3 : 4C inca C6F4 : 81 0B cmpa #0x0B C6F6 : 23 02 bls Sub_11_23 C6F8 : 86 0B ldaa #0x0B C6FA Sub_11_23: C6FA : D6 B7 ldab AFR_flags_4 C6FC : 91 EE cmpa X00EE C6FE : 27 24 beq Sub_11_26 C700 : 25 0D bcs Sub_11_24 C702 : D6 6B ldab twoD_interpolator_column_fract C704 : F0 C0 4A subb XC04A C707 : 24 0F bcc Sub_11_25 C709 : 4A deca C70A : 2A 0C bpl Sub_11_25 C70C : 4F clra C70D : 20 09 bra Sub_11_25 ; C70F Sub_11_24: C70F : D6 6B ldab twoD_interpolator_column_fract C711 : 53 comb C712 : F0 C0 4A subb XC04A C715 : 24 01 bcc Sub_11_25 C717 : 4C inca C718 Sub_11_25: C718 : D6 B7 ldab AFR_flags_4 C71A : 91 EE cmpa X00EE C71C : 27 06 beq Sub_11_26 C71E : CA 40 orab #0x40 C720 : 97 EE staa X00EE C722 : 20 02 bra Sub_11_27 ; C724 Sub_11_26: C724 : C4 BF andb #0xBF C726 Sub_11_27: C726 : D7 7A stab temp_word_1 C728 : DC 6C ldd twoD_interpolator_row_num C72A : 27 07 beq Sub_11_28 C72C : 4C inca C72D : 81 0B cmpa #0x0B C72F : 23 02 bls Sub_11_28 C731 : 86 0B ldaa #0x0B C733 Sub_11_28: C733 : D6 7A ldab temp_word_1 C735 : 91 EF cmpa X00EF C737 : 27 26 beq Sub_11_32 C739 : 25 0D bcs Sub_11_29 C73B : D6 6D ldab twoD_interpolator_row_fract C73D : F0 C0 4B subb XC04B C740 : 24 0F bcc Sub_11_30 C742 : 4A deca C743 : 2A 0C bpl Sub_11_30 C745 : 4F clra C746 : 20 09 bra Sub_11_30 ; C748 Sub_11_29: C748 : D6 6D ldab twoD_interpolator_row_fract C74A : 53 comb C74B : F0 C0 4B subb XC04B C74E : 24 01 bcc Sub_11_30 C750 : 4C inca C751 Sub_11_30: C751 : D6 7A ldab temp_word_1 C753 : C5 40 bitb #0x40 C755 : 26 06 bne Sub_11_31 C757 : 91 EF cmpa X00EF C759 : 27 04 beq Sub_11_32 C75B : CA 40 orab #0x40 C75D Sub_11_31: C75D : 97 EF staa X00EF C75F Sub_11_32: C75F : D7 B7 stab AFR_flags_4 C761 : CE 40 01 ldx #global_stuff C764 : 4A deca C765 : 2B 1C bmi Sub_11_33 C767 : 81 0A cmpa #0x0A C769 : 27 18 beq Sub_11_33 C76B : C6 0A ldab #0x0A C76D : 3D mul C76E : 96 EE ldaa X00EE C770 : 4A deca C771 : 2B 10 bmi Sub_11_33 C773 : 81 0A cmpa #0x0A C775 : 27 0C beq Sub_11_33 C777 : 1B aba C778 : 16 tab C779 : 3A abx C77A : FF 40 E4 stx X40E4 C77D : D6 B7 ldab AFR_flags_4 C77F : CA 10 orab #0x10 C781 : 20 04 bra Sub_11_34 ; C783 Sub_11_33: C783 : D6 B7 ldab AFR_flags_4 C785 : C4 EF andb #0xEF C787 Sub_11_34: C787 : D7 B7 stab AFR_flags_4 C789 : C5 80 bitb #0x80 C78B : 26 0E bne Sub_11_35 C78D : BD C8 69 jsr Sub_05 C790 : BD C7 A8 jsr Sub_04 C793 : 96 B7 ldaa AFR_flags_4 C795 : 8A 80 oraa #0x80 C797 : 97 B7 staa AFR_flags_4 C799 : 20 0C bra Sub_11_exit ; C79B Sub_11_35: C79B : BD C7 A8 jsr Sub_04 C79E : D6 B7 ldab AFR_flags_4 C7A0 : C5 40 bitb #0x40 C7A2 : 27 03 beq Sub_11_exit C7A4 : BD C8 69 jsr Sub_05 C7A7 Sub_11_exit: C7A7 : 39 rts ; C7A8 Sub_04: C7A8 : 96 B7 ldaa AFR_flags_4 C7AA : 44 lsra C7AB : 25 29 bcs Sub_04_4 C7AD : 44 lsra C7AE : 25 6C bcs Sub_04_11 C7B0 : D6 50 ldab self_test_flags_2 C7B2 : C5 40 bitb #0x40 C7B4 : 26 05 bne Sub_04_1 C7B6 : F6 C0 41 ldab XC041 C7B9 : 20 5D bra Sub_04_10 ; C7BB Sub_04_1: C7BB : D6 4C ldab sub_02_flags_7 C7BD : C5 04 bitb #0x04 C7BF : 27 05 beq Sub_04_2 C7C1 : F6 C0 3D ldab XC03D C7C4 : 20 52 bra Sub_04_10 ; C7C6 Sub_04_2: C7C6 : D6 54 ldab TPS_update_flags_1 C7C8 : C5 10 bitb #0x10 C7CA : 26 05 bne Sub_04_3 C7CC : F6 C0 3B ldab XC03B C7CF : 20 47 bra Sub_04_10 ; C7D1 Sub_04_3: C7D1 : F6 C0 3C ldab XC03C C7D4 : 20 42 bra Sub_04_10 ; C7D6 Sub_04_4: C7D6 : 44 lsra C7D7 : 24 43 bcc Sub_04_11 C7D9 : D6 50 ldab self_test_flags_2 C7DB : C5 40 bitb #0x40 C7DD : 26 20 bne Sub_04_7 C7DF : D6 40 ldab sub_02_flags_1 C7E1 : C5 40 bitb #0x40 C7E3 : 26 15 bne Sub_04_6 C7E5 : D6 43 ldab AFR_flags_1 C7E7 : C5 20 bitb #0x20 C7E9 : 26 0F bne Sub_04_6 C7EB : D6 42 ldab sub_02_flags_2 C7ED : C5 04 bitb #0x04 C7EF : 26 04 bne Sub_04_5 C7F1 : C5 08 bitb #0x08 C7F3 : 27 05 beq Sub_04_6 C7F5 Sub_04_5: C7F5 : F6 C0 42 ldab XC042 C7F8 : 20 1E bra Sub_04_10 ; C7FA Sub_04_6: C7FA : F6 C0 43 ldab XC043 C7FD : 20 19 bra Sub_04_10 ; C7FF Sub_04_7: C7FF : D6 4C ldab sub_02_flags_7 C801 : C5 04 bitb #0x04 C803 : 27 05 beq Sub_04_8 C805 : F6 C0 40 ldab XC040 C808 : 20 0E bra Sub_04_10 ; C80A Sub_04_8: C80A : D6 54 ldab TPS_update_flags_1 C80C : C5 10 bitb #0x10 C80E : 26 05 bne Sub_04_9 C810 : F6 C0 3E ldab XC03E C813 : 20 03 bra Sub_04_10 ; C815 Sub_04_9: C815 : F6 C0 3F ldab XC03F C818 Sub_04_10: C818 : F7 40 DE stab sub_04_data_2 C81B : 39 rts ; C81C Sub_04_11: C81C : B6 40 DE ldaa sub_04_data_2 C81F : 27 05 beq Sub_04_12 C821 : 4A deca C822 : B7 40 DE staa sub_04_data_2 C825 : 39 rts ; C826 Sub_04_12: C826 : 96 B7 ldaa AFR_flags_4 C828 : 88 01 eora #0x01 C82A : 97 B7 staa AFR_flags_4 C82C : D6 DE ldab sub_04_data_1 C82E : 85 01 bita #0x01 C830 : 27 0F beq Sub_04_13 C832 : F7 40 E0 stab X40E0 C835 : DC DE ldd sub_04_data_1 C837 : B3 C0 37 subd XC037 C83A : 24 12 bcc Sub_04_14 C83C : FC C0 33 ldd XC033 C83F : 20 0D bra Sub_04_14 ; C841 Sub_04_13: C841 : F7 40 DF stab sub_04_data_3 C844 : DC DE ldd sub_04_data_1 C846 : F3 C0 37 addd XC037 C849 : 24 03 bcc Sub_04_14 C84B : FC C0 35 ldd XC035 C84E Sub_04_14: C84E : B1 C0 33 cmpa XC033 C851 : 24 05 bcc Sub_04_15 C853 : B6 C0 33 ldaa XC033 C856 : 20 08 bra Sub_04_16 ; C858 Sub_04_15: C858 : B1 C0 35 cmpa XC035 C85B : 25 03 bcs Sub_04_16 C85D : B6 C0 35 ldaa XC035 C860 Sub_04_16: C860 : DD DE std sub_04_data_1 C862 : 96 B7 ldaa AFR_flags_4 C864 : 8A 20 oraa #0x20 C866 : 97 B7 staa AFR_flags_4 C868 : 39 rts ; C869 Sub_05: C869 : B6 C0 48 ldaa XC048 C86C : B7 40 E1 staa X40E1 C86F : 96 B7 ldaa AFR_flags_4 C871 : 85 10 bita #0x10 C873 : 26 08 bne Sub_05_1 C875 : 86 80 ldaa #0x80 C877 : 97 7A staa temp_word_1 C879 : C6 FF ldab #0xFF C87B : 20 0F bra Sub_05_2 ; C87D Sub_05_1: C87D : FE 40 E4 ldx X40E4 C880 : A6 00 ldaa 0x00,x C882 : 97 7A staa temp_word_1 C884 : 43 coma C885 : A1 64 cmpa 0x64,x C887 : 27 03 beq Sub_05_2 C889 : BD E3 D2 jsr Reinit_stuff C88C Sub_05_2: C88C : 96 B7 ldaa AFR_flags_4 C88E : 85 80 bita #0x80 C890 : 26 2A bne Sub_05_4 C892 : FC C0 37 ldd XC037 C895 : 04 lsrd C896 : DD 7C std temp_word_2 C898 : 96 B7 ldaa AFR_flags_4 C89A : 85 02 bita #0x02 C89C : 27 0F beq Sub_05_3 C89E : 8A 01 oraa #0x01 C8A0 : 97 B7 staa AFR_flags_4 C8A2 : DC DE ldd sub_04_data_1 C8A4 : 93 7C subd temp_word_2 C8A6 : 24 33 bcc Sub_05_8 C8A8 : FC C0 33 ldd XC033 C8AB : 20 2E bra Sub_05_8 ; C8AD Sub_05_3: C8AD : 84 FE anda #0xFE C8AF : 97 B7 staa AFR_flags_4 C8B1 : DC DE ldd sub_04_data_1 C8B3 : D3 7C addd temp_word_2 C8B5 : 24 24 bcc Sub_05_8 C8B7 : FC C0 35 ldd XC035 C8BA : 20 1F bra Sub_05_8 ; C8BC Sub_05_4: C8BC : 96 DD ldaa X00DD C8BE : 90 7A suba temp_word_1 C8C0 : 24 06 bcc Sub_05_5 C8C2 : 2B 11 bmi Sub_05_7 C8C4 : 86 80 ldaa #0x80 C8C6 : 20 0D bra Sub_05_7 ; C8C8 Sub_05_5: C8C8 : 2A 02 bpl Sub_05_6 C8CA : 86 7F ldaa #0x7F C8CC Sub_05_6: C8CC : D6 DE ldab sub_04_data_1 C8CE : 1B aba C8CF : 24 0A bcc Sub_05_8 C8D1 : 86 FF ldaa #0xFF C8D3 : 20 06 bra Sub_05_8 ; C8D5 Sub_05_7: C8D5 : D6 DE ldab sub_04_data_1 C8D7 : 1B aba C8D8 : 25 01 bcs Sub_05_8 C8DA : 4F clra C8DB Sub_05_8: C8DB : B1 C0 33 cmpa XC033 C8DE : 24 05 bcc Sub_05_8 C8E0 : B6 C0 33 ldaa XC033 C8E3 : 20 08 bra Sub_05_10 ; C8E5 Sub_05_8: C8E5 : B1 C0 35 cmpa XC035 C8E8 : 25 03 bcs Sub_05_10 C8EA : B6 C0 35 ldaa XC035 C8ED Sub_05_10: C8ED : 0F sei C8EE : 97 DE staa sub_04_data_1 C8F0 : 96 7A ldaa temp_word_1 C8F2 : 97 DD staa X00DD C8F4 : 0E cli C8F5 : 4F clra C8F6 : 5F clrb C8F7 : FD 40 DF std sub_04_data_3 C8FA : 39 rts ; C8FB Sub_06: C8FB : B6 40 EC ldaa AFR_value_2 C8FE : B1 C0 56 cmpa AFR_constant_value_2 C901 : 24 04 bcc Sub_06_1 C903 : 4C inca C904 : B7 40 EC staa AFR_value_2 C907 Sub_06_1: C907 : 96 B7 ldaa AFR_flags_4 C909 : 85 80 bita #0x80 C90B : 26 07 bne Sub_06_2 C90D : B6 C0 50 ldaa XC050 C910 : B7 40 E6 staa X40E6 C913 : 39 rts ; C914 Sub_06_2: C914 : 85 01 bita #0x01 C916 : 27 07 beq Sub_06_3 C918 : DC DE ldd sub_04_data_1 C91A : B3 C0 39 subd XC039 C91D : 20 05 bra Sub_06_4 ; C91F Sub_06_3: C91F : DC DE ldd sub_04_data_1 C921 : F3 C0 39 addd XC039 C924 Sub_06_4: C924 : B3 C0 33 subd XC033 C927 : 24 05 bcc Sub_06_5 C929 : FC C0 33 ldd XC033 C92C : 20 0D bra Sub_06_7 ; C92E Sub_06_5: C92E : F3 C0 33 addd XC033 C931 : B3 C0 35 subd XC035 C934 : 25 02 bcs Sub_06_6 C936 : 4F clra C937 : 5F clrb C938 Sub_06_6: C938 : F3 C0 35 addd XC035 C93B Sub_06_7: C93B : DD DE std sub_04_data_1 C93D : B6 40 DF ldaa sub_04_data_3 C940 : 27 1A beq Sub_06_8 C942 : F6 40 E0 ldab X40E0 C945 : 27 15 beq Sub_06_8 C947 : 1B aba C948 : 46 rora C949 : 97 7B staa temp_word_1_byte_2 C94B : 4F clra C94C : 97 7A staa temp_word_1 C94E : F6 40 E2 ldab X40E2 C951 : D3 7A addd temp_word_1 C953 : 04 lsrd C954 : F7 40 E2 stab X40E2 C957 : 4F clra C958 : 5F clrb C959 : FD 40 DF std sub_04_data_3 C95C Sub_06_8: C95C : B6 C0 49 ldaa XC049 C95F : 26 03 bne Sub_06_9 C961 : 7E CA 05 jmp Sub_06_25 ; C964 Sub_06_9: C964 : 96 4B ldaa X004B C966 : 85 80 bita #0x80 C968 : 27 03 beq Sub_06_10 C96A : 7E CA 05 jmp Sub_06_25 ; C96D Sub_06_10: C96D : 96 4C ldaa sub_02_flags_7 C96F : 85 04 bita #0x04 C971 : 26 09 bne Sub_06_11 C973 : 96 50 ldaa self_test_flags_2 C975 : 85 40 bita #0x40 C977 : 27 03 beq Sub_06_11 C979 : 7E CA 05 jmp Sub_06_25 ; C97C Sub_06_11: C97C : D6 49 ldab X0049 C97E : C5 80 bitb #0x80 C980 : 27 03 beq Sub_06_12 C982 : 7E CA 05 jmp Sub_06_25 ; C985 Sub_06_12: C985 : 96 B7 ldaa AFR_flags_4 C987 : 85 10 bita #0x10 C989 : 26 03 bne Sub_06_13 C98B : 7E CA 05 jmp Sub_06_25 ; C98E Sub_06_13: C98E : 7A 40 E1 dec X40E1 C991 : 26 5B bne Sub_06_23 C993 : B6 40 E2 ldaa X40E2 C996 : 80 80 suba #0x80 C998 : 25 1F bcs Sub_06_17 C99A : 44 lsra C99B : 16 tab C99C : 9B DD adda X00DD C99E : 25 05 bcs Sub_06_14 C9A0 : B1 C0 46 cmpa XC046 C9A3 : 23 03 bls Sub_06_15 C9A5 Sub_06_14: C9A5 : B6 C0 46 ldaa XC046 C9A8 Sub_06_15: C9A8 : 97 7A staa temp_word_1 C9AA : 96 DE ldaa sub_04_data_1 C9AC : 10 sba C9AD : 25 05 bcs Sub_06_16 C9AF : B1 C0 33 cmpa XC033 C9B2 : 24 24 bcc Sub_06_22 C9B4 Sub_06_16: C9B4 : B6 C0 33 ldaa XC033 C9B7 : 20 1F bra Sub_06_22 ; C9B9 Sub_06_17: C9B9 : 40 nega C9BA : 44 lsra C9BB : 16 tab C9BC : 96 DD ldaa X00DD C9BE : 10 sba C9BF : 25 05 bcs Sub_06_18 C9C1 : B1 C0 44 cmpa XC044 C9C4 : 24 03 bcc Sub_06_19 C9C6 Sub_06_18: C9C6 : B6 C0 44 ldaa XC044 C9C9 Sub_06_19: C9C9 : 97 7A staa temp_word_1 C9CB : DB DE addb sub_04_data_1 C9CD : 25 05 bcs Sub_06_20 C9CF : F1 C0 35 cmpb XC035 C9D2 : 23 03 bls Sub_06_21 C9D4 Sub_06_20: C9D4 : F6 C0 35 ldab XC035 C9D7 Sub_06_21: C9D7 : 17 tba C9D8 Sub_06_22: C9D8 : 0F sei C9D9 : 97 DE staa sub_04_data_1 C9DB : 96 7A ldaa temp_word_1 C9DD : 97 DD staa X00DD C9DF : 0E cli C9E0 : FE 40 E4 ldx X40E4 C9E3 : A7 00 staa 0x00,x C9E5 : 43 coma C9E6 : A7 64 staa 0x64,x C9E8 : B6 C0 48 ldaa XC048 C9EB : B7 40 E1 staa X40E1 C9EE Sub_06_23: C9EE : 96 B7 ldaa AFR_flags_4 C9F0 : 85 20 bita #0x20 C9F2 : 26 11 bne Sub_06_25 C9F4 : 96 5F ldaa ADC_AFR_value C9F6 : B1 C0 4E cmpa XC04E C9F9 : 25 05 bcs Sub_06_24 C9FB : B1 C0 4F cmpa XC04F C9FE : 25 05 bcs Sub_06_25 CA00 Sub_06_24: CA00 : 7A 40 E6 dec X40E6 CA03 : 26 06 bne Sub_06_26 CA05 Sub_06_25: CA05 : B6 C0 50 ldaa XC050 CA08 : B7 40 E6 staa X40E6 CA0B Sub_06_26: CA0B : 96 B7 ldaa AFR_flags_4 CA0D : 85 20 bita #0x20 CA0F : 27 05 beq Sub_06_27 CA11 : 84 DF anda #0xDF CA13 : 97 B7 staa AFR_flags_4 CA15 : 39 rts ; CA16 Sub_06_27: CA16 : 96 4A ldaa AFR_flags_2 CA18 : 85 40 bita #0x40 CA1A : 27 0B beq Sub_06_exit CA1C : 96 52 ldaa error_flags_2 CA1E : 8A 20 oraa #0x20 CA20 : 97 52 staa error_flags_2 CA22 : CC 80 00 ldd #0x8000 CA25 : DD DE std sub_04_data_1 CA27 Sub_06_exit: CA27 : 39 rts ; CA28 Sub_07: CA28 : 96 B8 ldaa X00B8 CA2A : 84 CF anda #0xCF CA2C : DE 77 ldx sub_48_data_1 CA2E : BC C0 5E cpx table_1 CA31 : 24 0C bcc Sub_07_1 CA33 : D6 B9 ldab sub_02_data_1 CA35 : C1 01 cmpb #0x01 CA37 : 26 08 bne Sub_07_2 CA39 : D6 48 ldab sub_02_flags_6 CA3B : C5 80 bitb #0x80 CA3D : 26 02 bne Sub_07_2 CA3F Sub_07_1: CA3F : 8A 20 oraa #0x20 CA41 Sub_07_2: CA41 : D6 48 ldab sub_02_flags_6 CA43 : C5 40 bitb #0x40 CA45 : 26 06 bne Sub_07_3 CA47 : D6 47 ldab sub_02_flags_5 CA49 : C5 40 bitb #0x40 CA4B : 26 10 bne Sub_07_4 CA4D Sub_07_3: CA4D : D6 42 ldab sub_02_flags_2 CA4F : C5 01 bitb #0x01 CA51 : 27 0C beq Sub_07_5 CA53 : D6 B9 ldab sub_02_data_1 CA55 : C1 01 cmpb #0x01 CA57 : 27 04 beq Sub_07_4 CA59 : C1 02 cmpb #0x02 CA5B : 26 02 bne Sub_07_5 CA5D Sub_07_4: CA5D : 8A 10 oraa #0x10 CA5F Sub_07_5: CA5F : 84 3F anda #0x3F CA61 : D6 B8 ldab X00B8 CA63 : C5 10 bitb #0x10 CA65 : 27 06 beq Sub_07_6 CA67 : 85 10 bita #0x10 CA69 : 26 02 bne Sub_07_6 CA6B : 8A 40 oraa #0x40 CA6D Sub_07_6: CA6D : C5 20 bitb #0x20 CA6F : 27 06 beq Sub_07_7 CA71 : 85 20 bita #0x20 CA73 : 26 02 bne Sub_07_7 CA75 : 8A 80 oraa #0x80 CA77 Sub_07_7: CA77 : 97 B8 staa X00B8 CA79 : 7E CA 7C jmp Sub_07_8 ; CA7C Sub_07_8: CA7C : C6 01 ldab #0x01 CA7E : 96 BA ldaa sub_02_data_2 CA80 : 91 B9 cmpa sub_02_data_1 CA82 : 27 20 beq Sub_07_9 CA84 : 81 03 cmpa #0x03 CA86 : 26 1C bne Sub_07_9 CA88 : 96 42 ldaa sub_02_flags_2 CA8A : 85 10 bita #0x10 CA8C : 27 16 beq Sub_07_9 CA8E : D7 7C stab temp_word_2 CA90 : FC C2 33 ldd XC233 CA93 : CE 30 02 ldx #timer_MSB_buffer CA96 : BD CA DE jsr Sub_08 CA99 : 78 00 7C asl temp_word_2 CA9C : CE 30 04 ldx #timer_2_read CA9F : BD CA E0 jsr Sub_08_1 CAA2 : 20 38 bra Sub_07_exit ; CAA4 Sub_07_9: CAA4 : 96 B8 ldaa X00B8 CAA6 : 85 40 bita #0x40 CAA8 : 27 15 beq Sub_07_10 CAAA : 84 BF anda #0xBF CAAC : 97 B8 staa X00B8 CAAE : 96 42 ldaa sub_02_flags_2 CAB0 : 85 10 bita #0x10 CAB2 : 26 0B bne Sub_07_10 CAB4 : D7 7C stab temp_word_2 CAB6 : FC C2 3B ldd XC23B CAB9 : CE 30 02 ldx #timer_MSB_buffer CABC : BD CA DE jsr Sub_08 CABF Sub_07_10: CABF : 96 B8 ldaa X00B8 CAC1 : 85 80 bita #0x80 CAC3 : 27 17 beq Sub_07_exit CAC5 : 84 7F anda #0x7F CAC7 : 97 B8 staa X00B8 CAC9 : 96 42 ldaa sub_02_flags_2 CACB : 85 10 bita #0x10 CACD : 26 0D bne Sub_07_exit CACF : C6 02 ldab #0x02 CAD1 : D7 7C stab temp_word_2 CAD3 : FC C2 3D ldd table_2 CAD6 : CE 30 04 ldx #timer_2_read CAD9 : BD CA DE jsr Sub_08 CADC Sub_07_exit: CADC : 0E cli CADD : 39 rts ; CADE Sub_08: CADE : 05 asld CADF : 05 asld CAE0 Sub_08_1: CAE0 : DD 7A std temp_word_1 CAE2 : 0F sei CAE3 : B6 30 01 ldaa timer_2_control CAE6 : 95 7C bita temp_word_2 CAE8 : 26 08 bne Sub_08_2 CAEA : DC 7A ldd temp_word_1 CAEC : A3 00 subd 0x00,x CAEE : DC 7A ldd temp_word_1 CAF0 : 25 04 bcs Sub_08_exit CAF2 Sub_08_2: CAF2 : DC 7A ldd temp_word_1 CAF4 : ED 00 std 0x00,x CAF6 Sub_08_exit: CAF6 : 39 rts ; CAF7 Sub_10: CAF7 : DC 77 ldd sub_48_data_1 CAF9 : 83 02 00 subd #0x0200 CAFC : 24 01 bcc Sub_10_1 CAFE : 4F clra CAFF Sub_10_1: CAFF : 81 0C cmpa #0x0C CB01 : 23 02 bls Sub_10_2 CB03 : 86 0C ldaa #0x0C CB05 Sub_10_2: CB05 : B1 40 E9 cmpa X40E9 CB08 : 27 25 beq Sub_10_6 CB0A : 25 0A bcs Sub_10_3 CB0C : DC 77 ldd sub_48_data_1 CB0E : B3 C0 18 subd XC018 CB11 : 24 0E bcc Sub_10_4 CB13 : 4F clra CB14 : 20 19 bra Sub_10_6 ; CB16 Sub_10_3: CB16 : DC 77 ldd sub_48_data_1 CB18 : F3 C0 18 addd XC018 CB1B : 24 04 bcc Sub_10_4 CB1D : 86 0C ldaa #0x0C CB1F : 20 0E bra Sub_10_6 ; CB21 Sub_10_4: CB21 : 83 02 00 subd #0x0200 CB24 : 24 03 bcc Sub_10_5 CB26 : 4F clra CB27 : 20 06 bra Sub_10_6 ; CB29 Sub_10_5: CB29 : 81 0C cmpa #0x0C CB2B : 23 02 bls Sub_10_6 CB2D : 86 0C ldaa #0x0C CB2F Sub_10_6: CB2F : B7 40 E9 staa X40E9 CB32 : 16 tab CB33 : CE C1 AA ldx #sub_10_const CB36 : 3A abx CB37 : A6 00 ldaa 0x00,x CB39 : E6 0D ldab 0x0D,x CB3B : 97 C1 staa X00C1 CB3D : D7 C2 stab X00C2 CB3F : 39 rts ; CB40 Sub_11: CB40 : 0F sei CB41 : 96 53 ldaa sub_45_flags CB43 : 85 08 bita #0x08 CB45 : 26 03 bne Sub_11_1 CB47 : 0E cli CB48 : 20 51 bra Sub_11_7 ; CB4A Sub_11_1: CB4A : 84 F7 anda #0xF7 CB4C : 97 53 staa sub_45_flags CB4E : 0E cli CB4F : 7F 00 7A clr temp_word_1 CB52 : DC BB ldd sub_50_data_1 CB54 : DD 7C std temp_word_2 CB56 : 93 E5 subd X00E5 CB58 : 24 13 bcc Sub_11_2 CB5A : 4F clra CB5B : 5F clrb CB5C : DD E8 std X00E8 CB5E : 96 49 ldaa X0049 CB60 : 84 5F anda #0x5F CB62 : 97 49 staa X0049 CB64 : DC E5 ldd X00E5 CB66 : 93 7C subd temp_word_2 CB68 : 7C 00 7A inc temp_word_1 CB6B : 20 1A bra Sub_11_5 ; CB6D Sub_11_2: CB6D : DD E8 std X00E8 CB6F : B3 C0 10 subd XC010 CB72 : 96 49 ldaa X0049 CB74 : 84 5F anda #0x5F CB76 : 25 02 bcs Sub_11_3 CB78 : 8A 20 oraa #0x20 CB7A Sub_11_3: CB7A : DE E8 ldx X00E8 CB7C : BC C0 12 cpx XC012 CB7F : 25 02 bcs Sub_11_4 CB81 : 8A 80 oraa #0x80 CB83 Sub_11_4: CB83 : 97 49 staa X0049 CB85 : DC E8 ldd X00E8 CB87 Sub_11_5: CB87 : 04 lsrd CB88 : 04 lsrd CB89 : 04 lsrd CB8A : 04 lsrd CB8B : 04 lsrd CB8C : 04 lsrd CB8D : 7D 00 7A tst temp_word_1 CB90 : 27 05 beq Sub_11_6 CB92 : 43 coma CB93 : 53 comb CB94 : C3 00 01 addd #0x0001 CB97 Sub_11_6: CB97 : D3 E5 addd X00E5 CB99 : DD E5 std X00E5 CB9B Sub_11_7: CB9B : 96 4D ldaa sub_52_flags CB9D : 85 10 bita #0x10 CB9F : 26 18 bne Sub_11_9 CBA1 : 96 4E ldaa sub_42_flags_2 CBA3 : 85 10 bita #0x10 CBA5 : 27 08 beq Sub_11_8 CBA7 : 96 49 ldaa X0049 CBA9 : 85 20 bita #0x20 CBAB : 26 1E bne Sub_11_10 CBAD : 20 0A bra Sub_11_9 ; CBAF Sub_11_8: CBAF : 96 49 ldaa X0049 CBB1 : 85 40 bita #0x40 CBB3 : 26 60 bne Sub_11_15 CBB5 : 85 20 bita #0x20 CBB7 : 26 12 bne Sub_11_10 CBB9 Sub_11_9: CBB9 : 4F clra CBBA : 5F clrb CBBB : DD CD std X00CD CBBD : DD CF std X00CF CBBF : 96 49 ldaa X0049 CBC1 : 84 BF anda #0xBF CBC3 : 97 49 staa X0049 CBC5 : 96 B6 ldaa AFR_flags_3 CBC7 : 84 EF anda #0xEF CBC9 : 20 5A bra Sub_11_17 ; CBCB Sub_11_10: CBCB : DC E8 ldd X00E8 CBCD : B3 C2 5A subd XC25A CBD0 : 24 02 bcc Sub_11_11 CBD2 : 4F clra CBD3 : 5F clrb CBD4 Sub_11_11: CBD4 : 04 lsrd CBD5 : 04 lsrd CBD6 : 04 lsrd CBD7 : 4D tsta CBD8 : 27 02 beq Sub_11_12 CBDA : C6 FF ldab #0xFF CBDC Sub_11_12: CBDC : D7 7C stab temp_word_2 CBDE : B6 C0 1D ldaa XC01D CBE1 : 3D mul CBE2 : 97 7B staa temp_word_1_byte_2 CBE4 : 4F clra CBE5 : 97 7A staa temp_word_1 CBE7 : B6 C0 1C ldaa XC01C CBEA : D6 7C ldab temp_word_2 CBEC : 3D mul CBED : D3 7A addd temp_word_1 CBEF : 4D tsta CBF0 : 27 05 beq Sub_11_13 CBF2 : FC 40 F4 ldd X40F4 CBF5 : 20 10 bra Sub_11_14 ; CBF7 Sub_11_13: CBF7 : D7 7C stab temp_word_2 CBF9 : B6 40 F5 ldaa X40F5 CBFC : 3D mul CBFD : 97 7B staa temp_word_1_byte_2 CBFF : B6 40 F4 ldaa X40F4 CC02 : D6 7C ldab temp_word_2 CC04 : 3D mul CC05 : D3 7A addd temp_word_1 CC07 Sub_11_14: CC07 : FD 40 F6 std X40F6 CC0A : BD CC 2A jsr Sub_12 CC0D : DD CD std X00CD CC0F : 4F clra CC10 : 5F clrb CC11 : DD CF std X00CF CC13 : 20 0C bra Sub_11_16 ; CC15 Sub_11_15: CC15 : FC 40 F8 ldd X40F8 CC18 : BD CC 2A jsr Sub_12 CC1B : DD CF std X00CF CC1D : 4F clra CC1E : 5F clrb CC1F : DD CD std X00CD CC21 Sub_11_16: CC21 : 96 B6 ldaa AFR_flags_3 CC23 : 8A 10 oraa #0x10 CC25 Sub_11_17: CC25 : 97 B6 staa AFR_flags_3 CC27 : 7E C6 AA jmp Sub_11_18 ; CC2A Sub_12: CC2A : 37 pshb CC2B : 36 psha CC2C : DC 77 ldd sub_48_data_1 CC2E : 83 01 00 subd #0x0100 CC31 : 24 02 bcc Sub_12_1 CC33 : 4F clra CC34 : 5F clrb CC35 Sub_12_1: CC35 : DE 77 ldx sub_48_data_1 CC37 : 8C 0D 00 cpx #0x0D00 CC3A : 25 03 bcs Sub_12_2 CC3C : CC 0C 00 ldd #0x0C00 CC3F Sub_12_2: CC3F : CE C1 E5 ldx #sub_12_const CC42 : BD F3 92 jsr Table_Interpolate_no_offset_scale CC45 : C4 80 andb #0x80 CC47 : 05 asld CC48 : C9 00 adcb #0x00 CC4A : D7 7A stab temp_word_1 CC4C : 16 tab CC4D : 96 7A ldaa temp_word_1 CC4F : 38 pulx CC50 : BD F3 A8 jsr Word_Mult_Scale_256 CC53 : 39 rts ; CC54 Sub_13: CC54 : 96 69 ldaa Scaled_WaterTemp_value CC56 : CE C1 D0 ldx #sub_13_1_i_table CC59 : BD F3 84 jsr Table_Interpolate CC5C : C4 C0 andb #0xC0 CC5E : 05 asld CC5F : C9 00 adcb #0x00 CC61 : 05 asld CC62 : C9 00 adcb #0x00 CC64 : D7 7A stab temp_word_1 CC66 : 16 tab CC67 : 96 7A ldaa temp_word_1 CC69 : FD 40 F4 std X40F4 CC6C : 96 69 ldaa Scaled_WaterTemp_value CC6E : CE C1 DC ldx #sub_13_2_i_table CC71 : BD F3 84 jsr Table_Interpolate CC74 : C4 C0 andb #0xC0 CC76 : 05 asld CC77 : C9 00 adcb #0x00 CC79 : 05 asld CC7A : C9 00 adcb #0x00 CC7C : D7 7A stab temp_word_1 CC7E : 16 tab CC7F : 96 7A ldaa temp_word_1 CC81 : FD 40 F8 std X40F8 CC84 : 39 rts ; CC85 Sub_14: CC85 : 96 42 ldaa sub_02_flags_2 CC87 : 85 20 bita #0x20 CC89 : 27 2F beq Sub_14_4 CC8B : 96 B9 ldaa sub_02_data_1 CC8D : 81 03 cmpa #0x03 CC8F : 27 29 beq Sub_14_4 CC91 : 96 43 ldaa AFR_flags_1 CC93 : 85 40 bita #0x40 CC95 : 27 23 beq Sub_14_4 CC97 : 96 54 ldaa TPS_update_flags_1 CC99 : 85 10 bita #0x10 CC9B : 26 26 bne Sub_14_5 CC9D : CE C0 1E ldx #sub_14_table_1 CCA0 : 96 50 ldaa self_test_flags_2 CCA2 : 85 40 bita #0x40 CCA4 : 26 03 bne Sub_14_1 CCA6 : CE C0 20 ldx #sub_14_table_2 CCA9 Sub_14_1: CCA9 : 96 44 ldaa sub_02_flags_3 CCAB : 85 10 bita #0x10 CCAD : 27 04 beq Sub_14_2 CCAF : E6 00 ldab 0x00,x CCB1 : 20 02 bra Sub_14_3 ; CCB3 Sub_14_2: CCB3 : E6 01 ldab 0x01,x CCB5 Sub_14_3: CCB5 : 4F clra CCB6 : 05 asld CCB7 : 05 asld CCB8 : 20 0B bra Sub_14_6 ; CCBA Sub_14_4: CCBA : DC D1 ldd X00D1 CCBC : F0 C0 5D subb XC05D CCBF : 82 00 sbca #0x00 CCC1 : 24 02 bcc Sub_14_6 CCC3 Sub_14_5: CCC3 : 4F clra CCC4 : 5F clrb CCC5 Sub_14_6: CCC5 : DD D1 std X00D1 CCC7 : 96 42 ldaa sub_02_flags_2 CCC9 : 85 20 bita #0x20 CCCB : 27 0C beq Sub_14_7 CCCD : 96 B9 ldaa sub_02_data_1 CCCF : 81 03 cmpa #0x03 CCD1 : 27 06 beq Sub_14_7 CCD3 : 96 43 ldaa AFR_flags_1 CCD5 : 85 40 bita #0x40 CCD7 : 26 36 bne Sub_14_11 CCD9 Sub_14_7: CCD9 : DC D1 ldd X00D1 CCDB : 26 32 bne Sub_14_11 CCDD : CE C0 2A ldx #sub_14_table_3 CCE0 : 96 4B ldaa X004B CCE2 : 85 02 bita #0x02 CCE4 : 27 06 beq Sub_14_8 CCE6 : D6 42 ldab sub_02_flags_2 CCE8 : C5 10 bitb #0x10 CCEA : 27 26 beq Sub_14_12 CCEC Sub_14_8: CCEC : D6 B9 ldab sub_02_data_1 CCEE : C1 03 cmpb #0x03 CCF0 : 27 16 beq Sub_14_10 CCF2 : 85 08 bita #0x08 CCF4 : 27 19 beq Sub_14_11 CCF6 : D6 42 ldab sub_02_flags_2 CCF8 : C5 10 bitb #0x10 CCFA : 26 13 bne Sub_14_11 CCFC : 09 dex CCFD : 09 dex CCFE Sub_14_9: CCFE : D6 46 ldab intakeTemp_thresh_bits CD00 : C5 20 bitb #0x20 CD02 : 27 0E beq Sub_14_12 CD04 : 09 dex CD05 : 09 dex CD06 : 20 0A bra Sub_14_12 ; CD08 Sub_14_10: CD08 : CE C0 24 ldx #sub_14_table_4 CD0B : 85 10 bita #0x10 CD0D : 26 EF bne Sub_14_9 CD0F Sub_14_11: CD0F : CE C0 2C ldx #sub_14_table_5 CD12 Sub_14_12: CD12 : DC D3 ldd X00D3 CD14 : A3 00 subd 0x00,x CD16 : 24 04 bcc Sub_14_13 CD18 : EC 00 ldd 0x00,x CD1A : 20 17 bra Sub_14_16 ; CD1C Sub_14_13: CD1C : DC D3 ldd X00D3 CD1E : F0 C0 2E subb XC02E CD21 : 82 00 sbca #0x00 CD23 : 24 04 bcc Sub_14_14 CD25 : 4F clra CD26 : 5F clrb CD27 : 20 0A bra Sub_14_16 ; CD29 Sub_14_14: CD29 : A3 00 subd 0x00,x CD2B : 24 04 bcc Sub_14_15 CD2D : EC 00 ldd 0x00,x CD2F : 20 02 bra Sub_14_16 ; CD31 Sub_14_15: CD31 : E3 00 addd 0x00,x CD33 Sub_14_16: CD33 : DD D3 std X00D3 CD35 : 96 42 ldaa sub_02_flags_2 CD37 : 85 20 bita #0x20 CD39 : 27 0C beq Sub_14_17 CD3B : 96 B9 ldaa sub_02_data_1 CD3D : 81 03 cmpa #0x03 CD3F : 27 06 beq Sub_14_17 CD41 : 96 43 ldaa AFR_flags_1 CD43 : 85 40 bita #0x40 CD45 : 26 39 bne Sub_14_20 CD47 Sub_14_17: CD47 : 96 4B ldaa X004B CD49 : D6 B9 ldab sub_02_data_1 CD4B : C1 03 cmpb #0x03 CD4D : 26 04 bne Sub_14_18 CD4F : 85 10 bita #0x10 CD51 : 26 2D bne Sub_14_20 CD53 Sub_14_18: CD53 : D6 42 ldab sub_02_flags_2 CD55 : C5 10 bitb #0x10 CD57 : 26 0E bne Sub_14_19 CD59 : 85 02 bita #0x02 CD5B : 26 23 bne Sub_14_20 CD5D : 85 08 bita #0x08 CD5F : 27 06 beq Sub_14_19 CD61 : D6 B9 ldab sub_02_data_1 CD63 : C1 03 cmpb #0x03 CD65 : 26 19 bne Sub_14_20 CD67 Sub_14_19: CD67 : DC D1 ldd X00D1 CD69 : 26 15 bne Sub_14_20 CD6B : DC D3 ldd X00D3 CD6D : 26 11 bne Sub_14_20 CD6F : 96 4F ldaa self_test_flags_1 CD71 : 85 40 bita #0x40 CD73 : 26 17 bne Sub_14_22 CD75 : DC D5 ldd X00D5 CD77 : B3 C0 2F subd XC02F CD7A : 24 12 bcc Sub_14_23 CD7C : 4F clra CD7D : 5F clrb CD7E : 20 04 bra Sub_14_21 ; CD80 Sub_14_20: CD80 : 4F clra CD81 : 5F clrb CD82 : 20 0A bra Sub_14_23 ; CD84 Sub_14_21: CD84 : DD D5 std X00D5 CD86 : 96 B6 ldaa AFR_flags_3 CD88 : 84 BF anda #0xBF CD8A : 20 08 bra Sub_14_24 ; CD8C Sub_14_22: CD8C : DC EA ldd Scaled_WaterTemp_5 CD8E Sub_14_23: CD8E : DD D5 std X00D5 CD90 : 96 B6 ldaa AFR_flags_3 CD92 : 8A 40 oraa #0x40 CD94 Sub_14_24: CD94 : 97 B6 staa AFR_flags_3 CD96 : 96 4E ldaa sub_42_flags_2 CD98 : 85 10 bita #0x10 CD9A : 27 11 beq Sub_14_26 CD9C : F6 C2 5D ldab XC25D CD9F : 96 50 ldaa self_test_flags_2 CDA1 : 85 40 bita #0x40 CDA3 : 26 03 bne Sub_14_25 CDA5 : F6 C2 5C ldab XC25C CDA8 Sub_14_25: CDA8 : 4F clra CDA9 : 05 asld CDAA : 05 asld CDAB : 20 0C bra Sub_14_exit ; CDAD Sub_14_26: CDAD : FC 40 F2 ldd X40F2 CDB0 : F0 C2 5E subb XC25E CDB3 : 82 00 sbca #0x00 CDB5 : 24 02 bcc Sub_14_exit CDB7 : 4F clra CDB8 : 5F clrb CDB9 Sub_14_exit: CDB9 : FD 40 F2 std X40F2 CDBC : 39 rts ; CDBD Calc_WaterTemp: CDBD : 96 69 ldaa Scaled_WaterTemp_value CDBF : CE C1 F5 ldx #waterTemp_i_table_2 CDC2 : BD F3 84 jsr Table_Interpolate CDC5 : 04 lsrd CDC6 : 04 lsrd CDC7 : 04 lsrd CDC8 : 04 lsrd CDC9 : 04 lsrd CDCA : DD EA std Scaled_WaterTemp_5 CDCC : 39 rts ; CDCD Calc_AFMTemp: CDCD : 96 68 ldaa Scaled_AFMTemp_value CDCF : CE C2 12 ldx #AFMTemp_i_table CDD2 : BD F3 84 jsr Table_Interpolate CDD5 : B7 40 DA staa Scaled_AFMTemp_1 CDD8 : 39 rts ; CDD9 Calc_ATP: CDD9 : 96 62 ldaa ADC_ATP_value CDDB : 80 6E suba #0x6E CDDD : 24 01 bcc Calc_ATP_no_floor CDDF : 4F clra CDE0 Calc_ATP_no_floor: CDE0 : 81 6B cmpa #0x6B CDE2 : 23 02 bls Calc_ATP_no_ceil CDE4 : 86 6B ldaa #0x6B CDE6 Calc_ATP_no_ceil: CDE6 : C6 98 ldab #0x98 CDE8 : 3D mul CDE9 : 04 lsrd CDEA : 04 lsrd CDEB : 04 lsrd CDEC : CE C2 1B ldx #calc_ATP_i_table CDEF : BD F3 92 jsr Table_Interpolate_no_offset_scale CDF2 : B7 40 DC staa Scaled_ATP CDF5 : 39 rts ; CDF6 Calc_WaterTemp: CDF6 : 96 69 ldaa Scaled_WaterTemp_value CDF8 : CE C1 C4 ldx #waterTemp_i_table_1 CDFB : BD F3 84 jsr Table_Interpolate CDFE : C4 C0 andb #0xC0 CE00 : 05 asld CE01 : C9 00 adcb #0x00 CE03 : 05 asld CE04 : C9 00 adcb #0x00 CE06 : D7 7A stab temp_word_1 CE08 : 16 tab CE09 : 96 7A ldaa temp_word_1 CE0B : DD CB std Scaled_WaterTemp_4 CE0D : 39 rts ; CE0E Calc_VRes: CE0E : 96 B9 ldaa sub_02_data_1 CE10 : 84 7F anda #0x7F CE12 : 81 03 cmpa #0x03 CE14 : 26 2D bne Calc_VRes_return_0 CE16 : 96 61 ldaa ADC_VRes_value CE18 : 80 19 suba #0x19 CE1A : 24 01 bcc Calc_VRes_no_floor CE1C : 4F clra CE1D Calc_VRes_no_floor: CE1D : 81 CC cmpa #0xCC CE1F : 23 02 bls Calc_VRes_no_ceil CE21 : 86 CC ldaa #0xCC CE23 Calc_VRes_no_ceil: CE23 : C6 A1 ldab #0xA1 CE25 : 3D mul CE26 : 04 lsrd CE27 : 04 lsrd CE28 : 04 lsrd CE29 : 04 lsrd CE2A : 04 lsrd CE2B : CE C1 FE ldx #vRes_i_table CE2E : BD F3 92 jsr Table_Interpolate_no_offset_scale CE31 : C4 C0 andb #0xC0 CE33 : 05 asld CE34 : C9 00 adcb #0x00 CE36 : 05 asld CE37 : C9 00 adcb #0x00 CE39 : D7 7A stab temp_word_1 CE3B : 16 tab CE3C : 96 7A ldaa temp_word_1 CE3E : 83 02 00 subd #0x0200 CE41 : 20 02 bra Calc_VRes_exit ; CE43 Calc_VRes_return_0: CE43 : 4F clra CE44 : 5F clrb CE45 Calc_VRes_exit: CE45 : DD D7 std Scaled_VRes CE47 : 39 rts ; CE48 Sub_20: CE48 : 96 4E ldaa sub_42_flags_2 CE4A : 85 40 bita #0x40 CE4C : 27 05 beq Sub_20_1 CE4E : FC C0 31 ldd XC031 CE51 : 20 02 bra Sub_20_exit ; CE53 Sub_20_1: CE53 : 4F clra CE54 : 5F clrb CE55 Sub_20_exit: CE55 : DD D9 std sub_20_data CE57 : 39 rts ; CE58 Calc_Batt_val: CE58 : 96 60 ldaa ADC_Batt_value CE5A : CE C2 27 ldx #Batt_i_table CE5D : BD F3 84 jsr Table_Interpolate CE60 : C4 C0 andb #0xC0 CE62 : 05 asld CE63 : C9 00 adcb #0x00 CE65 : 05 asld CE66 : C9 00 adcb #0x00 CE68 : D7 7A stab temp_word_1 CE6A : 16 tab CE6B : 96 7A ldaa temp_word_1 CE6D : DD BF std Scaled_Batt_val CE6F : 39 rts ; CE70 Calc_WaterTemp_1: CE70 : 96 69 ldaa Scaled_WaterTemp_value CE72 : CE C2 06 ldx #waterTemp_i_table_3 CE75 : BD F3 84 jsr Table_Interpolate CE78 : DD C9 std Scaled_WaterTemp_3 CE7A : 39 rts ; CE7B Sub_23: CE7B : 96 40 ldaa sub_02_flags_1 CE7D : 85 01 bita #0x01 CE7F : 26 06 bne Sub_23_1 CE81 : 96 4F ldaa self_test_flags_1 CE83 : 85 40 bita #0x40 CE85 : 27 16 beq Sub_23_2 CE87 Sub_23_1: CE87 : 4F clra CE88 : 97 AA staa sub_23_value_1 CE8A : 97 B5 staa sub_23_value_4 CE8C : FC D4 47 ldd sub_23_const_4 CE8F : DD AB std sub_23_value_2 CE91 : 0F sei CE92 : 96 56 ldaa PIA_B_data_shadow CE94 : 8A 40 oraa #0x40 CE96 : B7 20 02 staa PIA_B_Data CE99 : 97 56 staa PIA_B_data_shadow CE9B : 0E cli CE9C : 39 rts ; CE9D Sub_23_2: CE9D : 0F sei CE9E : 96 56 ldaa PIA_B_data_shadow CEA0 : 84 BF anda #0xBF CEA2 : B7 20 02 staa PIA_B_Data CEA5 : 97 56 staa PIA_B_data_shadow CEA7 : 0E cli CEA8 : 96 51 ldaa error_flags_1 CEAA : 85 40 bita #0x40 CEAC : 27 0D beq Sub_23_4 CEAE : FC D7 D3 ldd XD7D3 CEB1 : DD AB std sub_23_value_2 CEB3 Sub_23_3: CEB3 : 4F clra CEB4 : 97 B5 staa sub_23_value_4 CEB6 : 86 FF ldaa #0xFF CEB8 : 97 AA staa sub_23_value_1 CEBA : 39 rts ; CEBB Sub_23_4: CEBB : CE D7 D5 ldx #sub_23_table CEBE : 96 B9 ldaa sub_02_data_1 CEC0 : 81 03 cmpa #0x03 CEC2 : 26 2E bne Sub_23_6 CEC4 : D6 4F ldab self_test_flags_1 CEC6 : C5 08 bitb #0x08 CEC8 : 26 4D bne Sub_23_8 CECA : 08 inx CECB : 08 inx CECC : D6 42 ldab sub_02_flags_2 CECE : C5 02 bitb #0x02 CED0 : 27 0A beq Sub_23_5 CED2 : D6 4D ldab sub_52_flags CED4 : C5 04 bitb #0x04 CED6 : 26 3F bne Sub_23_8 CED8 : 08 inx CED9 : 08 inx CEDA : 20 3B bra Sub_23_8 ; CEDC Sub_23_5: CEDC : 08 inx CEDD : 08 inx CEDE : 08 inx CEDF : 08 inx CEE0 : D6 4B ldab X004B CEE2 : C5 20 bitb #0x20 CEE4 : 26 31 bne Sub_23_8 CEE6 : 08 inx CEE7 : 08 inx CEE8 : D6 50 ldab self_test_flags_2 CEEA : C5 20 bitb #0x20 CEEC : 26 29 bne Sub_23_8 CEEE : 08 inx CEEF : 08 inx CEF0 : 20 25 bra Sub_23_8 ; CEF2 Sub_23_6: CEF2 : CE 01 01 ldx #0x0101 CEF5 : FF 41 6F stx sub_23_value_4 CEF8 : CE D7 E1 ldx #sub_23_const_2 CEFB : 81 08 cmpa #0x08 CEFD : 27 0A beq Sub_23_7 CEFF : CE D7 E7 ldx #sub_23_const_3 CF02 : 81 09 cmpa #0x09 CF04 : 27 03 beq Sub_23_7 CF06 : 7E CF 89 jmp Sub_23_17 ; CF09 Sub_23_7: CF09 : 96 42 ldaa sub_02_flags_2 CF0B : 85 01 bita #0x01 CF0D : 26 08 bne Sub_23_8 CF0F : 08 inx CF10 : 08 inx CF11 : 85 02 bita #0x02 CF13 : 26 02 bne Sub_23_8 CF15 : 08 inx CF16 : 08 inx CF17 Sub_23_8: CF17 : 86 03 ldaa #0x03 CF19 : 91 B9 cmpa sub_02_data_1 CF1B : 26 25 bne Sub_23_10 CF1D : D6 42 ldab sub_02_flags_2 CF1F : C5 10 bitb #0x10 CF21 : 26 1F bne Sub_23_10 CF23 : D6 43 ldab AFR_flags_1 CF25 : C5 20 bitb #0x20 CF27 : 27 19 beq Sub_23_10 CF29 : B1 40 FB cmpa sub_36_data_2 CF2C : 27 0A beq Sub_23_9 CF2E : 4F clra CF2F : B7 41 6F staa sub_23_value_4 CF32 : B7 41 70 staa sub_23_value_5 CF35 : B7 41 71 staa sub_23_value_6 CF38 Sub_23_9: CF38 : B6 41 6F ldaa sub_23_value_4 CF3B : 27 09 beq Sub_23_11 CF3D : B6 41 70 ldaa sub_23_value_5 CF40 : 27 04 beq Sub_23_11 CF42 Sub_23_10: CF42 : EC 00 ldd 0x00,x CF44 : 20 3E bra Sub_23_16 ; CF46 Sub_23_11: CF46 : B6 41 71 ldaa sub_23_value_6 CF49 : 4C inca CF4A : 81 04 cmpa #0x04 CF4C : 27 06 beq Sub_23_12 CF4E : B7 41 71 staa sub_23_value_6 CF51 : 7E CE B3 jmp Sub_23_3 ; CF54 Sub_23_12: CF54 : 4F clra CF55 : B7 41 71 staa sub_23_value_6 CF58 : DC AB ldd sub_23_value_2 CF5A : A0 00 suba 0x00,x CF5C : 25 0C bcs Sub_23_13 CF5E : B0 D4 4B suba XD44B CF61 : 25 07 bcs Sub_23_13 CF63 : 96 AB ldaa sub_23_value_2 CF65 : B0 D4 4B suba XD44B CF68 : 24 05 bcc Sub_23_14 CF6A Sub_23_13: CF6A : A6 00 ldaa 0x00,x CF6C : 7C 41 6F inc sub_23_value_4 CF6F Sub_23_14: CF6F : E0 01 subb 0x01,x CF71 : 25 0C bcs Sub_23_15 CF73 : F0 D4 4B subb XD44B CF76 : 25 07 bcs Sub_23_15 CF78 : D6 AC ldab sub_23_value_3 CF7A : F0 D4 4B subb XD44B CF7D : 24 05 bcc Sub_23_16 CF7F Sub_23_15: CF7F : E6 01 ldab 0x01,x CF81 : 7C 41 70 inc sub_23_value_5 CF84 Sub_23_16: CF84 : DD AB std sub_23_value_2 CF86 : 7E CE B3 jmp Sub_23_3 ; CF89 Sub_23_17: CF89 : 86 FF ldaa #0xFF CF8B : 97 B5 staa sub_23_value_4 CF8D : 97 AA staa sub_23_value_1 CF8F : 39 rts ; CF90 Sub_23_18: CF90 : 96 B5 ldaa sub_23_value_4 CF92 : 26 01 bne Sub_23_19 CF94 : 39 rts ; CF95 Sub_23_19: CF95 : 4F clra CF96 : D6 AD ldab twoD_interpolator_out_2 CF98 : D0 B1 subb X00B1 CF9A : 82 00 sbca #0x00 CF9C : D0 B3 subb X00B3 CF9E : 82 00 sbca #0x00 CFA0 : D0 AF subb X00AF CFA2 : 82 00 sbca #0x00 CFA4 : 27 01 beq Sub_23_20 CFA6 : 5F clrb CFA7 Sub_23_20: CFA7 : D7 AB stab sub_23_value_2 CFA9 : 4F clra CFAA : D6 AE ldab twoD_interpolator_out_1 CFAC : D0 B2 subb X00B2 CFAE : 82 00 sbca #0x00 CFB0 : D0 B4 subb X00B4 CFB2 : 82 00 sbca #0x00 CFB4 : D0 B0 subb X00B0 CFB6 : 82 00 sbca #0x00 CFB8 : 27 01 beq Sub_23_exit CFBA : 5F clrb CFBB Sub_23_exit: CFBB : D7 AC stab sub_23_value_3 CFBD : 39 rts ; CFBE TwoD_Interpolator: CFBE : 96 6C ldaa twoD_interpolator_row_num CFC0 : 81 10 cmpa #0x10 CFC2 : 25 05 bcs TwoD_Interpolator_no_clip CFC4 : 4F clra CFC5 : 97 6D staa twoD_interpolator_row_fract CFC7 : 86 10 ldaa #0x10 CFC9 TwoD_Interpolator_no_clip: CFC9 : C6 15 ldab #0x15 CFCB : 3D mul CFCC : DB 6A addb twoD_interpolator_colum_num CFCE : 89 00 adca #0x00 CFD0 : DD 7C std temp_word_2 CFD2 : C3 D5 DD addd #twoD_interpolator_table_2 CFD5 : 37 pshb CFD6 : 36 psha CFD7 : 38 pulx CFD8 : D6 6B ldab twoD_interpolator_column_fract CFDA : BD D0 19 jsr OneD_Interpolator CFDD : 97 7A staa temp_word_1 CFDF : C6 15 ldab #0x15 CFE1 : 3A abx CFE2 : D6 6B ldab twoD_interpolator_column_fract CFE4 : BD D0 19 jsr OneD_Interpolator CFE7 : 97 7B staa temp_word_1_byte_2 CFE9 : CE 00 7A ldx #temp_word_1 CFEC : D6 6D ldab twoD_interpolator_row_fract CFEE : BD D0 19 jsr OneD_Interpolator CFF1 : 97 AD staa twoD_interpolator_out_2 CFF3 : DC 7C ldd temp_word_2 CFF5 : C3 D4 4E addd #twoD_interpolator_table_1 CFF8 : 37 pshb CFF9 : 36 psha CFFA : 38 pulx CFFB : D6 6B ldab twoD_interpolator_column_fract CFFD : BD D0 19 jsr OneD_Interpolator D000 : 97 7A staa temp_word_1 D002 : C6 15 ldab #0x15 D004 : 3A abx D005 : D6 6B ldab twoD_interpolator_column_fract D007 : BD D0 19 jsr OneD_Interpolator D00A : 97 7B staa temp_word_1_byte_2 D00C : CE 00 7A ldx #temp_word_1 D00F : D6 6D ldab twoD_interpolator_row_fract D011 : BD D0 19 jsr OneD_Interpolator D014 : 97 AE staa twoD_interpolator_out_1 D016 : 7E CF 90 jmp Sub_23_18 ; D019 OneD_Interpolator: D019 : 17 tba D01A : 27 0D beq OneD_Interpolator_left_pt D01C : A6 01 ldaa 0x01,x D01E : A0 00 suba 0x00,x D020 : 24 06 bcc OneD_Interpolator_positive D022 : 40 nega D023 : 3D mul D024 : A0 00 suba 0x00,x D026 : 40 nega D027 : 39 rts ; D028 OneD_Interpolator_positive: D028 : 3D mul D029 OneD_Interpolator_left_pt: D029 : AB 00 adda 0x00,x D02B : 39 rts ; D02C Sub_26: D02C : 96 42 ldaa sub_02_flags_2 D02E : 85 20 bita #0x20 D030 : 27 43 beq Sub_26_1 D032 : 96 B9 ldaa sub_02_data_1 D034 : 81 03 cmpa #0x03 D036 : 27 3D beq Sub_26_1 D038 : 96 45 ldaa sub_02_flags_4 D03A : 85 20 bita #0x20 D03C : 27 37 beq Sub_26_1 D03E : 96 47 ldaa sub_02_flags_5 D040 : 85 40 bita #0x40 D042 : 26 31 bne Sub_26_1 D044 : 96 40 ldaa sub_02_flags_1 D046 : 85 10 bita #0x10 D048 : 27 2B beq Sub_26_1 D04A : B6 41 6E ldaa sub_40_flags D04D : 8A 80 oraa #0x80 D04F : B7 41 6E staa sub_40_flags D052 : DC BB ldd sub_50_data_1 D054 : 83 08 00 subd #0x0800 D057 : 22 1C bhi Sub_26_1 D059 : DC BB ldd sub_50_data_1 D05B : 83 01 00 subd #0x0100 D05E : 25 15 bcs Sub_26_1 D060 : 36 psha D061 : 37 pshb D062 : CE D7 6C ldx #sub_25_const_1 D065 : BD F3 92 jsr Table_Interpolate_no_offset_scale D068 : 97 B1 staa X00B1 D06A : CE D7 77 ldx #sub_25_const_2 D06D : 33 pulb D06E : 32 pula D06F : BD F3 92 jsr Table_Interpolate_no_offset_scale D072 : 97 B2 staa X00B2 D074 : 39 rts ; D075 Sub_26_1: D075 : 4F clra D076 : 97 B1 staa X00B1 D078 : 97 B2 staa X00B2 D07A : B6 41 6E ldaa sub_40_flags D07D : 84 7F anda #0x7F D07F : B7 41 6E staa sub_40_flags D082 : 39 rts ; D083 Sub_27: D083 : F6 41 6E ldab sub_40_flags D086 : 96 B8 ldaa X00B8 D088 : 85 10 bita #0x10 D08A : 27 0B beq Sub_27_1 D08C : CA 40 orab #0x40 D08E : F7 41 6E stab sub_40_flags D091 : FC D4 49 ldd XD449 D094 : DD B3 std X00B3 D096 : 39 rts ; D097 Sub_27_1: D097 : C4 BF andb #0xBF D099 : F7 41 6E stab sub_40_flags D09C : 4F clra D09D : 97 B3 staa X00B3 D09F : 97 B4 staa X00B4 D0A1 : 39 rts ; D0A2 Sub_28: D0A2 : B6 41 6E ldaa sub_40_flags D0A5 : 26 12 bne Sub_28_2 D0A7 : 96 42 ldaa sub_02_flags_2 D0A9 : 85 10 bita #0x10 D0AB : 26 0C bne Sub_28_2 D0AD : 96 43 ldaa AFR_flags_1 D0AF : 85 20 bita #0x20 D0B1 : 26 06 bne Sub_28_2 D0B3 : FC D7 ED ldd XD7ED D0B6 : DD AF std X00AF D0B8 : 39 rts ; D0B9 Sub_28_2: D0B9 : 4F clra D0BA : 97 AF staa X00AF D0BC : 97 B0 staa X00B0 D0BE : 39 rts ; D0BF Sub_29: D0BF : 96 53 ldaa sub_45_flags D0C1 : 85 80 bita #0x80 D0C3 : 26 22 bne Sub_29_4 D0C5 : 0F sei D0C6 : D6 56 ldab PIA_B_data_shadow D0C8 : 96 5E ldaa X005E D0CA : B1 D4 4D cmpa table_3 D0CD : 25 04 bcs Sub_29_1 D0CF : CA 30 orab #0x30 D0D1 : 20 0D bra Sub_29_3 ; D0D3 Sub_29_1: D0D3 : B1 D4 4C cmpa XD44C D0D6 : 23 06 bls Sub_29_2 D0D8 : CA 20 orab #0x20 D0DA : C4 EF andb #0xEF D0DC : 20 02 bra Sub_29_3 ; D0DE Sub_29_2: D0DE : C4 CF andb #0xCF D0E0 Sub_29_3: D0E0 : F7 20 02 stab PIA_B_Data D0E3 : D7 56 stab PIA_B_data_shadow D0E5 : 0E cli D0E6 : 39 rts ; D0E7 Sub_29_4: D0E7 : 96 51 ldaa error_flags_1 D0E9 : 85 40 bita #0x40 D0EB : 26 31 bne Sub_29_6 D0ED : 96 4D ldaa sub_52_flags D0EF : 85 10 bita #0x10 D0F1 : 26 24 bne Sub_29_5 D0F3 : 96 47 ldaa sub_02_flags_5 D0F5 : 85 80 bita #0x80 D0F7 : 26 1E bne Sub_29_5 D0F9 : 96 44 ldaa sub_02_flags_3 D0FB : 85 80 bita #0x80 D0FD : 26 18 bne Sub_29_5 D0FF : 96 45 ldaa sub_02_flags_4 D101 : 85 20 bita #0x20 D103 : 27 19 beq Sub_29_6 D105 : 96 48 ldaa sub_02_flags_6 D107 : 85 20 bita #0x20 D109 : 26 0C bne Sub_29_5 D10B : 96 40 ldaa sub_02_flags_1 D10D : 85 10 bita #0x10 D10F : 27 0D beq Sub_29_6 D111 : 96 43 ldaa AFR_flags_1 D113 : 85 40 bita #0x40 D115 : 27 07 beq Sub_29_6 D117 Sub_29_5: D117 : 0F sei D118 : D6 56 ldab PIA_B_data_shadow D11A : CA 20 orab #0x20 D11C : 20 05 bra Sub_29_7 ; D11E Sub_29_6: D11E : 0F sei D11F : D6 56 ldab PIA_B_data_shadow D121 : C4 DF andb #0xDF D123 Sub_29_7: D123 : F7 20 02 stab PIA_B_Data D126 : D7 56 stab PIA_B_data_shadow D128 : 0E cli D129 : 96 51 ldaa error_flags_1 D12B : 85 40 bita #0x40 D12D : 26 17 bne Sub_29_9 D12F : 96 4D ldaa sub_52_flags D131 : 85 10 bita #0x10 D133 : 27 03 beq Sub_29_8 D135 : 7E D1 BF jmp Sub_29_15 ; D138 Sub_29_8: D138 : 96 45 ldaa sub_02_flags_4 D13A : 85 40 bita #0x40 D13C : 27 7A beq Sub_29_14 D13E : 85 20 bita #0x20 D140 : 26 06 bne Sub_29_10 D142 : 96 48 ldaa sub_02_flags_6 D144 : 85 20 bita #0x20 D146 Sub_29_9: D146 : 26 70 bne Sub_29_14 D148 Sub_29_10: D148 : 96 4F ldaa self_test_flags_1 D14A : 85 80 bita #0x80 D14C : 26 6A bne Sub_29_14 D14E : D6 4C ldab sub_02_flags_7 D150 : C5 40 bitb #0x40 D152 : 27 0C beq Sub_29_11 D154 : D6 48 ldab sub_02_flags_6 D156 : C5 20 bitb #0x20 D158 : 27 06 beq Sub_29_11 D15A : 96 44 ldaa sub_02_flags_3 D15C : 85 04 bita #0x04 D15E : 27 58 beq Sub_29_14 D160 Sub_29_11: D160 : D6 47 ldab sub_02_flags_5 D162 : C5 40 bitb #0x40 D164 : 26 12 bne Sub_29_12 D166 : D6 40 ldab sub_02_flags_1 D168 : C5 10 bitb #0x10 D16A : 27 4C beq Sub_29_14 D16C : D6 50 ldab self_test_flags_2 D16E : C5 10 bitb #0x10 D170 : 27 06 beq Sub_29_12 D172 : D6 48 ldab sub_02_flags_6 D174 : C5 20 bitb #0x20 D176 : 27 40 beq Sub_29_14 D178 Sub_29_12: D178 : D6 50 ldab self_test_flags_2 D17A : C5 10 bitb #0x10 D17C : 26 1E bne Sub_29_13 D17E : 96 4C ldaa sub_02_flags_7 D180 : 85 04 bita #0x04 D182 : 27 18 beq Sub_29_13 D184 : 96 48 ldaa sub_02_flags_6 D186 : 85 20 bita #0x20 D188 : 26 12 bne Sub_29_13 D18A : 96 47 ldaa sub_02_flags_5 D18C : 85 80 bita #0x80 D18E : 26 0C bne Sub_29_13 D190 : 96 43 ldaa AFR_flags_1 D192 : 85 40 bita #0x40 D194 : 26 22 bne Sub_29_14 D196 : 96 44 ldaa sub_02_flags_3 D198 : 85 08 bita #0x08 D19A : 27 1C beq Sub_29_14 D19C Sub_29_13: D19C : 96 45 ldaa sub_02_flags_4 D19E : 85 40 bita #0x40 D1A0 : 27 1D beq Sub_29_15 D1A2 : 85 20 bita #0x20 D1A4 : 26 19 bne Sub_29_15 D1A6 : 96 40 ldaa sub_02_flags_1 D1A8 : 85 10 bita #0x10 D1AA : 27 13 beq Sub_29_15 D1AC : 96 48 ldaa sub_02_flags_6 D1AE : 85 20 bita #0x20 D1B0 : 26 0D bne Sub_29_15 D1B2 : 96 4D ldaa sub_52_flags D1B4 : 85 01 bita #0x01 D1B6 : 26 07 bne Sub_29_15 D1B8 Sub_29_14: D1B8 : 0F sei D1B9 : D6 56 ldab PIA_B_data_shadow D1BB : CA 10 orab #0x10 D1BD : 20 05 bra Sub_29_16 ; D1BF Sub_29_15: D1BF : 0F sei D1C0 : D6 56 ldab PIA_B_data_shadow D1C2 : C4 EF andb #0xEF D1C4 Sub_29_16: D1C4 : F7 20 02 stab PIA_B_Data D1C7 : D7 56 stab PIA_B_data_shadow D1C9 : 0E cli D1CA : 39 rts ; D1CB Sub_30: D1CB : 96 51 ldaa error_flags_1 D1CD : 85 40 bita #0x40 D1CF : 26 27 bne Sub_30_3 D1D1 : 96 53 ldaa sub_45_flags D1D3 : 85 80 bita #0x80 D1D5 : 27 1A beq Sub_30_2 D1D7 : 96 B9 ldaa sub_02_data_1 D1D9 : 81 03 cmpa #0x03 D1DB : 26 08 bne Sub_30_1 D1DD : 96 4B ldaa X004B D1DF : 85 04 bita #0x04 D1E1 : 26 0E bne Sub_30_2 D1E3 : 20 13 bra Sub_30_3 ; D1E5 Sub_30_1: D1E5 : 96 42 ldaa sub_02_flags_2 D1E7 : 85 10 bita #0x10 D1E9 : 26 0D bne Sub_30_3 D1EB : 96 4B ldaa X004B D1ED : 85 08 bita #0x08 D1EF : 27 07 beq Sub_30_3 D1F1 Sub_30_2: D1F1 : 0F sei D1F2 : D6 55 ldab PIA_A_data_shadow D1F4 : C4 BF andb #0xBF D1F6 : 20 05 bra Sub_30_4 ; D1F8 Sub_30_3: D1F8 : 0F sei D1F9 : D6 55 ldab PIA_A_data_shadow D1FB : CA 40 orab #0x40 D1FD Sub_30_4: D1FD : F7 20 00 stab PIA_A_Data D200 : D7 55 stab PIA_A_data_shadow D202 : 0E cli D203 : 96 51 ldaa error_flags_1 D205 : 85 40 bita #0x40 D207 : 26 0D bne Sub_30_5 D209 : 96 4E ldaa sub_42_flags_2 D20B : 85 10 bita #0x10 D20D : 27 07 beq Sub_30_5 D20F : 0F sei D210 : D6 56 ldab PIA_B_data_shadow D212 : C4 FE andb #0xFE D214 : 20 05 bra Sub_30_6 ; D216 Sub_30_5: D216 : 0F sei D217 : D6 56 ldab PIA_B_data_shadow D219 : CA 01 orab #0x01 D21B Sub_30_6: D21B : F7 20 02 stab PIA_B_Data D21E : D7 56 stab PIA_B_data_shadow D220 : 0E cli D221 : 96 51 ldaa error_flags_1 D223 : 85 40 bita #0x40 D225 : 26 1B bne Sub_30_8 D227 : 96 42 ldaa sub_02_flags_2 D229 : 85 04 bita #0x04 D22B : 26 0E bne Sub_30_7 D22D : 85 08 bita #0x08 D22F : 26 0A bne Sub_30_7 D231 : 96 45 ldaa sub_02_flags_4 D233 : 85 40 bita #0x40 D235 : 27 0B beq Sub_30_8 D237 : 85 20 bita #0x20 D239 : 26 07 bne Sub_30_8 D23B Sub_30_7: D23B : 0F sei D23C : D6 55 ldab PIA_A_data_shadow D23E : C4 DF andb #0xDF D240 : 20 05 bra Sub_30_9 ; D242 Sub_30_8: D242 : 0F sei D243 : D6 55 ldab PIA_A_data_shadow D245 : CA 20 orab #0x20 D247 Sub_30_9: D247 : F7 20 00 stab PIA_A_Data D24A : D7 55 stab PIA_A_data_shadow D24C : 0E cli D24D : 96 51 ldaa error_flags_1 D24F : 85 40 bita #0x40 D251 : 26 3A bne Sub_30_12 D253 : 96 43 ldaa AFR_flags_1 D255 : 85 04 bita #0x04 D257 : 26 34 bne Sub_30_12 D259 : 96 40 ldaa sub_02_flags_1 D25B : 85 10 bita #0x10 D25D : 27 2E beq Sub_30_12 D25F : 96 47 ldaa sub_02_flags_5 D261 : 85 80 bita #0x80 D263 : 26 28 bne Sub_30_12 D265 : 96 45 ldaa sub_02_flags_4 D267 : 85 20 bita #0x20 D269 : 27 22 beq Sub_30_12 D26B : 96 42 ldaa sub_02_flags_2 D26D : 85 04 bita #0x04 D26F : 26 04 bne Sub_30_10 D271 : 85 08 bita #0x08 D273 : 27 08 beq Sub_30_11 D275 Sub_30_10: D275 : 96 40 ldaa sub_02_flags_1 D277 : 85 40 bita #0x40 D279 : 27 19 beq Sub_30_13 D27B : 20 10 bra Sub_30_12 ; D27D Sub_30_11: D27D : 85 10 bita #0x10 D27F : 27 0C beq Sub_30_12 D281 : 96 48 ldaa sub_02_flags_6 D283 : 85 20 bita #0x20 D285 : 26 06 bne Sub_30_12 D287 : 96 4C ldaa sub_02_flags_7 D289 : 85 80 bita #0x80 D28B : 26 07 bne Sub_30_13 D28D Sub_30_12: D28D : 0F sei D28E : D6 56 ldab PIA_B_data_shadow D290 : CA 04 orab #0x04 D292 : 20 05 bra Sub_30_14 ; D294 Sub_30_13: D294 : 0F sei D295 : D6 56 ldab PIA_B_data_shadow D297 : C4 FB andb #0xFB D299 Sub_30_14: D299 : F7 20 02 stab PIA_B_Data D29C : D7 56 stab PIA_B_data_shadow D29E : 0E cli D29F : 96 51 ldaa error_flags_1 D2A1 : 85 40 bita #0x40 D2A3 : 26 1D bne Sub_30_16 D2A5 : 96 50 ldaa self_test_flags_2 D2A7 : 85 40 bita #0x40 D2A9 : 26 10 bne Sub_30_15 D2AB : 96 44 ldaa sub_02_flags_3 D2AD : 85 08 bita #0x08 D2AF : 26 0A bne Sub_30_15 D2B1 : 96 45 ldaa sub_02_flags_4 D2B3 : 85 40 bita #0x40 D2B5 : 27 0B beq Sub_30_16 D2B7 : 85 20 bita #0x20 D2B9 : 26 07 bne Sub_30_16 D2BB Sub_30_15: D2BB : 0F sei D2BC : D6 56 ldab PIA_B_data_shadow D2BE : C4 F7 andb #0xF7 D2C0 : 20 05 bra Sub_30_17 ; D2C2 Sub_30_16: D2C2 : 0F sei D2C3 : D6 56 ldab PIA_B_data_shadow D2C5 : CA 08 orab #0x08 D2C7 Sub_30_17: D2C7 : F7 20 02 stab PIA_B_Data D2CA : D7 56 stab PIA_B_data_shadow D2CC : 0E cli D2CD : 39 rts ; D2CE Sub_31: D2CE : 96 F7 ldaa self_test_flag D2D0 : 81 5A cmpa #0x5A D2D2 : 26 01 bne Sub_31_continue D2D4 : 39 rts ; D2D5 Sub_31_continue: D2D5 : 96 51 ldaa error_flags_1 D2D7 : 85 40 bita #0x40 D2D9 : 26 2F bne Sub_31_set_shift_up D2DB : 96 52 ldaa error_flags_2 D2DD : 85 08 bita #0x08 D2DF : 26 00 bne Sub_31_next D2E1 Sub_31_next: D2E1 : 96 50 ldaa self_test_flags_2 D2E3 : 85 08 bita #0x08 D2E5 : 26 23 bne Sub_31_set_shift_up D2E7 : 96 42 ldaa sub_02_flags_2 D2E9 : 85 01 bita #0x01 D2EB : 27 1D beq Sub_31_set_shift_up D2ED : 96 41 ldaa sub_42_flags_1 D2EF : 85 01 bita #0x01 D2F1 : 26 17 bne Sub_31_set_shift_up D2F3 : 96 54 ldaa TPS_update_flags_1 D2F5 : 85 80 bita #0x80 D2F7 : 27 11 beq Sub_31_set_shift_up D2F9 : 85 40 bita #0x40 D2FB : 26 0D bne Sub_31_set_shift_up D2FD : 96 4D ldaa sub_52_flags D2FF : 85 02 bita #0x02 D301 : 26 07 bne Sub_31_set_shift_up D303 : 0F sei D304 : D6 02 ldab CPU_Port1_Data D306 : C4 DF andb #0xDF D308 : 20 05 bra Sub_31_wr_port1_exit ; D30A Sub_31_set_shift_up: D30A : 0F sei D30B : D6 02 ldab CPU_Port1_Data D30D : CA 20 orab #0x20 D30F Sub_31_wr_port1_exit: D30F : D7 02 stab CPU_Port1_Data D311 : 0E cli D312 : 39 rts ; D313 Diag_Out: D313 : B6 41 3D ldaa diag_timer D316 : 81 2F cmpa #0x2F D318 : 24 10 bcc Diag_Out_Next_Code D31A : 4C inca D31B : B7 41 3D staa diag_timer D31E : 0F sei D31F : D6 55 ldab PIA_A_data_shadow D321 : CA 18 orab #0x18 D323 : F7 20 00 stab PIA_A_Data D326 : D7 55 stab PIA_A_data_shadow D328 : 0E cli D329 : 39 rts ; D32A Diag_Out_Next_Code: D32A : C6 01 ldab #0x01 D32C : 96 51 ldaa error_flags_1 D32E : 85 80 bita #0x80 D330 : 26 48 bne Diag_Out_Cont D332 : 5C incb D333 : 85 40 bita #0x40 D335 : 26 43 bne Diag_Out_Cont D337 : 96 52 ldaa error_flags_2 D339 : 26 1B bne Diag_Out_Flags_2 D33B : F6 41 49 ldab diag_busy_flag D33E : 27 03 beq Diag_Out_No_Err D340 : 7E D3 C5 jmp Diag_Out_8 ; D343 Diag_Out_No_Err: D343 : 0F sei D344 : 96 55 ldaa PIA_A_data_shadow D346 : 84 E7 anda #0xE7 D348 : B7 20 00 staa PIA_A_Data D34B : 97 55 staa PIA_A_data_shadow D34D : 0E cli D34E : 4F clra D34F : B7 41 48 staa diag_last_code D352 : B7 41 49 staa diag_busy_flag D355 : 39 rts ; D356 Diag_Out_Flags_2: D356 : 5C incb D357 : 85 80 bita #0x80 D359 : 26 1F bne Diag_Out_Cont D35B : 5C incb D35C : 85 40 bita #0x40 D35E : 26 1A bne Diag_Out_Cont D360 : 5C incb D361 : 85 20 bita #0x20 D363 : 26 15 bne Diag_Out_Cont D365 : 5C incb D366 : 85 10 bita #0x10 D368 : 26 10 bne Diag_Out_Cont D36A : 5C incb D36B : 85 08 bita #0x08 D36D : 26 0B bne Diag_Out_Cont D36F : 5C incb D370 : 85 04 bita #0x04 D372 : 26 06 bne Diag_Out_Cont D374 : 5C incb D375 : 85 02 bita #0x02 D377 : 26 01 bne Diag_Out_Cont D379 : 5C incb D37A Diag_Out_Cont: D37A : F1 41 48 cmpb diag_last_code D37D : 27 6A beq Diag_Out_11 D37F : B6 41 49 ldaa diag_busy_flag D382 : 27 03 beq Diag_Out_Get_Code D384 : 7E D3 C5 jmp Diag_Out_8 ; D387 Diag_Out_Get_Code: D387 : F7 41 48 stab diag_last_code D38A : 5A decb D38B : 58 aslb D38C : CE D7 96 ldx #diag_table_DCC2 D38F : 3A abx D390 : EE 00 ldx 0x00,x D392 : FF 41 40 stx diag_work_DCC2 D395 : FF 41 44 stx diag_next_DCC2 D398 : CE D7 82 ldx #diag_table_DCC1 D39B : 3A abx D39C : EE 00 ldx 0x00,x D39E : FF 41 3E stx diag_work_DCC1 D3A1 : FF 41 42 stx diag_next_DCC1 D3A4 : 0F sei D3A5 : D6 55 ldab PIA_A_data_shadow D3A7 : A6 00 ldaa 0x00,x D3A9 : B7 41 46 staa diag_count_DCC1 D3AC : FE 41 40 ldx diag_work_DCC2 D3AF : A6 00 ldaa 0x00,x D3B1 : B7 41 47 staa diag_count_DCC2 D3B4 : 27 04 beq Diag_Out_6 D3B6 : CA 08 orab #0x08 D3B8 : 20 02 bra Diag_Out_7 ; D3BA Diag_Out_6: D3BA : C4 F7 andb #0xF7 D3BC Diag_Out_7: D3BC : CA 10 orab #0x10 D3BE : F7 20 00 stab PIA_A_Data D3C1 : D7 55 stab PIA_A_data_shadow D3C3 : 0E cli D3C4 : 39 rts ; D3C5 Diag_Out_8: D3C5 : B6 41 46 ldaa diag_count_DCC1 D3C8 : 4A deca D3C9 : 27 03 beq Diag_Out_9 D3CB : 7E D4 17 jmp Diag_Out_13 ; D3CE Diag_Out_9: D3CE : FE 41 3E ldx diag_work_DCC1 D3D1 : A6 01 ldaa 0x01,x D3D3 : 26 03 bne Diag_Out_10 D3D5 : 7E D4 0C jmp Diag_Out_12 ; D3D8 Diag_Out_10: D3D8 : 08 inx D3D9 : FF 41 3E stx diag_work_DCC1 D3DC : 0F sei D3DD : D6 55 ldab PIA_A_data_shadow D3DF : C8 10 eorb #0x10 D3E1 : F7 20 00 stab PIA_A_Data D3E4 : D7 55 stab PIA_A_data_shadow D3E6 : 0E cli D3E7 : 20 2E bra Diag_Out_13 ; D3E9 Diag_Out_11: D3E9 : 86 01 ldaa #0x01 D3EB : B7 41 49 staa diag_busy_flag D3EE : B6 41 46 ldaa diag_count_DCC1 D3F1 : 4A deca D3F2 : 26 23 bne Diag_Out_13 D3F4 : 0F sei D3F5 : D6 55 ldab PIA_A_data_shadow D3F7 : C8 10 eorb #0x10 D3F9 : F7 20 00 stab PIA_A_Data D3FC : D7 55 stab PIA_A_data_shadow D3FE : 0E cli D3FF : FE 41 3E ldx diag_work_DCC1 D402 : A6 01 ldaa 0x01,x D404 : 27 06 beq Diag_Out_12 D406 : 08 inx D407 : FF 41 3E stx diag_work_DCC1 D40A : 20 0B bra Diag_Out_13 ; D40C Diag_Out_12: D40C : FE 41 42 ldx diag_next_DCC1 D40F : FF 41 3E stx diag_work_DCC1 D412 : 7F 41 49 clr diag_busy_flag D415 : A6 00 ldaa 0x00,x D417 Diag_Out_13: D417 : B7 41 46 staa diag_count_DCC1 D41A : B6 41 47 ldaa diag_count_DCC2 D41D : 27 26 beq Diag_Out_exit D41F : 4A deca D420 : 26 20 bne Diag_Out_15 D422 : 0F sei D423 : D6 55 ldab PIA_A_data_shadow D425 : C8 08 eorb #0x08 D427 : F7 20 00 stab PIA_A_Data D42A : D7 55 stab PIA_A_data_shadow D42C : 0E cli D42D : FE 41 40 ldx diag_work_DCC2 D430 : A6 01 ldaa 0x01,x D432 : 27 06 beq Diag_Out_14 D434 : 08 inx D435 : FF 41 40 stx diag_work_DCC2 D438 : 20 08 bra Diag_Out_15 ; D43A Diag_Out_14: D43A : FE 41 44 ldx diag_next_DCC2 D43D : FF 41 40 stx diag_work_DCC2 D440 : A6 00 ldaa 0x00,x D442 Diag_Out_15: D442 : B7 41 47 staa diag_count_DCC2 D445 Diag_Out_exit: D445 : 39 rts ; D446 : FF " " db 0xFF D447 sub_23_const_4: D447 : 55 55 "UU" dw 0x5555 D449 XD449: D449 : 1C 47 " G" db 0x1C, 0x47 D44B XD44B: D44B : 01 " " db 0x01 D44C XD44C: D44C : 30 "0" db 0x30 D44D table_3: D44D : 36 "6" db 0x36 D44E twoD_interpolator_table_1: D44E : 55 "U" db 0x55 D44F : 64 72 77 7D "drw}" db 0x64, 0x72, 0x77, 0x7D D453 : 80 86 8A 8E " " db 0x80, 0x86, 0x8A, 0x8E D457 : 94 97 9A 8E " " db 0x94, 0x97, 0x9A, 0x8E D45B : 8E 8E 8E 8E " " db 0x8E, 0x8E, 0x8E, 0x8E D45F : 8E 8E 8E 8E " " db 0x8E, 0x8E, 0x8E, 0x8E D463 : 55 64 72 77 "Udrw" db 0x55, 0x64, 0x72, 0x77 D467 : 7D 80 86 8A "} " db 0x7D, 0x80, 0x86, 0x8A D46B : 8E 94 97 9A " " db 0x8E, 0x94, 0x97, 0x9A D46F : 8E 8E 8E 8E " " db 0x8E, 0x8E, 0x8E, 0x8E D473 : 8E 8E 8E 8E " " db 0x8E, 0x8E, 0x8E, 0x8E D477 : 8E 55 64 72 " Udr" db 0x8E, 0x55, 0x64, 0x72 D47B : 77 7D 80 86 "w} " db 0x77, 0x7D, 0x80, 0x86 D47F : 8A 8E 94 97 " " db 0x8A, 0x8E, 0x94, 0x97 D483 : 9A 8E 8E 8E " " db 0x9A, 0x8E, 0x8E, 0x8E D487 : 8E 8E 8E 8E " " db 0x8E, 0x8E, 0x8E, 0x8E D48B : 8E 8E 55 64 " Ud" db 0x8E, 0x8E, 0x55, 0x64 D48F : 72 77 7D 80 "rw} " db 0x72, 0x77, 0x7D, 0x80 D493 : 86 8A 8E 94 " " db 0x86, 0x8A, 0x8E, 0x94 D497 : 97 9A 8E 8E " " db 0x97, 0x9A, 0x8E, 0x8E D49B : 8E 8E 8E 8E " " db 0x8E, 0x8E, 0x8E, 0x8E D49F : 8E 8E 8E 4D " M" db 0x8E, 0x8E, 0x8E, 0x4D D4A3 : 5B 69 6F 75 "[iou" db 0x5B, 0x69, 0x6F, 0x75 D4A7 : 77 7D 80 86 "w} " db 0x77, 0x7D, 0x80, 0x86 D4AB : 8B 8E 91 8E " " db 0x8B, 0x8E, 0x91, 0x8E D4AF : 8E 8E 8E 8E " " db 0x8E, 0x8E, 0x8E, 0x8E D4B3 : 8E 8E 8E 8E " " db 0x8E, 0x8E, 0x8E, 0x8E D4B7 : 44 52 61 66 "DRaf" db 0x44, 0x52, 0x61, 0x66 D4BB : 6C 6F 75 77 "louw" db 0x6C, 0x6F, 0x75, 0x77 D4BF : 7D 83 86 89 "} " db 0x7D, 0x83, 0x86, 0x89 D4C3 : 80 80 80 80 " " db 0x80, 0x80, 0x80, 0x80 D4C7 : 80 80 80 8E " " db 0x80, 0x80, 0x80, 0x8E D4CB : 8E 39 47 55 " 9GU" db 0x8E, 0x39, 0x47, 0x55 D4CF : 5B 61 65 69 "[aei" db 0x5B, 0x61, 0x65, 0x69 D4D3 : 6F 75 7A 7D "ouz}" db 0x6F, 0x75, 0x7A, 0x7D D4D7 : 80 80 80 80 " " db 0x80, 0x80, 0x80, 0x80 D4DB : 80 80 80 80 " " db 0x80, 0x80, 0x80, 0x80 D4DF : 8B 8B 30 3C " 0<" db 0x8B, 0x8B, 0x30, 0x3C D4E3 : 47 4D 52 55 "GMRU" db 0x47, 0x4D, 0x52, 0x55 D4E7 : 5B 61 66 6C "[afl" db 0x5B, 0x61, 0x66, 0x6C D4EB : 72 75 6C 6C "rull" db 0x72, 0x75, 0x6C, 0x6C D4EF : 6C 72 72 72 "lrrr" db 0x6C, 0x72, 0x72, 0x72 D4F3 : 75 7A 86 28 "uz (" db 0x75, 0x7A, 0x86, 0x28 D4F7 : 33 3F 41 4A "3?AJ" db 0x33, 0x3F, 0x41, 0x4A D4FB : 51 52 58 5E "QRX^" db 0x51, 0x52, 0x58, 0x5E D4FF : 65 69 69 55 "eiiU" db 0x65, 0x69, 0x69, 0x55 D503 : 58 58 61 61 "XXaa" db 0x58, 0x58, 0x61, 0x61 D507 : 64 69 69 80 "dii " db 0x64, 0x69, 0x69, 0x80 D50B : 1F 2B 36 39 " +69" db 0x1F, 0x2B, 0x36, 0x39 D50F : 41 44 4D 52 "ADMR" db 0x41, 0x44, 0x4D, 0x52 D513 : 55 5B 61 64 "U[ad" db 0x55, 0x5B, 0x61, 0x64 D517 : 55 58 58 61 "UXXa" db 0x55, 0x58, 0x58, 0x61 D51B : 61 64 69 69 "adii" db 0x61, 0x64, 0x69, 0x69 D51F : 69 17 22 2E "i "." db 0x69, 0x17, 0x22, 0x2E D523 : 33 39 3F 44 "39?D" db 0x33, 0x39, 0x3F, 0x44 D527 : 4D 52 55 5B "MRU[" db 0x4D, 0x52, 0x55, 0x5B D52B : 61 55 58 58 "aUXX" db 0x61, 0x55, 0x58, 0x58 D52F : 61 61 64 69 "aadi" db 0x61, 0x61, 0x64, 0x69 D533 : 69 69 0E 1A "ii " db 0x69, 0x69, 0x0E, 0x1A D537 : 25 2B 30 33 "%+03" db 0x25, 0x2B, 0x30, 0x33 D53B : 3C 44 4D 52 "" db 0x54, 0xAD, 0x05, 0x3E FB7A : 76 AD 06 56 "v V" db 0x76, 0xAD, 0x06, 0x56 FB7E : A0 AD 06 38 " 8" db 0xA0, 0xAD, 0x06, 0x38 FB82 : 56 AD 03 3F "V ?" db 0x56, 0xAD, 0x03, 0x3F FB86 : 78 AD 03 80 "x " db 0x78, 0xAD, 0x03, 0x80 FB8A : C0 AD 06 53 " S" db 0xC0, 0xAD, 0x06, 0x53 FB8E : 9B AA 04 49 " I" db 0x9B, 0xAA, 0x04, 0x49 FB92 : 85 AD 04 " " db 0x85, 0xAD, 0x04 FB95 sub_52_table_2: FB95 : 26 "&" db 0x26 FB96 : 26 26 00 38 "&& 8" db 0x26, 0x26, 0x00, 0x38 FB9A : 4E AA 06 40 "N @" db 0x4E, 0xAA, 0x06, 0x40 FB9E : 70 AA 06 53 "p S" db 0x70, 0xAA, 0x06, 0x53 FBA2 : 9B AA 06 38 " 8" db 0x9B, 0xAA, 0x06, 0x38 FBA6 : 57 AA 06 44 "W D" db 0x57, 0xAA, 0x06, 0x44 FBAA : 7C AA 08 80 "| " db 0x7C, 0xAA, 0x08, 0x80 FBAE : C0 AA 06 53 " S" db 0xC0, 0xAA, 0x06, 0x53 FBB2 : 9B AA 06 49 " I" db 0x9B, 0xAA, 0x06, 0x49 FBB6 : 85 AA 06 " " db 0x85, 0xAA, 0x06 FBB9 XFBB9: FBB9 : 00 3E " >" db 0x00, 0x3E FBBB XFBBB: FBBB : 0A FC " " db 0x0A, 0xFC FBBD XFBBD: FBBD : 02 71 " q" db 0x02, 0x71 FBBF XFBBF: FBBF : 07 53 " S" db 0x07, 0x53 FBC1 XFBC1: FBC1 : 02 71 " q" db 0x02, 0x71 FBC3 XFBC3: FBC3 : 07 53 " S" db 0x07, 0x53 FBC5 XFBC5: FBC5 : 00 1F " " db 0x00, 0x1F FBC7 XFBC7: FBC7 : 00 3E " >" db 0x00, 0x3E FBC9 XFBC9: FBC9 : 00 3E " >" db 0x00, 0x3E FBCB XFBCB: FBCB : 00 FA " " db 0x00, 0xFA FBCD XFBCD: FBCD : 00 0C " " db 0x00, 0x0C FBCF XFBCF: FBCF : 00 9C " " db 0x00, 0x9C FBD1 XFBD1: FBD1 : 01 D4 " " db 0x01, 0xD4 FBD3 XFBD3: FBD3 : 0E A6 " " db 0x0E, 0xA6 FBD5 XFBD5: FBD5 : 02 13 " " db 0x02, 0x13 FBD7 XFBD7: FBD7 : 0E A6 " " db 0x0E, 0xA6 FBD9 XFBD9: FBD9 : 00 3E " >" db 0x00, 0x3E FBDB XFBDB: FBDB : 1F " " db 0x1F FBDC XFBDC: FBDC : 0F " " db 0x0F FBDD XFBDD: FBDD : 3E ">" db 0x3E FBDE XFBDE: FBDE : 1F " " db 0x1F FBDF XFBDF: FBDF : 00 " " db 0x00 FBE0 XFBE0: FBE0 : 01 D4 " " db 0x01, 0xD4 FBE2 XFBE2: FBE2 : 00 3E " >" db 0x00, 0x3E FBE4 Check_Switches_const_1: FBE4 : 25 "%" db 0x25 FBE5 Check_Switches_const_2: FBE5 : 25 "%" db 0x25 FBE6 XFBE6: FBE6 : 0D " " db 0x0D FBE7 XFBE7: FBE7 : 26 "&" db 0x26 FBE8 XFBE8: FBE8 : 00 28 " (" db 0x00, 0x28 FBEA XFBEA: FBEA : 00 26 " &" db 0x00, 0x26 FBEC XFBEC: FBEC : 00 0A " " db 0x00, 0x0A FBEE sub_58_i_table: FBEE : FF " " db 0xFF FBEF : 00 08 80 80 " " db 0x00, 0x08, 0x80, 0x80 FBF3 : 80 40 20 00 " @ " db 0x80, 0x40, 0x20, 0x00 FBF7 : 00 00 00 " " db 0x00, 0x00, 0x00 FBFA sub_51_i_table: FBFA : A0 " " db 0xA0 FBFB : 20 10 80 80 " " db 0x20, 0x10, 0x80, 0x80 FBFF : 80 61 40 21 " a@!" db 0x80, 0x61, 0x40, 0x21 FC03 TPS_1_ix_table: FC03 : 00 " " db 0x00 FC04 : 00 00 DB AC " " db 0x00, 0x00, 0xDB, 0xAC FC08 : A8 8C " " db 0xA8, 0x8C FC0A TPS_2_ix_table: FC0A : DB " " db 0xDB FC0B : DB FF DB AC " " db 0xDB, 0xFF, 0xDB, 0xAC FC0F : AC AC " " db 0xAC, 0xAC FC11 TPS_3_ix_table: FC11 : DB " " db 0xDB FC12 : DB FF 30 30 " 00" db 0xDB, 0xFF, 0x30, 0x30 FC16 : 33 36 "36" db 0x33, 0x36 FC18 TPS_4_ix_table: FC18 : 39 "9" db 0x39 FC19 : 3C 3F 30 30 "