Files
Z8C-Homebrew-Computer/OperatingSystem/iictest/zout/test.lst
Dennis Gunia 488efa3907 fat16 working
2024-01-25 00:12:46 +01:00

4706 lines
200 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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