Files
Z8C-Homebrew-Computer/OperatingSystem/iictest/zout/test.lst
2023-12-28 01:02:00 +01:00

1155 lines
48 KiB
Plaintext
Raw Blame History

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