1: .include "include/extern_symbols.s" ;include monitor symbols. **** include/extern_symbols.s **** 1: ;This file is generated by the build script. 2: ;Do not make any changes here! 3: 4: - 0091 AY0_WRITE_REG equ 0x91 5: - 0312 A_RTS_OFF equ 0x312 6: - 031B A_RTS_ON equ 0x31B 7: - 0239 CMD_DASM equ 0x239 8: - 012F CMD_EXEC equ 0x12F 9: - 021D CMD_IO_READ equ 0x21D 10: - 01F4 CMD_IO_WRITE equ 0x1F4 11: - 01B8 CMD_SET equ 0x1B8 12: - 01EE CMD_SET_END equ 0x1EE 13: - 01D3 CMD_SET_LOOP equ 0x1D3 14: - 0272 CMD_SYNTAX_ERROR equ 0x272 15: - 014E CMD_VIEW equ 0x14E 16: - 01B2 CMD_VIEW_END equ 0x1B2 17: - 0187 CMD_VIEW_ROW equ 0x187 18: - 0199 CMD_VIEW_ROW_LOOP equ 0x199 19: - 027E CONSOLE_INIT equ 0x27E 20: - 027E CONSOLE_INIT_CTC equ 0x27E 21: - 0286 CONSOLE_INIT_SIO equ 0x286 22: - 0000 CS_BANK equ 0x00 23: - 0004 CS_CTC_0 equ 0x04 24: - 0005 CS_CTC_1 equ 0x05 25: - 0006 CS_CTC_2 equ 0x06 26: - 0007 CS_CTC_3 equ 0x07 27: - 0001 CS_DIP equ 0x01 28: - 0033 CS_PIA_CR equ 0x33 29: - 0030 CS_PIA_PA equ 0x30 30: - 0031 CS_PIA_PB equ 0x31 31: - 0032 CS_PIA_PC equ 0x32 32: - 00F6 CS_PIO_AC equ 0xF6 33: - 00F4 CS_PIO_AD equ 0xF4 34: - 00F7 CS_PIO_BC equ 0xF7 35: - 00F5 CS_PIO_BD equ 0xF5 36: - 0009 CS_SIO_A_C equ 0x09 37: - 0008 CS_SIO_A_D equ 0x08 38: - 000B CS_SIO_B_C equ 0x0B 39: - 000A CS_SIO_B_D equ 0x0A 40: - 0324 DHEX_TO_BYTE equ 0x324 41: - 0340 DHEX_TO_BYTE_FAILED equ 0x340 42: - 0EC4 EXEC_RST_08 equ 0xEC4 43: - 0EC8 EXEC_RST_10 equ 0xEC8 44: - 0ED4 EXEC_RST_18 equ 0xED4 45: - 0344 HEX_TO_BIN equ 0x344 46: - 0352 HEX_TO_BIN_2 equ 0x352 47: - 0359 HEX_TO_INVALID_2 equ 0x359 48: - 00EC IDE_CMD_IDENT equ 0xEC 49: - 0020 IDE_CMD_READSEC equ 0x20 50: - 0040 IDE_RD equ 0x40 51: - 0016 IDE_REG_ALTSTS equ 0x16 52: - 000F IDE_REG_CMDSTS equ 0x0F 53: - 0008 IDE_REG_DATA equ 0x08 54: - 0017 IDE_REG_DRVADDR equ 0x17 55: - 0009 IDE_REG_ERROR equ 0x09 56: - 000D IDE_REG_HCYL equ 0x0D 57: - 000E IDE_REG_HEAD equ 0x0E 58: - 000C IDE_REG_LCYL equ 0x0C 59: - 000A IDE_REG_SECTOR equ 0x0A 60: - 000B IDE_REG_SSECTOR equ 0x0B 61: - 0080 IDE_RST equ 0x80 62: - 0020 IDE_WR equ 0x20 63: - 001B INT_VEC equ 0x1B 64: - 0040 IO_AY0_ADDR equ 0x40 65: - 0041 IO_AY0_DATA equ 0x41 66: - 0042 IO_AY1_ADDR equ 0x42 67: - 0043 IO_AY1_DATA equ 0x43 68: - 0020 IO_REG0 equ 0x20 69: - 0025 IO_RTC_AMPM equ 0x25 70: - 002D IO_RTC_CTR_D equ 0x2D 71: - 002E IO_RTC_CTR_E equ 0x2E 72: - 002F IO_RTC_CTR_F equ 0x2F 73: - 0026 IO_RTC_DAY0 equ 0x26 74: - 0027 IO_RTC_DAY1 equ 0x27 75: - 0024 IO_RTC_HOUR equ 0x24 76: - 0022 IO_RTC_MIN0 equ 0x22 77: - 0023 IO_RTC_MIN1 equ 0x23 78: - 0028 IO_RTC_MON0 equ 0x28 79: - 0029 IO_RTC_MON1 equ 0x29 80: - 0020 IO_RTC_SEC0 equ 0x20 81: - 0021 IO_RTC_SEC1 equ 0x21 82: - 002C IO_RTC_WEEK equ 0x2C 83: - 002B IO_RTC_YEAR1 equ 0x2B 84: - 002A IO_RTC_YERR0 equ 0x2A 85: - 027E Includes equ 0x27E 86: - 5000 MEM_IDE_BASE equ 0x5000 87: - 5041 MEM_IDE_BUFFER equ 0x5041 88: - 5000 MEM_IDE_DEVICE equ 0x5000 89: - 5002 MEM_IDE_PARTITION equ 0x5002 90: - 5006 MEM_IDE_POINTER equ 0x5006 91: - 5001 MEM_IDE_STATUS equ 0x5001 92: - 40FE MEM_INT_VEC_T equ 0x40FE 93: - 4400 MEM_LOC_LOAD equ 0x4400 94: - 40FB MEM_VAR_BLOCK equ 0x40FB 95: - 40FC MEM_VAR_TIMEA equ 0x40FC 96: - 40FE MEM_VAR_TIMER equ 0x40FE 97: - 030A MSG_CLEAR equ 0x30A 98: - 1048 MSG_ERROR equ 0x1048 99: - 1061 MSG_START equ 0x1061 100: - 4110 PRG_RAM_START equ 0x4110 101: - FF00 PRG_RAM_TOP equ 0xFF00 102: - 4000 PROG_MEM_START equ 0x4000 103: - 0100 PROG_ROM_START equ 0x100 104: - 0099 PROMPT_BEGIN equ 0x99 105: - 00D6 PROMPT_BEGIN_READ_BACKSPACE equ 0xD6 106: - 00A5 PROMPT_BEGIN_READ_LOOP equ 0xA5 107: - 00FC PROMPT_BEGIN_READ_PROCESS equ 0xFC 108: - 0000 RST_00 equ 0x00 109: - 0008 RST_08 equ 0x08 110: - 0010 RST_10 equ 0x10 111: - 0018 RST_18 equ 0x18 112: - FFFF STACK_RAM_TOP equ 0xFFFF 113: - 0000 START_ROM equ 0x00 114: - 035B STRCONV_BYTES_TO_HEX equ 0x35B 115: - 036A STRCONV_BYTES_TO_HEX_1 equ 0x36A 116: - 0374 STRCONV_BYTES_TO_HEX_2 equ 0x374 117: - 1360 STR_Banner_Start equ 0x1360 118: - 1390 STR_HEXDUMP_HEADER equ 0x1390 119: - 1319 STR_PD_HEADER equ 0x1319 120: - 1386 STR_SyntaxError equ 0x1386 121: - 138B STR_Unknown equ 0x138B 122: - 0006 SYM_ACK equ 0x06 123: - 0043 SYM_C equ 0x43 124: - 0018 SYM_CAN equ 0x18 125: - 0004 SYM_EOT equ 0x04 126: - 0017 SYM_ETB equ 0x17 127: - 0015 SYM_NAK equ 0x15 128: - 0001 SYM_SOH equ 0x01 129: - 4010 SYS_BUF_START equ 0x4010 130: - 4000 SYS_RAM_START equ 0x4000 131: - 0018 VAR_CONSOLE_BAUD equ 0x18 132: - 000F VAR_CONSOLE_CONF equ 0x0F 133: - 0080 VDP_MEM equ 0x80 134: - 0081 VDP_REG equ 0x81 135: - 0ED7 beep equ 0xED7 136: - 0EDA beep_loop equ 0xEDA 137: - 0EF7 beep_pause equ 0xEF7 138: - 0ADC dasm_00 equ 0xADC 139: - 0DC8 dasm_01 equ 0xDC8 140: - 0B62 dasm_02 equ 0xB62 141: - 0D9A dasm_03 equ 0xD9A 142: - 0BDF dasm_08 equ 0xBDF 143: - 0D6D dasm_09 equ 0xD6D 144: - 0B44 dasm_0A equ 0xB44 145: - 0DB1 dasm_0B equ 0xDB1 146: - 0B24 dasm_10 equ 0xB24 147: - 0B6D dasm_12 equ 0xB6D 148: - 0AE7 dasm_18 equ 0xAE7 149: - 0B4E dasm_1A equ 0xB4E 150: - 0B01 dasm_20 equ 0xB01 151: - 0E0E dasm_22 equ 0xE0E 152: - 0BA7 dasm_27 equ 0xBA7 153: - 0AFA dasm_28 equ 0xAFA 154: - 0DDF dasm_2A equ 0xDDF 155: - 0BAB dasm_2F equ 0xBAB 156: - 0AF2 dasm_30 equ 0xAF2 157: - 0B78 dasm_32 equ 0xB78 158: - 0BB7 dasm_37 equ 0xBB7 159: - 0AEB dasm_38 equ 0xAEB 160: - 0B58 dasm_3A equ 0xB58 161: - 0BB3 dasm_3F equ 0xBB3 162: - 0BBB dasm_76 equ 0xBBB 163: - 0C38 dasm_80C6 equ 0xC38 164: - 0BD5 dasm_BE equ 0xBD5 165: - 0AE0 dasm_C3 equ 0xAE0 166: - 0C5E dasm_C88E equ 0xC5E 167: - 0B30 dasm_C9 equ 0xB30 168: - 0B2A dasm_CD equ 0xB2A 169: - 0BEC dasm_D9 equ 0xBEC 170: - 0B12 dasm_DD equ 0xB12 171: - 0DCF dasm_DD_01 equ 0xDCF 172: - 0D88 dasm_DD_09 equ 0xD88 173: - 0E24 dasm_DD_22 equ 0xE24 174: - 0D9F dasm_DD_23 equ 0xD9F 175: - 0DF6 dasm_DD_2A equ 0xDF6 176: - 0DB6 dasm_DD_2B equ 0xDB6 177: - 0D38 dasm_DD_34 equ 0xD38 178: - 0D55 dasm_DD_35 equ 0xD55 179: - 0C40 dasm_DD_86 equ 0xC40 180: - 0C66 dasm_DD_8E equ 0xC66 181: - 0C89 dasm_DD_96 equ 0xC89 182: - 0CA9 dasm_DD_9E equ 0xCA9 183: - 0CCA dasm_DD_A6 equ 0xCCA 184: - 0D01 dasm_DD_AE equ 0xD01 185: - 0CE6 dasm_DD_B6 equ 0xCE6 186: - 0D1D dasm_DD_BE equ 0xD1D 187: - 0E76 dasm_DD_E1 equ 0xE76 188: - 0BFC dasm_DD_E3 equ 0xBFC 189: - 0E60 dasm_DD_E5 equ 0xE60 190: - 0E46 dasm_DD_F9 equ 0xE46 191: - 0E70 dasm_E1 equ 0xE70 192: - 0BF0 dasm_E3 equ 0xBF0 193: - 0E5A dasm_E5 equ 0xE5A 194: - 0B09 dasm_E9 equ 0xB09 195: - 0D7F dasm_ED_42 equ 0xD7F 196: - 0E1A dasm_ED_43 equ 0xE1A 197: - 0BAF dasm_ED_44 equ 0xBAF 198: - 0B3A dasm_ED_45 equ 0xB3A 199: - 0BC6 dasm_ED_46 equ 0xBC6 200: - 0D76 dasm_ED_4A equ 0xD76 201: - 0DEB dasm_ED_4B equ 0xDEB 202: - 0B35 dasm_ED_4D equ 0xB35 203: - 0BCB dasm_ED_56 equ 0xBCB 204: - 0BD0 dasm_ED_5E equ 0xBD0 205: - 0C14 dasm_ED_A0 equ 0xC14 206: - 0C26 dasm_ED_A1 equ 0xC26 207: - 0C1D dasm_ED_A8 equ 0xC1D 208: - 0C2F dasm_ED_A9 equ 0xC2F 209: - 0C18 dasm_ED_B0 equ 0xC18 210: - 0C2A dasm_ED_B1 equ 0xC2A 211: - 0C21 dasm_ED_B8 equ 0xC21 212: - 0C33 dasm_ED_B9 equ 0xC33 213: - 0BC0 dasm_F3 equ 0xBC0 214: - 0E3C dasm_F9 equ 0xE3C 215: - 0BC3 dasm_FB equ 0xBC3 216: - 0B1B dasm_FD equ 0xB1B 217: - 0DD7 dasm_FD_01 equ 0xDD7 218: - 0D91 dasm_FD_09 equ 0xD91 219: - 0E30 dasm_FD_22 equ 0xE30 220: - 0DA8 dasm_FD_23 equ 0xDA8 221: - 0E02 dasm_FD_2A equ 0xE02 222: - 0DBF dasm_FD_2B equ 0xDBF 223: - 0D44 dasm_FD_34 equ 0xD44 224: - 0D61 dasm_FD_35 equ 0xD61 225: - 0C4F dasm_FD_86 equ 0xC4F 226: - 0C75 dasm_FD_8E equ 0xC75 227: - 0C95 dasm_FD_96 equ 0xC95 228: - 0CB7 dasm_FD_9E equ 0xCB7 229: - 0CD6 dasm_FD_A6 equ 0xCD6 230: - 0D0D dasm_FD_AE equ 0xD0D 231: - 0CF1 dasm_FD_B6 equ 0xCF1 232: - 0D28 dasm_FD_BE equ 0xD28 233: - 0E7E dasm_FD_E1 equ 0xE7E 234: - 0C08 dasm_FD_E3 equ 0xC08 235: - 0E68 dasm_FD_E5 equ 0xE68 236: - 0E50 dasm_FD_F9 equ 0xE50 237: - 0B3F dasm_FF equ 0xB3F 238: - 0E86 dasm_UU equ 0xE86 239: - 0E8A dasm_UW equ 0xE8A 240: - 0CC5 dasm__AND equ 0xCC5 241: - 0D19 dasm__CP equ 0xD19 242: - 0D50 dasm__DEC equ 0xD50 243: - 0B97 dasm__ED_47 equ 0xB97 244: - 0B9F dasm__ED_4F equ 0xB9F 245: - 0B87 dasm__ED_57 equ 0xB87 246: - 0B8F dasm__ED_5F equ 0xB8F 247: - 0D33 dasm__INC equ 0xD33 248: - 0B83 dasm__LD equ 0xB83 249: - 0CE2 dasm__OR equ 0xCE2 250: - 0CA1 dasm__SBC equ 0xCA1 251: - 0C84 dasm__SUB equ 0xC84 252: - 0CFC dasm__XOR equ 0xCFC 253: - 0684 dasm_opcode_table equ 0x684 254: - 04B1 dasm_print16hex_addr equ 0x4B1 255: - 04C9 dasm_print8hex equ 0x4C9 256: - 0E8F dasm_printFlags_table equ 0xE8F 257: - 0E9F dasm_printRegister8_table equ 0xE9F 258: - 0EBF dasm_printRegister8_table_HL equ 0xEBF 259: - 0EA7 dasm_printRegisterIX_table equ 0xEA7 260: - 0EAF dasm_printRegisterIY_table equ 0xEAF 261: - 0EB7 dasm_printRegisterSP_table equ 0xEB7 262: - 0375 disassemble equ 0x375 263: - 045B disassemble_continue equ 0x45B 264: - 044B disassemble_err equ 0x44B 265: - 0379 disassemble_next equ 0x379 266: - 0448 disassemble_print_opcode_params_end equ 0x448 267: - 03F4 disassemble_print_opcode_params_loop equ 0x3F4 268: - 03B6 disassemble_print_opcode_raw equ 0x3B6 269: - 03CA disassemble_print_opcode_raw_fill equ 0x3CA 270: - 048D disassemble_table_first_match equ 0x48D 271: - 04A7 disassemble_table_found equ 0x4A7 272: - 04AB disassemble_table_notfound equ 0x4AB 273: - 0469 disassemble_table_seek equ 0x469 274: - 046D disassemble_table_seek_loop equ 0x46D 275: - 12BE dump_pretty equ 0x12BE 276: - 12E8 dump_pretty_ascii equ 0x12E8 277: - 1306 dump_pretty_ascii_cont equ 0x1306 278: - 12F0 dump_pretty_ascii_loop equ 0x12F0 279: - 1301 dump_pretty_ascii_none equ 0x1301 280: - 12DB dump_pretty_col equ 0x12DB 281: - 1318 dump_pretty_end equ 0x1318 282: - 130C dump_pretty_nextrow equ 0x130C 283: - 12C6 dump_pretty_row equ 0x12C6 284: - 116E ide_printerror equ 0x116E 285: - 10ED ide_readsector_256 equ 0x10ED 286: - 111C ide_readsector_256_done equ 0x111C 287: - 10EF ide_readsector_256_waitloop equ 0x10EF 288: - 111D ide_readsector_512_inv equ 0x111D 289: - 1122 ide_readsector_512_inv_waitloop equ 0x1122 290: - 1158 ide_readsector_timeout equ 0x1158 291: - 10CF ide_regread_8 equ 0x10CF 292: - 10B3 ide_regwrite_8 equ 0x10B3 293: - 10A6 ide_reset equ 0x10A6 294: - 116D ide_writesector_256 equ 0x116D 295: - 11F4 ideif_init_drive equ 0x11F4 296: - 1222 ideif_init_drive_detected equ 0x1222 297: - 1208 ideif_init_drive_loop1 equ 0x1208 298: - 121B ideif_init_drive_nodrv equ 0x121B 299: - 007B mon_start_complete equ 0x7B 300: - 0050 mon_start_init_ctc equ 0x50 301: - 0064 mon_start_init_serial equ 0x64 302: - 0050 mon_start_init_sound equ 0x50 303: - 0067 mon_start_ram equ 0x67 304: - 0070 mon_start_ram_loop equ 0x70 305: - 0044 mon_var_template equ 0x44 306: - 006E mon_var_template_end equ 0x6E 307: - 04D7 param_01 equ 0x4D7 308: - 04FE param_02 equ 0x4FE 309: - 051B param_03 equ 0x51B 310: - 0553 param_03_done equ 0x553 311: - 053C param_03_neg equ 0x53C 312: - 0557 param_04 equ 0x557 313: - 0567 param_04_i equ 0x567 314: - 056D param_05 equ 0x56D 315: - 057A param_06 equ 0x57A 316: - 0594 param_07 equ 0x594 317: - 05A1 param_08 equ 0x5A1 318: - 05B6 param_09 equ 0x5B6 319: - 05BC param_09_0A equ 0x5BC 320: - 05AD param_0A equ 0x5AD 321: - 05CB param_10 equ 0x5CB 322: - 05DB param_11 equ 0x5DB 323: - 05EA param_11_12 equ 0x5EA 324: - 060A param_11_12_all equ 0x60A 325: - 05FD param_11_12_def equ 0x5FD 326: - 0602 param_11_12_ix equ 0x602 327: - 0607 param_11_12_iy equ 0x607 328: - 05E3 param_12 equ 0x5E3 329: - 061B param_13 equ 0x61B 330: - 063A param_80 equ 0x63A 331: - 0641 param_80_seek equ 0x641 332: - 0631 param_81 equ 0x631 333: - 0675 param_comma equ 0x675 334: - 0650 param_printRegister equ 0x650 335: - 066E param_printRegisterA equ 0x66E 336: - 0666 param_printRegisterHL equ 0x666 337: - 02E7 print_a_hex equ 0x2E7 338: - 02B7 print_char equ 0x2B7 339: - 02CA print_clear equ 0x2CA 340: - 02D1 print_newLine equ 0x2D1 341: - 02BF print_str equ 0x2BF 342: - 02C9 print_str_end equ 0x2C9 343: - 1358 print_str_fixed equ 0x1358 344: - 02DC print_wait_out equ 0x2DC 345: - 02F8 read_char equ 0x2F8 346: - 1256 read_lba_sector equ 0x1256 347: - 12B3 str_dev_notfound equ 0x12B3 348: - 129D str_dev_ready equ 0x129D 349: - 12AA str_dev_ready2 equ 0x12AA 350: - 1289 str_dev_waitready equ 0x1289 351: - 11A1 str_error_start equ 0x11A1 352: - 11BE str_error_start1 equ 0x11BE 353: - 11C7 str_error_start2 equ 0x11C7 354: - 11D0 str_error_time equ 0x11D0 355: - 4029 var_buffer equ 0x4029 356: - 4000 var_buffer_len equ 0x4000 357: - 411A var_bytes_count equ 0x411A 358: - 4006 var_curserchar equ 0x4006 359: - 4007 var_curserlastaddr equ 0x4007 360: - 4005 var_curseron equ 0x4005 361: - 4004 var_curserstate equ 0x4004 362: - 4002 var_curserx equ 0x4002 363: - 4003 var_cursery equ 0x4003 364: - 4001 var_last_char equ 0x4001 365: - 4114 var_opcode equ 0x4114 366: - 4116 var_opcode_length equ 0x4116 367: - 4119 var_opcode_pcount equ 0x4119 368: - 4110 var_opcode_start equ 0x4110 369: - 4117 var_opcode_string equ 0x4117 370: - 4112 var_opcode_table equ 0x4112 371: - 4115 var_opcode_x equ 0x4115 372: - 4019 var_ps2mem equ 0x4019 373: - 4009 var_scratch equ 0x4009 374: - 107B xmodem_ack equ 0x107B 375: - 0F34 xmodem_await_conn equ 0xF34 376: - 0FDF xmodem_end equ 0xFDF 377: - 0FA5 xmodem_err equ 0xFA5 378: - 0F06 xmodem_init equ 0xF06 379: - 0FE6 xmodem_int equ 0xFE6 380: - 1005 xmodem_int_cont equ 0x1005 381: - 1089 xmodem_nak equ 0x1089 382: - 1037 xmodem_out equ 0x1037 383: - 0F3F xmodem_packet equ 0xF3F 384: - 0F9D xmodem_packet_EOT equ 0xF9D 385: - 0F51 xmodem_packet_get equ 0xF51 386: - 0F8A xmodem_packet_get_crc equ 0xF8A 387: - 0F7B xmodem_packet_get_data equ 0xF7B 388: - 0003 xmodem_read_timeount equ 0x03 389: - 100A xmodem_read_wait equ 0x100A 390: - 1018 xmodem_read_wait_loop equ 0x1018 391: - 1035 xmodem_read_wait_timeout equ 0x1035 392: - 1097 xmodem_wait equ 0x1097 393: - 109D xmodem_wait_1 equ 0x109D 394: - 103D xmodem_wait_out equ 0x103D **** test.asm **** 2: - 8000 org 0x8000 3: 4: - 00D0 IIC_RTC equ 11010000b 5: ;Testing code 6: 7: 0+17 8000 CD1C80 CALL iic_init 8: 9: ;JP PROMPT_BEGIN 10: 11: 17+10 8003 010010 LD BC,$1000 12: 27+17 8006 CDEF80 CALL _pause_loop 13: 14: 44+10 8009 C39900 JP PROMPT_BEGIN 15: 16: 54+10 800C 1100C0 LD DE, 0xC000 ; Set I2C Buffer Location 17: 64+7 800F 3E00 LD A,0x00 ; store string in buffer 18: 71+7 8011 12 LD (DE),A 19: 78+7 8012 06D0 LD B, IIC_RTC ; Set I2C Address 20: 85+7 8014 3E01 LD A, 1 ; Set I2C Buffer length 21: 92+17 8016 CD5E80 call iic_send 22: 23: 24: 25: 26: 109+10 8019 C39900 JP PROMPT_BEGIN 27: 28: .include "include/kdrv_iic.s" **** include/kdrv_iic.s **** 1: - 00F5 CS_PIO_BD .EQU 0xF5 2: - 00F7 CS_PIO_BC .EQU 0xF7 3: - 00F4 CS_PIO_AD .EQU 0xF4 4: - 00F6 CS_PIO_AC .EQU 0xF6 5: 6: - 00F3 CS_I2C_S1 .EQU 0xF3 7: - 00F2 CS_I2C_SX .EQU 0xF2 8: 9: - 801C iic_init: 10: 119+7 801C 3ECF LD A,0xCF 11: 126+11 801E D3F6 OUT (CS_PIO_AC), A 12: 137+7 8020 3EF5 LD A,11110101b 13: 144+11 8022 D3F6 OUT (CS_PIO_AC), A 14: 15: 155+7 8024 3E00 LD A,00000000b ; Reset PCF8584 minimum 30 clock cycles 16: 162+11 8026 D3F4 OUT (CS_PIO_AD), A 17: 18: 173+10 8028 010010 LD BC,0x1000 19: 183+17 802B CDEF80 CALL _pause_loop 20: 21: 200+7 802E 3E02 LD A,0000010b 22: 207+11 8030 D3F4 OUT (CS_PIO_AD), A 23: 24: 218+10 8032 010010 LD BC,0x1000 25: 228+17 8035 CDEF80 CALL _pause_loop 26: 27: 245+7 8038 3E80 LD A, 0x80 ;S1 -> Select S0, PIN disabled, ESO = 0, Interrupt disabled, STA, STA, ACK = 0 28: 252+11 803A D3F3 OUT (CS_I2C_S1),A 29: 263+17 803C CD0981 CALL _slow_access 30: ;CALL _slow_access 31: 32: 280+7 803F 3E55 LD A,0x55 ;S0 -> Loads byte 55H into register S0'; effective own address becomes AAH 33: 287+11 8041 D3F2 OUT (CS_I2C_SX),A 34: 298+17 8043 CD0981 CALL _slow_access 35: 36: 37: 315+7 8046 3EA0 LD A, 0xA0 ;S1 -> Loads byte A0H into register S1, i.e. next byte will be loaded into the clock control register S2. 38: 322+11 8048 D3F3 OUT (CS_I2C_S1),A 39: 333+17 804A CD0981 CALL _slow_access 40: 41: ; 000100000 42: 350+7 804D 3E18 LD A,0x18 ;Load 18H into S2 register (clock control - 4.43 MHz, 90 KHz) 43: 357+7 804F 3E00 LD A,0x00 ;Load 18H into S2 register (clock control - 4.43 MHz, 90 KHz) 44: 364+11 8051 D3F2 OUT (CS_I2C_SX),A 45: 375+17 8053 CD0981 CALL _slow_access 46: ;CALL _slow_access 47: ;CALL _slow_access 48: ;CALL _slow_access 49: 50: 392+7 8056 3EC1 LD A,0xC1 ;S1 -> loads byte C1H into register S1; register enable 51: ;serial interface, set I 2C-bus into idle mode; 52: ;SDA and SCL are HIGH. The next write or read 53: ;operation will be to/from data transfer register 54: ;S0 if A0 = LOW.; 55: 399+11 8058 D3F3 OUT (CS_I2C_S1),A 56: 410+17 805A CD0981 CALL _slow_access 57: 427+10 805D C9 RET 58: 59: ;------------------------------------------------------------------------------ 60: ; iic_send 61: ; 62: ; Sends data over the i2c bus 63: ; A contains BYTE COUNTER 64: ; B contains ADDRESS 65: ; DE contains location of Data Buffer 66: ;------------------------------------------------------------------------------ 67: - 805E iic_send: 68: ;CALL PRINTINLINE; 69: ;defb "SEND A",10,13,0 70: 437+11 805E C5 PUSH BC 71: 448+11 805F F5 PUSH AF 72: 459+17 8060 CDE180 CALL iic_bus_rdy 73: ;CALL PRINTINLINE 74: ;defb "SEND START",10,13,0 75: 476+4 8063 78 LD A,B ;Load 'slave address' into S0 register: 76: 480+11 8064 D3F2 OUT (CS_I2C_SX),A 77: 491+17 8066 CD0981 CALL _slow_access 78: 79: 508+7 8069 3EC5 LD A, 0xC5 ;Load C5H into S1. 'C5H' = PCF8584 generates 80: ;the 'START' condition and clocks out the slave 81: ;address and the clock pulse for slave acknowledgement. 82: 515+11 806B D3F3 OUT (CS_I2C_S1),A 83: 526+10 806D F1 POP AF 84: 536+4 806E 4F LD C,A 85: 540+4 806F 0C INC C 86: - 8070 _iic_send_1: ; LOOP 1 : Wait for bus ready 87: 544+11 8070 DBF3 IN A,(CS_I2C_S1) ; Read byte from S1 register 88: 555+8 8072 CB7F BIT 7,A ; Is bus free? (S1 ~BB=1?) 89: 563+7+5 8074 20FA JR NZ,_iic_send_1 ; No - loop 90: 570+8 8076 CB67 BIT 4,A ; slave acknowledged? (LRB = 0?) 91: 578+7+5 8078 2009 JR NZ, _iic_send_stop ; if not, cancel transmission 92: 585+7 807A 1A LD A,(DE) ; Load next byte from buffer 93: 592+6 807B 13 INC DE 94: 598+4 807C 0D DEC C 95: 602+7+5 807D 2804 JR Z, _iic_send_stop ; if counter = 0, exit loop 96: 609+11 807F D3F2 OUT (CS_I2C_SX),A ; Send byte 97: 620+12 8081 18ED JR _iic_send_1 ; if counter > 0, loop again 98: - 8083 _iic_send_stop: 99: 632+7 8083 3EC3 LD A, 0xC3 ;STOP 100: 639+11 8085 D3F3 OUT (CS_I2C_S1),A 101: 650+17 8087 CD0981 CALL _slow_access 102: 667+10 808A C1 POP BC 103: 677+10 808B C9 RET 104: 105: 106: ;------------------------------------------------------------------------------ 107: ; iic_read 108: ; 109: ; Sends data over the i2c bus 110: ; A contains BYTE COUNTER 111: ; B contains ADDRESS 112: ; DE contains location of Data Buffer 113: ;------------------------------------------------------------------------------ 114: - 808C iic_read: 115: 687+11 808C D5 PUSH DE 116: 698+11 808D C5 PUSH BC 117: 709+11 808E F5 PUSH AF 118: 720+4 808F 78 LD A,B ;Load 'slave address' into S0 register: 119: 724+7 8090 F601 OR 0x01 ;Set RW Bit for read operation 120: 731+11 8092 D3F2 OUT (CS_I2C_SX),A 121: 742+17 8094 CD0981 CALL _slow_access 122: 759+17 8097 CDE180 CALL iic_bus_rdy ; Is bus ready 123: 776+7 809A 3EC5 LD A, 0xC5 ;Load C5H into S1. 'C5H' = PCF8584 generates 124: ;the 'START' condition and clocks out the slave 125: ;address and the clock pulse for slave acknowledgement. 126: 783+11 809C D3F3 OUT (CS_I2C_S1),A 127: ;Setup counter 128: 794+10 809E F1 POP AF 129: 804+4 809F 4F LD C,A ; Load BYTE COUNTER into C 130: 808+4 80A0 0C INC C ; Offset C by 1 131: - 80A1 _iic_read_1: ;Wait for PIN = 0 132: 812+11 80A1 DBF3 IN A,(CS_I2C_S1) ; Read byte from S1 register 133: 823+8 80A3 CB7F BIT 7,A ; S1 PIN=1? 134: 831+7+5 80A5 20FA JR NZ,_iic_read_1 ; No - loop 135: 838+8 80A7 CB5F BIT 3,A ; S1 LRB=0? slave ACK? 136: 846+7+5 80A9 201C JR NZ, _iic_read_error ; No ACK -> an error has occured 137: 853+4 80AB 0D DEC C 138: 857+4 80AC 79 LD A, C 139: 861+4 80AD 3D DEC A ;If n = m − 1? 140: 865+7+5 80AE 2806 JR Z, _iic_read_last 141: 872+11 80B0 DBF2 IN A,(CS_I2C_SX) 142: 883+7 80B2 12 LD (DE),A 143: 890+6 80B3 13 INC DE 144: 896+12 80B4 18EB JR _iic_read_1 145: - 80B6 _iic_read_last: ;read last byte 146: 908+7 80B6 3E40 LD A, 0x40 147: 915+11 80B8 D3F3 OUT (CS_I2C_S1),A 148: 926+17 80BA CD0981 CALL _slow_access 149: 943+11 80BD DBF2 IN A,(CS_I2C_SX) ;receives the final data byte. Neg. ACK is also sent. 150: 954+7 80BF 12 LD (DE),A 151: 961+6 80C0 13 INC DE 152: - 80C1 _iic_read_last_1: 153: 967+11 80C1 DBF3 IN A,(CS_I2C_S1) ; Read byte from S1 register 154: 978+8 80C3 CB7F BIT 7,A ; S1 PIN=1? 155: 986+7+5 80C5 20FA JR NZ,_iic_read_last_1 ; No - loop 156: 157: - 80C7 _iic_read_error: 158: 993+4 80C7 00 NOP 159: - 80C8 _iic_read_stop: 160: 997+7 80C8 3EC3 LD A, 0xC3 161: 1004+11 80CA D3F3 OUT (CS_I2C_S1),A 162: 1015+17 80CC CD0981 CALL _slow_access 163: 1032+11 80CF DBF2 IN A,(CS_I2C_SX) ;transfers the final data byte from the 164: ;data buffer to accumulator. 165: 1043+17 80D1 CD0981 CALL _slow_access 166: 1060+7 80D4 12 LD (DE),A 167: 1067+10 80D5 C1 POP BC 168: 1077+10 80D6 D1 POP DE 169: 1087+10 80D7 C9 RET 170: 171: 172: ;------------------------------------------------------------------------------ 173: ; iic_rdy 174: ; 175: ; Waits until the PCF8584 signals a byte transmission/reception is complete. 176: ;------------------------------------------------------------------------------ 177: - 80D8 iic_rdy: 178: 1097+11 80D8 F5 PUSH AF 179: - 80D9 _iic_rdy_loop: 180: 1108+11 80D9 DBF3 IN A,(CS_I2C_S1) ; Read byte from S1 register 181: 1119+8 80DB CB7F BIT 7,A ; Is Tx/Rx complete? (S1 PIN=0?) 182: ;call print_a_hex 183: 1127+7+5 80DD 20FA JR NZ,_iic_rdy_loop ; No - loop 184: - 80DF _iic_rdy_done: 185: 1134+10 80DF F1 POP AF 186: 1144+10 80E0 C9 RET 187: 188: ;------------------------------------------------------------------------------ 189: ; i2c_bus_rdy 190: ; 191: ; Waits until the I2C bus is free before RETurning 192: ;------------------------------------------------------------------------------ 193: - 80E1 iic_bus_rdy: 194: 1154+11 80E1 F5 PUSH AF 195: - 80E2 _iic_blp: 196: 1165+11 80E2 DBF3 IN A,(CS_I2C_S1) ; Read byte from S1 register 197: 1176+11 80E4 F5 PUSH AF 198: 1187+17 80E5 CDE702 call print_a_hex 199: 1204+10 80E8 F1 POP AF 200: 1214+8 80E9 CB47 BIT 0,A ; Is bus free? (S1 ~BB=1?) 201: 1222+7+5 80EB 28F5 JR Z,_iic_blp ; No - loop 202: 1229+10 80ED F1 POP AF 203: 1239+10 80EE C9 RET 204: 205: 206: ;------------------------------------------------------------------------------ 207: ; _pause_loop 208: ; 209: ; Timer function 210: ; 211: ; 16-bit (BC) decrement counter, performing 4xNEG loop until BC 212: ; reaches zero. 213: ; 214: ; 61 T-states in loop = 15.25uS per loop @ 4 MHz - near enough 215: ; a second delay for 65,535 iterations. 216: ; 217: ; Set iteration count in BC before calling this function. 218: ; Destroys: BC 219: ;------------------------------------------------------------------------------ 220: - 80EF _pause_loop: 221: 1249+11 80EF F5 PUSH AF ; 11 T-states 222: - 80F0 _pause_loop_lp: 223: ;NEG ; 8 T-states 224: ;NEG ; 8 T-states 225: ;NEG ; 8 T-states 226: ;NEG ; 8 T-states 227: 1260+11 80F0 C5 PUSH BC ; 11 T-states 228: 1271+10 80F1 C1 POP BC ; 10 T-states 229: 1281+11 80F2 C5 PUSH BC ; 11 T-states 230: 1292+10 80F3 C1 POP BC ; 10 T-states 231: 1302+6 80F4 0B DEC BC ; 6 T-states 232: 1308+4 80F5 79 LD A,C ; 9 T-states 233: 1312+4 80F6 B0 OR B ; 4 T-states 234: 1316+10 80F7 C2F080 JP NZ,_pause_loop_lp ; 10 T-states 235: 1326+10 80FA F1 POP AF ; 10 T-states 236: 1336+10 80FB C9 RET ; Pause complete, RETurn 237: 238: 239: - 80FC iic_force_stop: 240: 1346+11 80FC DBF3 IN A,(CS_I2C_S1) 241: 1357+8 80FE CB47 BIT 0, A 242: 1365+5+6 8100 C0 RET NZ 243: 1370+7 8101 3EC3 LD A, 11000011b 244: 1377+11 8103 D3F3 OUT (CS_I2C_S1),A 245: 1388+4 8105 00 NOP 246: 1392+4 8106 00 NOP 247: 1396+12 8107 18F3 JR iic_force_stop 248: 249: - 8109 _slow_access: 250: 1408+4 8109 00 NOP 251: 1412+4 810A 00 NOP 252: 1416+4 810B 00 NOP 253: 1420+4 810C 00 NOP 254: 1424+4 810D 00 NOP 255: 1428+4 810E 00 NOP 256: 1432+4 810F 00 NOP 257: 1436+4 8110 00 NOP 258: 1440+11 8111 F5 PUSH AF 259: 1451+10 8112 F1 POP AF 260: 1461+11 8113 F5 PUSH AF 261: 1472+10 8114 F1 POP AF 262: 1482+11 8115 F5 PUSH AF 263: 1493+10 8116 F1 POP AF 264: 1503+11 8117 F5 PUSH AF 265: 1514+10 8118 F1 POP AF 266: 1524+11 8119 F5 PUSH AF 267: 1535+10 811A F1 POP AF 268: 1545+11 811B F5 PUSH AF 269: 1556+10 811C F1 POP AF **** test.asm **** 29: 1566+10 811D C9 RET 30: 31: 32: ;------------------------------------------------------------------------------ 33: ; PRINTINLINE 34: ; 35: ; String output function 36: ; 37: ; Prints in-line data (bytes immediately following the PRINTINLINE call) 38: ; until a string terminator is encountered (0 - null char). 39: ;------------------------------------------------------------------------------ 40: - 811E PRINTINLINE: 41: 1576+19 811E E3 EX (SP),HL ; PUSH HL and put RET ADDress into HL 42: 1595+11 811F F5 PUSH AF 43: 1606+11 8120 C5 PUSH BC 44: - 8121 nxtILC: 45: 1617+7 8121 7E LD A,(HL) 46: 1624+7 8122 FE00 CP 0 47: 1631+7+5 8124 2806 JR Z,endPrint 48: 1638+17 8126 CDB702 CALL print_char 49: 1655+6 8129 23 INC HL 50: 1661+12 812A 18F5 JR nxtILC 51: - 812C endPrint: 52: 1673+6 812C 23 INC HL ; Get past "null" terminator 53: 1679+10 812D C1 POP BC 54: 1689+10 812E F1 POP AF 55: 1699+19 812F E3 EX (SP),HL ; PUSH new RET ADDress on stack and restore HL **** test.asm **** 56: 1718+10 8130 C9 RET Statistics: 4 passes 0 jr promotions 416 symbols 305 bytes Symbol Table: AY0_WRITE_REG =91 145 A_RTS_OFF = 312 786 A_RTS_ON = 31B 795 CMD_DASM = 239 569 CMD_EXEC = 12F 303 CMD_IO_READ = 21D 541 CMD_IO_WRITE = 1F4 500 CMD_SET = 1B8 440 CMD_SET_END = 1EE 494 CMD_SET_LOOP = 1D3 467 CMD_SYNTAX_ERROR= 272 626 CMD_VIEW = 14E 334 CMD_VIEW_END = 1B2 434 CMD_VIEW_ROW = 187 391 CMD_VIEW_ROW_LOOP= 199 409 CONSOLE_INIT = 27E 638 CONSOLE_INIT_CTC= 27E 638 CONSOLE_INIT_SIO= 286 646 CS_BANK =00 0 CS_CTC_0 =04 4 CS_CTC_1 =05 5 CS_CTC_2 =06 6 CS_CTC_3 =07 7 CS_DIP =01 1 CS_I2C_S1 =F3 243 CS_I2C_SX =F2 242 CS_PIA_CR =33 51 CS_PIA_PA =30 48 CS_PIA_PB =31 49 CS_PIA_PC =32 50 CS_PIO_AC =F6 246 CS_PIO_AD =F4 244 CS_PIO_BC =F7 247 CS_PIO_BD =F5 245 CS_SIO_A_C =09 9 CS_SIO_A_D =08 8 CS_SIO_B_C =0B 11 CS_SIO_B_D =0A 10 DHEX_TO_BYTE = 324 804 DHEX_TO_BYTE_FAILED= 340 832 EXEC_RST_08 = EC4 3780 EXEC_RST_10 = EC8 3784 EXEC_RST_18 = ED4 3796 HEX_TO_BIN = 344 836 HEX_TO_BIN_2 = 352 850 HEX_TO_INVALID_2= 359 857 IDE_CMD_IDENT =EC 236 IDE_CMD_READSEC=20 32 IDE_RD =40 64 IDE_REG_ALTSTS =16 22 IDE_REG_CMDSTS =0F 15 IDE_REG_DATA =08 8 IDE_REG_DRVADDR=17 23 IDE_REG_ERROR =09 9 IDE_REG_HCYL =0D 13 IDE_REG_HEAD =0E 14 IDE_REG_LCYL =0C 12 IDE_REG_SECTOR =0A 10 IDE_REG_SSECTOR=0B 11 IDE_RST =80 128 IDE_WR =20 32 IIC_RTC =D0 208 INT_VEC =1B 27 IO_AY0_ADDR =40 64 IO_AY0_DATA =41 65 IO_AY1_ADDR =42 66 IO_AY1_DATA =43 67 IO_REG0 =20 32 IO_RTC_AMPM =25 37 IO_RTC_CTR_D =2D 45 IO_RTC_CTR_E =2E 46 IO_RTC_CTR_F =2F 47 IO_RTC_DAY0 =26 38 IO_RTC_DAY1 =27 39 IO_RTC_HOUR =24 36 IO_RTC_MIN0 =22 34 IO_RTC_MIN1 =23 35 IO_RTC_MON0 =28 40 IO_RTC_MON1 =29 41 IO_RTC_SEC0 =20 32 IO_RTC_SEC1 =21 33 IO_RTC_WEEK =2C 44 IO_RTC_YEAR1 =2B 43 IO_RTC_YERR0 =2A 42 Includes = 27E 638 MEM_IDE_BASE =5000 20480 MEM_IDE_BUFFER =5041 20545 MEM_IDE_DEVICE =5000 20480 MEM_IDE_PARTITION=5002 20482 MEM_IDE_POINTER=5006 20486 MEM_IDE_STATUS =5001 20481 MEM_INT_VEC_T =40FE 16638 MEM_LOC_LOAD =4400 17408 MEM_VAR_BLOCK =40FB 16635 MEM_VAR_TIMEA =40FC 16636 MEM_VAR_TIMER =40FE 16638 MSG_CLEAR = 30A 778 MSG_ERROR =1048 4168 MSG_START =1061 4193 PRG_RAM_START =4110 16656 PRG_RAM_TOP =FF00 65280 PRINTINLINE 811E 33054 PROG_MEM_START =4000 16384 PROG_ROM_START = 100 256 PROMPT_BEGIN =99 153 PROMPT_BEGIN_READ_BACKSPACE=D6 214 PROMPT_BEGIN_READ_LOOP=A5 165 PROMPT_BEGIN_READ_PROCESS=FC 252 RST_00 =00 0 RST_08 =08 8 RST_10 =10 16 RST_18 =18 24 STACK_RAM_TOP =FFFF 65535 START_ROM =00 0 STRCONV_BYTES_TO_HEX= 35B 859 STRCONV_BYTES_TO_HEX_1= 36A 874 STRCONV_BYTES_TO_HEX_2= 374 884 STR_Banner_Start=1360 4960 STR_HEXDUMP_HEADER=1390 5008 STR_PD_HEADER =1319 4889 STR_SyntaxError=1386 4998 STR_Unknown =138B 5003 SYM_ACK =06 6 SYM_C =43 67 SYM_CAN =18 24 SYM_EOT =04 4 SYM_ETB =17 23 SYM_NAK =15 21 SYM_SOH =01 1 SYS_BUF_START =4010 16400 SYS_RAM_START =4000 16384 VAR_CONSOLE_BAUD=18 24 VAR_CONSOLE_CONF=0F 15 VDP_MEM =80 128 VDP_REG =81 129 _iic_blp 80E2 32994 _iic_rdy_done 80DF 32991 _iic_rdy_loop 80D9 32985 _iic_read_1 80A1 32929 _iic_read_error 80C7 32967 _iic_read_last 80B6 32950 _iic_read_last_1 80C1 32961 _iic_read_stop 80C8 32968 _iic_send_1 8070 32880 _iic_send_stop 8083 32899 _pause_loop 80EF 33007 _pause_loop_lp 80F0 33008 _slow_access 8109 33033 beep = ED7 3799 beep_loop = EDA 3802 beep_pause = EF7 3831 dasm_00 = ADC 2780 dasm_01 = DC8 3528 dasm_02 = B62 2914 dasm_03 = D9A 3482 dasm_08 = BDF 3039 dasm_09 = D6D 3437 dasm_0A = B44 2884 dasm_0B = DB1 3505 dasm_10 = B24 2852 dasm_12 = B6D 2925 dasm_18 = AE7 2791 dasm_1A = B4E 2894 dasm_20 = B01 2817 dasm_22 = E0E 3598 dasm_27 = BA7 2983 dasm_28 = AFA 2810 dasm_2A = DDF 3551 dasm_2F = BAB 2987 dasm_30 = AF2 2802 dasm_32 = B78 2936 dasm_37 = BB7 2999 dasm_38 = AEB 2795 dasm_3A = B58 2904 dasm_3F = BB3 2995 dasm_76 = BBB 3003 dasm_80C6 = C38 3128 dasm_BE = BD5 3029 dasm_C3 = AE0 2784 dasm_C88E = C5E 3166 dasm_C9 = B30 2864 dasm_CD = B2A 2858 dasm_D9 = BEC 3052 dasm_DD = B12 2834 dasm_DD_01 = DCF 3535 dasm_DD_09 = D88 3464 dasm_DD_22 = E24 3620 dasm_DD_23 = D9F 3487 dasm_DD_2A = DF6 3574 dasm_DD_2B = DB6 3510 dasm_DD_34 = D38 3384 dasm_DD_35 = D55 3413 dasm_DD_86 = C40 3136 dasm_DD_8E = C66 3174 dasm_DD_96 = C89 3209 dasm_DD_9E = CA9 3241 dasm_DD_A6 = CCA 3274 dasm_DD_AE = D01 3329 dasm_DD_B6 = CE6 3302 dasm_DD_BE = D1D 3357 dasm_DD_E1 = E76 3702 dasm_DD_E3 = BFC 3068 dasm_DD_E5 = E60 3680 dasm_DD_F9 = E46 3654 dasm_E1 = E70 3696 dasm_E3 = BF0 3056 dasm_E5 = E5A 3674 dasm_E9 = B09 2825 dasm_ED_42 = D7F 3455 dasm_ED_43 = E1A 3610 dasm_ED_44 = BAF 2991 dasm_ED_45 = B3A 2874 dasm_ED_46 = BC6 3014 dasm_ED_4A = D76 3446 dasm_ED_4B = DEB 3563 dasm_ED_4D = B35 2869 dasm_ED_56 = BCB 3019 dasm_ED_5E = BD0 3024 dasm_ED_A0 = C14 3092 dasm_ED_A1 = C26 3110 dasm_ED_A8 = C1D 3101 dasm_ED_A9 = C2F 3119 dasm_ED_B0 = C18 3096 dasm_ED_B1 = C2A 3114 dasm_ED_B8 = C21 3105 dasm_ED_B9 = C33 3123 dasm_F3 = BC0 3008 dasm_F9 = E3C 3644 dasm_FB = BC3 3011 dasm_FD = B1B 2843 dasm_FD_01 = DD7 3543 dasm_FD_09 = D91 3473 dasm_FD_22 = E30 3632 dasm_FD_23 = DA8 3496 dasm_FD_2A = E02 3586 dasm_FD_2B = DBF 3519 dasm_FD_34 = D44 3396 dasm_FD_35 = D61 3425 dasm_FD_86 = C4F 3151 dasm_FD_8E = C75 3189 dasm_FD_96 = C95 3221 dasm_FD_9E = CB7 3255 dasm_FD_A6 = CD6 3286 dasm_FD_AE = D0D 3341 dasm_FD_B6 = CF1 3313 dasm_FD_BE = D28 3368 dasm_FD_E1 = E7E 3710 dasm_FD_E3 = C08 3080 dasm_FD_E5 = E68 3688 dasm_FD_F9 = E50 3664 dasm_FF = B3F 2879 dasm_UU = E86 3718 dasm_UW = E8A 3722 dasm__AND = CC5 3269 dasm__CP = D19 3353 dasm__DEC = D50 3408 dasm__ED_47 = B97 2967 dasm__ED_4F = B9F 2975 dasm__ED_57 = B87 2951 dasm__ED_5F = B8F 2959 dasm__INC = D33 3379 dasm__LD = B83 2947 dasm__OR = CE2 3298 dasm__SBC = CA1 3233 dasm__SUB = C84 3204 dasm__XOR = CFC 3324 dasm_opcode_table= 684 1668 dasm_print16hex_addr= 4B1 1201 dasm_print8hex = 4C9 1225 dasm_printFlags_table= E8F 3727 dasm_printRegister8_table= E9F 3743 dasm_printRegister8_table_HL= EBF 3775 dasm_printRegisterIX_table= EA7 3751 dasm_printRegisterIY_table= EAF 3759 dasm_printRegisterSP_table= EB7 3767 disassemble = 375 885 disassemble_continue= 45B 1115 disassemble_err= 44B 1099 disassemble_next= 379 889 disassemble_print_opcode_params_end= 448 1096 disassemble_print_opcode_params_loop= 3F4 1012 disassemble_print_opcode_raw= 3B6 950 disassemble_print_opcode_raw_fill= 3CA 970 disassemble_table_first_match= 48D 1165 disassemble_table_found= 4A7 1191 disassemble_table_notfound= 4AB 1195 disassemble_table_seek= 469 1129 disassemble_table_seek_loop= 46D 1133 dump_pretty =12BE 4798 dump_pretty_ascii=12E8 4840 dump_pretty_ascii_cont=1306 4870 dump_pretty_ascii_loop=12F0 4848 dump_pretty_ascii_none=1301 4865 dump_pretty_col=12DB 4827 dump_pretty_end=1318 4888 dump_pretty_nextrow=130C 4876 dump_pretty_row=12C6 4806 endPrint 812C 33068 ide_printerror =116E 4462 ide_readsector_256=10ED 4333 ide_readsector_256_done=111C 4380 ide_readsector_256_waitloop=10EF 4335 ide_readsector_512_inv=111D 4381 ide_readsector_512_inv_waitloop=1122 4386 ide_readsector_timeout=1158 4440 ide_regread_8 =10CF 4303 ide_regwrite_8 =10B3 4275 ide_reset =10A6 4262 ide_writesector_256=116D 4461 ideif_init_drive=11F4 4596 ideif_init_drive_detected=1222 4642 ideif_init_drive_loop1=1208 4616 ideif_init_drive_nodrv=121B 4635 iic_bus_rdy 80E1 32993 iic_force_stop 80FC 33020 iic_init 801C 32796 iic_rdy 80D8 32984 iic_read 808C 32908 iic_send 805E 32862 mon_start_complete=7B 123 mon_start_init_ctc=50 80 mon_start_init_serial=64 100 mon_start_init_sound=50 80 mon_start_ram =67 103 mon_start_ram_loop=70 112 mon_var_template=44 68 mon_var_template_end=6E 110 nxtILC 8121 33057 param_01 = 4D7 1239 param_02 = 4FE 1278 param_03 = 51B 1307 param_03_done = 553 1363 param_03_neg = 53C 1340 param_04 = 557 1367 param_04_i = 567 1383 param_05 = 56D 1389 param_06 = 57A 1402 param_07 = 594 1428 param_08 = 5A1 1441 param_09 = 5B6 1462 param_09_0A = 5BC 1468 param_0A = 5AD 1453 param_10 = 5CB 1483 param_11 = 5DB 1499 param_11_12 = 5EA 1514 param_11_12_all= 60A 1546 param_11_12_def= 5FD 1533 param_11_12_ix = 602 1538 param_11_12_iy = 607 1543 param_12 = 5E3 1507 param_13 = 61B 1563 param_80 = 63A 1594 param_80_seek = 641 1601 param_81 = 631 1585 param_comma = 675 1653 param_printRegister= 650 1616 param_printRegisterA= 66E 1646 param_printRegisterHL= 666 1638 print_a_hex = 2E7 743 print_char = 2B7 695 print_clear = 2CA 714 print_newLine = 2D1 721 print_str = 2BF 703 print_str_end = 2C9 713 print_str_fixed=1358 4952 print_wait_out = 2DC 732 read_char = 2F8 760 read_lba_sector=1256 4694 str_dev_notfound=12B3 4787 str_dev_ready =129D 4765 str_dev_ready2 =12AA 4778 str_dev_waitready=1289 4745 str_error_start=11A1 4513 str_error_start1=11BE 4542 str_error_start2=11C7 4551 str_error_time =11D0 4560 var_buffer =4029 16425 var_buffer_len =4000 16384 var_bytes_count=411A 16666 var_curserchar =4006 16390 var_curserlastaddr=4007 16391 var_curseron =4005 16389 var_curserstate=4004 16388 var_curserx =4002 16386 var_cursery =4003 16387 var_last_char =4001 16385 var_opcode =4114 16660 var_opcode_length=4116 16662 var_opcode_pcount=4119 16665 var_opcode_start=4110 16656 var_opcode_string=4117 16663 var_opcode_table=4112 16658 var_opcode_x =4115 16661 var_ps2mem =4019 16409 var_scratch =4009 16393 xmodem_ack =107B 4219 xmodem_await_conn= F34 3892 xmodem_end = FDF 4063 xmodem_err = FA5 4005 xmodem_init = F06 3846 xmodem_int = FE6 4070 xmodem_int_cont=1005 4101 xmodem_nak =1089 4233 xmodem_out =1037 4151 xmodem_packet = F3F 3903 xmodem_packet_EOT= F9D 3997 xmodem_packet_get= F51 3921 xmodem_packet_get_crc= F8A 3978 xmodem_packet_get_data= F7B 3963 xmodem_read_timeount=03 3 xmodem_read_wait=100A 4106 xmodem_read_wait_loop=1018 4120 xmodem_read_wait_timeout=1035 4149 xmodem_wait =1097 4247 xmodem_wait_1 =109D 4253 xmodem_wait_out=103D 4157