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: - 00D0 ADDR_RTC equ 0xD0 5: - 0152 A_RTS_OFF equ 0x152 6: - 015B A_RTS_ON equ 0x15B 7: - 0050 BOOT_PHASE0 equ 0x50 8: - 006E BOOT_PHASE1 equ 0x6E 9: - 0077 BOOT_PHASE1_LOOP equ 0x77 10: - 0082 BOOT_PHASE2 equ 0x82 11: - 17EB COMMAND equ 0x17EB 12: - 1826 COMMAND_BACKSPACE equ 0x1826 13: - 176B COMMAND_LUT equ 0x176B 14: - 184C COMMAND_PROCESS equ 0x184C 15: - 1887 COMMAND_PROCESS_FOUND equ 0x1887 16: - 184F COMMAND_PROCESS_LOOP equ 0x184F 17: - 1858 COMMAND_PROCESS_LOOP_STR1 equ 0x1858 18: - 186E COMMAND_PROCESS_LOOP_STR2 equ 0x186E 19: - 1873 COMMAND_PROCESS_NEXT_ENTRY equ 0x1873 20: - 1872 COMMAND_PROCESS_NEXT_ENTRYI equ 0x1872 21: - 187E COMMAND_PROCESS_NOT_FOUND equ 0x187E 22: - 17F7 COMMAND_READ equ 0x17F7 23: - 009E CONSOLE_INIT equ 0x9E 24: - 009E CONSOLE_INIT_CTC equ 0x9E 25: - 00A6 CONSOLE_INIT_SIO equ 0xA6 26: - 00F9 CS_APU_CTRL equ 0xF9 27: - 00F8 CS_APU_DATA equ 0xF8 28: - 0000 CS_BANK equ 0x00 29: - 0004 CS_CTC_0 equ 0x04 30: - 0005 CS_CTC_1 equ 0x05 31: - 0006 CS_CTC_2 equ 0x06 32: - 0007 CS_CTC_3 equ 0x07 33: - 0001 CS_DIP equ 0x01 34: - 0033 CS_PIA_CR equ 0x33 35: - 0030 CS_PIA_PA equ 0x30 36: - 0031 CS_PIA_PB equ 0x31 37: - 0032 CS_PIA_PC equ 0x32 38: - 00F6 CS_PIO_AC equ 0xF6 39: - 00F4 CS_PIO_AD equ 0xF4 40: - 00F7 CS_PIO_BC equ 0xF7 41: - 00F5 CS_PIO_BD equ 0xF5 42: - 0009 CS_SIO_A_C equ 0x09 43: - 0008 CS_SIO_A_D equ 0x08 44: - 000B CS_SIO_B_C equ 0x0B 45: - 000A CS_SIO_B_D equ 0x0A 46: - 0164 DHEX_TO_BYTE equ 0x164 47: - 0180 DHEX_TO_BYTE_FAILED equ 0x180 48: - 189D ERR_SYNTAX equ 0x189D 49: - 0D04 EXEC_RST_08 equ 0xD04 50: - 0D08 EXEC_RST_10 equ 0xD08 51: - 0D14 EXEC_RST_18 equ 0xD14 52: - 0184 HEX_TO_BIN equ 0x184 53: - 0192 HEX_TO_BIN_2 equ 0x192 54: - 0199 HEX_TO_INVALID_2 equ 0x199 55: - 00EC IDE_CMD_IDENT equ 0xEC 56: - 0020 IDE_CMD_READSEC equ 0x20 57: - 1275 IDE_DEV_TABLE equ 0x1275 58: - 0040 IDE_RD equ 0x40 59: - 0016 IDE_REG_ALTSTS equ 0x16 60: - 000F IDE_REG_CMDSTS equ 0x0F 61: - 0008 IDE_REG_DATA equ 0x08 62: - 0017 IDE_REG_DRVADDR equ 0x17 63: - 0009 IDE_REG_ERROR equ 0x09 64: - 000D IDE_REG_HCYL equ 0x0D 65: - 000E IDE_REG_HEAD equ 0x0E 66: - 000B IDE_REG_LBA0 equ 0x0B 67: - 000C IDE_REG_LBA1 equ 0x0C 68: - 000D IDE_REG_LBA2 equ 0x0D 69: - 000E IDE_REG_LBA3 equ 0x0E 70: - 000C IDE_REG_LCYL equ 0x0C 71: - 000A IDE_REG_SECTOR equ 0x0A 72: - 000B IDE_REG_SSECTOR equ 0x0B 73: - 0080 IDE_RST equ 0x80 74: - 0020 IDE_WR equ 0x20 75: - 0001 IIC_CLK equ 0x01 76: - 0002 IIC_DATA equ 0x02 77: - 001B INT_VEC equ 0x1B 78: - 0040 IO_AY0_ADDR equ 0x40 79: - 0041 IO_AY0_DATA equ 0x41 80: - 0042 IO_AY1_ADDR equ 0x42 81: - 0043 IO_AY1_DATA equ 0x43 82: - 0020 IO_REG0 equ 0x20 83: - 0025 IO_RTC_AMPM equ 0x25 84: - 002D IO_RTC_CTR_D equ 0x2D 85: - 002E IO_RTC_CTR_E equ 0x2E 86: - 002F IO_RTC_CTR_F equ 0x2F 87: - 0026 IO_RTC_DAY0 equ 0x26 88: - 0027 IO_RTC_DAY1 equ 0x27 89: - 0024 IO_RTC_HOUR equ 0x24 90: - 0022 IO_RTC_MIN0 equ 0x22 91: - 0023 IO_RTC_MIN1 equ 0x23 92: - 0028 IO_RTC_MON0 equ 0x28 93: - 0029 IO_RTC_MON1 equ 0x29 94: - 0020 IO_RTC_SEC0 equ 0x20 95: - 0021 IO_RTC_SEC1 equ 0x21 96: - 002C IO_RTC_WEEK equ 0x2C 97: - 002B IO_RTC_YEAR1 equ 0x2B 98: - 002A IO_RTC_YERR0 equ 0x2A 99: - 4166 MEM_IDE_BUFFER equ 0x4166 100: - 407B MEM_IDE_DEVICE equ 0x407B 101: - 4085 MEM_IDE_DEV_TABLE equ 0x4085 102: - 4366 MEM_IDE_FSBUFFER equ 0x4366 103: - 407D MEM_IDE_PARTITION equ 0x407D 104: - 4081 MEM_IDE_POINTER equ 0x4081 105: - 40C5 MEM_IDE_SELECTED equ 0x40C5 106: - 407C MEM_IDE_STATUS equ 0x407C 107: - 40C6 MEM_IDE_STRING_0 equ 0x40C6 108: - 40EE MEM_IDE_STRING_1 equ 0x40EE 109: - 4116 MEM_IDE_STRING_2 equ 0x4116 110: - 413E MEM_IDE_STRING_3 equ 0x413E 111: - 014A MSG_CLEAR equ 0x14A 112: - 1896 NOT_IMPLEMENTED equ 0x1896 113: - 18F8 OP_CALL equ 0x18F8 114: - 1A8C OP_CLR equ 0x1A8C 115: - 1979 OP_DASM equ 0x1979 116: - 1918 OP_DUMP equ 0x1918 117: - 18DF OP_EXEC equ 0x18DF 118: - 1A40 OP_IIC_IN equ 0x1A40 119: - 19E0 OP_IIC_OUT equ 0x19E0 120: - 19A9 OP_IO_IN equ 0x19A9 121: - 19BF OP_IO_OUT equ 0x19BF 122: - 1CA1 OP_LSDSK equ 0x1CA1 123: - 1A90 OP_RTIME equ 0x1A90 124: - 1CA5 OP_SELDSK equ 0x1CA5 125: - 1948 OP_SET equ 0x1948 126: - 1C28 OP_STIME equ 0x1C28 127: - 1D12 POST_CHECK_APU equ 0x1D12 128: - 1D3D POST_CHECK_IDE_30 equ 0x1D3D 129: - 1D50 POST_CHECK_IDE_40 equ 0x1D50 130: - 1CED POST_CHECK_PIO equ 0x1CED 131: - 1CDD POST_START equ 0x1CDD 132: - 1D6A POST_TEST_RTC equ 0x1D6A 133: - 4110 PRG_RAM_START equ 0x4110 134: - FF00 PRG_RAM_TOP equ 0xFF00 135: - 4000 PROG_MEM_START equ 0x4000 136: - 0100 PROG_ROM_START equ 0x100 137: - 0000 RST_00 equ 0x00 138: - 0008 RST_08 equ 0x08 139: - 0010 RST_10 equ 0x10 140: - 0018 RST_18 equ 0x18 141: - FFFF STACK_RAM_TOP equ 0xFFFF 142: - 0000 START_ROM equ 0x00 143: - 019B STRCONV_BYTES_TO_HEX equ 0x19B 144: - 01AA STRCONV_BYTES_TO_HEX_1 equ 0x1AA 145: - 01B4 STRCONV_BYTES_TO_HEX_2 equ 0x1B4 146: - 1E6F STR_Banner_Start equ 0x1E6F 147: - 1724 STR_PD_HEADER equ 0x1724 148: - 4010 SYS_BUF_START equ 0x4010 149: - 4000 SYS_RAM_START equ 0x4000 150: - 0018 VAR_CONSOLE_BAUD equ 0x18 151: - 000F VAR_CONSOLE_CONF equ 0x0F 152: - 0080 VDP_MEM equ 0x80 153: - 0081 VDP_REG equ 0x81 154: - 1895 _COMMAND_PROCESS_FOUND equ 0x1895 155: - 1917 _OP_CALL equ 0x1917 156: - 1A25 _OP_IIC_ACK_ERR equ 0x1A25 157: - 1A2C _OP_IIC_ACK_ERR_str equ 0x1A2C 158: - 1A72 _OP_IIC_IN_LOOP equ 0x1A72 159: - 1A7F _OP_IIC_IN_LOOP_TEXT equ 0x1A7F 160: - 19F6 _OP_IIC_OUT_LOOP equ 0x19F6 161: - 1A12 _OP_IIC_OUT_SEND equ 0x1A12 162: - 1A93 _OP_RTIME_NN equ 0x1A93 163: - 1B4B _OP_RTIME_RD_CMD equ 0x1B4B 164: - 1CB4 _OP_SELDSK_INVALID equ 0x1CB4 165: - 1CC4 _OP_SELDSK_INVALID_STR equ 0x1CC4 166: - 1960 _OP_SET_LOOP equ 0x1960 167: - 1BEE _OP_STIME_INVALID equ 0x1BEE 168: - 1C05 _OP_STIME_PROMPT equ 0x1C05 169: - 1C1D _OP_STIME_PROMPT_ERR equ 0x1C1D 170: - 1B4C _OP_STIME_STR_DAY equ 0x1B4C 171: - 1B9D _OP_STIME_STR_HOUR equ 0x1B9D 172: - 1BB8 _OP_STIME_STR_MIN equ 0x1BB8 173: - 1B67 _OP_STIME_STR_MON equ 0x1B67 174: - 1BD3 _OP_STIME_STR_SEC equ 0x1BD3 175: - 1B82 _OP_STIME_STR_YEAR equ 0x1B82 176: - 1D31 _POST_CHECK_APU_FAILED equ 0x1D31 177: - 1D63 _POST_CHECK_IDE_FAILED equ 0x1D63 178: - 1D06 _POST_CHECK_PIO_FAILED equ 0x1D06 179: - 1DA4 _POST_TEST_RTC_INVALID equ 0x1DA4 180: - 1D9D _POST_TEST_RTC_NOTFOUND equ 0x1D9D 181: - 18B8 _STR_NOT_FOUND equ 0x18B8 182: - 18A4 _STR_NOT_IMPLEMENTED equ 0x18A4 183: - 18CC _STR_SYNTAX equ 0x18CC 184: - 0D30 _beep_pause_l1 equ 0xD30 185: - 13E9 _ideif_init_drive_found equ 0x13E9 186: - 13D1 _ideif_init_drive_loop equ 0x13D1 187: - 13E4 _ideif_init_drive_nodrv equ 0x13E4 188: - 1454 _ideif_init_drive_prt_fnd equ 0x1454 189: - 1442 _ideif_init_drive_prt_l1 equ 0x1442 190: - 144C _ideif_init_drive_prt_ln equ 0x144C 191: - 1510 _ideif_prnt_devtable_hdr equ 0x1510 192: - 12E1 _ideif_prnt_devtable_l1 equ 0x12E1 193: - 13A7 _ideif_prnt_devtable_l1_e2 equ 0x13A7 194: - 1326 _ideif_prnt_devtable_l1_es equ 0x1326 195: - 13A4 _ideif_prnt_devtable_l1_ms equ 0x13A4 196: - 12EE _ideif_prnt_devtable_l1_nxt equ 0x12EE 197: - 1314 _ideif_prnt_devtable_l1_s00 equ 0x1314 198: - 1319 _ideif_prnt_devtable_l1_s01 equ 0x1319 199: - 131E _ideif_prnt_devtable_l1_s02 equ 0x131E 200: - 1323 _ideif_prnt_devtable_l1_sFF equ 0x1323 201: - 12EC _ideif_prnt_devtable_l1_sel equ 0x12EC 202: - 1574 _ideif_prnt_devtable_master equ 0x1574 203: - 1548 _ideif_prnt_devtable_s00 equ 0x1548 204: - 1553 _ideif_prnt_devtable_s01 equ 0x1553 205: - 155E _ideif_prnt_devtable_s02 equ 0x155E 206: - 1569 _ideif_prnt_devtable_sFF equ 0x1569 207: - 157C _ideif_prnt_devtable_slave equ 0x157C 208: - 0147 _read_bcd_invalid equ 0x147 209: - 1C9C _shift4 equ 0x1C9C 210: - 0D17 beep equ 0xD17 211: - 0D19 beep_loop equ 0xD19 212: - 0D2F beep_pause equ 0xD2F 213: - 091C dasm_00 equ 0x91C 214: - 0C08 dasm_01 equ 0xC08 215: - 09A2 dasm_02 equ 0x9A2 216: - 0BDA dasm_03 equ 0xBDA 217: - 0A1F dasm_08 equ 0xA1F 218: - 0BAD dasm_09 equ 0xBAD 219: - 0984 dasm_0A equ 0x984 220: - 0BF1 dasm_0B equ 0xBF1 221: - 0964 dasm_10 equ 0x964 222: - 09AD dasm_12 equ 0x9AD 223: - 0927 dasm_18 equ 0x927 224: - 098E dasm_1A equ 0x98E 225: - 0941 dasm_20 equ 0x941 226: - 0C4E dasm_22 equ 0xC4E 227: - 09E7 dasm_27 equ 0x9E7 228: - 093A dasm_28 equ 0x93A 229: - 0C1F dasm_2A equ 0xC1F 230: - 09EB dasm_2F equ 0x9EB 231: - 0932 dasm_30 equ 0x932 232: - 09B8 dasm_32 equ 0x9B8 233: - 09F7 dasm_37 equ 0x9F7 234: - 092B dasm_38 equ 0x92B 235: - 0998 dasm_3A equ 0x998 236: - 09F3 dasm_3F equ 0x9F3 237: - 09FB dasm_76 equ 0x9FB 238: - 0A78 dasm_80C6 equ 0xA78 239: - 0A15 dasm_BE equ 0xA15 240: - 0920 dasm_C3 equ 0x920 241: - 0A9E dasm_C88E equ 0xA9E 242: - 0970 dasm_C9 equ 0x970 243: - 096A dasm_CD equ 0x96A 244: - 0A2C dasm_D9 equ 0xA2C 245: - 0952 dasm_DD equ 0x952 246: - 0C0F dasm_DD_01 equ 0xC0F 247: - 0BC8 dasm_DD_09 equ 0xBC8 248: - 0C64 dasm_DD_22 equ 0xC64 249: - 0BDF dasm_DD_23 equ 0xBDF 250: - 0C36 dasm_DD_2A equ 0xC36 251: - 0BF6 dasm_DD_2B equ 0xBF6 252: - 0B78 dasm_DD_34 equ 0xB78 253: - 0B95 dasm_DD_35 equ 0xB95 254: - 0A80 dasm_DD_86 equ 0xA80 255: - 0AA6 dasm_DD_8E equ 0xAA6 256: - 0AC9 dasm_DD_96 equ 0xAC9 257: - 0AE9 dasm_DD_9E equ 0xAE9 258: - 0B0A dasm_DD_A6 equ 0xB0A 259: - 0B41 dasm_DD_AE equ 0xB41 260: - 0B26 dasm_DD_B6 equ 0xB26 261: - 0B5D dasm_DD_BE equ 0xB5D 262: - 0CB6 dasm_DD_E1 equ 0xCB6 263: - 0A3C dasm_DD_E3 equ 0xA3C 264: - 0CA0 dasm_DD_E5 equ 0xCA0 265: - 0C86 dasm_DD_F9 equ 0xC86 266: - 0CB0 dasm_E1 equ 0xCB0 267: - 0A30 dasm_E3 equ 0xA30 268: - 0C9A dasm_E5 equ 0xC9A 269: - 0949 dasm_E9 equ 0x949 270: - 0BBF dasm_ED_42 equ 0xBBF 271: - 0C5A dasm_ED_43 equ 0xC5A 272: - 09EF dasm_ED_44 equ 0x9EF 273: - 097A dasm_ED_45 equ 0x97A 274: - 0A06 dasm_ED_46 equ 0xA06 275: - 0BB6 dasm_ED_4A equ 0xBB6 276: - 0C2B dasm_ED_4B equ 0xC2B 277: - 0975 dasm_ED_4D equ 0x975 278: - 0A0B dasm_ED_56 equ 0xA0B 279: - 0A10 dasm_ED_5E equ 0xA10 280: - 0A54 dasm_ED_A0 equ 0xA54 281: - 0A66 dasm_ED_A1 equ 0xA66 282: - 0A5D dasm_ED_A8 equ 0xA5D 283: - 0A6F dasm_ED_A9 equ 0xA6F 284: - 0A58 dasm_ED_B0 equ 0xA58 285: - 0A6A dasm_ED_B1 equ 0xA6A 286: - 0A61 dasm_ED_B8 equ 0xA61 287: - 0A73 dasm_ED_B9 equ 0xA73 288: - 0A00 dasm_F3 equ 0xA00 289: - 0C7C dasm_F9 equ 0xC7C 290: - 0A03 dasm_FB equ 0xA03 291: - 095B dasm_FD equ 0x95B 292: - 0C17 dasm_FD_01 equ 0xC17 293: - 0BD1 dasm_FD_09 equ 0xBD1 294: - 0C70 dasm_FD_22 equ 0xC70 295: - 0BE8 dasm_FD_23 equ 0xBE8 296: - 0C42 dasm_FD_2A equ 0xC42 297: - 0BFF dasm_FD_2B equ 0xBFF 298: - 0B84 dasm_FD_34 equ 0xB84 299: - 0BA1 dasm_FD_35 equ 0xBA1 300: - 0A8F dasm_FD_86 equ 0xA8F 301: - 0AB5 dasm_FD_8E equ 0xAB5 302: - 0AD5 dasm_FD_96 equ 0xAD5 303: - 0AF7 dasm_FD_9E equ 0xAF7 304: - 0B16 dasm_FD_A6 equ 0xB16 305: - 0B4D dasm_FD_AE equ 0xB4D 306: - 0B31 dasm_FD_B6 equ 0xB31 307: - 0B68 dasm_FD_BE equ 0xB68 308: - 0CBE dasm_FD_E1 equ 0xCBE 309: - 0A48 dasm_FD_E3 equ 0xA48 310: - 0CA8 dasm_FD_E5 equ 0xCA8 311: - 0C90 dasm_FD_F9 equ 0xC90 312: - 097F dasm_FF equ 0x97F 313: - 0CC6 dasm_UU equ 0xCC6 314: - 0CCA dasm_UW equ 0xCCA 315: - 0B05 dasm__AND equ 0xB05 316: - 0B59 dasm__CP equ 0xB59 317: - 0B90 dasm__DEC equ 0xB90 318: - 09D7 dasm__ED_47 equ 0x9D7 319: - 09DF dasm__ED_4F equ 0x9DF 320: - 09C7 dasm__ED_57 equ 0x9C7 321: - 09CF dasm__ED_5F equ 0x9CF 322: - 0B73 dasm__INC equ 0xB73 323: - 09C3 dasm__LD equ 0x9C3 324: - 0B22 dasm__OR equ 0xB22 325: - 0AE1 dasm__SBC equ 0xAE1 326: - 0AC4 dasm__SUB equ 0xAC4 327: - 0B3C dasm__XOR equ 0xB3C 328: - 04C4 dasm_opcode_table equ 0x4C4 329: - 02F1 dasm_print16hex_addr equ 0x2F1 330: - 0309 dasm_print8hex equ 0x309 331: - 0CCF dasm_printFlags_table equ 0xCCF 332: - 0CDF dasm_printRegister8_table equ 0xCDF 333: - 0CFF dasm_printRegister8_table_HL equ 0xCFF 334: - 0CE7 dasm_printRegisterIX_table equ 0xCE7 335: - 0CEF dasm_printRegisterIY_table equ 0xCEF 336: - 0CF7 dasm_printRegisterSP_table equ 0xCF7 337: - 01B5 disassemble equ 0x1B5 338: - 029B disassemble_continue equ 0x29B 339: - 028B disassemble_err equ 0x28B 340: - 01B9 disassemble_next equ 0x1B9 341: - 0288 disassemble_print_opcode_params_end equ 0x288 342: - 0234 disassemble_print_opcode_params_loop equ 0x234 343: - 01F6 disassemble_print_opcode_raw equ 0x1F6 344: - 020A disassemble_print_opcode_raw_fill equ 0x20A 345: - 02CD disassemble_table_first_match equ 0x2CD 346: - 02E7 disassemble_table_found equ 0x2E7 347: - 02EB disassemble_table_notfound equ 0x2EB 348: - 02A9 disassemble_table_seek equ 0x2A9 349: - 02AD disassemble_table_seek_loop equ 0x2AD 350: - 16C9 dump_pretty equ 0x16C9 351: - 16F3 dump_pretty_ascii equ 0x16F3 352: - 1711 dump_pretty_ascii_cont equ 0x1711 353: - 16FB dump_pretty_ascii_loop equ 0x16FB 354: - 170C dump_pretty_ascii_none equ 0x170C 355: - 16E6 dump_pretty_col equ 0x16E6 356: - 1723 dump_pretty_end equ 0x1723 357: - 1717 dump_pretty_nextrow equ 0x1717 358: - 16D1 dump_pretty_row equ 0x16D1 359: - 0E04 ide_printerror equ 0xE04 360: - 0D83 ide_readsector_256 equ 0xD83 361: - 0DB2 ide_readsector_256_done equ 0xDB2 362: - 0D85 ide_readsector_256_waitloop equ 0xD85 363: - 0DB3 ide_readsector_512_inv equ 0xDB3 364: - 0DB8 ide_readsector_512_inv_waitloop equ 0xDB8 365: - 0DEE ide_readsector_timeout equ 0xDEE 366: - 0D65 ide_regread_8 equ 0xD65 367: - 0D49 ide_regwrite_8 equ 0xD49 368: - 0D3C ide_reset equ 0xD3C 369: - 0E03 ide_writesector_256 equ 0xE03 370: - 1497 ideif_get_drv_pointer equ 0x1497 371: - 14AB ideif_init_all equ 0x14AB 372: - 12B5 ideif_init_devtable equ 0x12B5 373: - 13C8 ideif_init_drive equ 0x13C8 374: - 12D3 ideif_prnt_devtable equ 0x12D3 375: - 15DD iic_init equ 0x15DD 376: - 161C iic_read_ack equ 0x161C 377: - 15AE iic_receive_buffer equ 0x15AE 378: - 15D1 iic_receive_buffer_done equ 0x15D1 379: - 15D7 iic_receive_buffer_err equ 0x15D7 380: - 15BF iic_receive_buffer_loop equ 0x15BF 381: - 16A2 iic_receive_byte equ 0x16A2 382: - 16AF iic_receive_byte_loop equ 0x16AF 383: - 1642 iic_send_ack equ 0x1642 384: - 1584 iic_send_buffer equ 0x1584 385: - 15A2 iic_send_buffer_done equ 0x15A2 386: - 15A8 iic_send_buffer_err equ 0x15A8 387: - 1594 iic_send_buffer_loop equ 0x1594 388: - 167C iic_send_byte equ 0x167C 389: - 1688 iic_send_byte_loop equ 0x1688 390: - 15FB iic_send_ebit equ 0x15FB 391: - 165F iic_send_nack equ 0x165F 392: - 15E6 iic_send_sbit equ 0x15E6 393: - 0044 mon_var_template equ 0x44 394: - 03BF mon_var_template_end equ 0x3BF 395: - 0317 param_01 equ 0x317 396: - 033E param_02 equ 0x33E 397: - 035B param_03 equ 0x35B 398: - 0393 param_03_done equ 0x393 399: - 037C param_03_neg equ 0x37C 400: - 0397 param_04 equ 0x397 401: - 03A7 param_04_i equ 0x3A7 402: - 03AD param_05 equ 0x3AD 403: - 03BA param_06 equ 0x3BA 404: - 03D4 param_07 equ 0x3D4 405: - 03E1 param_08 equ 0x3E1 406: - 03F6 param_09 equ 0x3F6 407: - 03FC param_09_0A equ 0x3FC 408: - 03ED param_0A equ 0x3ED 409: - 040B param_10 equ 0x40B 410: - 041B param_11 equ 0x41B 411: - 042A param_11_12 equ 0x42A 412: - 044A param_11_12_all equ 0x44A 413: - 043D param_11_12_def equ 0x43D 414: - 0442 param_11_12_ix equ 0x442 415: - 0447 param_11_12_iy equ 0x447 416: - 0423 param_12 equ 0x423 417: - 045B param_13 equ 0x45B 418: - 047A param_80 equ 0x47A 419: - 0481 param_80_seek equ 0x481 420: - 0471 param_81 equ 0x471 421: - 04B5 param_comma equ 0x4B5 422: - 0490 param_printRegister equ 0x490 423: - 04AE param_printRegisterA equ 0x4AE 424: - 04A6 param_printRegisterHL equ 0x4A6 425: - 0107 print_a_hex equ 0x107 426: - 0119 print_bcd equ 0x119 427: - 00D7 print_char equ 0xD7 428: - 00EA print_clear equ 0xEA 429: - 00F1 print_newLine equ 0xF1 430: - 00DF print_str equ 0xDF 431: - 00E9 print_str_end equ 0xE9 432: - 1763 print_str_fixed equ 0x1763 433: - 00FC print_wait_out equ 0xFC 434: - 0131 read_bcd equ 0x131 435: - 011F read_char equ 0x11F 436: - 14BE read_lba_sector equ 0x14BE 437: - 1508 str_dev_done equ 0x1508 438: - 14F0 str_dev_waitready equ 0x14F0 439: - 0E37 str_error_start equ 0xE37 440: - 0E54 str_error_start1 equ 0xE54 441: - 0E5D str_error_start2 equ 0xE5D 442: - 0E66 str_error_time equ 0xE66 443: - 1DFC str_post_apu equ 0x1DFC 444: - 1DAB str_post_ide_30 equ 0x1DAB 445: - 1DC6 str_post_ide_40 equ 0x1DC6 446: - 1E32 str_post_nd equ 0x1E32 447: - 1E6A str_post_ok equ 0x1E6A 448: - 1DE1 str_post_pio equ 0x1DE1 449: - 1E17 str_post_rtc equ 0x1E17 450: - 1E40 str_post_rtc_iv equ 0x1E40 451: - 400A var_apu_present equ 0x400A 452: - 4000 var_buffer_len equ 0x4000 453: - 411A var_bytes_count equ 0x411A 454: - 4006 var_curserchar equ 0x4006 455: - 4007 var_curserlastaddr equ 0x4007 456: - 4005 var_curseron equ 0x4005 457: - 4004 var_curserstate equ 0x4004 458: - 4002 var_curserx equ 0x4002 459: - 4003 var_cursery equ 0x4003 460: - 407B var_idebuffer equ 0x407B 461: - 402B var_input equ 0x402B 462: - 4001 var_last_char equ 0x4001 463: - 4114 var_opcode equ 0x4114 464: - 4116 var_opcode_length equ 0x4116 465: - 4119 var_opcode_pcount equ 0x4119 466: - 4110 var_opcode_start equ 0x4110 467: - 4117 var_opcode_string equ 0x4117 468: - 4112 var_opcode_table equ 0x4112 469: - 4115 var_opcode_x equ 0x4115 470: - 4009 var_pio_present equ 0x4009 471: - 401B var_ps2mem equ 0x401B 472: - 400B var_scratch equ 0x400B **** test.asm **** 2: - 8000 org 0x8000 3: 4: 0+17 8000 CD0880 call TermInit 5: 17+10 8003 C9 ret 6: ;------------------------------------------------- 7: ; Z8C/MEGA80 VDP Console IO Functions 8: ; by Dennis Gunia 2022/02 9: ; Version 0.1 10: ; 11: ; For Z8C Monitor 12: ;------------------------------------------------- 13: 14: ; Constant Values 15: - 40E0 TermVarMemoryLocation equ 0x40E0 16: 17: 18: ; Dynamic VARs 19: - 8004 TermVarTemplate: 20: - 40E0 phase TermVarMemoryLocation ;Change pointers to this template to the specified location 21: - 40E0 TermCurrentX: ; Start sector 22: - 40E0 01 defb 0x01 23: - 40E1 TermCurrentY: ; Start sector 24: - 40E1 04 defb 0x04 25: - 40E2 TermCursorState: 26: - 40E2 00 defb 0x00 27: - 40E3 TermCursorEnabled: 28: - 40E3 00 defb 0x00 29: - 40E4 TermVarTemplateEnd: 30: - 8008 dephase 31: 32: 33: 34: - 8008 TermInit: 35: ; Copy TermVarTemplate to memory 36: 27+10 8008 21E040 LD HL, TermVarMemoryLocation ;Load destination into HL 37: 37+10 800B 010480 LD BC, [TermVarTemplate] ;Load source into BC 38: 47+10 800E 11E440 LD DE, [TermVarTemplateEnd] ;Load end into DE 39: - 8011 TermInit_copy_loop: 40: 57+7 8011 0A LD A,(BC) ;Copy value 41: 64+7 8012 77 LD (HL),A 42: 71+6 8013 03 INC BC ;Increment pointers 43: 77+6 8014 23 INC HL 44: 83+11 8015 E5 PUSH HL ;Backup HL 45: 94+15 8016 ED52 SBC HL,DE ;Check if next pointer matches end 46: 109+10 8018 E1 POP HL ;Restore HL 47: 119+10 8019 C21180 JP NZ, TermInit_copy_loop ;Loop if pointer != end 48: ; template copy done 49: 50: 51: ; install font 52: 129+17 801C CDF181 call setup_vars 53: 146+10 801F 21E084 ld hl, TmsFont 54: 156+17 8022 CD3783 call TmsTextMode ; initialize text mode 55: 56: 173+7 8025 3E06 ld a, TmsDarkRed ; set colors 57: 180+17 8027 CD9C82 call TmsBackground 58: 197+7 802A 3E0F ld a, TmsWhite 59: 204+17 802C CD4D84 call TmsTextColor 60: 61: 221+7 802F 3E00 ld a, 0 ; put title at 11, 1 62: 228+7 8031 1E00 ld e, 0 63: 235+17 8033 CD6084 call TmsTextPos 64: 252+10 8036 216981 ld hl, TitleMessage ; output title 65: 262+17 8039 CD7784 call TmsStrOut 66: 67: 279+7 803C 3E00 ld a, 0 ; put title at 11, 1 68: 286+7 803E 1E04 ld e, 4 69: 293+17 8040 CD6084 call TmsTextPos 70: 71: 72: 310+10 8043 C9 ret 73: 74: - 8044 TermSetCursor: 75: 320+13 8044 3AE140 ld a, (TermCurrentY) 76: 333+4 8047 5F ld e, a 77: 337+13 8048 3AE040 ld a, (TermCurrentX) 78: 79: 350+17 804B CD6084 call TmsTextPos 80: 367+10 804E C9 ret 81: 82: - 804F TermPrintStr: 83: ; BC contains String offset 84: ; Prints null terminated string 85: 377+11 804F F5 PUSH AF 86: 388+11 8050 C5 PUSH BC 87: - 8051 TermPrintStr_LOOP: 88: 399+7 8051 0A LD A,(BC) 89: 90: ; Return if nullbyte 91: 406+7 8052 F600 OR 0 92: 413+7+5 8054 2807 JR Z, TermPrintStr_EXIT 93: ; Print Char 94: 420+17 8056 CD6080 CALL TermPrintChar 95: 96: ; INC BC and JP start of loop 97: 437+6 8059 03 INC BC 98: 443+10 805A C35180 jp TermPrintStr_LOOP 99: - 805D TermPrintStr_EXIT: 100: 453+10 805D C1 POP BC 101: 463+10 805E F1 POP AF 102: 473+10 805F C9 RET 103: 104: - 8060 TermPrintChar: 105: 483+11 8060 F5 push AF 106: 494+11 8061 C5 push BC 107: 505+11 8062 D5 push DE 108: 516+11 8063 E5 push HL 109: ; check if special char 110: 527+7 8064 FE7F cp 0x7F ; Backspace 111: 534+10 8066 CAA180 jp z, TermPrintCharSPDelete 112: 544+7 8069 FE0D cp 13 113: 551+10 806B CAF480 jp z, TermPrintCharSPCR 114: 561+7 806E FE0A cp 10 115: 568+10 8070 CAD480 jp z, TermPrintCharSPLF 116: ; a has char 117: 578+17 8073 CD8082 call TmsChrOut 118: 595+13 8076 3AE040 ld a,(TermCurrentX) 119: 608+4 8079 3C inc a 120: 612+7 807A FE27 cp 39 121: 619+10 807C CA8B80 jp z,TermPrintCharWrap; if line end 122: 629+10 807F D28B80 jp nc,TermPrintCharWrap; if line end 123: 639+13 8082 32E040 ld (TermCurrentX), a 124: 652+17 8085 CD4480 call TermSetCursor 125: 669+10 8088 C3FE80 jp TermPrintCharDone 126: - 808B TermPrintCharWrap: 127: 679+4 808B AF xor a 128: 683+13 808C 32E040 ld (TermCurrentX), a 129: 696+13 808F 3AE140 ld a,(TermCurrentY) 130: 709+7 8092 FE17 cp 23 ; if already last line 131: 716+10 8094 CAE680 jp z, TermPrintCharSPLFScroll 132: 726+4 8097 3C inc a 133: 730+13 8098 32E140 ld (TermCurrentY),a 134: 743+17 809B CD4480 call TermSetCursor 135: 760+10 809E C3FE80 jp TermPrintCharDone 136: - 80A1 TermPrintCharSPDelete: 137: 770+13 80A1 3AE040 ld a,(TermCurrentX) 138: 783+4 80A4 A7 and a 139: 787+10 80A5 CABA80 jp z, TermPrintCharSPDeleteWrap ; if at pos X 0 then go previous line 140: 797+4 80A8 3D dec a ; else decrement X 141: 801+13 80A9 32E040 ld (TermCurrentX), a 142: 814+17 80AC CD4480 call TermSetCursor 143: 831+7 80AF 3E20 ld a, " " 144: 838+17 80B1 CD8082 call TmsChrOut 145: 855+17 80B4 CD4480 call TermSetCursor 146: 872+10 80B7 C3FE80 jp TermPrintCharDone 147: - 80BA TermPrintCharSPDeleteWrap: 148: 882+7 80BA 3E27 ld a,39 149: 889+13 80BC 32E040 ld (TermCurrentX), a 150: 902+13 80BF 3AE140 ld a,(TermCurrentY) 151: 915+4 80C2 3D dec a 152: 919+13 80C3 32E140 ld (TermCurrentY),a 153: 932+17 80C6 CD4480 call TermSetCursor 154: 949+7 80C9 3E20 ld a, " " 155: 956+17 80CB CD8082 call TmsChrOut 156: 973+17 80CE CD4480 call TermSetCursor 157: 990+10 80D1 C3FE80 jp TermPrintCharDone 158: 159: - 80D4 TermPrintCharSPLF: ; linefeed 160: 1000+13 80D4 3AE140 ld a,(TermCurrentY) 161: 1013+7 80D7 FE17 cp 23 ; if already last line 162: 1020+10 80D9 CAE680 jp z, TermPrintCharSPLFScroll 163: 1030+4 80DC 3C inc a 164: 1034+13 80DD 32E140 ld (TermCurrentY),a 165: 1047+17 80E0 CD4480 call TermSetCursor 166: 1064+10 80E3 C3FE80 jp TermPrintCharDone 167: - 80E6 TermPrintCharSPLFScroll: 168: 1074+17 80E6 CD0381 call TermScroll 169: 1091+7 80E9 3E17 ld a,23 170: 1098+13 80EB 32E140 ld (TermCurrentY),a 171: 1111+17 80EE CD4480 call TermSetCursor 172: 1128+10 80F1 C3FE80 jp TermPrintCharDone 173: - 80F4 TermPrintCharSPCR: ; linefeed 174: 1138+4 80F4 AF xor a 175: 1142+13 80F5 32E040 ld (TermCurrentX),a 176: 1155+17 80F8 CD4480 call TermSetCursor 177: 1172+10 80FB C3FE80 jp TermPrintCharDone 178: 179: - 80FE TermPrintCharDone: 180: 1182+10 80FE E1 pop HL 181: 1192+10 80FF D1 pop DE 182: 1202+10 8100 C1 pop BC 183: 1212+10 8101 F1 pop AF 184: 1222+10 8102 C9 ret 185: 186: - 8103 TermScroll: 187: 1232+10 8103 010038 ld bc, 0x3800 ; load start of text-buffer into pointer 188: 189: - 8106 TermScrollLine: 190: 1242+4 8106 60 ld h,b 191: 1246+4 8107 69 ld l,c 192: 193: 1250+10 8108 112800 ld de, 40 ; line width 194: 1260+11 810B 19 add hl, de 195: 196: 1271+4 810C 7D ld a,l ; setup VDP address 197: 1275+11 810D D381 out (0x81),a 198: 1286+4 810F 7C ld a,h 199: 1290+7 8110 E63F and 3fh 200: 1297+11 8112 D381 out (0x81),a 201: 1308+17 8114 CD6481 call VDPWait 202: 1325+11 8117 DB80 in a, (0x80) ; read byte 203: 1336+11 8119 F5 push af 204: 205: 1347+4 811A 79 ld a,c ; setup VDP address 206: 1351+11 811B D381 out (0x81),a 207: 1362+4 811D 78 ld a,b 208: 1366+7 811E E63F and 3fh 209: 1373+7 8120 F640 or 40h ; write bit 210: 1380+11 8122 D381 out (0x81),a 211: 1391+10 8124 F1 pop af 212: 1401+17 8125 CD6481 call VDPWait 213: 1418+11 8128 D380 out (0x80),a 214: 215: 1429+6 812A 03 inc bc 216: 217: 1435+4 812B 60 ld h,b 218: 1439+4 812C 69 ld l,c 219: 1443+10 812D 11983B ld de, VDPTextBufferEnd ; buffer end 220: 1453+15 8130 ED52 sbc hl, de 221: 222: 1468+10 8132 C20681 jp nz, TermScrollLine 223: 224: ; clear last line 225: 1478+10 8135 019803 ld bc,920 226: 1488+4 8138 79 ld a,c ; setup VDP address 227: 1492+11 8139 D381 out (0x81),a 228: 1503+4 813B 78 ld a,b 229: 1507+7 813C E63F and 3fh 230: 1514+7 813E F640 or 40h ; write bit 231: 1521+11 8140 D381 out (0x81),a 232: 1532+7 8142 0E28 ld c,40 233: - 8144 TermScrollClearLine: 234: 1539+10 8144 01983B ld bc, 0x3800 + 920 235: - 8147 TermScrollClearLineLoop: 236: 237: 1549+4 8147 79 ld a,c ; setup VDP addressh 238: 1553+11 8148 D381 out (0x81),a 239: 1564+4 814A 78 ld a,b 240: 1568+7 814B E63F and 3fh 241: 1575+7 814D F640 or 40h ; write bit 242: 1582+11 814F D381 out (0x81),a 243: 1593+7 8151 3E20 ld a, ' ' 244: 1600+11 8153 D380 out (0x80),a 245: 1611+17 8155 CD6481 call VDPWait 246: 247: 1628+6 8158 03 inc bc 248: 1634+4 8159 60 ld h,b 249: 1638+4 815A 69 ld l,c 250: 1642+10 815B 11C03B ld de, 0x3800 + 960 ; buffer end 251: 1652+15 815E ED52 sbc hl, de 252: 253: 1667+10 8160 C24781 jp nz, TermScrollClearLineLoop 254: 1677+10 8163 C9 ret 255: 256: - 8164 VDPWait: 257: 1687+4 8164 00 nop 258: 1691+4 8165 00 nop 259: 1695+4 8166 00 nop 260: 1699+4 8167 00 nop 261: 1703+10 8168 C9 ret 262: 263: - 0000 VDPTextBufferStart equ 0 264: - 3B98 VDPTextBufferEnd equ 0x3800 + 920 265: 266: - 8169 TitleMessage: 267: - 8169 20205A38 db ' Z8C Mk IV - A Z80 Homebrew Computer ' 43204D6B 20495620 2D204120 5A383020 486F6D65 62726577 20436F6D 70757465 72202020 268: - 8191 2020524F db ' ROM Ver. 1.0 by Dennis Gunia (2022) ' 4D205665 722E2031 2E302062 79204465 6E6E6973 2047756E 69612028 32303232 29202020 269: - 81B9 20202020 db ' 48k RAM - 4MHz Z80 CPU ',0 20202020 2034386B 2052414D 202D2034 4D487A20 5A383020 43505520 20202020 20202020 00 270: 271: - 81E2 TmsSubs: 272: .include "tms.s" ; TMS graphics routines **** include/tms.s **** 1: ; TMS9918A graphics subroutines 2: ; Copyright 2018-2020 J.B. Langston 3: ; 4: ; Permission is hereby granted, free of charge, to any person obtaining a 5: ; copy of this software and associated documentation files (the "Software"), 6: ; to deal in the Software without restriction, including without limitation 7: ; the rights to use, copy, modify, merge, publish, distribute, sublicense, 8: ; and/or sell copies of the Software, and to permit persons to whom the 9: ; Software is furnished to do so, subject to the following conditions: 10: ; 11: ; The above copyright notice and this permission notice shall be included in 12: ; all copies or substantial portions of the Software. 13: ; 14: ; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15: ; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16: ; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17: ; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18: ; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19: ; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20: ; DEALINGS IN THE SOFTWARE. 21: 22: ; VDP Programmer's Guide: http://map.grauw.nl/resources/video/ti-vdp-programmers-guide.pdf 23: 24: - E400 phase 0xE400 25: ; --------------------------------------------------------------------------- 26: ; configuration parameters; can be changed at runtime 27: - E400 TmsPort: 28: - E400 E0 defb 0xE0 ; port for TMS vram (reg is 1 higher) 29: - E401 TmsWait: 30: - E401 40 defb 64 ; iterations to wait after ram access 31: - E402 TmsMode: 32: - E402 0000 defw 0 ; mode registers 33: - E404 TmsNameAddr: 34: - E404 0038 defw 3800h ; name table address (multiples of 400H) 35: - E406 TmsColorAddr: 36: - E406 0020 defw 2000h ; color table address (multiples of 40H) 37: - E408 TmsPatternAddr: 38: - E408 0000 defw 0 ; pattern table (multiples of 800H) 39: - E40A TmsSpritePatternAddr: 40: - E40A 0018 defw 1800h ; sprite attribute table (multiples of 80H) 41: - E40C TmsSpriteAttrAddr: 42: - E40C C03B defw 3bc0h ; sprite pattern table (multiples of 800H) 43: - E40E TmsScreenColors: 44: - E40E 00 defb 0 ; background (low nybble), text color (high nybble) 45: ; --------------------------------------------------------------------------- 46: ; register constants 47: - 81F1 dephase 48: - 81F1 setup_vars: 49: 50: 1713+7 81F1 3EE0 ld a,0xE0 51: 1720+13 81F3 3200E4 ld (TmsPort),a 52: 53: 1733+7 81F6 3E02 ld a,2 54: 1740+13 81F8 3201E4 ld (TmsWait),a 55: 56: 1753+7 81FB 3E00 ld a,0 57: 1760+13 81FD 3202E4 ld (TmsMode),a 58: 1773+7 8200 3E00 ld a,0 59: 1780+13 8202 3203E4 ld (TmsMode+1),a 60: 61: 1793+7 8205 3E00 ld a,0 62: 1800+13 8207 3204E4 ld (TmsNameAddr),a 63: 1813+7 820A 3E38 ld a,38h 64: 1820+13 820C 3205E4 ld (TmsNameAddr+1),a 65: 66: 1833+7 820F 3E00 ld a,0 67: 1840+13 8211 3208E4 ld (TmsPatternAddr),a 68: 1853+7 8214 3E00 ld a,0 69: 1860+13 8216 3209E4 ld (TmsPatternAddr+1),a 70: 71: 1873+7 8219 3E00 ld a,0 72: 1880+13 821B 3206E4 ld (TmsColorAddr),a 73: 1893+7 821E 3E20 ld a,20h 74: 1900+13 8220 3207E4 ld (TmsColorAddr+1),a 75: 76: 77: 1913+7 8223 3E00 ld a,0 78: 1920+13 8225 320AE4 ld (TmsSpritePatternAddr),a 79: 1933+7 8228 3E18 ld a,0x18 80: 1940+13 822A 320BE4 ld (TmsSpritePatternAddr+1),a 81: 82: 83: 1953+7 822D 3EC0 ld a,0xc0 84: 1960+13 822F 320CE4 ld (TmsSpriteAttrAddr),a 85: 1973+7 8232 3E3B ld a,0x3b 86: 1980+13 8234 320DE4 ld (TmsSpriteAttrAddr+1),a 87: 88: 1993+10 8237 C9 ret 89: 90: - 0040 TmsWriteBit: equ 40h ; bit to indicate memory write 91: 92: ; Registers 93: - 0080 TmsCtrl0Reg: equ 80h 94: - 0081 TmsCtrl1Reg: equ 81h 95: - 0082 TmsNameReg: equ 82h 96: - 0083 TmsColorTableReg: equ 83h 97: - 0084 TmsPatternReg: equ 84h 98: - 0085 TmsSpriteAttrReg: equ 85h 99: - 0086 TmsSpritePatternReg: equ 86h 100: - 0087 TmsColorReg: equ 87h 101: 102: ; Control Register Bits 103: - 0200 TmsM3: equ 200h 104: - 0100 TmsExtVideo: equ 100h 105: - 0080 Tms16k: equ 80h 106: - 0040 TmsDisplayEnable: equ 40h 107: - 0020 TmsIntEnableBit: equ 20h 108: - 0010 TmsM1: equ 10h 109: - 0008 TmsM2: equ 8 110: - 0002 TmsSprite32: equ 2 111: - 0001 TmsSpriteMag: equ 1 112: 113: ; --------------------------------------------------------------------------- 114: ; table lengths 115: 116: - 0300 TmsTileNameLen: equ 300h 117: - 03C0 TmsTextNameLen: equ 3c0h 118: 119: - 0020 TmsTileColorLen: equ 20h 120: - 0800 TmsBitmapColorLen: equ 800h 121: 122: - 0800 TmsTilePatternLen: equ 800h 123: - 0800 TmsTextPatternLen: equ 800h 124: - 0600 TmsMulticolorPatternLen: equ 600h 125: - 1800 TmsBitmapPatternLen: equ 1800h 126: 127: ; --------------------------------------------------------------------------- 128: ; color constants 129: 130: - 0000 TmsTransparent: equ 0 131: - 0001 TmsBlack: equ 1 132: - 0002 TmsMediumGreen: equ 2 133: - 0003 TmsLightGreen: equ 3 134: - 0004 TmsDarkBlue: equ 4 135: - 0005 TmsLightBlue: equ 5 136: - 0006 TmsDarkRed: equ 6 137: - 0007 TmsCyan: equ 7 138: - 0008 TmsMediumRed: equ 8 139: - 0009 TmsLightRed: equ 9 140: - 000A TmsDarkYellow: equ 0ah 141: - 000B TmsLightYellow: equ 0bh 142: - 000C TmsDarkGreen: equ 0ch 143: - 000D TmsMagenta: equ 0dh 144: - 000E TmsGray: equ 0eh 145: - 000F TmsWhite: equ 0fh 146: 147: ; --------------------------------------------------------------------------- 148: ; port I/O routines 149: 150: ; These routines access the ports configured in TmsPort. 151: 152: ; These memory locations can be set at runtime to support different hardware 153: ; configurations from the same binary. TmsProbe automatically detects the 154: ; TMS9918A on common ports. 155: 156: ; The TMS9918A RAM must not be accessed more than once every 8 us or display 157: ; corruption may occur. During vblank and with the display disabled, 158: ; accesses can be 2 us apart, but we will always use 8 us minimum delay. 159: 160: ; TmsRamIn/TmsRamOut include a configurable delay loop, which waits for the 161: ; configured iterations between VRAM writes to work properly with faster CPUs 162: 163: ; Minimum time to execute each procedure call: 164: ; Z80: 88 cycles, 8.8 us @ 10 MHz 165: ; Z180: 80 cycles, 8.64 us @ 9.216 MHz, 4.32 us @ 18.432, 2.16 us @ 36.864 166: ; 167: ; Additional delay per djnz iteration: 168: ; Z80: 8 cycles * (iterations - 1) 169: ; 0.8 us @ 10 MHz 170: ; Z180: 7 cycles * (iterations - 1) 171: ; 0.756 us @ 9.216 MHz, 0.378 us @ 18.432, 0.189 us @ 36.864 172: 173: ; Delay loop iterations required for different CPU speeds: 174: ; Z80 @ 10 MHz or less: 1 175: ; Z180 @ 9.216 MHz or less: 1 176: ; Z180 @ 18.432 MHz: 10 177: ; Z180 @ 36.864 MHz: 31 178: - 8238 010A1F TmsWaits: defb 1, 10, 31 ; wait iterations to add for different CPU speeds 179: 180: ; set up wait time based on clock multiplier in E 181: - 823B TmsSetWait: 182: 2003+7 823B 3E01 ld a,1 183: 2010+13 823D 3201E4 ld (TmsWait), a 184: 2023+10 8240 C9 ret 185: 186: ; try to find TMS9918A on common ports 187: - 8241 TmsProbe: 188: 2033+10 8241 216582 ld hl, TmsPorts 189: 2043+7 8244 0603 ld b, TmsNumPorts 190: - 8246 TmsProbeNext: 191: 2050+7 8246 7E ld a, (hl) 192: 2057+13 8247 3200E4 ld (TmsPort), a 193: 2070+17 824A CD7682 call TmsRegIn ; clear vsync bit 194: 2087+17 824D CD7682 call TmsRegIn ; check it again 195: 2104+10 8250 FA6082 jp m, TmsProbeFailed ; if still set, not a TMS9918A 196: 2114+10 8253 11FFFF ld de, 0ffffh ; long enough for another vsync 197: - 8256 TmsProbeWait: 198: 2124+17 8256 CD7682 call TmsRegIn ; check vsync bit again 199: 2141+5+6 8259 F8 ret m ; if set, it's a TMS9918A (and Z is clear) 200: 2146+6 825A 1B dec de ; otherwise, keep waiting 201: 2152+4 825B 7B ld a, e 202: 2156+4 825C B2 or d 203: 2160+10 825D C25682 jp nz, TmsProbeWait 204: - 8260 TmsProbeFailed: 205: 2170+6 8260 23 inc hl ; if still clear after this long, try next port 206: 2176+8+5 8261 10E3 djnz TmsProbeNext 207: 2184+4 8263 AF xor a ; set Z if we ran out of ports to check 208: 2188+10 8264 C9 ret 209: 210: - 8265 TmsPorts: ; List of ports to probe: 211: - 8265 80 defb 0x80 ; ColecoVision / SG-1000 212: - 8266 98 defb 98h ; MSX 213: - 8267 10 defb 10h ; Sord M5 (conflicts with z80ctrl SIO port) 214: ;defb 8 ; Tatung Einstein (conflicts with z80ctrl drive ports) 215: ;defb 1 ; MTX (not supported by TMS9918A video card) 216: ; add additional ports to check here 217: - 0003 TmsNumPorts: equ $ - TmsPorts 218: 219: ; set a single register value 220: ; A = register value 221: ; E = register to set 222: - 8268 TmsSetReg: 223: 2198+17 8268 CD6C82 call TmsRegOut 224: 2215+4 826B 7B ld a, e 225: ; fallthrough to TmsRegOut 226: 227: ; write to configured register port 228: ; parameters: 229: ; A = value to write 230: - 826C TmsRegOut: 231: 2219+11 826C C5 push bc 232: 2230+20 826D ED4B00E4 ld bc, (TmsPort) 233: 2250+4 8271 0C inc c 234: 2254+12 8272 ED79 out (c), a 235: 2266+10 8274 C1 pop bc 236: 2276+10 8275 C9 ret 237: 238: ; read from configured register port 239: ; returns: 240: ; A = value read 241: - 8276 TmsRegIn: 242: 2286+11 8276 C5 push bc 243: 2297+20 8277 ED4B00E4 ld bc, (TmsPort) 244: 2317+4 827B 0C inc c 245: 2321+12 827C ED78 in a, (c) 246: 2333+10 827E C1 pop bc 247: 2343+10 827F C9 ret 248: 249: ; write to configured VRAM port 250: ; parameters: 251: ; A = value to write 252: ; Z80 | Z180 cycles... 253: - 8280 TmsRamOut: ; 17 | 16 (call) 254: 2353+11 8280 C5 push bc ; 11 | 11 255: 2364+20 8281 ED4B00E4 ld bc, (TmsPort) ; 20 | 18 256: 2384+12 8285 ED79 out (c), a ; 12 | 10 257: - 8287 TmsRamOutDelay: 258: 2396+8+5 8287 10FE djnz TmsRamOutDelay ; 8 | 7 plus (13 | 9) * (iterations-1) 259: 2404+10 8289 C1 pop bc ; 10 | 9 260: 2414+10 828A C9 ret ; 10 | 9 261: 262: ; read from configured VRAM port 263: ; returns: 264: ; A = value read 265: - 828B TmsRamIn: 266: 2424+11 828B C5 push bc 267: 2435+20 828C ED4B00E4 ld bc, (TmsPort) 268: - 8290 TmsRamInDelay: 269: 2455+8+5 8290 10FE djnz TmsRamInDelay 270: 2463+12 8292 ED78 in a, (c) 271: 2475+20 8294 ED4B00E4 ld bc, (TmsPort) 272: - 8298 TmsRamInDelay2: 273: 2495+8+5 8298 10FE djnz TmsRamInDelay2 274: 2503+10 829A C1 pop bc 275: 2513+10 829B C9 ret 276: 277: ; --------------------------------------------------------------------------- 278: ; register configuration routines 279: 280: ; set the background color 281: ; A = requested color 282: - 829C TmsBackground: 283: 2523+7 829C E60F and 0fh 284: 2530+4 829E 47 ld b, a 285: 2534+13 829F 3A0EE4 ld a, (TmsScreenColors) 286: 2547+7 82A2 E6F0 and 0f0h 287: 2554+4 82A4 B0 or b 288: 2558+13 82A5 320EE4 ld (TmsScreenColors), a 289: 2571+7 82A8 1E87 ld e, TmsColorReg 290: 2578+10 82AA C36882 jp TmsSetReg 291: 292: ; set the sprite configuration 293: ; A = sprite options 294: - 82AD TmsSpriteConfig: 295: 2588+7 82AD E603 and TmsSprite32|TmsSpriteMag 296: 2595+4 82AF 47 ld b, a 297: 2599+13 82B0 3A02E4 ld a, (TmsMode) 298: 2612+7 82B3 E6FC and ~(TmsSprite32|TmsSpriteMag) 299: 2619+4 82B5 B0 or b 300: 2623+13 82B6 3202E4 ld (TmsMode), a 301: 2636+7 82B9 1E81 ld e, TmsCtrl1Reg 302: 2643+10 82BB C36882 jp TmsSetReg 303: 304: 305: ; enable vblank interrupts 306: - 82BE TmsIntEnable: 307: 2653+13 82BE 3A02E4 ld a, (TmsMode) 308: 2666+7 82C1 F620 or TmsIntEnableBit 309: 2673+13 82C3 3202E4 ld (TmsMode), a 310: 2686+7 82C6 1E81 ld e, TmsCtrl1Reg 311: 2693+10 82C8 C36882 jp TmsSetReg 312: 313: ; disable vblank interrupts 314: - 82CB TmsIntDisable: 315: 2703+13 82CB 3A02E4 ld a, (TmsMode) 316: 2716+7 82CE E6DF and ~TmsIntEnableBit 317: 2723+13 82D0 3202E4 ld (TmsMode), a 318: 2736+7 82D3 1E81 ld e, TmsCtrl1Reg 319: 2743+10 82D5 C36882 jp TmsSetReg 320: 321: ; --------------------------------------------------------------------------- 322: ; initialization routines 323: 324: - 0080 TmsBlankFlags: equ Tms16k 325: - 00C0 TmsTileFlags: equ Tms16k | TmsDisplayEnable 326: - 00D0 TmsTextFlags: equ Tms16k | TmsDisplayEnable | TmsM1 327: - 00C8 TmsMulticolorFlags: equ Tms16k | TmsDisplayEnable | TmsM2 328: - 02C0 TmsBitmapFlags: equ Tms16k | TmsDisplayEnable | TmsM3 329: 330: ; reset registers and clear all 16KB of video memory 331: - 82D8 TmsReset: 332: 2753+10 82D8 218000 ld hl, TmsBlankFlags ; blank the screen with 16KB enabled 333: 2763+16 82DB 2202E4 ld (TmsMode), hl 334: 2779+4 82DE 7D ld a, l 335: 2783+7 82DF 1E81 ld e, TmsCtrl1Reg 336: 2790+17 82E1 CD6882 call TmsSetReg 337: 2807+4 82E4 7C ld a, h 338: 2811+7 82E5 1E80 ld e, TmsCtrl0Reg 339: 2818+17 82E7 CD6882 call TmsSetReg 340: 2835+7 82EA 3E00 ld a, TmsTransparent 341: 2842+17 82EC CD9C82 call TmsBackground 342: 2859+7 82EF 3E00 ld a, TmsTransparent 343: 2866+17 82F1 CD4D84 call TmsTextColor 344: 2883+10 82F4 110000 ld de, 0 ; clear entire VRAM 345: 2893+10 82F7 010040 ld bc, 4000h 346: 2903+7 82FA 3E00 ld a, 0 347: 2910+17 82FC CD3E84 call TmsFill 348: 2927+10 82FF C9 ret 349: 350: ; initialize for multicolor mode 351: - 8300 TmsMulticolor: 352: 2937+17 8300 CDD882 call TmsReset 353: 2954+20 8303 ED5B04E4 ld de, (TmsNameAddr) 354: 2974+17 8307 CD1784 call TmsWriteAddr 355: 2991+7 830A 1606 ld d, 6 ; name table has 6 sections 356: 2998+7 830C 1E00 ld e, 0 ; lines in first section start at 0 357: - 830E TmsSectionLoop: 358: 3005+7 830E 0E04 ld c, 4 ; each section has 4 identical lines 359: - 8310 TmsLineLoop: 360: 3012+7 8310 0620 ld b, 32 ; each line is 32 bytes long 361: 3019+4 8312 7B ld a, e ; same starting value for each line in section 362: - 8313 TmsByteLoop: 363: 3023+17 8313 CD8082 call TmsRamOut 364: 3040+4 8316 3C inc a ; byte value 365: 3044+8+5 8317 10FA djnz TmsByteLoop 366: 3052+4 8319 0D dec c ; line counter 367: 3056+10 831A C21083 jp nz, TmsLineLoop 368: 3066+4 831D 5F ld e, a ; next starting value = current + 32 369: 3070+4 831E 15 dec d ; section counter 370: 3074+10 831F C20E83 jp nz, TmsSectionLoop 371: 3084+10 8322 21C800 ld hl, TmsMulticolorFlags 372: 3094+16 8325 2202E4 ld (TmsMode), hl 373: 3110+10 8328 C34C83 jp TmsInitNonBitmap 374: 375: ; initialize for tiled graphics 376: - 832B TmsTile: 377: 3120+17 832B CDD882 call TmsReset 378: 3137+10 832E 21C000 ld hl, TmsTileFlags 379: 3147+16 8331 2202E4 ld (TmsMode), hl 380: 3163+10 8334 C34C83 jp TmsInitNonBitmap 381: 382: ; initialize for text mode 383: ; HL = address of font to load 384: - 8337 TmsTextMode: 385: 3173+11 8337 E5 push hl 386: 3184+17 8338 CDD882 call TmsReset 387: 3201+10 833B E1 pop hl 388: 3211+20 833C ED5B08E4 ld de, (TmsPatternAddr) ; load font from address in hl 389: 3231+10 8340 010008 ld bc, TmsTextPatternLen 390: 3241+17 8343 CD2F84 call TmsWrite 391: 3258+10 8346 21D000 ld hl, TmsTextFlags 392: 3268+16 8349 2202E4 ld (TmsMode), hl 393: ; fallthrough to TmsInitNonBitmap 394: 395: ; non-bitmap color and pattern table configuration 396: - 834C TmsInitNonBitmap: 397: ; set up color table address (register = address / 400H) 398: 3284+13 834C 3A06E4 ld a, (TmsColorAddr) 399: 3297+7 834F E6C0 and 0c0h 400: 3304+13 8351 3206E4 ld (TmsColorAddr), a 401: 3317+4 8354 57 ld d, a 402: 3321+13 8355 3A07E4 ld a, (TmsColorAddr+1) 403: 3334+7 8358 E63F and 3fh 404: 3341+13 835A 3207E4 ld (TmsColorAddr+1), a 405: 3354+8 835D CB12 rl d 406: 3362+4 835F 17 rla 407: 3366+8 8360 CB12 rl d 408: 3374+4 8362 17 rla 409: 3378+7 8363 1E83 ld e, TmsColorTableReg 410: 3385+17 8365 CD6882 call TmsSetReg 411: 412: ; set up pattern table address (register = address / 800H) 413: 3402+4 8368 AF xor a 414: 3406+13 8369 3208E4 ld (TmsPatternAddr), a 415: 3419+13 836C 3A09E4 ld a, (TmsPatternAddr+1) 416: 3432+7 836F E638 and 38h 417: 3439+13 8371 3209E4 ld (TmsPatternAddr+1), a 418: 3452+4 8374 0F rrca 419: 3456+4 8375 0F rrca 420: 3460+4 8376 0F rrca 421: 3464+7 8377 1E84 ld e, TmsPatternReg 422: 3471+17 8379 CD6882 call TmsSetReg 423: 3488+10 837C C3CA83 jp TmsInitCommon 424: 425: ; initialize for bitmapped graphics 426: - 837F TmsBitmap: 427: 3498+17 837F CDD882 call TmsReset 428: 3515+20 8382 ED5B04E4 ld de, (TmsNameAddr) ; initialize name table with 3 sets 429: 3535+17 8386 CD1784 call TmsWriteAddr ; of 256 bytes ranging from 00-FF 430: 3552+7 8389 0603 ld b, 3 431: 3559+4 838B AF xor a 432: - 838C TmsBitmapLoop: 433: 3563+17 838C CD8082 call TmsRamOut 434: 3580+4 838F 3C inc a 435: 3584+10 8390 C28C83 jp nz, TmsBitmapLoop 436: 3594+8+5 8393 10F7 djnz TmsBitmapLoop 437: 3602+10 8395 21C002 ld hl, TmsBitmapFlags 438: 3612+16 8398 2202E4 ld (TmsMode), hl 439: 440: ; set up color table at 0H (register = 7FH) or 2000H (register = 0FFH) 441: 3628+4 839B AF xor a 442: 3632+13 839C 3206E4 ld (TmsColorAddr), a 443: 3645+13 839F 3208E4 ld (TmsPatternAddr), a 444: 3658+13 83A2 3A07E4 ld a, (TmsColorAddr+1) 445: 3671+7 83A5 E620 and 20h 446: 3678+13 83A7 3207E4 ld (TmsColorAddr+1), a 447: 3691+7 83AA 3EFF ld a, 0ffh ; color table at 2000H 448: 3698+10 83AC C2B183 jp nz, TmsColorTableHigh 449: 3708+7 83AF 3E7F ld a, 7fh ; color table at 0H 450: - 83B1 TmsColorTableHigh: 451: 3715+7 83B1 1E83 ld e, TmsColorTableReg 452: 3722+17 83B3 CD6882 call TmsSetReg 453: 454: ; set up pattern table at 0H (register = 3) or 2000H (register = 7) 455: 3739+13 83B6 3A09E4 ld a, (TmsPatternAddr+1) 456: 3752+7 83B9 E620 and 20h 457: 3759+13 83BB 3209E4 ld (TmsPatternAddr+1), a 458: 3772+7 83BE 3E07 ld a, 7 ; pattern table at 2000H 459: 3779+10 83C0 C2C583 jp nz, TmsPatternTableHigh 460: 3789+7 83C3 3E03 ld a, 3 ; pattern table at 0H 461: - 83C5 TmsPatternTableHigh: 462: 3796+7 83C5 1E84 ld e, TmsPatternReg 463: 3803+17 83C7 CD6882 call TmsSetReg 464: ; fall through to TmsInitCommon 465: 466: 467: ; common initialization for all modes 468: - 83CA TmsInitCommon: 469: ; set up name table address (register = address / 400H) 470: 3820+4 83CA AF xor a 471: 3824+13 83CB 3204E4 ld (TmsNameAddr), a 472: 3837+13 83CE 3A05E4 ld a, (TmsNameAddr+1) 473: 3850+7 83D1 E63C and 3ch 474: 3857+13 83D3 3205E4 ld (TmsNameAddr+1), a 475: 3870+4 83D6 0F rrca 476: 3874+4 83D7 0F rrca 477: 3878+7 83D8 1E82 ld e, TmsNameReg 478: 3885+17 83DA CD6882 call TmsSetReg 479: 480: ; set up sprite pattern table address (register = address / 80H) 481: 3902+13 83DD 3A0CE4 ld a, (TmsSpriteAttrAddr) 482: 3915+7 83E0 E680 and 80h 483: 3922+13 83E2 320CE4 ld (TmsSpriteAttrAddr), a 484: 3935+4 83E5 57 ld d, a 485: 3939+13 83E6 3A0DE4 ld a, (TmsSpriteAttrAddr+1) 486: 3952+7 83E9 E67F and 7fh 487: 3959+8 83EB CB12 rl d 488: 3967+4 83ED 17 rla 489: 3971+7 83EE 1E85 ld e, TmsSpriteAttrReg 490: 3978+17 83F0 CD6882 call TmsSetReg 491: 492: ; set up sprite attribute table address (register = address / 800H) 493: 3995+4 83F3 AF xor a 494: 3999+13 83F4 320AE4 ld (TmsSpritePatternAddr), a 495: 4012+13 83F7 3A0BE4 ld a, (TmsSpritePatternAddr+1) 496: 4025+7 83FA E638 and 38h 497: 4032+13 83FC 320BE4 ld (TmsSpritePatternAddr+1), a 498: 4045+4 83FF 0F rrca 499: 4049+4 8400 0F rrca 500: 4053+4 8401 0F rrca 501: 4057+7 8402 1E86 ld e, TmsSpritePatternReg 502: 4064+17 8404 CD6882 call TmsSetReg 503: 504: ; set up control registers 505: 4081+7 8407 1E81 ld e, TmsCtrl1Reg 506: 4088+13 8409 3A02E4 ld a, (TmsMode) 507: 4101+17 840C CD6882 call TmsSetReg 508: 4118+13 840F 3A03E4 ld a, (TmsMode+1) 509: 4131+7 8412 1E80 ld e, TmsCtrl0Reg 510: 4138+10 8414 C36882 jp TmsSetReg 511: 512: ; --------------------------------------------------------------------------- 513: ; memory access routines 514: 515: ; set the next address of vram to write 516: ; DE = address 517: - 8417 TmsWriteAddr: 518: 4148+4 8417 7B ld a, e ; send lsb 519: 4152+17 8418 CD6C82 call TmsRegOut 520: 4169+4 841B 7A ld a, d ; mask off msb to max of 16KB 521: 4173+7 841C E63F and 3fh 522: 4180+7 841E F640 or TmsWriteBit ; indicate that this is a write 523: 4187+17 8420 CD6C82 call TmsRegOut 524: 4204+10 8423 C9 ret 525: 526: ; set the next address of vram to read 527: ; DE = address 528: - 8424 TmsReadAddr: 529: 4214+4 8424 7B ld a, e ; send lsb 530: 4218+17 8425 CD6C82 call TmsRegOut 531: 4235+4 8428 7A ld a, d ; mask off msb to max of 16KB 532: 4239+7 8429 E63F and 3Fh 533: 4246+17 842B CD6C82 call TmsRegOut 534: 4263+10 842E C9 ret 535: 536: ; copy bytes from ram to vram 537: ; HL = ram source address 538: ; DE = vram destination address 539: ; BC = byte count 540: - 842F TmsWrite: 541: 4273+17 842F CD1784 call TmsWriteAddr 542: - 8432 TmsWriteLoop: 543: 4290+7 8432 7E ld a, (hl) 544: 4297+17 8433 CD8082 call TmsRamOut 545: 4314+6 8436 23 inc hl 546: 4320+6 8437 0B dec bc 547: 4326+4 8438 78 ld a, b 548: 4330+4 8439 B1 or c 549: 4334+10 843A C23284 jp nz, TmsWriteLoop 550: 4344+10 843D C9 ret 551: 552: ; fill a section of memory with a single value 553: ; A = value to fill 554: ; DE = vram destination address 555: ; BC = byte count 556: - 843E TmsFill: 557: 4354+11 843E F5 push af 558: 4365+17 843F CD1784 call TmsWriteAddr 559: 4382+10 8442 F1 pop af 560: - 8443 TmsFillLoop: 561: 4392+17 8443 CD8082 call TmsRamOut 562: 4409+4 8446 0D dec c 563: 4413+10 8447 C24384 jp nz, TmsFillLoop 564: 4423+8+5 844A 10F7 djnz TmsFillLoop 565: 4431+10 844C C9 ret 566: 567: ; --------------------------------------------------------------------------- 568: ; text routines 569: ; set text color 570: ; A = requested color 571: - 844D TmsTextColor: 572: 4441+4 844D 87 add a, a ; text color into high nybble 573: 4445+4 844E 87 add a, a 574: 4449+4 844F 87 add a, a 575: 4453+4 8450 87 add a, a 576: 4457+4 8451 47 ld b, a ; save for later 577: 4461+13 8452 3A0EE4 ld a, (TmsScreenColors) ; get current colors 578: 4474+7 8455 E60F and 0fh ; mask off old text color 579: 4481+4 8457 B0 or b ; set new text color 580: 4485+13 8458 320EE4 ld (TmsScreenColors), a 581: 4498+7 845B 1E87 ld e, TmsColorReg 582: 4505+10 845D C36882 jp TmsSetReg ; save it back 583: 584: ; set the address to place text at X/Y coordinate 585: ; A = X 586: ; E = Y 587: - 8460 TmsTextPos: 588: 4515+7 8460 1600 ld d, 0 589: 4522+10 8462 210000 ld hl, 0 590: 4532+11 8465 19 add hl, de ; Y x 1 591: 4543+11 8466 29 add hl, hl ; Y x 2 592: 4554+11 8467 29 add hl, hl ; Y x 4 593: 4565+11 8468 19 add hl, de ; Y x 5 594: 4576+11 8469 29 add hl, hl ; Y x 10 595: 4587+11 846A 29 add hl, hl ; Y x 20 596: 4598+11 846B 29 add hl, hl ; Y x 40 597: 4609+4 846C 5F ld e, a 598: 4613+11 846D 19 add hl, de ; add X for final address 599: 4624+20 846E ED5B04E4 ld de, (TmsNameAddr) ; add name table base address 600: 4644+11 8472 19 add hl, de 601: 4655+4 8473 EB ex de, hl 602: 4659+10 8474 C31784 jp TmsWriteAddr 603: 604: ; copy a null-terminated string to VRAM 605: ; HL = ram source address 606: - 8477 TmsStrOut: 607: 4669+7 8477 7E ld a, (hl) 608: 4676+7 8478 FE00 cp 0 ; return when NULL is encountered 609: 4683+5+6 847A C8 ret z 610: 4688+17 847B CD8082 call TmsRamOut 611: 4705+6 847E 23 inc hl 612: 4711+10 847F C37784 jp TmsStrOut 613: 614: ; repeat a character a certain number of times 615: ; A = character to output 616: ; B = count 617: - 8482 TmsRepeat: 618: 4721+17 8482 CD8082 call TmsRamOut 619: 4738+8+5 8485 10FB djnz TmsRepeat 620: 4746+10 8487 C9 ret 621: 622: ; output a character 623: ; A = character to output 624: - 8280 TmsChrOut: equ TmsRamOut 625: 626: ; --------------------------------------------------------------------------- 627: ; bitmap routines 628: 629: - A02F TmsClearPixel: equ 0A02Fh ; cpl, and b 630: - 00B0 TmsSetPixel: equ 0B0h ; nop, or b 631: 632: ; set operation for TmsPlotPixel to perform 633: ; HL = pixel operation (TmsClearPixel, TmsSetPixel) 634: - 8488 TmsPixelOp: 635: 4756+16 8488 22A984 ld (TmsPixelOpPlaceHolder), hl 636: 4772+10 848B C9 ret 637: 638: ; set or clear pixel at X, Y position 639: ; B = Y position 640: ; C = X position 641: - 848C TmsPlotPixel: 642: 4782+4 848C 78 ld a, b ; bail out if Y coord > 191 643: 4786+7 848D FEC0 cp 192 644: 4793+5+6 848F D0 ret nc 645: 4798+17 8490 CDCF84 call TmsXYAddr ; get address in DE for X/Y coord in BC 646: 4815+4 8493 79 ld a, c ; get lower 3 bits of X coord 647: 4819+7 8494 E607 and 7 648: 4826+7 8496 0600 ld b, 0 649: 4833+4 8498 4F ld c, a 650: 4837+10 8499 21B384 ld hl, TmsMaskLookup ; address of mask in table 651: 4847+11 849C 09 add hl, bc 652: 4858+7 849D 46 ld b, (hl) ; save mask in B 653: 4865+16 849E 2A08E4 ld hl, (TmsPatternAddr) ; get base address for pattern table 654: 4881+11 84A1 19 add hl, de 655: 4892+4 84A2 EB ex de, hl 656: 4896+17 84A3 CD2484 call TmsReadAddr ; set read within pattern table 657: 4913+17 84A6 CD8B82 call TmsRamIn 658: - 84A9 TmsPixelOpPlaceHolder: 659: 4930+4 84A9 B0 or b ; mask bit in previous byte 660: 4934+4 84AA 00 nop ; place holder for 2 byte mask operation 661: 4938+11 84AB F5 push af 662: 4949+17 84AC CD1784 call TmsWriteAddr ; set write address within pattern table 663: 4966+10 84AF F1 pop af 664: 4976+10 84B0 C38082 jp TmsRamOut 665: 666: - 84B3 TmsMaskLookup: 667: - 84B3 80402010 defb 80h, 40h, 20h, 10h, 8h, 4h, 2h, 1h 08040201 668: 669: ; set the color for a block of pixels in bitmap mode 670: ; B = Y position 671: ; C = X position 672: ; A = foreground/background color to set 673: - 84BB TmsPixelColor: 674: 4986+11 84BB F5 push af 675: 4997+4 84BC 78 ld a, b ; bail out if Y coord > 191 676: 5001+7 84BD FEC0 cp 192 677: 5008+5+6 84BF D0 ret nc 678: 5013+17 84C0 CDCF84 call TmsXYAddr ; get address in DE for X/Y coord in BC 679: 5030+16 84C3 2A06E4 ld hl, (TmsColorAddr) ; add the color table base address 680: 5046+11 84C6 19 add hl, de 681: 5057+4 84C7 EB ex de, hl 682: 5061+17 84C8 CD1784 call TmsWriteAddr ; set write address within color table 683: 5078+10 84CB F1 pop af 684: 5088+10 84CC C38082 jp TmsRamOut 685: 686: ; calculate address byte containing X/Y coordinate 687: ; B = Y position 688: ; C = X position 689: ; returns address in DE 690: - 84CF TmsXYAddr: 691: 5098+4 84CF 78 ld a, b ; d = (y / 8) 692: 5102+4 84D0 0F rrca 693: 5106+4 84D1 0F rrca 694: 5110+4 84D2 0F rrca 695: 5114+7 84D3 E61F and 1fh 696: 5121+4 84D5 57 ld d, a 697: 698: 5125+4 84D6 79 ld a, c ; e = (x & f8) 699: 5129+7 84D7 E6F8 and 0f8h 700: 5136+4 84D9 5F ld e, a 701: 702: 5140+4 84DA 78 ld a, b ; e += (y & 7) 703: 5144+7 84DB E607 and 7 704: 5151+4 84DD B3 or e 705: 5155+4 84DE 5F ld e, a **** test.asm **** 273: 5159+10 84DF C9 ret 274: ; .include "utility.s" ; BDOS utility routines 275: .include "font1.s" **** include/font1.s **** 1: - 84E0 TmsFont: 2: ; 6x8 bitmap font by Oleg Kosenkov 3: ; Source: https://github.com/idispatch/raster-fonts/blob/master/font-6x8.c 4: 5: ; code=0, hex=0x00, ascii="^@" 6: - 84E0 00 defb 00000000b 7: - 84E1 00 defb 00000000b 8: - 84E2 00 defb 00000000b 9: - 84E3 00 defb 00000000b 10: - 84E4 00 defb 00000000b 11: - 84E5 00 defb 00000000b 12: - 84E6 00 defb 00000000b 13: - 84E7 00 defb 00000000b 14: 15: ; code=1, hex=0x01, ascii="^A" 16: - 84E8 38 defb 00111000b 17: - 84E9 44 defb 01000100b 18: - 84EA 6C defb 01101100b 19: - 84EB 44 defb 01000100b 20: - 84EC 54 defb 01010100b 21: - 84ED 44 defb 01000100b 22: - 84EE 38 defb 00111000b 23: - 84EF 00 defb 00000000b 24: 25: ; code=2, hex=0x02, ascii="^B" 26: - 84F0 38 defb 00111000b 27: - 84F1 7C defb 01111100b 28: - 84F2 54 defb 01010100b 29: - 84F3 7C defb 01111100b 30: - 84F4 44 defb 01000100b 31: - 84F5 7C defb 01111100b 32: - 84F6 38 defb 00111000b 33: - 84F7 00 defb 00000000b 34: 35: ; code=3, hex=0x03, ascii="^C" 36: - 84F8 00 defb 00000000b 37: - 84F9 28 defb 00101000b 38: - 84FA 7C defb 01111100b 39: - 84FB 7C defb 01111100b 40: - 84FC 7C defb 01111100b 41: - 84FD 38 defb 00111000b 42: - 84FE 10 defb 00010000b 43: - 84FF 00 defb 00000000b 44: 45: ; code=4, hex=0x04, ascii="^D" 46: - 8500 00 defb 00000000b 47: - 8501 10 defb 00010000b 48: - 8502 38 defb 00111000b 49: - 8503 7C defb 01111100b 50: - 8504 7C defb 01111100b 51: - 8505 38 defb 00111000b 52: - 8506 10 defb 00010000b 53: - 8507 00 defb 00000000b 54: 55: ; code=5, hex=0x05, ascii="^E" 56: - 8508 10 defb 00010000b 57: - 8509 38 defb 00111000b 58: - 850A 38 defb 00111000b 59: - 850B 10 defb 00010000b 60: - 850C 7C defb 01111100b 61: - 850D 7C defb 01111100b 62: - 850E 10 defb 00010000b 63: - 850F 00 defb 00000000b 64: 65: ; code=6, hex=0x06, ascii="^F" 66: - 8510 00 defb 00000000b 67: - 8511 10 defb 00010000b 68: - 8512 38 defb 00111000b 69: - 8513 7C defb 01111100b 70: - 8514 7C defb 01111100b 71: - 8515 10 defb 00010000b 72: - 8516 38 defb 00111000b 73: - 8517 00 defb 00000000b 74: 75: ; code=7, hex=0x07, ascii="^G" 76: - 8518 00 defb 00000000b 77: - 8519 00 defb 00000000b 78: - 851A 00 defb 00000000b 79: - 851B 30 defb 00110000b 80: - 851C 30 defb 00110000b 81: - 851D 00 defb 00000000b 82: - 851E 00 defb 00000000b 83: - 851F 00 defb 00000000b 84: 85: ; code=8, hex=0x08, ascii="^H" 86: - 8520 FC defb 11111100b 87: - 8521 FC defb 11111100b 88: - 8522 FC defb 11111100b 89: - 8523 CC defb 11001100b 90: - 8524 CC defb 11001100b 91: - 8525 FC defb 11111100b 92: - 8526 FC defb 11111100b 93: - 8527 FC defb 11111100b 94: 95: ; code=9, hex=0x09, ascii="^I" 96: - 8528 00 defb 00000000b 97: - 8529 00 defb 00000000b 98: - 852A 78 defb 01111000b 99: - 852B 48 defb 01001000b 100: - 852C 48 defb 01001000b 101: - 852D 78 defb 01111000b 102: - 852E 00 defb 00000000b 103: - 852F 00 defb 00000000b 104: 105: ; code=10, hex=0x0A, ascii="^J" 106: - 8530 FC defb 11111100b 107: - 8531 FC defb 11111100b 108: - 8532 84 defb 10000100b 109: - 8533 B4 defb 10110100b 110: - 8534 B4 defb 10110100b 111: - 8535 84 defb 10000100b 112: - 8536 FC defb 11111100b 113: - 8537 FC defb 11111100b 114: 115: ; code=11, hex=0x0b, ascii="^K" 116: - 8538 00 defb 00000000b 117: - 8539 1C defb 00011100b 118: - 853A 0C defb 00001100b 119: - 853B 34 defb 00110100b 120: - 853C 48 defb 01001000b 121: - 853D 48 defb 01001000b 122: - 853E 30 defb 00110000b 123: - 853F 00 defb 00000000b 124: 125: ; code=12, hex=0x0C, ascii="^L" 126: - 8540 38 defb 00111000b 127: - 8541 44 defb 01000100b 128: - 8542 44 defb 01000100b 129: - 8543 38 defb 00111000b 130: - 8544 10 defb 00010000b 131: - 8545 38 defb 00111000b 132: - 8546 10 defb 00010000b 133: - 8547 00 defb 00000000b 134: 135: ; code=13, hex=0x0D, ascii="^M" 136: - 8548 10 defb 00010000b 137: - 8549 18 defb 00011000b 138: - 854A 14 defb 00010100b 139: - 854B 10 defb 00010000b 140: - 854C 30 defb 00110000b 141: - 854D 70 defb 01110000b 142: - 854E 60 defb 01100000b 143: - 854F 00 defb 00000000b 144: 145: ; code=14, hex=0x0E, ascii="^N" 146: - 8550 0C defb 00001100b 147: - 8551 34 defb 00110100b 148: - 8552 2C defb 00101100b 149: - 8553 34 defb 00110100b 150: - 8554 2C defb 00101100b 151: - 8555 6C defb 01101100b 152: - 8556 60 defb 01100000b 153: - 8557 00 defb 00000000b 154: 155: ; code=15, hex=0x0F, ascii="^O" 156: - 8558 00 defb 00000000b 157: - 8559 54 defb 01010100b 158: - 855A 38 defb 00111000b 159: - 855B 6C defb 01101100b 160: - 855C 38 defb 00111000b 161: - 855D 54 defb 01010100b 162: - 855E 00 defb 00000000b 163: - 855F 00 defb 00000000b 164: 165: ; code=16, hex=0x10, ascii="^P" 166: - 8560 20 defb 00100000b 167: - 8561 30 defb 00110000b 168: - 8562 38 defb 00111000b 169: - 8563 3C defb 00111100b 170: - 8564 38 defb 00111000b 171: - 8565 30 defb 00110000b 172: - 8566 20 defb 00100000b 173: - 8567 00 defb 00000000b 174: 175: ; code=17, hex=0x11, ascii="^Q" 176: - 8568 08 defb 00001000b 177: - 8569 18 defb 00011000b 178: - 856A 38 defb 00111000b 179: - 856B 78 defb 01111000b 180: - 856C 38 defb 00111000b 181: - 856D 18 defb 00011000b 182: - 856E 08 defb 00001000b 183: - 856F 00 defb 00000000b 184: 185: ; code=18, hex=0x12, ascii="^R" 186: - 8570 10 defb 00010000b 187: - 8571 38 defb 00111000b 188: - 8572 7C defb 01111100b 189: - 8573 10 defb 00010000b 190: - 8574 7C defb 01111100b 191: - 8575 38 defb 00111000b 192: - 8576 10 defb 00010000b 193: - 8577 00 defb 00000000b 194: 195: ; code=19, hex=0x13, ascii="^S" 196: - 8578 28 defb 00101000b 197: - 8579 28 defb 00101000b 198: - 857A 28 defb 00101000b 199: - 857B 28 defb 00101000b 200: - 857C 28 defb 00101000b 201: - 857D 00 defb 00000000b 202: - 857E 28 defb 00101000b 203: - 857F 00 defb 00000000b 204: 205: ; code=20, hex=0x14, ascii="^T" 206: - 8580 3C defb 00111100b 207: - 8581 54 defb 01010100b 208: - 8582 54 defb 01010100b 209: - 8583 34 defb 00110100b 210: - 8584 14 defb 00010100b 211: - 8585 14 defb 00010100b 212: - 8586 14 defb 00010100b 213: - 8587 00 defb 00000000b 214: 215: ; code=21, hex=0x15, ascii="^U" 216: - 8588 38 defb 00111000b 217: - 8589 44 defb 01000100b 218: - 858A 30 defb 00110000b 219: - 858B 28 defb 00101000b 220: - 858C 18 defb 00011000b 221: - 858D 44 defb 01000100b 222: - 858E 38 defb 00111000b 223: - 858F 00 defb 00000000b 224: 225: ; code=22, hex=0x16, ascii="^V" 226: - 8590 00 defb 00000000b 227: - 8591 00 defb 00000000b 228: - 8592 00 defb 00000000b 229: - 8593 00 defb 00000000b 230: - 8594 00 defb 00000000b 231: - 8595 78 defb 01111000b 232: - 8596 78 defb 01111000b 233: - 8597 00 defb 00000000b 234: 235: ; code=23, hex=0x17, ascii="^W" 236: - 8598 10 defb 00010000b 237: - 8599 38 defb 00111000b 238: - 859A 7C defb 01111100b 239: - 859B 10 defb 00010000b 240: - 859C 7C defb 01111100b 241: - 859D 38 defb 00111000b 242: - 859E 10 defb 00010000b 243: - 859F 38 defb 00111000b 244: 245: ; code=24, hex=0x18, ascii="^X" 246: - 85A0 10 defb 00010000b 247: - 85A1 38 defb 00111000b 248: - 85A2 7C defb 01111100b 249: - 85A3 10 defb 00010000b 250: - 85A4 10 defb 00010000b 251: - 85A5 10 defb 00010000b 252: - 85A6 10 defb 00010000b 253: - 85A7 00 defb 00000000b 254: 255: ; code=25, hex=0x19, ascii="^Y" 256: - 85A8 10 defb 00010000b 257: - 85A9 10 defb 00010000b 258: - 85AA 10 defb 00010000b 259: - 85AB 10 defb 00010000b 260: - 85AC 7C defb 01111100b 261: - 85AD 38 defb 00111000b 262: - 85AE 10 defb 00010000b 263: - 85AF 00 defb 00000000b 264: 265: ; code=26, hex=0x1A, ascii="^Z" 266: - 85B0 00 defb 00000000b 267: - 85B1 10 defb 00010000b 268: - 85B2 18 defb 00011000b 269: - 85B3 7C defb 01111100b 270: - 85B4 18 defb 00011000b 271: - 85B5 10 defb 00010000b 272: - 85B6 00 defb 00000000b 273: - 85B7 00 defb 00000000b 274: 275: ; code=27, hex=0x1B, ascii="^[" 276: - 85B8 00 defb 00000000b 277: - 85B9 10 defb 00010000b 278: - 85BA 30 defb 00110000b 279: - 85BB 7C defb 01111100b 280: - 85BC 30 defb 00110000b 281: - 85BD 10 defb 00010000b 282: - 85BE 00 defb 00000000b 283: - 85BF 00 defb 00000000b 284: 285: ; code=28, hex=0x1C, ascii="^\" 286: - 85C0 00 defb 00000000b 287: - 85C1 00 defb 00000000b 288: - 85C2 00 defb 00000000b 289: - 85C3 40 defb 01000000b 290: - 85C4 40 defb 01000000b 291: - 85C5 40 defb 01000000b 292: - 85C6 7C defb 01111100b 293: - 85C7 00 defb 00000000b 294: 295: ; code=29, hex=0x1D, ascii="^]" 296: - 85C8 00 defb 00000000b 297: - 85C9 28 defb 00101000b 298: - 85CA 28 defb 00101000b 299: - 85CB 7C defb 01111100b 300: - 85CC 28 defb 00101000b 301: - 85CD 28 defb 00101000b 302: - 85CE 00 defb 00000000b 303: - 85CF 00 defb 00000000b 304: 305: ; code=30, hex=0x1E, ascii="^^" 306: - 85D0 10 defb 00010000b 307: - 85D1 10 defb 00010000b 308: - 85D2 38 defb 00111000b 309: - 85D3 38 defb 00111000b 310: - 85D4 7C defb 01111100b 311: - 85D5 7C defb 01111100b 312: - 85D6 00 defb 00000000b 313: - 85D7 00 defb 00000000b 314: 315: ; code=31, hex=0x1F, ascii="^_" 316: - 85D8 7C defb 01111100b 317: - 85D9 7C defb 01111100b 318: - 85DA 38 defb 00111000b 319: - 85DB 38 defb 00111000b 320: - 85DC 10 defb 00010000b 321: - 85DD 10 defb 00010000b 322: - 85DE 00 defb 00000000b 323: - 85DF 00 defb 00000000b 324: 325: ; code=32, hex=0x20, ascii=" " 326: - 85E0 00 defb 00000000b 327: - 85E1 00 defb 00000000b 328: - 85E2 00 defb 00000000b 329: - 85E3 00 defb 00000000b 330: - 85E4 00 defb 00000000b 331: - 85E5 00 defb 00000000b 332: - 85E6 00 defb 00000000b 333: - 85E7 00 defb 00000000b 334: 335: ; code=33, hex=0x21, ascii="!" 336: - 85E8 10 defb 00010000b 337: - 85E9 38 defb 00111000b 338: - 85EA 38 defb 00111000b 339: - 85EB 10 defb 00010000b 340: - 85EC 10 defb 00010000b 341: - 85ED 00 defb 00000000b 342: - 85EE 10 defb 00010000b 343: - 85EF 00 defb 00000000b 344: 345: ; code=34, hex=0x22, ascii=""" 346: - 85F0 6C defb 01101100b 347: - 85F1 6C defb 01101100b 348: - 85F2 48 defb 01001000b 349: - 85F3 00 defb 00000000b 350: - 85F4 00 defb 00000000b 351: - 85F5 00 defb 00000000b 352: - 85F6 00 defb 00000000b 353: - 85F7 00 defb 00000000b 354: 355: ; code=35, hex=0x23, ascii="#" 356: - 85F8 00 defb 00000000b 357: - 85F9 28 defb 00101000b 358: - 85FA 7C defb 01111100b 359: - 85FB 28 defb 00101000b 360: - 85FC 28 defb 00101000b 361: - 85FD 7C defb 01111100b 362: - 85FE 28 defb 00101000b 363: - 85FF 00 defb 00000000b 364: 365: ; code=36, hex=0x24, ascii="$" 366: - 8600 20 defb 00100000b 367: - 8601 38 defb 00111000b 368: - 8602 40 defb 01000000b 369: - 8603 30 defb 00110000b 370: - 8604 08 defb 00001000b 371: - 8605 70 defb 01110000b 372: - 8606 10 defb 00010000b 373: - 8607 00 defb 00000000b 374: 375: ; code=37, hex=0x25, ascii="" 376: - 8608 64 defb 01100100b 377: - 8609 64 defb 01100100b 378: - 860A 08 defb 00001000b 379: - 860B 10 defb 00010000b 380: - 860C 20 defb 00100000b 381: - 860D 4C defb 01001100b 382: - 860E 4C defb 01001100b 383: - 860F 00 defb 00000000b 384: 385: ; code=38, hex=0x26, ascii="&" 386: - 8610 20 defb 00100000b 387: - 8611 50 defb 01010000b 388: - 8612 50 defb 01010000b 389: - 8613 20 defb 00100000b 390: - 8614 54 defb 01010100b 391: - 8615 48 defb 01001000b 392: - 8616 34 defb 00110100b 393: - 8617 00 defb 00000000b 394: 395: ; code=39, hex=0x27, ascii="'" 396: - 8618 30 defb 00110000b 397: - 8619 30 defb 00110000b 398: - 861A 20 defb 00100000b 399: - 861B 00 defb 00000000b 400: - 861C 00 defb 00000000b 401: - 861D 00 defb 00000000b 402: - 861E 00 defb 00000000b 403: - 861F 00 defb 00000000b 404: 405: ; code=40, hex=0x28, ascii="(" 406: - 8620 10 defb 00010000b 407: - 8621 20 defb 00100000b 408: - 8622 20 defb 00100000b 409: - 8623 20 defb 00100000b 410: - 8624 20 defb 00100000b 411: - 8625 20 defb 00100000b 412: - 8626 10 defb 00010000b 413: - 8627 00 defb 00000000b 414: 415: ; code=41, hex=0x29, ascii=")" 416: - 8628 20 defb 00100000b 417: - 8629 10 defb 00010000b 418: - 862A 10 defb 00010000b 419: - 862B 10 defb 00010000b 420: - 862C 10 defb 00010000b 421: - 862D 10 defb 00010000b 422: - 862E 20 defb 00100000b 423: - 862F 00 defb 00000000b 424: 425: ; code=42, hex=0x2A, ascii="*" 426: - 8630 00 defb 00000000b 427: - 8631 28 defb 00101000b 428: - 8632 38 defb 00111000b 429: - 8633 7C defb 01111100b 430: - 8634 38 defb 00111000b 431: - 8635 28 defb 00101000b 432: - 8636 00 defb 00000000b 433: - 8637 00 defb 00000000b 434: 435: ; code=43, hex=0x2B, ascii="+" 436: - 8638 00 defb 00000000b 437: - 8639 10 defb 00010000b 438: - 863A 10 defb 00010000b 439: - 863B 7C defb 01111100b 440: - 863C 10 defb 00010000b 441: - 863D 10 defb 00010000b 442: - 863E 00 defb 00000000b 443: - 863F 00 defb 00000000b 444: 445: ; code=44, hex=0x2C, ascii="," 446: - 8640 00 defb 00000000b 447: - 8641 00 defb 00000000b 448: - 8642 00 defb 00000000b 449: - 8643 00 defb 00000000b 450: - 8644 00 defb 00000000b 451: - 8645 30 defb 00110000b 452: - 8646 30 defb 00110000b 453: - 8647 20 defb 00100000b 454: 455: ; code=45, hex=0x2D, ascii="-" 456: - 8648 00 defb 00000000b 457: - 8649 00 defb 00000000b 458: - 864A 00 defb 00000000b 459: - 864B 7C defb 01111100b 460: - 864C 00 defb 00000000b 461: - 864D 00 defb 00000000b 462: - 864E 00 defb 00000000b 463: - 864F 00 defb 00000000b 464: 465: ; code=46, hex=0x2E, ascii="." 466: - 8650 00 defb 00000000b 467: - 8651 00 defb 00000000b 468: - 8652 00 defb 00000000b 469: - 8653 00 defb 00000000b 470: - 8654 00 defb 00000000b 471: - 8655 30 defb 00110000b 472: - 8656 30 defb 00110000b 473: - 8657 00 defb 00000000b 474: 475: ; code=47, hex=0x2F, ascii="/" 476: - 8658 00 defb 00000000b 477: - 8659 04 defb 00000100b 478: - 865A 08 defb 00001000b 479: - 865B 10 defb 00010000b 480: - 865C 20 defb 00100000b 481: - 865D 40 defb 01000000b 482: - 865E 00 defb 00000000b 483: - 865F 00 defb 00000000b 484: 485: ; code=48, hex=0x30, ascii="0" 486: - 8660 38 defb 00111000b 487: - 8661 44 defb 01000100b 488: - 8662 4C defb 01001100b 489: - 8663 54 defb 01010100b 490: - 8664 64 defb 01100100b 491: - 8665 44 defb 01000100b 492: - 8666 38 defb 00111000b 493: - 8667 00 defb 00000000b 494: 495: ; code=49, hex=0x31, ascii="1" 496: - 8668 10 defb 00010000b 497: - 8669 30 defb 00110000b 498: - 866A 10 defb 00010000b 499: - 866B 10 defb 00010000b 500: - 866C 10 defb 00010000b 501: - 866D 10 defb 00010000b 502: - 866E 38 defb 00111000b 503: - 866F 00 defb 00000000b 504: 505: ; code=50, hex=0x32, ascii="2" 506: - 8670 38 defb 00111000b 507: - 8671 44 defb 01000100b 508: - 8672 04 defb 00000100b 509: - 8673 18 defb 00011000b 510: - 8674 20 defb 00100000b 511: - 8675 40 defb 01000000b 512: - 8676 7C defb 01111100b 513: - 8677 00 defb 00000000b 514: 515: ; code=51, hex=0x33, ascii="3" 516: - 8678 38 defb 00111000b 517: - 8679 44 defb 01000100b 518: - 867A 04 defb 00000100b 519: - 867B 38 defb 00111000b 520: - 867C 04 defb 00000100b 521: - 867D 44 defb 01000100b 522: - 867E 38 defb 00111000b 523: - 867F 00 defb 00000000b 524: 525: ; code=52, hex=0x34, ascii="4" 526: - 8680 08 defb 00001000b 527: - 8681 18 defb 00011000b 528: - 8682 28 defb 00101000b 529: - 8683 48 defb 01001000b 530: - 8684 7C defb 01111100b 531: - 8685 08 defb 00001000b 532: - 8686 08 defb 00001000b 533: - 8687 00 defb 00000000b 534: 535: ; code=53, hex=0x35, ascii="5" 536: - 8688 7C defb 01111100b 537: - 8689 40 defb 01000000b 538: - 868A 40 defb 01000000b 539: - 868B 78 defb 01111000b 540: - 868C 04 defb 00000100b 541: - 868D 44 defb 01000100b 542: - 868E 38 defb 00111000b 543: - 868F 00 defb 00000000b 544: 545: ; code=54, hex=0x36, ascii="6" 546: - 8690 18 defb 00011000b 547: - 8691 20 defb 00100000b 548: - 8692 40 defb 01000000b 549: - 8693 78 defb 01111000b 550: - 8694 44 defb 01000100b 551: - 8695 44 defb 01000100b 552: - 8696 38 defb 00111000b 553: - 8697 00 defb 00000000b 554: 555: ; code=55, hex=0x37, ascii="7" 556: - 8698 7C defb 01111100b 557: - 8699 04 defb 00000100b 558: - 869A 08 defb 00001000b 559: - 869B 10 defb 00010000b 560: - 869C 20 defb 00100000b 561: - 869D 20 defb 00100000b 562: - 869E 20 defb 00100000b 563: - 869F 00 defb 00000000b 564: 565: ; code=56, hex=0x38, ascii="8" 566: - 86A0 38 defb 00111000b 567: - 86A1 44 defb 01000100b 568: - 86A2 44 defb 01000100b 569: - 86A3 38 defb 00111000b 570: - 86A4 44 defb 01000100b 571: - 86A5 44 defb 01000100b 572: - 86A6 38 defb 00111000b 573: - 86A7 00 defb 00000000b 574: 575: ; code=57, hex=0x39, ascii="9" 576: - 86A8 38 defb 00111000b 577: - 86A9 44 defb 01000100b 578: - 86AA 44 defb 01000100b 579: - 86AB 3C defb 00111100b 580: - 86AC 04 defb 00000100b 581: - 86AD 08 defb 00001000b 582: - 86AE 30 defb 00110000b 583: - 86AF 00 defb 00000000b 584: 585: ; code=58, hex=0x3A, ascii=":" 586: - 86B0 00 defb 00000000b 587: - 86B1 00 defb 00000000b 588: - 86B2 30 defb 00110000b 589: - 86B3 30 defb 00110000b 590: - 86B4 00 defb 00000000b 591: - 86B5 30 defb 00110000b 592: - 86B6 30 defb 00110000b 593: - 86B7 00 defb 00000000b 594: 595: ; code=59, hex=0x3B, ascii=";" 596: - 86B8 00 defb 00000000b 597: - 86B9 00 defb 00000000b 598: - 86BA 30 defb 00110000b 599: - 86BB 30 defb 00110000b 600: - 86BC 00 defb 00000000b 601: - 86BD 30 defb 00110000b 602: - 86BE 30 defb 00110000b 603: - 86BF 20 defb 00100000b 604: 605: ; code=60, hex=0x3C, ascii="<" 606: - 86C0 08 defb 00001000b 607: - 86C1 10 defb 00010000b 608: - 86C2 20 defb 00100000b 609: - 86C3 40 defb 01000000b 610: - 86C4 20 defb 00100000b 611: - 86C5 10 defb 00010000b 612: - 86C6 08 defb 00001000b 613: - 86C7 00 defb 00000000b 614: 615: ; code=61, hex=0x3D, ascii="=" 616: - 86C8 00 defb 00000000b 617: - 86C9 00 defb 00000000b 618: - 86CA 7C defb 01111100b 619: - 86CB 00 defb 00000000b 620: - 86CC 00 defb 00000000b 621: - 86CD 7C defb 01111100b 622: - 86CE 00 defb 00000000b 623: - 86CF 00 defb 00000000b 624: 625: ; code=62, hex=0x3E, ascii=">" 626: - 86D0 20 defb 00100000b 627: - 86D1 10 defb 00010000b 628: - 86D2 08 defb 00001000b 629: - 86D3 04 defb 00000100b 630: - 86D4 08 defb 00001000b 631: - 86D5 10 defb 00010000b 632: - 86D6 20 defb 00100000b 633: - 86D7 00 defb 00000000b 634: 635: ; code=63, hex=0x3F, ascii="?" 636: - 86D8 38 defb 00111000b 637: - 86D9 44 defb 01000100b 638: - 86DA 04 defb 00000100b 639: - 86DB 18 defb 00011000b 640: - 86DC 10 defb 00010000b 641: - 86DD 00 defb 00000000b 642: - 86DE 10 defb 00010000b 643: - 86DF 00 defb 00000000b 644: 645: ; code=64, hex=0x40, ascii="@" 646: - 86E0 38 defb 00111000b 647: - 86E1 44 defb 01000100b 648: - 86E2 5C defb 01011100b 649: - 86E3 54 defb 01010100b 650: - 86E4 5C defb 01011100b 651: - 86E5 40 defb 01000000b 652: - 86E6 38 defb 00111000b 653: - 86E7 00 defb 00000000b 654: 655: ; code=65, hex=0x41, ascii="A" 656: - 86E8 38 defb 00111000b 657: - 86E9 44 defb 01000100b 658: - 86EA 44 defb 01000100b 659: - 86EB 44 defb 01000100b 660: - 86EC 7C defb 01111100b 661: - 86ED 44 defb 01000100b 662: - 86EE 44 defb 01000100b 663: - 86EF 00 defb 00000000b 664: 665: ; code=66, hex=0x42, ascii="B" 666: - 86F0 78 defb 01111000b 667: - 86F1 44 defb 01000100b 668: - 86F2 44 defb 01000100b 669: - 86F3 78 defb 01111000b 670: - 86F4 44 defb 01000100b 671: - 86F5 44 defb 01000100b 672: - 86F6 78 defb 01111000b 673: - 86F7 00 defb 00000000b 674: 675: ; code=67, hex=0x43, ascii="C" 676: - 86F8 38 defb 00111000b 677: - 86F9 44 defb 01000100b 678: - 86FA 40 defb 01000000b 679: - 86FB 40 defb 01000000b 680: - 86FC 40 defb 01000000b 681: - 86FD 44 defb 01000100b 682: - 86FE 38 defb 00111000b 683: - 86FF 00 defb 00000000b 684: 685: ; code=68, hex=0x44, ascii="D" 686: - 8700 78 defb 01111000b 687: - 8701 44 defb 01000100b 688: - 8702 44 defb 01000100b 689: - 8703 44 defb 01000100b 690: - 8704 44 defb 01000100b 691: - 8705 44 defb 01000100b 692: - 8706 78 defb 01111000b 693: - 8707 00 defb 00000000b 694: 695: ; code=69, hex=0x45, ascii="E" 696: - 8708 7C defb 01111100b 697: - 8709 40 defb 01000000b 698: - 870A 40 defb 01000000b 699: - 870B 78 defb 01111000b 700: - 870C 40 defb 01000000b 701: - 870D 40 defb 01000000b 702: - 870E 7C defb 01111100b 703: - 870F 00 defb 00000000b 704: 705: ; code=70, hex=0x46, ascii="F" 706: - 8710 7C defb 01111100b 707: - 8711 40 defb 01000000b 708: - 8712 40 defb 01000000b 709: - 8713 78 defb 01111000b 710: - 8714 40 defb 01000000b 711: - 8715 40 defb 01000000b 712: - 8716 40 defb 01000000b 713: - 8717 00 defb 00000000b 714: 715: ; code=71, hex=0x47, ascii="G" 716: - 8718 38 defb 00111000b 717: - 8719 44 defb 01000100b 718: - 871A 40 defb 01000000b 719: - 871B 5C defb 01011100b 720: - 871C 44 defb 01000100b 721: - 871D 44 defb 01000100b 722: - 871E 3C defb 00111100b 723: - 871F 00 defb 00000000b 724: 725: ; code=72, hex=0x48, ascii="H" 726: - 8720 44 defb 01000100b 727: - 8721 44 defb 01000100b 728: - 8722 44 defb 01000100b 729: - 8723 7C defb 01111100b 730: - 8724 44 defb 01000100b 731: - 8725 44 defb 01000100b 732: - 8726 44 defb 01000100b 733: - 8727 00 defb 00000000b 734: 735: ; code=73, hex=0x49, ascii="I" 736: - 8728 38 defb 00111000b 737: - 8729 10 defb 00010000b 738: - 872A 10 defb 00010000b 739: - 872B 10 defb 00010000b 740: - 872C 10 defb 00010000b 741: - 872D 10 defb 00010000b 742: - 872E 38 defb 00111000b 743: - 872F 00 defb 00000000b 744: 745: ; code=74, hex=0x4A, ascii="J" 746: - 8730 04 defb 00000100b 747: - 8731 04 defb 00000100b 748: - 8732 04 defb 00000100b 749: - 8733 04 defb 00000100b 750: - 8734 44 defb 01000100b 751: - 8735 44 defb 01000100b 752: - 8736 38 defb 00111000b 753: - 8737 00 defb 00000000b 754: 755: ; code=75, hex=0x4B, ascii="K" 756: - 8738 44 defb 01000100b 757: - 8739 48 defb 01001000b 758: - 873A 50 defb 01010000b 759: - 873B 60 defb 01100000b 760: - 873C 50 defb 01010000b 761: - 873D 48 defb 01001000b 762: - 873E 44 defb 01000100b 763: - 873F 00 defb 00000000b 764: 765: ; code=76, hex=0x4C, ascii="L" 766: - 8740 40 defb 01000000b 767: - 8741 40 defb 01000000b 768: - 8742 40 defb 01000000b 769: - 8743 40 defb 01000000b 770: - 8744 40 defb 01000000b 771: - 8745 40 defb 01000000b 772: - 8746 7C defb 01111100b 773: - 8747 00 defb 00000000b 774: 775: ; code=77, hex=0x4D, ascii="M" 776: - 8748 44 defb 01000100b 777: - 8749 6C defb 01101100b 778: - 874A 54 defb 01010100b 779: - 874B 44 defb 01000100b 780: - 874C 44 defb 01000100b 781: - 874D 44 defb 01000100b 782: - 874E 44 defb 01000100b 783: - 874F 00 defb 00000000b 784: 785: ; code=78, hex=0x4E, ascii="N" 786: - 8750 44 defb 01000100b 787: - 8751 64 defb 01100100b 788: - 8752 54 defb 01010100b 789: - 8753 4C defb 01001100b 790: - 8754 44 defb 01000100b 791: - 8755 44 defb 01000100b 792: - 8756 44 defb 01000100b 793: - 8757 00 defb 00000000b 794: 795: ; code=79, hex=0x4F, ascii="O" 796: - 8758 38 defb 00111000b 797: - 8759 44 defb 01000100b 798: - 875A 44 defb 01000100b 799: - 875B 44 defb 01000100b 800: - 875C 44 defb 01000100b 801: - 875D 44 defb 01000100b 802: - 875E 38 defb 00111000b 803: - 875F 00 defb 00000000b 804: 805: ; code=80, hex=0x50, ascii="P" 806: - 8760 78 defb 01111000b 807: - 8761 44 defb 01000100b 808: - 8762 44 defb 01000100b 809: - 8763 78 defb 01111000b 810: - 8764 40 defb 01000000b 811: - 8765 40 defb 01000000b 812: - 8766 40 defb 01000000b 813: - 8767 00 defb 00000000b 814: 815: ; code=81, hex=0x51, ascii="Q" 816: - 8768 38 defb 00111000b 817: - 8769 44 defb 01000100b 818: - 876A 44 defb 01000100b 819: - 876B 44 defb 01000100b 820: - 876C 54 defb 01010100b 821: - 876D 48 defb 01001000b 822: - 876E 34 defb 00110100b 823: - 876F 00 defb 00000000b 824: 825: ; code=82, hex=0x52, ascii="R" 826: - 8770 78 defb 01111000b 827: - 8771 44 defb 01000100b 828: - 8772 44 defb 01000100b 829: - 8773 78 defb 01111000b 830: - 8774 48 defb 01001000b 831: - 8775 44 defb 01000100b 832: - 8776 44 defb 01000100b 833: - 8777 00 defb 00000000b 834: 835: ; code=83, hex=0x53, ascii="S" 836: - 8778 38 defb 00111000b 837: - 8779 44 defb 01000100b 838: - 877A 40 defb 01000000b 839: - 877B 38 defb 00111000b 840: - 877C 04 defb 00000100b 841: - 877D 44 defb 01000100b 842: - 877E 38 defb 00111000b 843: - 877F 00 defb 00000000b 844: 845: ; code=84, hex=0x54, ascii="T" 846: - 8780 7C defb 01111100b 847: - 8781 10 defb 00010000b 848: - 8782 10 defb 00010000b 849: - 8783 10 defb 00010000b 850: - 8784 10 defb 00010000b 851: - 8785 10 defb 00010000b 852: - 8786 10 defb 00010000b 853: - 8787 00 defb 00000000b 854: 855: ; code=85, hex=0x55, ascii="U" 856: - 8788 44 defb 01000100b 857: - 8789 44 defb 01000100b 858: - 878A 44 defb 01000100b 859: - 878B 44 defb 01000100b 860: - 878C 44 defb 01000100b 861: - 878D 44 defb 01000100b 862: - 878E 38 defb 00111000b 863: - 878F 00 defb 00000000b 864: 865: ; code=86, hex=0x56, ascii="V" 866: - 8790 44 defb 01000100b 867: - 8791 44 defb 01000100b 868: - 8792 44 defb 01000100b 869: - 8793 44 defb 01000100b 870: - 8794 44 defb 01000100b 871: - 8795 28 defb 00101000b 872: - 8796 10 defb 00010000b 873: - 8797 00 defb 00000000b 874: 875: ; code=87, hex=0x57, ascii="W" 876: - 8798 44 defb 01000100b 877: - 8799 44 defb 01000100b 878: - 879A 54 defb 01010100b 879: - 879B 54 defb 01010100b 880: - 879C 54 defb 01010100b 881: - 879D 54 defb 01010100b 882: - 879E 28 defb 00101000b 883: - 879F 00 defb 00000000b 884: 885: ; code=88, hex=0x58, ascii="X" 886: - 87A0 44 defb 01000100b 887: - 87A1 44 defb 01000100b 888: - 87A2 28 defb 00101000b 889: - 87A3 10 defb 00010000b 890: - 87A4 28 defb 00101000b 891: - 87A5 44 defb 01000100b 892: - 87A6 44 defb 01000100b 893: - 87A7 00 defb 00000000b 894: 895: ; code=89, hex=0x59, ascii="Y" 896: - 87A8 44 defb 01000100b 897: - 87A9 44 defb 01000100b 898: - 87AA 44 defb 01000100b 899: - 87AB 28 defb 00101000b 900: - 87AC 10 defb 00010000b 901: - 87AD 10 defb 00010000b 902: - 87AE 10 defb 00010000b 903: - 87AF 00 defb 00000000b 904: 905: ; code=90, hex=0x5A, ascii="Z" 906: - 87B0 78 defb 01111000b 907: - 87B1 08 defb 00001000b 908: - 87B2 10 defb 00010000b 909: - 87B3 20 defb 00100000b 910: - 87B4 40 defb 01000000b 911: - 87B5 40 defb 01000000b 912: - 87B6 78 defb 01111000b 913: - 87B7 00 defb 00000000b 914: 915: ; code=91, hex=0x5B, ascii="[" 916: - 87B8 38 defb 00111000b 917: - 87B9 20 defb 00100000b 918: - 87BA 20 defb 00100000b 919: - 87BB 20 defb 00100000b 920: - 87BC 20 defb 00100000b 921: - 87BD 20 defb 00100000b 922: - 87BE 38 defb 00111000b 923: - 87BF 00 defb 00000000b 924: 925: ; code=92, hex=0x5C, ascii="\" 926: - 87C0 00 defb 00000000b 927: - 87C1 40 defb 01000000b 928: - 87C2 20 defb 00100000b 929: - 87C3 10 defb 00010000b 930: - 87C4 08 defb 00001000b 931: - 87C5 04 defb 00000100b 932: - 87C6 00 defb 00000000b 933: - 87C7 00 defb 00000000b 934: 935: ; code=93, hex=0x5D, ascii="]" 936: - 87C8 38 defb 00111000b 937: - 87C9 08 defb 00001000b 938: - 87CA 08 defb 00001000b 939: - 87CB 08 defb 00001000b 940: - 87CC 08 defb 00001000b 941: - 87CD 08 defb 00001000b 942: - 87CE 38 defb 00111000b 943: - 87CF 00 defb 00000000b 944: 945: ; code=94, hex=0x5E, ascii="^" 946: - 87D0 10 defb 00010000b 947: - 87D1 28 defb 00101000b 948: - 87D2 44 defb 01000100b 949: - 87D3 00 defb 00000000b 950: - 87D4 00 defb 00000000b 951: - 87D5 00 defb 00000000b 952: - 87D6 00 defb 00000000b 953: - 87D7 00 defb 00000000b 954: 955: ; code=95, hex=0x5F, ascii="_" 956: - 87D8 00 defb 00000000b 957: - 87D9 00 defb 00000000b 958: - 87DA 00 defb 00000000b 959: - 87DB 00 defb 00000000b 960: - 87DC 00 defb 00000000b 961: - 87DD 00 defb 00000000b 962: - 87DE 00 defb 00000000b 963: - 87DF FC defb 11111100b 964: 965: ; code=96, hex=0x60, ascii="`" 966: - 87E0 30 defb 00110000b 967: - 87E1 30 defb 00110000b 968: - 87E2 10 defb 00010000b 969: - 87E3 00 defb 00000000b 970: - 87E4 00 defb 00000000b 971: - 87E5 00 defb 00000000b 972: - 87E6 00 defb 00000000b 973: - 87E7 00 defb 00000000b 974: 975: ; code=97, hex=0x61, ascii="a" 976: - 87E8 00 defb 00000000b 977: - 87E9 00 defb 00000000b 978: - 87EA 38 defb 00111000b 979: - 87EB 04 defb 00000100b 980: - 87EC 3C defb 00111100b 981: - 87ED 44 defb 01000100b 982: - 87EE 3C defb 00111100b 983: - 87EF 00 defb 00000000b 984: 985: ; code=98, hex=0x62, ascii="b" 986: - 87F0 40 defb 01000000b 987: - 87F1 40 defb 01000000b 988: - 87F2 78 defb 01111000b 989: - 87F3 44 defb 01000100b 990: - 87F4 44 defb 01000100b 991: - 87F5 44 defb 01000100b 992: - 87F6 78 defb 01111000b 993: - 87F7 00 defb 00000000b 994: 995: ; code=99, hex=0x63, ascii="c" 996: - 87F8 00 defb 00000000b 997: - 87F9 00 defb 00000000b 998: - 87FA 38 defb 00111000b 999: - 87FB 44 defb 01000100b 1000: - 87FC 40 defb 01000000b 1001: - 87FD 44 defb 01000100b 1002: - 87FE 38 defb 00111000b 1003: - 87FF 00 defb 00000000b 1004: 1005: ; code=100, hex=0x64, ascii="d" 1006: - 8800 04 defb 00000100b 1007: - 8801 04 defb 00000100b 1008: - 8802 3C defb 00111100b 1009: - 8803 44 defb 01000100b 1010: - 8804 44 defb 01000100b 1011: - 8805 44 defb 01000100b 1012: - 8806 3C defb 00111100b 1013: - 8807 00 defb 00000000b 1014: 1015: ; code=101, hex=0x65, ascii="e" 1016: - 8808 00 defb 00000000b 1017: - 8809 00 defb 00000000b 1018: - 880A 38 defb 00111000b 1019: - 880B 44 defb 01000100b 1020: - 880C 78 defb 01111000b 1021: - 880D 40 defb 01000000b 1022: - 880E 38 defb 00111000b 1023: - 880F 00 defb 00000000b 1024: 1025: ; code=102, hex=0x66, ascii="f" 1026: - 8810 18 defb 00011000b 1027: - 8811 20 defb 00100000b 1028: - 8812 20 defb 00100000b 1029: - 8813 78 defb 01111000b 1030: - 8814 20 defb 00100000b 1031: - 8815 20 defb 00100000b 1032: - 8816 20 defb 00100000b 1033: - 8817 00 defb 00000000b 1034: 1035: ; code=103, hex=0x67, ascii="g" 1036: - 8818 00 defb 00000000b 1037: - 8819 00 defb 00000000b 1038: - 881A 3C defb 00111100b 1039: - 881B 44 defb 01000100b 1040: - 881C 44 defb 01000100b 1041: - 881D 3C defb 00111100b 1042: - 881E 04 defb 00000100b 1043: - 881F 38 defb 00111000b 1044: 1045: ; code=104, hex=0x68, ascii="h" 1046: - 8820 40 defb 01000000b 1047: - 8821 40 defb 01000000b 1048: - 8822 70 defb 01110000b 1049: - 8823 48 defb 01001000b 1050: - 8824 48 defb 01001000b 1051: - 8825 48 defb 01001000b 1052: - 8826 48 defb 01001000b 1053: - 8827 00 defb 00000000b 1054: 1055: ; code=105, hex=0x69, ascii="i" 1056: - 8828 10 defb 00010000b 1057: - 8829 00 defb 00000000b 1058: - 882A 10 defb 00010000b 1059: - 882B 10 defb 00010000b 1060: - 882C 10 defb 00010000b 1061: - 882D 10 defb 00010000b 1062: - 882E 18 defb 00011000b 1063: - 882F 00 defb 00000000b 1064: 1065: ; code=106, hex=0x6A, ascii="j" 1066: - 8830 08 defb 00001000b 1067: - 8831 00 defb 00000000b 1068: - 8832 18 defb 00011000b 1069: - 8833 08 defb 00001000b 1070: - 8834 08 defb 00001000b 1071: - 8835 08 defb 00001000b 1072: - 8836 48 defb 01001000b 1073: - 8837 30 defb 00110000b 1074: 1075: ; code=107, hex=0x6B, ascii="k" 1076: - 8838 40 defb 01000000b 1077: - 8839 40 defb 01000000b 1078: - 883A 48 defb 01001000b 1079: - 883B 50 defb 01010000b 1080: - 883C 60 defb 01100000b 1081: - 883D 50 defb 01010000b 1082: - 883E 48 defb 01001000b 1083: - 883F 00 defb 00000000b 1084: 1085: ; code=108, hex=0x6C, ascii="l" 1086: - 8840 10 defb 00010000b 1087: - 8841 10 defb 00010000b 1088: - 8842 10 defb 00010000b 1089: - 8843 10 defb 00010000b 1090: - 8844 10 defb 00010000b 1091: - 8845 10 defb 00010000b 1092: - 8846 18 defb 00011000b 1093: - 8847 00 defb 00000000b 1094: 1095: ; code=109, hex=0x6D, ascii="m" 1096: - 8848 00 defb 00000000b 1097: - 8849 00 defb 00000000b 1098: - 884A 68 defb 01101000b 1099: - 884B 54 defb 01010100b 1100: - 884C 54 defb 01010100b 1101: - 884D 44 defb 01000100b 1102: - 884E 44 defb 01000100b 1103: - 884F 00 defb 00000000b 1104: 1105: ; code=110, hex=0x6E, ascii="n" 1106: - 8850 00 defb 00000000b 1107: - 8851 00 defb 00000000b 1108: - 8852 70 defb 01110000b 1109: - 8853 48 defb 01001000b 1110: - 8854 48 defb 01001000b 1111: - 8855 48 defb 01001000b 1112: - 8856 48 defb 01001000b 1113: - 8857 00 defb 00000000b 1114: 1115: ; code=111, hex=0x6F, ascii="o" 1116: - 8858 00 defb 00000000b 1117: - 8859 00 defb 00000000b 1118: - 885A 38 defb 00111000b 1119: - 885B 44 defb 01000100b 1120: - 885C 44 defb 01000100b 1121: - 885D 44 defb 01000100b 1122: - 885E 38 defb 00111000b 1123: - 885F 00 defb 00000000b 1124: 1125: ; code=112, hex=0x70, ascii="p" 1126: - 8860 00 defb 00000000b 1127: - 8861 00 defb 00000000b 1128: - 8862 78 defb 01111000b 1129: - 8863 44 defb 01000100b 1130: - 8864 44 defb 01000100b 1131: - 8865 44 defb 01000100b 1132: - 8866 78 defb 01111000b 1133: - 8867 40 defb 01000000b 1134: 1135: ; code=113, hex=0x71, ascii="q" 1136: - 8868 00 defb 00000000b 1137: - 8869 00 defb 00000000b 1138: - 886A 3C defb 00111100b 1139: - 886B 44 defb 01000100b 1140: - 886C 44 defb 01000100b 1141: - 886D 44 defb 01000100b 1142: - 886E 3C defb 00111100b 1143: - 886F 04 defb 00000100b 1144: 1145: ; code=114, hex=0x72, ascii="r" 1146: - 8870 00 defb 00000000b 1147: - 8871 00 defb 00000000b 1148: - 8872 58 defb 01011000b 1149: - 8873 24 defb 00100100b 1150: - 8874 20 defb 00100000b 1151: - 8875 20 defb 00100000b 1152: - 8876 70 defb 01110000b 1153: - 8877 00 defb 00000000b 1154: 1155: ; code=115, hex=0x73, ascii="s" 1156: - 8878 00 defb 00000000b 1157: - 8879 00 defb 00000000b 1158: - 887A 38 defb 00111000b 1159: - 887B 40 defb 01000000b 1160: - 887C 38 defb 00111000b 1161: - 887D 04 defb 00000100b 1162: - 887E 38 defb 00111000b 1163: - 887F 00 defb 00000000b 1164: 1165: ; code=116, hex=0x74, ascii="t" 1166: - 8880 00 defb 00000000b 1167: - 8881 20 defb 00100000b 1168: - 8882 78 defb 01111000b 1169: - 8883 20 defb 00100000b 1170: - 8884 20 defb 00100000b 1171: - 8885 28 defb 00101000b 1172: - 8886 10 defb 00010000b 1173: - 8887 00 defb 00000000b 1174: 1175: ; code=117, hex=0x75, ascii="u" 1176: - 8888 00 defb 00000000b 1177: - 8889 00 defb 00000000b 1178: - 888A 48 defb 01001000b 1179: - 888B 48 defb 01001000b 1180: - 888C 48 defb 01001000b 1181: - 888D 58 defb 01011000b 1182: - 888E 28 defb 00101000b 1183: - 888F 00 defb 00000000b 1184: 1185: ; code=118, hex=0x76, ascii="v" 1186: - 8890 00 defb 00000000b 1187: - 8891 00 defb 00000000b 1188: - 8892 44 defb 01000100b 1189: - 8893 44 defb 01000100b 1190: - 8894 44 defb 01000100b 1191: - 8895 28 defb 00101000b 1192: - 8896 10 defb 00010000b 1193: - 8897 00 defb 00000000b 1194: 1195: ; code=119, hex=0x77, ascii="w" 1196: - 8898 00 defb 00000000b 1197: - 8899 00 defb 00000000b 1198: - 889A 44 defb 01000100b 1199: - 889B 44 defb 01000100b 1200: - 889C 54 defb 01010100b 1201: - 889D 7C defb 01111100b 1202: - 889E 28 defb 00101000b 1203: - 889F 00 defb 00000000b 1204: 1205: ; code=120, hex=0x78, ascii="x" 1206: - 88A0 00 defb 00000000b 1207: - 88A1 00 defb 00000000b 1208: - 88A2 48 defb 01001000b 1209: - 88A3 48 defb 01001000b 1210: - 88A4 30 defb 00110000b 1211: - 88A5 48 defb 01001000b 1212: - 88A6 48 defb 01001000b 1213: - 88A7 00 defb 00000000b 1214: 1215: ; code=121, hex=0x79, ascii="y" 1216: - 88A8 00 defb 00000000b 1217: - 88A9 00 defb 00000000b 1218: - 88AA 48 defb 01001000b 1219: - 88AB 48 defb 01001000b 1220: - 88AC 48 defb 01001000b 1221: - 88AD 38 defb 00111000b 1222: - 88AE 10 defb 00010000b 1223: - 88AF 60 defb 01100000b 1224: 1225: ; code=122, hex=0x7A, ascii="z" 1226: - 88B0 00 defb 00000000b 1227: - 88B1 00 defb 00000000b 1228: - 88B2 78 defb 01111000b 1229: - 88B3 08 defb 00001000b 1230: - 88B4 30 defb 00110000b 1231: - 88B5 40 defb 01000000b 1232: - 88B6 78 defb 01111000b 1233: - 88B7 00 defb 00000000b 1234: 1235: ; code=123, hex=0x7B, ascii="{" 1236: - 88B8 18 defb 00011000b 1237: - 88B9 20 defb 00100000b 1238: - 88BA 20 defb 00100000b 1239: - 88BB 60 defb 01100000b 1240: - 88BC 20 defb 00100000b 1241: - 88BD 20 defb 00100000b 1242: - 88BE 18 defb 00011000b 1243: - 88BF 00 defb 00000000b 1244: 1245: ; code=124, hex=0x7C, ascii="|" 1246: - 88C0 10 defb 00010000b 1247: - 88C1 10 defb 00010000b 1248: - 88C2 10 defb 00010000b 1249: - 88C3 00 defb 00000000b 1250: - 88C4 10 defb 00010000b 1251: - 88C5 10 defb 00010000b 1252: - 88C6 10 defb 00010000b 1253: - 88C7 00 defb 00000000b 1254: 1255: ; code=125, hex=0x7D, ascii="}" 1256: - 88C8 30 defb 00110000b 1257: - 88C9 08 defb 00001000b 1258: - 88CA 08 defb 00001000b 1259: - 88CB 0C defb 00001100b 1260: - 88CC 08 defb 00001000b 1261: - 88CD 08 defb 00001000b 1262: - 88CE 30 defb 00110000b 1263: - 88CF 00 defb 00000000b 1264: 1265: ; code=126, hex=0x7E, ascii="~" 1266: - 88D0 28 defb 00101000b 1267: - 88D1 50 defb 01010000b 1268: - 88D2 00 defb 00000000b 1269: - 88D3 00 defb 00000000b 1270: - 88D4 00 defb 00000000b 1271: - 88D5 00 defb 00000000b 1272: - 88D6 00 defb 00000000b 1273: - 88D7 00 defb 00000000b 1274: 1275: ; code=127, hex=0x7F, ascii="^?" 1276: - 88D8 10 defb 00010000b 1277: - 88D9 38 defb 00111000b 1278: - 88DA 6C defb 01101100b 1279: - 88DB 44 defb 01000100b 1280: - 88DC 44 defb 01000100b 1281: - 88DD 7C defb 01111100b 1282: - 88DE 00 defb 00000000b 1283: - 88DF 00 defb 00000000b 1284: 1285: ; code=128, hex=0x80, ascii="!^@" 1286: - 88E0 38 defb 00111000b 1287: - 88E1 44 defb 01000100b 1288: - 88E2 40 defb 01000000b 1289: - 88E3 40 defb 01000000b 1290: - 88E4 44 defb 01000100b 1291: - 88E5 38 defb 00111000b 1292: - 88E6 10 defb 00010000b 1293: - 88E7 30 defb 00110000b 1294: 1295: ; code=129, hex=0x81, ascii="!^A" 1296: - 88E8 48 defb 01001000b 1297: - 88E9 00 defb 00000000b 1298: - 88EA 48 defb 01001000b 1299: - 88EB 48 defb 01001000b 1300: - 88EC 48 defb 01001000b 1301: - 88ED 58 defb 01011000b 1302: - 88EE 28 defb 00101000b 1303: - 88EF 00 defb 00000000b 1304: 1305: ; code=130, hex=0x82, ascii="!^B" 1306: - 88F0 0C defb 00001100b 1307: - 88F1 00 defb 00000000b 1308: - 88F2 38 defb 00111000b 1309: - 88F3 44 defb 01000100b 1310: - 88F4 78 defb 01111000b 1311: - 88F5 40 defb 01000000b 1312: - 88F6 38 defb 00111000b 1313: - 88F7 00 defb 00000000b 1314: 1315: ; code=131, hex=0x83, ascii="!^C" 1316: - 88F8 38 defb 00111000b 1317: - 88F9 00 defb 00000000b 1318: - 88FA 38 defb 00111000b 1319: - 88FB 04 defb 00000100b 1320: - 88FC 3C defb 00111100b 1321: - 88FD 44 defb 01000100b 1322: - 88FE 3C defb 00111100b 1323: - 88FF 00 defb 00000000b 1324: 1325: ; code=132, hex=0x84, ascii="!^D" 1326: - 8900 28 defb 00101000b 1327: - 8901 00 defb 00000000b 1328: - 8902 38 defb 00111000b 1329: - 8903 04 defb 00000100b 1330: - 8904 3C defb 00111100b 1331: - 8905 44 defb 01000100b 1332: - 8906 3C defb 00111100b 1333: - 8907 00 defb 00000000b 1334: 1335: ; code=133, hex=0x85, ascii="!^E" 1336: - 8908 30 defb 00110000b 1337: - 8909 00 defb 00000000b 1338: - 890A 38 defb 00111000b 1339: - 890B 04 defb 00000100b 1340: - 890C 3C defb 00111100b 1341: - 890D 44 defb 01000100b 1342: - 890E 3C defb 00111100b 1343: - 890F 00 defb 00000000b 1344: 1345: ; code=134, hex=0x86, ascii="!^F" 1346: - 8910 38 defb 00111000b 1347: - 8911 28 defb 00101000b 1348: - 8912 38 defb 00111000b 1349: - 8913 04 defb 00000100b 1350: - 8914 3C defb 00111100b 1351: - 8915 44 defb 01000100b 1352: - 8916 3C defb 00111100b 1353: - 8917 00 defb 00000000b 1354: 1355: ; code=135, hex=0x87, ascii="!^G" 1356: - 8918 00 defb 00000000b 1357: - 8919 38 defb 00111000b 1358: - 891A 44 defb 01000100b 1359: - 891B 40 defb 01000000b 1360: - 891C 44 defb 01000100b 1361: - 891D 38 defb 00111000b 1362: - 891E 10 defb 00010000b 1363: - 891F 30 defb 00110000b 1364: 1365: ; code=136, hex=0x88, ascii="!^H" 1366: - 8920 38 defb 00111000b 1367: - 8921 00 defb 00000000b 1368: - 8922 38 defb 00111000b 1369: - 8923 44 defb 01000100b 1370: - 8924 78 defb 01111000b 1371: - 8925 40 defb 01000000b 1372: - 8926 38 defb 00111000b 1373: - 8927 00 defb 00000000b 1374: 1375: ; code=137, hex=0x89, ascii="!^I" 1376: - 8928 28 defb 00101000b 1377: - 8929 00 defb 00000000b 1378: - 892A 38 defb 00111000b 1379: - 892B 44 defb 01000100b 1380: - 892C 78 defb 01111000b 1381: - 892D 40 defb 01000000b 1382: - 892E 38 defb 00111000b 1383: - 892F 00 defb 00000000b 1384: 1385: ; code=138, hex=0x8A, ascii="!^J" 1386: - 8930 30 defb 00110000b 1387: - 8931 00 defb 00000000b 1388: - 8932 38 defb 00111000b 1389: - 8933 44 defb 01000100b 1390: - 8934 78 defb 01111000b 1391: - 8935 40 defb 01000000b 1392: - 8936 38 defb 00111000b 1393: - 8937 00 defb 00000000b 1394: 1395: ; code=139, hex=0x8B, ascii="!^K" 1396: - 8938 28 defb 00101000b 1397: - 8939 00 defb 00000000b 1398: - 893A 10 defb 00010000b 1399: - 893B 10 defb 00010000b 1400: - 893C 10 defb 00010000b 1401: - 893D 10 defb 00010000b 1402: - 893E 18 defb 00011000b 1403: - 893F 00 defb 00000000b 1404: 1405: ; code=140, hex=0x8C, ascii="!^L" 1406: - 8940 10 defb 00010000b 1407: - 8941 28 defb 00101000b 1408: - 8942 00 defb 00000000b 1409: - 8943 10 defb 00010000b 1410: - 8944 10 defb 00010000b 1411: - 8945 10 defb 00010000b 1412: - 8946 18 defb 00011000b 1413: - 8947 00 defb 00000000b 1414: 1415: ; code=141, hex=0x8D, ascii="!^M" 1416: - 8948 20 defb 00100000b 1417: - 8949 00 defb 00000000b 1418: - 894A 10 defb 00010000b 1419: - 894B 10 defb 00010000b 1420: - 894C 10 defb 00010000b 1421: - 894D 10 defb 00010000b 1422: - 894E 18 defb 00011000b 1423: - 894F 00 defb 00000000b 1424: 1425: ; code=142, hex=0x8E, ascii="!^N" 1426: - 8950 28 defb 00101000b 1427: - 8951 00 defb 00000000b 1428: - 8952 10 defb 00010000b 1429: - 8953 28 defb 00101000b 1430: - 8954 44 defb 01000100b 1431: - 8955 7C defb 01111100b 1432: - 8956 44 defb 01000100b 1433: - 8957 00 defb 00000000b 1434: 1435: ; code=143, hex=0x8F, ascii="!^O" 1436: - 8958 38 defb 00111000b 1437: - 8959 28 defb 00101000b 1438: - 895A 38 defb 00111000b 1439: - 895B 6C defb 01101100b 1440: - 895C 44 defb 01000100b 1441: - 895D 7C defb 01111100b 1442: - 895E 44 defb 01000100b 1443: - 895F 00 defb 00000000b 1444: 1445: ; code=144, hex=0x90, ascii="!^P" 1446: - 8960 0C defb 00001100b 1447: - 8961 00 defb 00000000b 1448: - 8962 7C defb 01111100b 1449: - 8963 40 defb 01000000b 1450: - 8964 78 defb 01111000b 1451: - 8965 40 defb 01000000b 1452: - 8966 7C defb 01111100b 1453: - 8967 00 defb 00000000b 1454: 1455: ; code=145, hex=0x91, ascii="!^Q" 1456: - 8968 00 defb 00000000b 1457: - 8969 00 defb 00000000b 1458: - 896A 78 defb 01111000b 1459: - 896B 14 defb 00010100b 1460: - 896C 7C defb 01111100b 1461: - 896D 50 defb 01010000b 1462: - 896E 3C defb 00111100b 1463: - 896F 00 defb 00000000b 1464: 1465: ; code=146, hex=0x92, ascii="!^R" 1466: - 8970 3C defb 00111100b 1467: - 8971 50 defb 01010000b 1468: - 8972 50 defb 01010000b 1469: - 8973 7C defb 01111100b 1470: - 8974 50 defb 01010000b 1471: - 8975 50 defb 01010000b 1472: - 8976 5C defb 01011100b 1473: - 8977 00 defb 00000000b 1474: 1475: ; code=147, hex=0x93, ascii="!^S" 1476: - 8978 38 defb 00111000b 1477: - 8979 00 defb 00000000b 1478: - 897A 30 defb 00110000b 1479: - 897B 48 defb 01001000b 1480: - 897C 48 defb 01001000b 1481: - 897D 48 defb 01001000b 1482: - 897E 30 defb 00110000b 1483: - 897F 00 defb 00000000b 1484: 1485: ; code=148, hex=0x94, ascii="!^T" 1486: - 8980 28 defb 00101000b 1487: - 8981 00 defb 00000000b 1488: - 8982 30 defb 00110000b 1489: - 8983 48 defb 01001000b 1490: - 8984 48 defb 01001000b 1491: - 8985 48 defb 01001000b 1492: - 8986 30 defb 00110000b 1493: - 8987 00 defb 00000000b 1494: 1495: ; code=149, hex=0x95, ascii="!^U" 1496: - 8988 60 defb 01100000b 1497: - 8989 00 defb 00000000b 1498: - 898A 30 defb 00110000b 1499: - 898B 48 defb 01001000b 1500: - 898C 48 defb 01001000b 1501: - 898D 48 defb 01001000b 1502: - 898E 30 defb 00110000b 1503: - 898F 00 defb 00000000b 1504: 1505: ; code=150, hex=0x96, ascii="!^V" 1506: - 8990 38 defb 00111000b 1507: - 8991 00 defb 00000000b 1508: - 8992 48 defb 01001000b 1509: - 8993 48 defb 01001000b 1510: - 8994 48 defb 01001000b 1511: - 8995 58 defb 01011000b 1512: - 8996 28 defb 00101000b 1513: - 8997 00 defb 00000000b 1514: 1515: ; code=151, hex=0x97, ascii="!^W" 1516: - 8998 60 defb 01100000b 1517: - 8999 00 defb 00000000b 1518: - 899A 48 defb 01001000b 1519: - 899B 48 defb 01001000b 1520: - 899C 48 defb 01001000b 1521: - 899D 58 defb 01011000b 1522: - 899E 28 defb 00101000b 1523: - 899F 00 defb 00000000b 1524: 1525: ; code=152, hex=0x98, ascii="!^X" 1526: - 89A0 28 defb 00101000b 1527: - 89A1 00 defb 00000000b 1528: - 89A2 48 defb 01001000b 1529: - 89A3 48 defb 01001000b 1530: - 89A4 48 defb 01001000b 1531: - 89A5 38 defb 00111000b 1532: - 89A6 10 defb 00010000b 1533: - 89A7 60 defb 01100000b 1534: 1535: ; code=153, hex=0x99, ascii="!^Y" 1536: - 89A8 48 defb 01001000b 1537: - 89A9 30 defb 00110000b 1538: - 89AA 48 defb 01001000b 1539: - 89AB 48 defb 01001000b 1540: - 89AC 48 defb 01001000b 1541: - 89AD 48 defb 01001000b 1542: - 89AE 30 defb 00110000b 1543: - 89AF 00 defb 00000000b 1544: 1545: ; code=154, hex=0x9A, ascii="!^Z" 1546: - 89B0 28 defb 00101000b 1547: - 89B1 00 defb 00000000b 1548: - 89B2 48 defb 01001000b 1549: - 89B3 48 defb 01001000b 1550: - 89B4 48 defb 01001000b 1551: - 89B5 48 defb 01001000b 1552: - 89B6 30 defb 00110000b 1553: - 89B7 00 defb 00000000b 1554: 1555: ; code=155, hex=0x9B, ascii="!^[" 1556: - 89B8 00 defb 00000000b 1557: - 89B9 10 defb 00010000b 1558: - 89BA 38 defb 00111000b 1559: - 89BB 40 defb 01000000b 1560: - 89BC 40 defb 01000000b 1561: - 89BD 38 defb 00111000b 1562: - 89BE 10 defb 00010000b 1563: - 89BF 00 defb 00000000b 1564: 1565: ; code=156, hex=0x9C, ascii="!^\" 1566: - 89C0 18 defb 00011000b 1567: - 89C1 24 defb 00100100b 1568: - 89C2 20 defb 00100000b 1569: - 89C3 78 defb 01111000b 1570: - 89C4 20 defb 00100000b 1571: - 89C5 24 defb 00100100b 1572: - 89C6 5C defb 01011100b 1573: - 89C7 00 defb 00000000b 1574: 1575: ; code=157, hex=0x9D, ascii="!^]" 1576: - 89C8 44 defb 01000100b 1577: - 89C9 28 defb 00101000b 1578: - 89CA 10 defb 00010000b 1579: - 89CB 7C defb 01111100b 1580: - 89CC 10 defb 00010000b 1581: - 89CD 7C defb 01111100b 1582: - 89CE 10 defb 00010000b 1583: - 89CF 00 defb 00000000b 1584: 1585: ; code=158, hex=0x9E, ascii="!^^" 1586: - 89D0 60 defb 01100000b 1587: - 89D1 50 defb 01010000b 1588: - 89D2 50 defb 01010000b 1589: - 89D3 68 defb 01101000b 1590: - 89D4 5C defb 01011100b 1591: - 89D5 48 defb 01001000b 1592: - 89D6 48 defb 01001000b 1593: - 89D7 00 defb 00000000b 1594: 1595: ; code=159, hex=0x9F, ascii="!^_" 1596: - 89D8 08 defb 00001000b 1597: - 89D9 14 defb 00010100b 1598: - 89DA 10 defb 00010000b 1599: - 89DB 38 defb 00111000b 1600: - 89DC 10 defb 00010000b 1601: - 89DD 10 defb 00010000b 1602: - 89DE 50 defb 01010000b 1603: - 89DF 20 defb 00100000b 1604: 1605: ; code=160, hex=0xA0, ascii="! " 1606: - 89E0 18 defb 00011000b 1607: - 89E1 00 defb 00000000b 1608: - 89E2 38 defb 00111000b 1609: - 89E3 04 defb 00000100b 1610: - 89E4 3C defb 00111100b 1611: - 89E5 44 defb 01000100b 1612: - 89E6 3C defb 00111100b 1613: - 89E7 00 defb 00000000b 1614: 1615: ; code=161, hex=0xA1, ascii="!!" 1616: - 89E8 18 defb 00011000b 1617: - 89E9 00 defb 00000000b 1618: - 89EA 10 defb 00010000b 1619: - 89EB 10 defb 00010000b 1620: - 89EC 10 defb 00010000b 1621: - 89ED 10 defb 00010000b 1622: - 89EE 18 defb 00011000b 1623: - 89EF 00 defb 00000000b 1624: 1625: ; code=162, hex=0xA2, ascii="!"" 1626: - 89F0 18 defb 00011000b 1627: - 89F1 00 defb 00000000b 1628: - 89F2 30 defb 00110000b 1629: - 89F3 48 defb 01001000b 1630: - 89F4 48 defb 01001000b 1631: - 89F5 48 defb 01001000b 1632: - 89F6 30 defb 00110000b 1633: - 89F7 00 defb 00000000b 1634: 1635: ; code=163, hex=0xA3, ascii="!#" 1636: - 89F8 18 defb 00011000b 1637: - 89F9 00 defb 00000000b 1638: - 89FA 48 defb 01001000b 1639: - 89FB 48 defb 01001000b 1640: - 89FC 48 defb 01001000b 1641: - 89FD 58 defb 01011000b 1642: - 89FE 28 defb 00101000b 1643: - 89FF 00 defb 00000000b 1644: 1645: ; code=164, hex=0xA4, ascii="!$" 1646: - 8A00 28 defb 00101000b 1647: - 8A01 50 defb 01010000b 1648: - 8A02 00 defb 00000000b 1649: - 8A03 70 defb 01110000b 1650: - 8A04 48 defb 01001000b 1651: - 8A05 48 defb 01001000b 1652: - 8A06 48 defb 01001000b 1653: - 8A07 00 defb 00000000b 1654: 1655: ; code=165, hex=0xA5, ascii="!" 1656: - 8A08 28 defb 00101000b 1657: - 8A09 50 defb 01010000b 1658: - 8A0A 00 defb 00000000b 1659: - 8A0B 48 defb 01001000b 1660: - 8A0C 68 defb 01101000b 1661: - 8A0D 58 defb 01011000b 1662: - 8A0E 48 defb 01001000b 1663: - 8A0F 00 defb 00000000b 1664: 1665: ; code=166, hex=0xA6, ascii="!&" 1666: - 8A10 38 defb 00111000b 1667: - 8A11 04 defb 00000100b 1668: - 8A12 3C defb 00111100b 1669: - 8A13 44 defb 01000100b 1670: - 8A14 3C defb 00111100b 1671: - 8A15 00 defb 00000000b 1672: - 8A16 3C defb 00111100b 1673: - 8A17 00 defb 00000000b 1674: 1675: ; code=167, hex=0xA7, ascii="!'" 1676: - 8A18 30 defb 00110000b 1677: - 8A19 48 defb 01001000b 1678: - 8A1A 48 defb 01001000b 1679: - 8A1B 48 defb 01001000b 1680: - 8A1C 30 defb 00110000b 1681: - 8A1D 00 defb 00000000b 1682: - 8A1E 78 defb 01111000b 1683: - 8A1F 00 defb 00000000b 1684: 1685: ; code=168, hex=0xA8, ascii="!(" 1686: - 8A20 10 defb 00010000b 1687: - 8A21 00 defb 00000000b 1688: - 8A22 10 defb 00010000b 1689: - 8A23 30 defb 00110000b 1690: - 8A24 40 defb 01000000b 1691: - 8A25 44 defb 01000100b 1692: - 8A26 38 defb 00111000b 1693: - 8A27 00 defb 00000000b 1694: 1695: ; code=169, hex=0xA9, ascii="!)" 1696: - 8A28 00 defb 00000000b 1697: - 8A29 00 defb 00000000b 1698: - 8A2A 7C defb 01111100b 1699: - 8A2B 40 defb 01000000b 1700: - 8A2C 40 defb 01000000b 1701: - 8A2D 40 defb 01000000b 1702: - 8A2E 00 defb 00000000b 1703: - 8A2F 00 defb 00000000b 1704: 1705: ; code=170, hex=0xAA, ascii="!*" 1706: - 8A30 00 defb 00000000b 1707: - 8A31 00 defb 00000000b 1708: - 8A32 FC defb 11111100b 1709: - 8A33 04 defb 00000100b 1710: - 8A34 04 defb 00000100b 1711: - 8A35 00 defb 00000000b 1712: - 8A36 00 defb 00000000b 1713: - 8A37 00 defb 00000000b 1714: 1715: ; code=171, hex=0xAB, ascii="!+" 1716: - 8A38 40 defb 01000000b 1717: - 8A39 48 defb 01001000b 1718: - 8A3A 50 defb 01010000b 1719: - 8A3B 38 defb 00111000b 1720: - 8A3C 44 defb 01000100b 1721: - 8A3D 08 defb 00001000b 1722: - 8A3E 1C defb 00011100b 1723: - 8A3F 00 defb 00000000b 1724: 1725: ; code=172, hex=0xAC, ascii="!," 1726: - 8A40 40 defb 01000000b 1727: - 8A41 48 defb 01001000b 1728: - 8A42 50 defb 01010000b 1729: - 8A43 2C defb 00101100b 1730: - 8A44 54 defb 01010100b 1731: - 8A45 1C defb 00011100b 1732: - 8A46 04 defb 00000100b 1733: - 8A47 00 defb 00000000b 1734: 1735: ; code=173, hex=0xAD, ascii="!-" 1736: - 8A48 10 defb 00010000b 1737: - 8A49 00 defb 00000000b 1738: - 8A4A 10 defb 00010000b 1739: - 8A4B 10 defb 00010000b 1740: - 8A4C 38 defb 00111000b 1741: - 8A4D 38 defb 00111000b 1742: - 8A4E 10 defb 00010000b 1743: - 8A4F 00 defb 00000000b 1744: 1745: ; code=174, hex=0xAE, ascii="!." 1746: - 8A50 00 defb 00000000b 1747: - 8A51 00 defb 00000000b 1748: - 8A52 24 defb 00100100b 1749: - 8A53 48 defb 01001000b 1750: - 8A54 24 defb 00100100b 1751: - 8A55 00 defb 00000000b 1752: - 8A56 00 defb 00000000b 1753: - 8A57 00 defb 00000000b 1754: 1755: ; code=175, hex=0xAF, ascii="!/" 1756: - 8A58 00 defb 00000000b 1757: - 8A59 00 defb 00000000b 1758: - 8A5A 48 defb 01001000b 1759: - 8A5B 24 defb 00100100b 1760: - 8A5C 48 defb 01001000b 1761: - 8A5D 00 defb 00000000b 1762: - 8A5E 00 defb 00000000b 1763: - 8A5F 00 defb 00000000b 1764: 1765: ; code=176, hex=0xB0, ascii="!0" 1766: - 8A60 54 defb 01010100b 1767: - 8A61 00 defb 00000000b 1768: - 8A62 A8 defb 10101000b 1769: - 8A63 00 defb 00000000b 1770: - 8A64 54 defb 01010100b 1771: - 8A65 00 defb 00000000b 1772: - 8A66 A8 defb 10101000b 1773: - 8A67 00 defb 00000000b 1774: 1775: ; code=177, hex=0xB1, ascii="!1" 1776: - 8A68 54 defb 01010100b 1777: - 8A69 A8 defb 10101000b 1778: - 8A6A 54 defb 01010100b 1779: - 8A6B A8 defb 10101000b 1780: - 8A6C 54 defb 01010100b 1781: - 8A6D A8 defb 10101000b 1782: - 8A6E 54 defb 01010100b 1783: - 8A6F A8 defb 10101000b 1784: 1785: ; code=178, hex=0xB2, ascii="!2" 1786: - 8A70 A8 defb 10101000b 1787: - 8A71 FC defb 11111100b 1788: - 8A72 54 defb 01010100b 1789: - 8A73 FC defb 11111100b 1790: - 8A74 A8 defb 10101000b 1791: - 8A75 FC defb 11111100b 1792: - 8A76 54 defb 01010100b 1793: - 8A77 FC defb 11111100b 1794: 1795: ; code=179, hex=0xB3, ascii="!3" 1796: - 8A78 10 defb 00010000b 1797: - 8A79 10 defb 00010000b 1798: - 8A7A 10 defb 00010000b 1799: - 8A7B 10 defb 00010000b 1800: - 8A7C 10 defb 00010000b 1801: - 8A7D 10 defb 00010000b 1802: - 8A7E 10 defb 00010000b 1803: - 8A7F 10 defb 00010000b 1804: 1805: ; code=180, hex=0xB4, ascii="!4" 1806: - 8A80 10 defb 00010000b 1807: - 8A81 10 defb 00010000b 1808: - 8A82 10 defb 00010000b 1809: - 8A83 F0 defb 11110000b 1810: - 8A84 10 defb 00010000b 1811: - 8A85 10 defb 00010000b 1812: - 8A86 10 defb 00010000b 1813: - 8A87 10 defb 00010000b 1814: 1815: ; code=181, hex=0xB5, ascii="!5" 1816: - 8A88 10 defb 00010000b 1817: - 8A89 F0 defb 11110000b 1818: - 8A8A 10 defb 00010000b 1819: - 8A8B F0 defb 11110000b 1820: - 8A8C 10 defb 00010000b 1821: - 8A8D 10 defb 00010000b 1822: - 8A8E 10 defb 00010000b 1823: - 8A8F 10 defb 00010000b 1824: 1825: ; code=182, hex=0xB6, ascii="!6" 1826: - 8A90 50 defb 01010000b 1827: - 8A91 50 defb 01010000b 1828: - 8A92 50 defb 01010000b 1829: - 8A93 D0 defb 11010000b 1830: - 8A94 50 defb 01010000b 1831: - 8A95 50 defb 01010000b 1832: - 8A96 50 defb 01010000b 1833: - 8A97 50 defb 01010000b 1834: 1835: ; code=183, hex=0xB7, ascii="!7" 1836: - 8A98 00 defb 00000000b 1837: - 8A99 00 defb 00000000b 1838: - 8A9A 00 defb 00000000b 1839: - 8A9B F0 defb 11110000b 1840: - 8A9C 50 defb 01010000b 1841: - 8A9D 50 defb 01010000b 1842: - 8A9E 50 defb 01010000b 1843: - 8A9F 50 defb 01010000b 1844: 1845: ; code=184, hex=0xB8, ascii="!8" 1846: - 8AA0 00 defb 00000000b 1847: - 8AA1 F0 defb 11110000b 1848: - 8AA2 10 defb 00010000b 1849: - 8AA3 F0 defb 11110000b 1850: - 8AA4 10 defb 00010000b 1851: - 8AA5 10 defb 00010000b 1852: - 8AA6 10 defb 00010000b 1853: - 8AA7 10 defb 00010000b 1854: 1855: ; code=185, hex=0xB9, ascii="!9" 1856: - 8AA8 50 defb 01010000b 1857: - 8AA9 D0 defb 11010000b 1858: - 8AAA 10 defb 00010000b 1859: - 8AAB D0 defb 11010000b 1860: - 8AAC 50 defb 01010000b 1861: - 8AAD 50 defb 01010000b 1862: - 8AAE 50 defb 01010000b 1863: - 8AAF 50 defb 01010000b 1864: 1865: ; code=186, hex=0xBA, ascii="!:" 1866: - 8AB0 50 defb 01010000b 1867: - 8AB1 50 defb 01010000b 1868: - 8AB2 50 defb 01010000b 1869: - 8AB3 50 defb 01010000b 1870: - 8AB4 50 defb 01010000b 1871: - 8AB5 50 defb 01010000b 1872: - 8AB6 50 defb 01010000b 1873: - 8AB7 50 defb 01010000b 1874: 1875: ; code=187, hex=0xBB, ascii="!;" 1876: - 8AB8 00 defb 00000000b 1877: - 8AB9 F0 defb 11110000b 1878: - 8ABA 10 defb 00010000b 1879: - 8ABB D0 defb 11010000b 1880: - 8ABC 50 defb 01010000b 1881: - 8ABD 50 defb 01010000b 1882: - 8ABE 50 defb 01010000b 1883: - 8ABF 50 defb 01010000b 1884: 1885: ; code=188, hex=0xBC, ascii="!<" 1886: - 8AC0 50 defb 01010000b 1887: - 8AC1 D0 defb 11010000b 1888: - 8AC2 10 defb 00010000b 1889: - 8AC3 F0 defb 11110000b 1890: - 8AC4 00 defb 00000000b 1891: - 8AC5 00 defb 00000000b 1892: - 8AC6 00 defb 00000000b 1893: - 8AC7 00 defb 00000000b 1894: 1895: ; code=189, hex=0xBD, ascii="!=" 1896: - 8AC8 50 defb 01010000b 1897: - 8AC9 50 defb 01010000b 1898: - 8ACA 50 defb 01010000b 1899: - 8ACB F0 defb 11110000b 1900: - 8ACC 00 defb 00000000b 1901: - 8ACD 00 defb 00000000b 1902: - 8ACE 00 defb 00000000b 1903: - 8ACF 00 defb 00000000b 1904: 1905: ; code=190, hex=0xBE, ascii="!>" 1906: - 8AD0 10 defb 00010000b 1907: - 8AD1 F0 defb 11110000b 1908: - 8AD2 10 defb 00010000b 1909: - 8AD3 F0 defb 11110000b 1910: - 8AD4 00 defb 00000000b 1911: - 8AD5 00 defb 00000000b 1912: - 8AD6 00 defb 00000000b 1913: - 8AD7 00 defb 00000000b 1914: 1915: ; code=191, hex=0xBF, ascii="!?" 1916: - 8AD8 00 defb 00000000b 1917: - 8AD9 00 defb 00000000b 1918: - 8ADA 00 defb 00000000b 1919: - 8ADB F0 defb 11110000b 1920: - 8ADC 10 defb 00010000b 1921: - 8ADD 10 defb 00010000b 1922: - 8ADE 10 defb 00010000b 1923: - 8ADF 10 defb 00010000b 1924: 1925: ; code=192, hex=0xC0, ascii="!@" 1926: - 8AE0 10 defb 00010000b 1927: - 8AE1 10 defb 00010000b 1928: - 8AE2 10 defb 00010000b 1929: - 8AE3 1C defb 00011100b 1930: - 8AE4 00 defb 00000000b 1931: - 8AE5 00 defb 00000000b 1932: - 8AE6 00 defb 00000000b 1933: - 8AE7 00 defb 00000000b 1934: 1935: ; code=193, hex=0xC1, ascii="!A" 1936: - 8AE8 10 defb 00010000b 1937: - 8AE9 10 defb 00010000b 1938: - 8AEA 10 defb 00010000b 1939: - 8AEB FC defb 11111100b 1940: - 8AEC 00 defb 00000000b 1941: - 8AED 00 defb 00000000b 1942: - 8AEE 00 defb 00000000b 1943: - 8AEF 00 defb 00000000b 1944: 1945: ; code=194, hex=0xC2, ascii="!B" 1946: - 8AF0 00 defb 00000000b 1947: - 8AF1 00 defb 00000000b 1948: - 8AF2 00 defb 00000000b 1949: - 8AF3 FC defb 11111100b 1950: - 8AF4 10 defb 00010000b 1951: - 8AF5 10 defb 00010000b 1952: - 8AF6 10 defb 00010000b 1953: - 8AF7 10 defb 00010000b 1954: 1955: ; code=195, hex=0xC3, ascii="!C" 1956: - 8AF8 10 defb 00010000b 1957: - 8AF9 10 defb 00010000b 1958: - 8AFA 10 defb 00010000b 1959: - 8AFB 1C defb 00011100b 1960: - 8AFC 10 defb 00010000b 1961: - 8AFD 10 defb 00010000b 1962: - 8AFE 10 defb 00010000b 1963: - 8AFF 10 defb 00010000b 1964: 1965: ; code=196, hex=0xC4, ascii="!D" 1966: - 8B00 00 defb 00000000b 1967: - 8B01 00 defb 00000000b 1968: - 8B02 00 defb 00000000b 1969: - 8B03 FC defb 11111100b 1970: - 8B04 00 defb 00000000b 1971: - 8B05 00 defb 00000000b 1972: - 8B06 00 defb 00000000b 1973: - 8B07 00 defb 00000000b 1974: 1975: ; code=197, hex=0xC5, ascii="!E" 1976: - 8B08 10 defb 00010000b 1977: - 8B09 10 defb 00010000b 1978: - 8B0A 10 defb 00010000b 1979: - 8B0B FC defb 11111100b 1980: - 8B0C 10 defb 00010000b 1981: - 8B0D 10 defb 00010000b 1982: - 8B0E 10 defb 00010000b 1983: - 8B0F 10 defb 00010000b 1984: 1985: ; code=198, hex=0xC6, ascii="!F" 1986: - 8B10 10 defb 00010000b 1987: - 8B11 1C defb 00011100b 1988: - 8B12 10 defb 00010000b 1989: - 8B13 1C defb 00011100b 1990: - 8B14 10 defb 00010000b 1991: - 8B15 10 defb 00010000b 1992: - 8B16 10 defb 00010000b 1993: - 8B17 10 defb 00010000b 1994: 1995: ; code=199, hex=0xC7, ascii="!G" 1996: - 8B18 50 defb 01010000b 1997: - 8B19 50 defb 01010000b 1998: - 8B1A 50 defb 01010000b 1999: - 8B1B 5C defb 01011100b 2000: - 8B1C 50 defb 01010000b 2001: - 8B1D 50 defb 01010000b 2002: - 8B1E 50 defb 01010000b 2003: - 8B1F 50 defb 01010000b 2004: 2005: ; code=200, hex=0xC8, ascii="!H" 2006: - 8B20 50 defb 01010000b 2007: - 8B21 5C defb 01011100b 2008: - 8B22 40 defb 01000000b 2009: - 8B23 7C defb 01111100b 2010: - 8B24 00 defb 00000000b 2011: - 8B25 00 defb 00000000b 2012: - 8B26 00 defb 00000000b 2013: - 8B27 00 defb 00000000b 2014: 2015: ; code=201, hex=0xC9, ascii="!I" 2016: - 8B28 00 defb 00000000b 2017: - 8B29 7C defb 01111100b 2018: - 8B2A 40 defb 01000000b 2019: - 8B2B 5C defb 01011100b 2020: - 8B2C 50 defb 01010000b 2021: - 8B2D 50 defb 01010000b 2022: - 8B2E 50 defb 01010000b 2023: - 8B2F 50 defb 01010000b 2024: 2025: ; code=202, hex=0xCA, ascii="!J" 2026: - 8B30 50 defb 01010000b 2027: - 8B31 DC defb 11011100b 2028: - 8B32 00 defb 00000000b 2029: - 8B33 FC defb 11111100b 2030: - 8B34 00 defb 00000000b 2031: - 8B35 00 defb 00000000b 2032: - 8B36 00 defb 00000000b 2033: - 8B37 00 defb 00000000b 2034: 2035: ; code=203, hex=0xCB, ascii="!K" 2036: - 8B38 00 defb 00000000b 2037: - 8B39 FC defb 11111100b 2038: - 8B3A 00 defb 00000000b 2039: - 8B3B DC defb 11011100b 2040: - 8B3C 50 defb 01010000b 2041: - 8B3D 50 defb 01010000b 2042: - 8B3E 50 defb 01010000b 2043: - 8B3F 50 defb 01010000b 2044: 2045: ; code=204, hex=0xCC, ascii="!L" 2046: - 8B40 50 defb 01010000b 2047: - 8B41 5C defb 01011100b 2048: - 8B42 40 defb 01000000b 2049: - 8B43 5C defb 01011100b 2050: - 8B44 50 defb 01010000b 2051: - 8B45 50 defb 01010000b 2052: - 8B46 50 defb 01010000b 2053: - 8B47 50 defb 01010000b 2054: 2055: ; code=205, hex=0xCD, ascii="!M" 2056: - 8B48 00 defb 00000000b 2057: - 8B49 FC defb 11111100b 2058: - 8B4A 00 defb 00000000b 2059: - 8B4B FC defb 11111100b 2060: - 8B4C 00 defb 00000000b 2061: - 8B4D 00 defb 00000000b 2062: - 8B4E 00 defb 00000000b 2063: - 8B4F 00 defb 00000000b 2064: 2065: ; code=206, hex=0xCE, ascii="!N" 2066: - 8B50 50 defb 01010000b 2067: - 8B51 DC defb 11011100b 2068: - 8B52 00 defb 00000000b 2069: - 8B53 DC defb 11011100b 2070: - 8B54 50 defb 01010000b 2071: - 8B55 50 defb 01010000b 2072: - 8B56 50 defb 01010000b 2073: - 8B57 50 defb 01010000b 2074: 2075: ; code=207, hex=0xCF, ascii="!O" 2076: - 8B58 10 defb 00010000b 2077: - 8B59 FC defb 11111100b 2078: - 8B5A 00 defb 00000000b 2079: - 8B5B FC defb 11111100b 2080: - 8B5C 00 defb 00000000b 2081: - 8B5D 00 defb 00000000b 2082: - 8B5E 00 defb 00000000b 2083: - 8B5F 00 defb 00000000b 2084: 2085: ; code=208, hex=0xD0, ascii="!P" 2086: - 8B60 50 defb 01010000b 2087: - 8B61 50 defb 01010000b 2088: - 8B62 50 defb 01010000b 2089: - 8B63 FC defb 11111100b 2090: - 8B64 00 defb 00000000b 2091: - 8B65 00 defb 00000000b 2092: - 8B66 00 defb 00000000b 2093: - 8B67 00 defb 00000000b 2094: 2095: ; code=209, hex=0xD1, ascii="!Q" 2096: - 8B68 00 defb 00000000b 2097: - 8B69 FC defb 11111100b 2098: - 8B6A 00 defb 00000000b 2099: - 8B6B FC defb 11111100b 2100: - 8B6C 10 defb 00010000b 2101: - 8B6D 10 defb 00010000b 2102: - 8B6E 10 defb 00010000b 2103: - 8B6F 10 defb 00010000b 2104: 2105: ; code=210, hex=0xD2, ascii="!R" 2106: - 8B70 00 defb 00000000b 2107: - 8B71 00 defb 00000000b 2108: - 8B72 00 defb 00000000b 2109: - 8B73 FC defb 11111100b 2110: - 8B74 50 defb 01010000b 2111: - 8B75 50 defb 01010000b 2112: - 8B76 50 defb 01010000b 2113: - 8B77 50 defb 01010000b 2114: 2115: ; code=211, hex=0xD3, ascii="!S" 2116: - 8B78 50 defb 01010000b 2117: - 8B79 50 defb 01010000b 2118: - 8B7A 50 defb 01010000b 2119: - 8B7B 7C defb 01111100b 2120: - 8B7C 00 defb 00000000b 2121: - 8B7D 00 defb 00000000b 2122: - 8B7E 00 defb 00000000b 2123: - 8B7F 00 defb 00000000b 2124: 2125: ; code=212, hex=0xD4, ascii="!T" 2126: - 8B80 10 defb 00010000b 2127: - 8B81 1C defb 00011100b 2128: - 8B82 10 defb 00010000b 2129: - 8B83 1C defb 00011100b 2130: - 8B84 00 defb 00000000b 2131: - 8B85 00 defb 00000000b 2132: - 8B86 00 defb 00000000b 2133: - 8B87 00 defb 00000000b 2134: 2135: ; code=213, hex=0xD5, ascii="!U" 2136: - 8B88 00 defb 00000000b 2137: - 8B89 1C defb 00011100b 2138: - 8B8A 10 defb 00010000b 2139: - 8B8B 1C defb 00011100b 2140: - 8B8C 10 defb 00010000b 2141: - 8B8D 10 defb 00010000b 2142: - 8B8E 10 defb 00010000b 2143: - 8B8F 10 defb 00010000b 2144: 2145: ; code=214, hex=0xD6, ascii="!V" 2146: - 8B90 00 defb 00000000b 2147: - 8B91 00 defb 00000000b 2148: - 8B92 00 defb 00000000b 2149: - 8B93 7C defb 01111100b 2150: - 8B94 50 defb 01010000b 2151: - 8B95 50 defb 01010000b 2152: - 8B96 50 defb 01010000b 2153: - 8B97 50 defb 01010000b 2154: 2155: ; code=215, hex=0xD7, ascii="!W" 2156: - 8B98 50 defb 01010000b 2157: - 8B99 50 defb 01010000b 2158: - 8B9A 50 defb 01010000b 2159: - 8B9B DC defb 11011100b 2160: - 8B9C 50 defb 01010000b 2161: - 8B9D 50 defb 01010000b 2162: - 8B9E 50 defb 01010000b 2163: - 8B9F 50 defb 01010000b 2164: 2165: ; code=216, hex=0xD8, ascii="!X" 2166: - 8BA0 10 defb 00010000b 2167: - 8BA1 FC defb 11111100b 2168: - 8BA2 00 defb 00000000b 2169: - 8BA3 FC defb 11111100b 2170: - 8BA4 10 defb 00010000b 2171: - 8BA5 10 defb 00010000b 2172: - 8BA6 10 defb 00010000b 2173: - 8BA7 10 defb 00010000b 2174: 2175: ; code=217, hex=0xD9, ascii="!Y" 2176: - 8BA8 10 defb 00010000b 2177: - 8BA9 10 defb 00010000b 2178: - 8BAA 10 defb 00010000b 2179: - 8BAB F0 defb 11110000b 2180: - 8BAC 00 defb 00000000b 2181: - 8BAD 00 defb 00000000b 2182: - 8BAE 00 defb 00000000b 2183: - 8BAF 00 defb 00000000b 2184: 2185: ; code=218, hex=0xDA, ascii="!Z" 2186: - 8BB0 00 defb 00000000b 2187: - 8BB1 00 defb 00000000b 2188: - 8BB2 00 defb 00000000b 2189: - 8BB3 1C defb 00011100b 2190: - 8BB4 10 defb 00010000b 2191: - 8BB5 10 defb 00010000b 2192: - 8BB6 10 defb 00010000b 2193: - 8BB7 10 defb 00010000b 2194: 2195: ; code=219, hex=0xDB, ascii="![" 2196: - 8BB8 FC defb 11111100b 2197: - 8BB9 FC defb 11111100b 2198: - 8BBA FC defb 11111100b 2199: - 8BBB FC defb 11111100b 2200: - 8BBC FC defb 11111100b 2201: - 8BBD FC defb 11111100b 2202: - 8BBE FC defb 11111100b 2203: - 8BBF FC defb 11111100b 2204: 2205: ; code=220, hex=0xDC, ascii="!\" 2206: - 8BC0 00 defb 00000000b 2207: - 8BC1 00 defb 00000000b 2208: - 8BC2 00 defb 00000000b 2209: - 8BC3 00 defb 00000000b 2210: - 8BC4 FC defb 11111100b 2211: - 8BC5 FC defb 11111100b 2212: - 8BC6 FC defb 11111100b 2213: - 8BC7 FC defb 11111100b 2214: 2215: ; code=221, hex=0xDD, ascii="!]" 2216: - 8BC8 E0 defb 11100000b 2217: - 8BC9 E0 defb 11100000b 2218: - 8BCA E0 defb 11100000b 2219: - 8BCB E0 defb 11100000b 2220: - 8BCC E0 defb 11100000b 2221: - 8BCD E0 defb 11100000b 2222: - 8BCE E0 defb 11100000b 2223: - 8BCF E0 defb 11100000b 2224: 2225: ; code=222, hex=0xDE, ascii="!^" 2226: - 8BD0 1C defb 00011100b 2227: - 8BD1 1C defb 00011100b 2228: - 8BD2 1C defb 00011100b 2229: - 8BD3 1C defb 00011100b 2230: - 8BD4 1C defb 00011100b 2231: - 8BD5 1C defb 00011100b 2232: - 8BD6 1C defb 00011100b 2233: - 8BD7 1C defb 00011100b 2234: 2235: ; code=223, hex=0xDF, ascii="!_" 2236: - 8BD8 FC defb 11111100b 2237: - 8BD9 FC defb 11111100b 2238: - 8BDA FC defb 11111100b 2239: - 8BDB FC defb 11111100b 2240: - 8BDC 00 defb 00000000b 2241: - 8BDD 00 defb 00000000b 2242: - 8BDE 00 defb 00000000b 2243: - 8BDF 00 defb 00000000b 2244: 2245: ; code=224, hex=0xE0, ascii="!`" 2246: - 8BE0 00 defb 00000000b 2247: - 8BE1 00 defb 00000000b 2248: - 8BE2 34 defb 00110100b 2249: - 8BE3 48 defb 01001000b 2250: - 8BE4 48 defb 01001000b 2251: - 8BE5 34 defb 00110100b 2252: - 8BE6 00 defb 00000000b 2253: - 8BE7 00 defb 00000000b 2254: 2255: ; code=225, hex=0xE1, ascii="!a" 2256: - 8BE8 00 defb 00000000b 2257: - 8BE9 70 defb 01110000b 2258: - 8BEA 48 defb 01001000b 2259: - 8BEB 70 defb 01110000b 2260: - 8BEC 48 defb 01001000b 2261: - 8BED 48 defb 01001000b 2262: - 8BEE 70 defb 01110000b 2263: - 8BEF 40 defb 01000000b 2264: 2265: ; code=226, hex=0xE2, ascii="!b" 2266: - 8BF0 78 defb 01111000b 2267: - 8BF1 48 defb 01001000b 2268: - 8BF2 40 defb 01000000b 2269: - 8BF3 40 defb 01000000b 2270: - 8BF4 40 defb 01000000b 2271: - 8BF5 40 defb 01000000b 2272: - 8BF6 40 defb 01000000b 2273: - 8BF7 00 defb 00000000b 2274: 2275: ; code=227, hex=0xE3, ascii="!c" 2276: - 8BF8 00 defb 00000000b 2277: - 8BF9 7C defb 01111100b 2278: - 8BFA 28 defb 00101000b 2279: - 8BFB 28 defb 00101000b 2280: - 8BFC 28 defb 00101000b 2281: - 8BFD 28 defb 00101000b 2282: - 8BFE 28 defb 00101000b 2283: - 8BFF 00 defb 00000000b 2284: 2285: ; code=228, hex=0xE4, ascii="!d" 2286: - 8C00 78 defb 01111000b 2287: - 8C01 48 defb 01001000b 2288: - 8C02 20 defb 00100000b 2289: - 8C03 10 defb 00010000b 2290: - 8C04 20 defb 00100000b 2291: - 8C05 48 defb 01001000b 2292: - 8C06 78 defb 01111000b 2293: - 8C07 00 defb 00000000b 2294: 2295: ; code=229, hex=0xE5, ascii="!e" 2296: - 8C08 00 defb 00000000b 2297: - 8C09 00 defb 00000000b 2298: - 8C0A 3C defb 00111100b 2299: - 8C0B 48 defb 01001000b 2300: - 8C0C 48 defb 01001000b 2301: - 8C0D 30 defb 00110000b 2302: - 8C0E 00 defb 00000000b 2303: - 8C0F 00 defb 00000000b 2304: 2305: ; code=230, hex=0xE6, ascii="!f" 2306: - 8C10 00 defb 00000000b 2307: - 8C11 00 defb 00000000b 2308: - 8C12 48 defb 01001000b 2309: - 8C13 48 defb 01001000b 2310: - 8C14 48 defb 01001000b 2311: - 8C15 70 defb 01110000b 2312: - 8C16 40 defb 01000000b 2313: - 8C17 40 defb 01000000b 2314: 2315: ; code=231, hex=0xE7, ascii="!g" 2316: - 8C18 00 defb 00000000b 2317: - 8C19 00 defb 00000000b 2318: - 8C1A 28 defb 00101000b 2319: - 8C1B 50 defb 01010000b 2320: - 8C1C 10 defb 00010000b 2321: - 8C1D 10 defb 00010000b 2322: - 8C1E 10 defb 00010000b 2323: - 8C1F 00 defb 00000000b 2324: 2325: ; code=232, hex=0xE8, ascii="!h" 2326: - 8C20 38 defb 00111000b 2327: - 8C21 10 defb 00010000b 2328: - 8C22 38 defb 00111000b 2329: - 8C23 44 defb 01000100b 2330: - 8C24 38 defb 00111000b 2331: - 8C25 10 defb 00010000b 2332: - 8C26 38 defb 00111000b 2333: - 8C27 00 defb 00000000b 2334: 2335: ; code=233, hex=0xE9, ascii="!i" 2336: - 8C28 30 defb 00110000b 2337: - 8C29 48 defb 01001000b 2338: - 8C2A 48 defb 01001000b 2339: - 8C2B 78 defb 01111000b 2340: - 8C2C 48 defb 01001000b 2341: - 8C2D 48 defb 01001000b 2342: - 8C2E 30 defb 00110000b 2343: - 8C2F 00 defb 00000000b 2344: 2345: ; code=234, hex=0xEA, ascii="!j" 2346: - 8C30 00 defb 00000000b 2347: - 8C31 38 defb 00111000b 2348: - 8C32 44 defb 01000100b 2349: - 8C33 44 defb 01000100b 2350: - 8C34 28 defb 00101000b 2351: - 8C35 28 defb 00101000b 2352: - 8C36 6C defb 01101100b 2353: - 8C37 00 defb 00000000b 2354: 2355: ; code=235, hex=0xEB, ascii="!k" 2356: - 8C38 30 defb 00110000b 2357: - 8C39 40 defb 01000000b 2358: - 8C3A 20 defb 00100000b 2359: - 8C3B 10 defb 00010000b 2360: - 8C3C 38 defb 00111000b 2361: - 8C3D 48 defb 01001000b 2362: - 8C3E 30 defb 00110000b 2363: - 8C3F 00 defb 00000000b 2364: 2365: ; code=236, hex=0xEC, ascii="!l" 2366: - 8C40 00 defb 00000000b 2367: - 8C41 00 defb 00000000b 2368: - 8C42 28 defb 00101000b 2369: - 8C43 54 defb 01010100b 2370: - 8C44 54 defb 01010100b 2371: - 8C45 28 defb 00101000b 2372: - 8C46 00 defb 00000000b 2373: - 8C47 00 defb 00000000b 2374: 2375: ; code=237, hex=0xED, ascii="!m" 2376: - 8C48 00 defb 00000000b 2377: - 8C49 10 defb 00010000b 2378: - 8C4A 38 defb 00111000b 2379: - 8C4B 54 defb 01010100b 2380: - 8C4C 54 defb 01010100b 2381: - 8C4D 38 defb 00111000b 2382: - 8C4E 10 defb 00010000b 2383: - 8C4F 00 defb 00000000b 2384: 2385: ; code=238, hex=0xEE, ascii="!n" 2386: - 8C50 00 defb 00000000b 2387: - 8C51 38 defb 00111000b 2388: - 8C52 40 defb 01000000b 2389: - 8C53 78 defb 01111000b 2390: - 8C54 40 defb 01000000b 2391: - 8C55 38 defb 00111000b 2392: - 8C56 00 defb 00000000b 2393: - 8C57 00 defb 00000000b 2394: 2395: ; code=239, hex=0xEF, ascii="!o" 2396: - 8C58 00 defb 00000000b 2397: - 8C59 30 defb 00110000b 2398: - 8C5A 48 defb 01001000b 2399: - 8C5B 48 defb 01001000b 2400: - 8C5C 48 defb 01001000b 2401: - 8C5D 48 defb 01001000b 2402: - 8C5E 00 defb 00000000b 2403: - 8C5F 00 defb 00000000b 2404: 2405: ; code=240, hex=0xF0, ascii="!p" 2406: - 8C60 00 defb 00000000b 2407: - 8C61 78 defb 01111000b 2408: - 8C62 00 defb 00000000b 2409: - 8C63 78 defb 01111000b 2410: - 8C64 00 defb 00000000b 2411: - 8C65 78 defb 01111000b 2412: - 8C66 00 defb 00000000b 2413: - 8C67 00 defb 00000000b 2414: 2415: ; code=241, hex=0xF1, ascii="!q" 2416: - 8C68 00 defb 00000000b 2417: - 8C69 10 defb 00010000b 2418: - 8C6A 38 defb 00111000b 2419: - 8C6B 10 defb 00010000b 2420: - 8C6C 00 defb 00000000b 2421: - 8C6D 38 defb 00111000b 2422: - 8C6E 00 defb 00000000b 2423: - 8C6F 00 defb 00000000b 2424: 2425: ; code=242, hex=0xF2, ascii="!r" 2426: - 8C70 40 defb 01000000b 2427: - 8C71 30 defb 00110000b 2428: - 8C72 08 defb 00001000b 2429: - 8C73 30 defb 00110000b 2430: - 8C74 40 defb 01000000b 2431: - 8C75 00 defb 00000000b 2432: - 8C76 78 defb 01111000b 2433: - 8C77 00 defb 00000000b 2434: 2435: ; code=243, hex=0xF3, ascii="!s" 2436: - 8C78 08 defb 00001000b 2437: - 8C79 30 defb 00110000b 2438: - 8C7A 40 defb 01000000b 2439: - 8C7B 30 defb 00110000b 2440: - 8C7C 08 defb 00001000b 2441: - 8C7D 00 defb 00000000b 2442: - 8C7E 78 defb 01111000b 2443: - 8C7F 00 defb 00000000b 2444: 2445: ; code=244, hex=0xF4, ascii="!t" 2446: - 8C80 00 defb 00000000b 2447: - 8C81 08 defb 00001000b 2448: - 8C82 14 defb 00010100b 2449: - 8C83 10 defb 00010000b 2450: - 8C84 10 defb 00010000b 2451: - 8C85 10 defb 00010000b 2452: - 8C86 10 defb 00010000b 2453: - 8C87 10 defb 00010000b 2454: 2455: ; code=245, hex=0xF5, ascii="!u" 2456: - 8C88 10 defb 00010000b 2457: - 8C89 10 defb 00010000b 2458: - 8C8A 10 defb 00010000b 2459: - 8C8B 10 defb 00010000b 2460: - 8C8C 10 defb 00010000b 2461: - 8C8D 50 defb 01010000b 2462: - 8C8E 20 defb 00100000b 2463: - 8C8F 00 defb 00000000b 2464: 2465: ; code=246, hex=0xF6, ascii="!v" 2466: - 8C90 00 defb 00000000b 2467: - 8C91 10 defb 00010000b 2468: - 8C92 00 defb 00000000b 2469: - 8C93 7C defb 01111100b 2470: - 8C94 00 defb 00000000b 2471: - 8C95 10 defb 00010000b 2472: - 8C96 00 defb 00000000b 2473: - 8C97 00 defb 00000000b 2474: 2475: ; code=247, hex=0xF7, ascii="!w" 2476: - 8C98 00 defb 00000000b 2477: - 8C99 28 defb 00101000b 2478: - 8C9A 50 defb 01010000b 2479: - 8C9B 00 defb 00000000b 2480: - 8C9C 28 defb 00101000b 2481: - 8C9D 50 defb 01010000b 2482: - 8C9E 00 defb 00000000b 2483: - 8C9F 00 defb 00000000b 2484: 2485: ; code=248, hex=0xF8, ascii="!x" 2486: - 8CA0 30 defb 00110000b 2487: - 8CA1 48 defb 01001000b 2488: - 8CA2 48 defb 01001000b 2489: - 8CA3 30 defb 00110000b 2490: - 8CA4 00 defb 00000000b 2491: - 8CA5 00 defb 00000000b 2492: - 8CA6 00 defb 00000000b 2493: - 8CA7 00 defb 00000000b 2494: 2495: ; code=249, hex=0xF9, ascii="!y" 2496: - 8CA8 00 defb 00000000b 2497: - 8CA9 00 defb 00000000b 2498: - 8CAA 00 defb 00000000b 2499: - 8CAB 30 defb 00110000b 2500: - 8CAC 30 defb 00110000b 2501: - 8CAD 00 defb 00000000b 2502: - 8CAE 00 defb 00000000b 2503: - 8CAF 00 defb 00000000b 2504: 2505: ; code=250, hex=0xFA, ascii="!z" 2506: - 8CB0 00 defb 00000000b 2507: - 8CB1 00 defb 00000000b 2508: - 8CB2 00 defb 00000000b 2509: - 8CB3 20 defb 00100000b 2510: - 8CB4 00 defb 00000000b 2511: - 8CB5 00 defb 00000000b 2512: - 8CB6 00 defb 00000000b 2513: - 8CB7 00 defb 00000000b 2514: 2515: ; code=251, hex=0xFB, ascii="!{" 2516: - 8CB8 00 defb 00000000b 2517: - 8CB9 1C defb 00011100b 2518: - 8CBA 10 defb 00010000b 2519: - 8CBB 10 defb 00010000b 2520: - 8CBC 50 defb 01010000b 2521: - 8CBD 50 defb 01010000b 2522: - 8CBE 20 defb 00100000b 2523: - 8CBF 00 defb 00000000b 2524: 2525: ; code=252, hex=0xFC, ascii="!|" 2526: - 8CC0 50 defb 01010000b 2527: - 8CC1 28 defb 00101000b 2528: - 8CC2 28 defb 00101000b 2529: - 8CC3 28 defb 00101000b 2530: - 8CC4 00 defb 00000000b 2531: - 8CC5 00 defb 00000000b 2532: - 8CC6 00 defb 00000000b 2533: - 8CC7 00 defb 00000000b 2534: 2535: ; code=253, hex=0xFD, ascii="!}" 2536: - 8CC8 60 defb 01100000b 2537: - 8CC9 10 defb 00010000b 2538: - 8CCA 20 defb 00100000b 2539: - 8CCB 70 defb 01110000b 2540: - 8CCC 00 defb 00000000b 2541: - 8CCD 00 defb 00000000b 2542: - 8CCE 00 defb 00000000b 2543: - 8CCF 00 defb 00000000b 2544: 2545: ; code=254, hex=0xFE, ascii="!~" 2546: - 8CD0 00 defb 00000000b 2547: - 8CD1 00 defb 00000000b 2548: - 8CD2 78 defb 01111000b 2549: - 8CD3 78 defb 01111000b 2550: - 8CD4 78 defb 01111000b 2551: - 8CD5 78 defb 01111000b 2552: - 8CD6 00 defb 00000000b 2553: - 8CD7 00 defb 00000000b 2554: 2555: ; code=255, hex=0xFF, ascii="!^Ÿ" 2556: - 8CD8 00 defb 00000000b 2557: - 8CD9 00 defb 00000000b 2558: - 8CDA 00 defb 00000000b 2559: - 8CDB 00 defb 00000000b 2560: - 8CDC 00 defb 00000000b 2561: - 8CDD 00 defb 00000000b 2562: - 8CDE 00 defb 00000000b **** test.asm **** 276: - 8CDF 00 defb 00000000b 277: 278: 279: - 8CE0 TermClear: 280: 5169+10 8CE0 010038 ld bc, 0x3800 281: - 8CE3 TermClearLoop: 282: 5179+4 8CE3 79 ld a,c ; setup VDP addressh 283: 5183+11 8CE4 D381 out (0x81),a 284: 5194+4 8CE6 78 ld a,b 285: 5198+7 8CE7 E63F and 3fh 286: 5205+7 8CE9 F640 or 40h ; write bit 287: 5212+11 8CEB D381 out (0x81),a 288: 5223+7 8CED 3E20 ld a, ' ' 289: 5230+11 8CEF D380 out (0x80),a 290: 5241+17 8CF1 CD6481 call VDPWait 291: 5258+6 8CF4 03 inc bc 292: 293: 5264+4 8CF5 60 ld h,b 294: 5268+4 8CF6 69 ld l,c 295: 5272+10 8CF7 11C03B ld de, 0x3800 + 960 ; buffer end 296: 5282+15 8CFA ED52 sbc hl, de 297: 5297+10 8CFC C2E38C jp nz, TermClearLoop 298: 299: 5307+4 8CFF AF xor a 300: 5311+13 8D00 32E040 ld (TermCurrentX), a 301: 5324+13 8D03 32E140 ld (TermCurrentY), a 302: 303: 5337+17 8D06 CD4480 call TermSetCursor 304: **** test.asm **** 305: 5354+10 8D09 C9 ret Statistics: 4 passes 0 jr promotions 611 symbols 3338 bytes Symbol Table: ADDR_RTC =D0 208 A_RTS_OFF = 152 338 A_RTS_ON = 15B 347 BOOT_PHASE0 =50 80 BOOT_PHASE1 =6E 110 BOOT_PHASE1_LOOP=77 119 BOOT_PHASE2 =82 130 COMMAND =17EB 6123 COMMAND_BACKSPACE=1826 6182 COMMAND_LUT =176B 5995 COMMAND_PROCESS=184C 6220 COMMAND_PROCESS_FOUND=1887 6279 COMMAND_PROCESS_LOOP=184F 6223 COMMAND_PROCESS_LOOP_STR1=1858 6232 COMMAND_PROCESS_LOOP_STR2=186E 6254 COMMAND_PROCESS_NEXT_ENTRY=1873 6259 COMMAND_PROCESS_NEXT_ENTRYI=1872 6258 COMMAND_PROCESS_NOT_FOUND=187E 6270 COMMAND_READ =17F7 6135 CONSOLE_INIT =9E 158 CONSOLE_INIT_CTC=9E 158 CONSOLE_INIT_SIO=A6 166 CS_APU_CTRL =F9 249 CS_APU_DATA =F8 248 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_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 = 164 356 DHEX_TO_BYTE_FAILED= 180 384 ERR_SYNTAX =189D 6301 EXEC_RST_08 = D04 3332 EXEC_RST_10 = D08 3336 EXEC_RST_18 = D14 3348 HEX_TO_BIN = 184 388 HEX_TO_BIN_2 = 192 402 HEX_TO_INVALID_2= 199 409 IDE_CMD_IDENT =EC 236 IDE_CMD_READSEC=20 32 IDE_DEV_TABLE =1275 4725 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_LBA0 =0B 11 IDE_REG_LBA1 =0C 12 IDE_REG_LBA2 =0D 13 IDE_REG_LBA3 =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_CLK =01 1 IIC_DATA =02 2 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 MEM_IDE_BUFFER =4166 16742 MEM_IDE_DEVICE =407B 16507 MEM_IDE_DEV_TABLE=4085 16517 MEM_IDE_FSBUFFER=4366 17254 MEM_IDE_PARTITION=407D 16509 MEM_IDE_POINTER=4081 16513 MEM_IDE_SELECTED=40C5 16581 MEM_IDE_STATUS =407C 16508 MEM_IDE_STRING_0=40C6 16582 MEM_IDE_STRING_1=40EE 16622 MEM_IDE_STRING_2=4116 16662 MEM_IDE_STRING_3=413E 16702 MSG_CLEAR = 14A 330 NOT_IMPLEMENTED=1896 6294 OP_CALL =18F8 6392 OP_CLR =1A8C 6796 OP_DASM =1979 6521 OP_DUMP =1918 6424 OP_EXEC =18DF 6367 OP_IIC_IN =1A40 6720 OP_IIC_OUT =19E0 6624 OP_IO_IN =19A9 6569 OP_IO_OUT =19BF 6591 OP_LSDSK =1CA1 7329 OP_RTIME =1A90 6800 OP_SELDSK =1CA5 7333 OP_SET =1948 6472 OP_STIME =1C28 7208 POST_CHECK_APU =1D12 7442 POST_CHECK_IDE_30=1D3D 7485 POST_CHECK_IDE_40=1D50 7504 POST_CHECK_PIO =1CED 7405 POST_START =1CDD 7389 POST_TEST_RTC =1D6A 7530 PRG_RAM_START =4110 16656 PRG_RAM_TOP =FF00 65280 PROG_MEM_START =4000 16384 PROG_ROM_START = 100 256 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= 19B 411 STRCONV_BYTES_TO_HEX_1= 1AA 426 STRCONV_BYTES_TO_HEX_2= 1B4 436 STR_Banner_Start=1E6F 7791 STR_PD_HEADER =1724 5924 SYS_BUF_START =4010 16400 SYS_RAM_START =4000 16384 TermClear 8CE0 36064 TermClearLoop 8CE3 36067 TermCurrentX 40E0 16608 TermCurrentY 40E1 16609 TermCursorEnabled 40E3 16611 TermCursorState 40E2 16610 TermInit 8008 32776 TermInit_copy_loop 8011 32785 TermPrintChar 8060 32864 TermPrintCharDone 80FE 33022 TermPrintCharSPCR 80F4 33012 TermPrintCharSPDelete 80A1 32929 TermPrintCharSPDeleteWrap 80BA 32954 TermPrintCharSPLF 80D4 32980 TermPrintCharSPLFScroll 80E6 32998 TermPrintCharWrap 808B 32907 TermPrintStr 804F 32847 TermPrintStr_EXIT 805D 32861 TermPrintStr_LOOP 8051 32849 TermScroll 8103 33027 TermScrollClearLine 8144 33092 TermScrollClearLineLoop 8147 33095 TermScrollLine 8106 33030 TermSetCursor 8044 32836 TermVarMemoryLocation=40E0 16608 TermVarTemplate 8004 32772 TermVarTemplateEnd 40E4 16612 TitleMessage 8169 33129 Tms16k =80 128 TmsBackground 829C 33436 TmsBitmap 837F 33663 TmsBitmapColorLen= 800 2048 TmsBitmapFlags = 2C0 704 TmsBitmapLoop 838C 33676 TmsBitmapPatternLen=1800 6144 TmsBlack =01 1 TmsBlankFlags =80 128 TmsByteLoop 8313 33555 TmsChrOut =8280 33408 TmsClearPixel =A02F 41007 TmsColorAddr E406 58374 TmsColorReg =87 135 TmsColorTableHigh 83B1 33713 TmsColorTableReg=83 131 TmsCtrl0Reg =80 128 TmsCtrl1Reg =81 129 TmsCyan =07 7 TmsDarkBlue =04 4 TmsDarkGreen =0C 12 TmsDarkRed =06 6 TmsDarkYellow =0A 10 TmsDisplayEnable=40 64 TmsExtVideo = 100 256 TmsFill 843E 33854 TmsFillLoop 8443 33859 TmsFont 84E0 34016 TmsGray =0E 14 TmsInitCommon 83CA 33738 TmsInitNonBitmap 834C 33612 TmsIntDisable 82CB 33483 TmsIntEnable 82BE 33470 TmsIntEnableBit=20 32 TmsLightBlue =05 5 TmsLightGreen =03 3 TmsLightRed =09 9 TmsLightYellow =0B 11 TmsLineLoop 8310 33552 TmsM1 =10 16 TmsM2 =08 8 TmsM3 = 200 512 TmsMagenta =0D 13 TmsMaskLookup 84B3 33971 TmsMediumGreen =02 2 TmsMediumRed =08 8 TmsMode E402 58370 TmsMulticolor 8300 33536 TmsMulticolorFlags=C8 200 TmsMulticolorPatternLen= 600 1536 TmsNameAddr E404 58372 TmsNameReg =82 130 TmsNumPorts =03 3 TmsPatternAddr E408 58376 TmsPatternReg =84 132 TmsPatternTableHigh 83C5 33733 TmsPixelColor 84BB 33979 TmsPixelOp 8488 33928 TmsPixelOpPlaceHolder 84A9 33961 TmsPlotPixel 848C 33932 TmsPort E400 58368 TmsPorts 8265 33381 TmsProbe 8241 33345 TmsProbeFailed 8260 33376 TmsProbeNext 8246 33350 TmsProbeWait 8256 33366 TmsRamIn 828B 33419 TmsRamInDelay 8290 33424 TmsRamInDelay2 8298 33432 TmsRamOut 8280 33408 TmsRamOutDelay 8287 33415 TmsReadAddr 8424 33828 TmsRegIn 8276 33398 TmsRegOut 826C 33388 TmsRepeat 8482 33922 TmsReset 82D8 33496 TmsScreenColors E40E 58382 TmsSectionLoop 830E 33550 TmsSetPixel =B0 176 TmsSetReg 8268 33384 TmsSetWait 823B 33339 TmsSprite32 =02 2 TmsSpriteAttrAddr E40C 58380 TmsSpriteAttrReg=85 133 TmsSpriteConfig 82AD 33453 TmsSpriteMag =01 1 TmsSpritePatternAddr E40A 58378 TmsSpritePatternReg=86 134 TmsStrOut 8477 33911 TmsSubs 81E2 33250 TmsTextColor 844D 33869 TmsTextFlags =D0 208 TmsTextMode 8337 33591 TmsTextNameLen = 3C0 960 TmsTextPatternLen= 800 2048 TmsTextPos 8460 33888 TmsTile 832B 33579 TmsTileColorLen=20 32 TmsTileFlags =C0 192 TmsTileNameLen = 300 768 TmsTilePatternLen= 800 2048 TmsTransparent =00 0 TmsWait E401 58369 TmsWaits 8238 33336 TmsWhite =0F 15 TmsWrite 842F 33839 TmsWriteAddr 8417 33815 TmsWriteBit =40 64 TmsWriteLoop 8432 33842 TmsXYAddr 84CF 33999 VAR_CONSOLE_BAUD=18 24 VAR_CONSOLE_CONF=0F 15 VDPTextBufferEnd=3B98 15256 VDPTextBufferStart=00 0 VDPWait 8164 33124 VDP_MEM =80 128 VDP_REG =81 129 _COMMAND_PROCESS_FOUND=1895 6293 _OP_CALL =1917 6423 _OP_IIC_ACK_ERR=1A25 6693 _OP_IIC_ACK_ERR_str=1A2C 6700 _OP_IIC_IN_LOOP=1A72 6770 _OP_IIC_IN_LOOP_TEXT=1A7F 6783 _OP_IIC_OUT_LOOP=19F6 6646 _OP_IIC_OUT_SEND=1A12 6674 _OP_RTIME_NN =1A93 6803 _OP_RTIME_RD_CMD=1B4B 6987 _OP_SELDSK_INVALID=1CB4 7348 _OP_SELDSK_INVALID_STR=1CC4 7364 _OP_SET_LOOP =1960 6496 _OP_STIME_INVALID=1BEE 7150 _OP_STIME_PROMPT=1C05 7173 _OP_STIME_PROMPT_ERR=1C1D 7197 _OP_STIME_STR_DAY=1B4C 6988 _OP_STIME_STR_HOUR=1B9D 7069 _OP_STIME_STR_MIN=1BB8 7096 _OP_STIME_STR_MON=1B67 7015 _OP_STIME_STR_SEC=1BD3 7123 _OP_STIME_STR_YEAR=1B82 7042 _POST_CHECK_APU_FAILED=1D31 7473 _POST_CHECK_IDE_FAILED=1D63 7523 _POST_CHECK_PIO_FAILED=1D06 7430 _POST_TEST_RTC_INVALID=1DA4 7588 _POST_TEST_RTC_NOTFOUND=1D9D 7581 _STR_NOT_FOUND =18B8 6328 _STR_NOT_IMPLEMENTED=18A4 6308 _STR_SYNTAX =18CC 6348 _beep_pause_l1 = D30 3376 _ideif_init_drive_found=13E9 5097 _ideif_init_drive_loop=13D1 5073 _ideif_init_drive_nodrv=13E4 5092 _ideif_init_drive_prt_fnd=1454 5204 _ideif_init_drive_prt_l1=1442 5186 _ideif_init_drive_prt_ln=144C 5196 _ideif_prnt_devtable_hdr=1510 5392 _ideif_prnt_devtable_l1=12E1 4833 _ideif_prnt_devtable_l1_e2=13A7 5031 _ideif_prnt_devtable_l1_es=1326 4902 _ideif_prnt_devtable_l1_ms=13A4 5028 _ideif_prnt_devtable_l1_nxt=12EE 4846 _ideif_prnt_devtable_l1_s00=1314 4884 _ideif_prnt_devtable_l1_s01=1319 4889 _ideif_prnt_devtable_l1_s02=131E 4894 _ideif_prnt_devtable_l1_sFF=1323 4899 _ideif_prnt_devtable_l1_sel=12EC 4844 _ideif_prnt_devtable_master=1574 5492 _ideif_prnt_devtable_s00=1548 5448 _ideif_prnt_devtable_s01=1553 5459 _ideif_prnt_devtable_s02=155E 5470 _ideif_prnt_devtable_sFF=1569 5481 _ideif_prnt_devtable_slave=157C 5500 _read_bcd_invalid= 147 327 _shift4 =1C9C 7324 beep = D17 3351 beep_loop = D19 3353 beep_pause = D2F 3375 dasm_00 = 91C 2332 dasm_01 = C08 3080 dasm_02 = 9A2 2466 dasm_03 = BDA 3034 dasm_08 = A1F 2591 dasm_09 = BAD 2989 dasm_0A = 984 2436 dasm_0B = BF1 3057 dasm_10 = 964 2404 dasm_12 = 9AD 2477 dasm_18 = 927 2343 dasm_1A = 98E 2446 dasm_20 = 941 2369 dasm_22 = C4E 3150 dasm_27 = 9E7 2535 dasm_28 = 93A 2362 dasm_2A = C1F 3103 dasm_2F = 9EB 2539 dasm_30 = 932 2354 dasm_32 = 9B8 2488 dasm_37 = 9F7 2551 dasm_38 = 92B 2347 dasm_3A = 998 2456 dasm_3F = 9F3 2547 dasm_76 = 9FB 2555 dasm_80C6 = A78 2680 dasm_BE = A15 2581 dasm_C3 = 920 2336 dasm_C88E = A9E 2718 dasm_C9 = 970 2416 dasm_CD = 96A 2410 dasm_D9 = A2C 2604 dasm_DD = 952 2386 dasm_DD_01 = C0F 3087 dasm_DD_09 = BC8 3016 dasm_DD_22 = C64 3172 dasm_DD_23 = BDF 3039 dasm_DD_2A = C36 3126 dasm_DD_2B = BF6 3062 dasm_DD_34 = B78 2936 dasm_DD_35 = B95 2965 dasm_DD_86 = A80 2688 dasm_DD_8E = AA6 2726 dasm_DD_96 = AC9 2761 dasm_DD_9E = AE9 2793 dasm_DD_A6 = B0A 2826 dasm_DD_AE = B41 2881 dasm_DD_B6 = B26 2854 dasm_DD_BE = B5D 2909 dasm_DD_E1 = CB6 3254 dasm_DD_E3 = A3C 2620 dasm_DD_E5 = CA0 3232 dasm_DD_F9 = C86 3206 dasm_E1 = CB0 3248 dasm_E3 = A30 2608 dasm_E5 = C9A 3226 dasm_E9 = 949 2377 dasm_ED_42 = BBF 3007 dasm_ED_43 = C5A 3162 dasm_ED_44 = 9EF 2543 dasm_ED_45 = 97A 2426 dasm_ED_46 = A06 2566 dasm_ED_4A = BB6 2998 dasm_ED_4B = C2B 3115 dasm_ED_4D = 975 2421 dasm_ED_56 = A0B 2571 dasm_ED_5E = A10 2576 dasm_ED_A0 = A54 2644 dasm_ED_A1 = A66 2662 dasm_ED_A8 = A5D 2653 dasm_ED_A9 = A6F 2671 dasm_ED_B0 = A58 2648 dasm_ED_B1 = A6A 2666 dasm_ED_B8 = A61 2657 dasm_ED_B9 = A73 2675 dasm_F3 = A00 2560 dasm_F9 = C7C 3196 dasm_FB = A03 2563 dasm_FD = 95B 2395 dasm_FD_01 = C17 3095 dasm_FD_09 = BD1 3025 dasm_FD_22 = C70 3184 dasm_FD_23 = BE8 3048 dasm_FD_2A = C42 3138 dasm_FD_2B = BFF 3071 dasm_FD_34 = B84 2948 dasm_FD_35 = BA1 2977 dasm_FD_86 = A8F 2703 dasm_FD_8E = AB5 2741 dasm_FD_96 = AD5 2773 dasm_FD_9E = AF7 2807 dasm_FD_A6 = B16 2838 dasm_FD_AE = B4D 2893 dasm_FD_B6 = B31 2865 dasm_FD_BE = B68 2920 dasm_FD_E1 = CBE 3262 dasm_FD_E3 = A48 2632 dasm_FD_E5 = CA8 3240 dasm_FD_F9 = C90 3216 dasm_FF = 97F 2431 dasm_UU = CC6 3270 dasm_UW = CCA 3274 dasm__AND = B05 2821 dasm__CP = B59 2905 dasm__DEC = B90 2960 dasm__ED_47 = 9D7 2519 dasm__ED_4F = 9DF 2527 dasm__ED_57 = 9C7 2503 dasm__ED_5F = 9CF 2511 dasm__INC = B73 2931 dasm__LD = 9C3 2499 dasm__OR = B22 2850 dasm__SBC = AE1 2785 dasm__SUB = AC4 2756 dasm__XOR = B3C 2876 dasm_opcode_table= 4C4 1220 dasm_print16hex_addr= 2F1 753 dasm_print8hex = 309 777 dasm_printFlags_table= CCF 3279 dasm_printRegister8_table= CDF 3295 dasm_printRegister8_table_HL= CFF 3327 dasm_printRegisterIX_table= CE7 3303 dasm_printRegisterIY_table= CEF 3311 dasm_printRegisterSP_table= CF7 3319 disassemble = 1B5 437 disassemble_continue= 29B 667 disassemble_err= 28B 651 disassemble_next= 1B9 441 disassemble_print_opcode_params_end= 288 648 disassemble_print_opcode_params_loop= 234 564 disassemble_print_opcode_raw= 1F6 502 disassemble_print_opcode_raw_fill= 20A 522 disassemble_table_first_match= 2CD 717 disassemble_table_found= 2E7 743 disassemble_table_notfound= 2EB 747 disassemble_table_seek= 2A9 681 disassemble_table_seek_loop= 2AD 685 dump_pretty =16C9 5833 dump_pretty_ascii=16F3 5875 dump_pretty_ascii_cont=1711 5905 dump_pretty_ascii_loop=16FB 5883 dump_pretty_ascii_none=170C 5900 dump_pretty_col=16E6 5862 dump_pretty_end=1723 5923 dump_pretty_nextrow=1717 5911 dump_pretty_row=16D1 5841 ide_printerror = E04 3588 ide_readsector_256= D83 3459 ide_readsector_256_done= DB2 3506 ide_readsector_256_waitloop= D85 3461 ide_readsector_512_inv= DB3 3507 ide_readsector_512_inv_waitloop= DB8 3512 ide_readsector_timeout= DEE 3566 ide_regread_8 = D65 3429 ide_regwrite_8 = D49 3401 ide_reset = D3C 3388 ide_writesector_256= E03 3587 ideif_get_drv_pointer=1497 5271 ideif_init_all =14AB 5291 ideif_init_devtable=12B5 4789 ideif_init_drive=13C8 5064 ideif_prnt_devtable=12D3 4819 iic_init =15DD 5597 iic_read_ack =161C 5660 iic_receive_buffer=15AE 5550 iic_receive_buffer_done=15D1 5585 iic_receive_buffer_err=15D7 5591 iic_receive_buffer_loop=15BF 5567 iic_receive_byte=16A2 5794 iic_receive_byte_loop=16AF 5807 iic_send_ack =1642 5698 iic_send_buffer=1584 5508 iic_send_buffer_done=15A2 5538 iic_send_buffer_err=15A8 5544 iic_send_buffer_loop=1594 5524 iic_send_byte =167C 5756 iic_send_byte_loop=1688 5768 iic_send_ebit =15FB 5627 iic_send_nack =165F 5727 iic_send_sbit =15E6 5606 mon_var_template=44 68 mon_var_template_end= 3BF 959 param_01 = 317 791 param_02 = 33E 830 param_03 = 35B 859 param_03_done = 393 915 param_03_neg = 37C 892 param_04 = 397 919 param_04_i = 3A7 935 param_05 = 3AD 941 param_06 = 3BA 954 param_07 = 3D4 980 param_08 = 3E1 993 param_09 = 3F6 1014 param_09_0A = 3FC 1020 param_0A = 3ED 1005 param_10 = 40B 1035 param_11 = 41B 1051 param_11_12 = 42A 1066 param_11_12_all= 44A 1098 param_11_12_def= 43D 1085 param_11_12_ix = 442 1090 param_11_12_iy = 447 1095 param_12 = 423 1059 param_13 = 45B 1115 param_80 = 47A 1146 param_80_seek = 481 1153 param_81 = 471 1137 param_comma = 4B5 1205 param_printRegister= 490 1168 param_printRegisterA= 4AE 1198 param_printRegisterHL= 4A6 1190 print_a_hex = 107 263 print_bcd = 119 281 print_char =D7 215 print_clear =EA 234 print_newLine =F1 241 print_str =DF 223 print_str_end =E9 233 print_str_fixed=1763 5987 print_wait_out =FC 252 read_bcd = 131 305 read_char = 11F 287 read_lba_sector=14BE 5310 setup_vars 81F1 33265 str_dev_done =1508 5384 str_dev_waitready=14F0 5360 str_error_start= E37 3639 str_error_start1= E54 3668 str_error_start2= E5D 3677 str_error_time = E66 3686 str_post_apu =1DFC 7676 str_post_ide_30=1DAB 7595 str_post_ide_40=1DC6 7622 str_post_nd =1E32 7730 str_post_ok =1E6A 7786 str_post_pio =1DE1 7649 str_post_rtc =1E17 7703 str_post_rtc_iv=1E40 7744 var_apu_present=400A 16394 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_idebuffer =407B 16507 var_input =402B 16427 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_pio_present=4009 16393 var_ps2mem =401B 16411 var_scratch =400B 16395