Files
Z8C-Homebrew-Computer/OperatingSystem/software/zout/test.lst
Dennis Gunia d4af826223 restructure
2023-12-26 01:11:55 +01:00

1148 lines
47 KiB
Plaintext

1: .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: - B000 org 0xB000
3: ;Testing code
4:
5: ;LD HL,MEM_IDE_BUFFER
6: ;LD B,32
7: ;call dump_pretty
8: 0+17 B000 CD11B0 call find_partition
9: 17+17 B003 CD11B1 call fat_get_root_table
10: 34+17 B006 CD6CB1 call fat_print_directory
11:
12: 51+10 B009 C39900 JP PROMPT_BEGIN
13:
14:
15: - B00C delay_small:
16: 61+11 B00C F5 PUSH AF
17: 72+10 B00D F1 POP AF
18: 82+11 B00E F5 PUSH AF
19: 93+10 B00F F1 POP AF
20: 103+10 B010 C9 RET
21:
22: - B011 find_partition:
23: ;read bootsector
24: 113+7 B011 3E01 LD A,1 ;read 1 sector
25: 120+7 B013 060A LD B,IDE_REG_SECTOR
26: 127+17 B015 CDB310 CALL ide_regwrite_8
27:
28: 144+7 B018 3E01 LD A,1 ;read sector 0
29: 151+7 B01A 060B LD B,IDE_REG_SSECTOR
30: 158+17 B01C CDB310 CALL ide_regwrite_8
31:
32: 175+7 B01F 3E00 LD A,0 ;read cylinder 0
33: 182+7 B021 060C LD B,IDE_REG_LCYL
34: 189+17 B023 CDB310 CALL ide_regwrite_8
35: 206+7 B026 3E00 LD A,0
36: 213+7 B028 060D LD B,IDE_REG_HCYL
37: 220+17 B02A CDB310 CALL ide_regwrite_8
38:
39: 237+7 B02D 3EA0 LD A,10100000b ;read head 0
40: 244+7 B02F 060E LD B,IDE_REG_HEAD
41: 251+17 B031 CDB310 CALL ide_regwrite_8
42:
43: 268+7 B034 3E20 LD A,IDE_CMD_READSEC ;send read command
44: 275+7 B036 060F LD B,IDE_REG_CMDSTS
45: 282+17 B038 CDB310 CALL ide_regwrite_8
46:
47: 299+10 B03B 214150 LD HL,MEM_IDE_BUFFER ;set read/write buffer start address
48: 309+17 B03E CD1D11 call ide_readsector_512_inv ;read 256 words from device
49:
50: 326+7 B041 0604 LD B,4 ;Partition table length
51: 333+7 B043 0E00 LD C,0 ;Partition ID counter
52: 340+14 B045 DD21FF51 LD IX,MEM_IDE_BUFFER+446 ;Load offest of first partition table entry
53: - B049 find_partition_loop:
54: 354+19 B049 DD7E04 LD A,(IX+4) ;load status byte
55: 373+4 B04C B7 OR A
56: 377+10 B04D C265B0 JP NZ, find_partition_process ;If not zero, jump to print function
57: 387+10 B050 C353B0 jp find_partition_next
58:
59: - B053 find_partition_next:
60: 397+7 B053 3E0A LD A,10 ;New line
61: 404+17 B055 CDB702 CALL print_char
62: 421+7 B058 3E0D LD A,13
63: 428+17 B05A CDB702 CALL print_char
64: 445+10 B05D 111000 LD DE,16
65: 455+15 B060 DD19 ADD IX,DE
66: 470+8+5 B062 10E5 DJNZ find_partition_loop
67: 478+10 B064 C9 RET
68:
69: - B065 find_partition_process: ; process table entry
70: 488+10 B065 21D3B0 ld hl, [str_part_seek_1]
71: 498+17 B068 CDBF02 call print_str ;print
72: 515+19 B06B DD7E04 LD A,(IX+0x04) ;load type
73: 534+17 B06E CDE702 call print_a_hex
74: 551+19 B071 DD7E04 LD A,(IX+0x04) ;load type
75: 570+7 B074 FE0E CP 0x0E
76: 577+7+5 B076 20DB JR NZ, find_partition_next
77:
78: 584+10 B078 21DEB0 ld hl, [str_part_seek_2]
79: 594+17 B07B CDBF02 call print_str ;print
80: 611+10 B07E 21E7B0 ld hl, [str_part_seek_3]
81: 621+17 B081 CDBF02 call print_str ;print
82:
83: 638+19 B084 DD7E08 LD A,(IX+0x08) ;load start LBA
84: 657+13 B087 320550 LD (MEM_IDE_PARTITION+3),A
85: 670+19 B08A DD7E09 LD A,(IX+0x09) ;load start LBA
86: 689+13 B08D 320450 LD (MEM_IDE_PARTITION+2),A
87: 702+19 B090 DD7E0A LD A,(IX+0x0A) ;load start LBA
88: 721+13 B093 320350 LD (MEM_IDE_PARTITION+1),A
89: 734+19 B096 DD7E0B LD A,(IX+0x0B) ;load start LBA
90: 753+13 B099 320250 LD (MEM_IDE_PARTITION+0),A
91:
92: 766+13 B09C 3A0550 LD A,(MEM_IDE_PARTITION+3)
93: 779+17 B09F CDE702 call print_a_hex
94: 796+13 B0A2 3A0450 LD A,(MEM_IDE_PARTITION+2)
95: 809+17 B0A5 CDE702 call print_a_hex
96: 826+13 B0A8 3A0350 LD A,(MEM_IDE_PARTITION+1)
97: 839+17 B0AB CDE702 call print_a_hex
98: 856+13 B0AE 3A0250 LD A,(MEM_IDE_PARTITION+0)
99: 869+17 B0B1 CDE702 call print_a_hex
100: 886+10 B0B4 21F0B0 ld hl, [str_part_seek_4]
101: 896+17 B0B7 CDBF02 call print_str ;print
102: 913+19 B0BA DD7E0C LD A,(IX+0x0C) ;load count LBA
103: 932+17 B0BD CDE702 call print_a_hex
104: 949+19 B0C0 DD7E0D LD A,(IX+0x0D) ;load count LBA
105: 968+17 B0C3 CDE702 call print_a_hex
106: 985+19 B0C6 DD7E0E LD A,(IX+0x0E) ;load count LBA
107: 1004+17 B0C9 CDE702 call print_a_hex
108: 1021+19 B0CC DD7E0F LD A,(IX+0x0F) ;load count LBA
109: 1040+17 B0CF CDE702 call print_a_hex
110:
111: 1057+10 B0D2 C9 RET
112:
113: - B0D3 str_part_seek_1:
114: - B0D3 2D205479 db "- Type: 0x",0
70653A20
307800
115: - B0DE str_part_seek_2:
116: - B0DE 20537461 db " State: ",0
74653A20
00
117: - B0E7 str_part_seek_3:
118: - B0E7 204C4241 db " LBA: 0x",0
3A203078
00
119: - B0F0 str_part_seek_4:
120: - B0F0 204C656E db " Len: 0x",0
3A203078
00
121: - B0F9 str_sum:
122: - B0F9 2D2D2D2D db "------------",10,13,0
2D2D2D2D
2D2D2D2D
0A0D00
123: - B108 str_files:
124: - B108 2046696C db " Files",10,13,0
65730A0D
00
125:
**** test.asm ****
126: .include "include/fat16.s"
**** include/fat16.s ****
1: ; VARS
2:
3: - 500A MEM_FAT_RESERVED .EQU MEM_IDE_BASE + 10 ; Reserved sectors (2byte)
4: - 500C MEM_FAT_AMOUNT .EQU MEM_IDE_BASE + 12 ; Amount of FATs (1byte)
5: - 500D MEM_FAT_SECTORS .EQU MEM_IDE_BASE + 13 ; Length of FAT (2byte)
6:
7: - 500F MEM_FAT_COUNT1 .EQU MEM_IDE_BASE + 15 ;Counter Var for reading FAT (2byte)
8:
9: ;-------------------------------------
10: ; Get FAT Root-Table position
11: ;-------------------------------------
12: - B111 fat_get_root_table:
13: 1067+17 B111 CD5BB1 call fat_reset_pointer ;reset fat pointer
14: ; Load first sector on active partition
15: 1084+10 B114 210250 LD HL, MEM_IDE_PARTITION ; pointer to LBA address
16: 1094+7 B117 3E01 LD A,1 ;read 1 sector
17: 1101+17 B119 CD5612 call read_lba_sector
18:
19: ; Read and store FS Properties
20: 1118+14 B11C DD214150 LD IX,MEM_IDE_BUFFER
21: 1132+19 B120 DD7E0E LD A,(IX+0x0E)
22: 1151+13 B123 320A50 LD (MEM_FAT_RESERVED),A
23: 1164+19 B126 DD7E0F LD A,(IX+0x0F)
24: 1183+13 B129 320B50 LD (MEM_FAT_RESERVED+1),A
25: 1196+19 B12C DD7E10 LD A,(IX+0x10)
26: 1215+13 B12F 320C50 LD (MEM_FAT_AMOUNT),A
27: 1228+19 B132 DD7E16 LD A,(IX+0x16)
28: 1247+13 B135 320D50 LD (MEM_FAT_SECTORS),A
29: 1260+19 B138 DD7E17 LD A,(IX+0x17)
30: 1279+13 B13B 320E50 LD (MEM_FAT_SECTORS+1),A
31:
32: ;Get Root FAT
33: 1292+13 B13E 3A0E50 LD A, (MEM_FAT_SECTORS+1) ; load FAT Sector size to DE
34: 1305+4 B141 57 LD D,A
35: 1309+13 B142 3A0D50 LD A, (MEM_FAT_SECTORS)
36: 1322+4 B145 5F LD E,A
37: 1326+4 B146 AF XOR A ; clear HL
38: 1330+4 B147 67 LD H,A
39: 1334+4 B148 6F LD L,A
40: 1338+13 B149 3A0C50 LD A,(MEM_FAT_AMOUNT) ; Load counter for multiplication
41: 1351+4 B14C 47 LD B,A
42: - B14D _fat_get_root_table_loop: ; multiply
43: 1355+11 B14D 19 ADD HL,DE
44: 1366+8+5 B14E 10FD DJNZ _fat_get_root_table_loop
45:
46: ; add reserved sectors
47: 1374+7 B150 1600 LD D,0
48: 1381+13 B152 3A0A50 LD A,(MEM_FAT_RESERVED)
49: 1394+4 B155 5F LD E,A
50: 1398+11 B156 19 ADD HL,DE
51:
52: ; add
53: 1409+17 B157 CDFAB1 call _fat_math_sector_add_16
54: 1426+10 B15A C9 ret
55:
56: ; reset LBA pointer to first sector in partition
57: - B15B fat_reset_pointer:
58: 1436+10 B15B 210250 LD HL,MEM_IDE_PARTITION
59: 1446+10 B15E 110650 LD DE,MEM_IDE_POINTER
60: 1456+12 B161 1800 jr fat_copy_lba_pointer
61:
62: ; resets LBA pointer (4-byte) to partition start
63: ; HL = from here
64: ; DE = to this destimation
65: - B163 fat_copy_lba_pointer:
66: 1468+11 B163 C5 PUSH BC
67: 1479+7 B164 0600 LD B,0
68: 1486+7 B166 0E04 LD C,4
69: 1493+16+5 B168 EDB0 LDIR
70: 1509+10 B16A C1 POP BC
71: 1519+10 B16B C9 ret
72:
73: ;-------------------------------------
74: ; Print current fat directory of MEM_IDE_POINTER
75: ;-------------------------------------
76: - B16C fat_print_directory:
77: 1529+7 B16C 3E0A LD A,10 ;New line
78: 1536+17 B16E CDB702 CALL print_char
79: 1553+7 B171 3E0D LD A,13
80: 1560+17 B173 CDB702 CALL print_char
81:
82: 1577+20 B176 ED5B0D50 LD DE,(MEM_FAT_SECTORS)
83: 1597+20 B17A ED530F50 LD (MEM_FAT_COUNT1),DE
84: 1617+10 B17E 210650 LD HL,MEM_IDE_POINTER ;read first sector
85: 1627+7 B181 0601 LD B,1
86: 1634+17 B183 CD5612 call read_lba_sector
87:
88: 1651+10 B186 214150 LD HL, MEM_IDE_BUFFER ;set buffer start
89: 1661+7 B189 0E10 LD C,16 ;set entries counter
90:
91: - B18B _fat_print_directory_loop: ;loop over each entry (32byte)
92: 1668+7 B18B 7E LD A,(HL) ; check first byte
93: 1675+11 B18C E5 PUSH HL ;backup start of entry
94: ;ignore unwanted entries
95: 1686+7 B18D FE41 CP 0x41 ;skip invisible
96: 1693+7+5 B18F 2826 JR Z, _fat_print_directory_loop_next
97: 1700+7 B191 FEE5 CP 0xE5 ;skip deleted
98: 1707+7+5 B193 2822 JR Z, _fat_print_directory_loop_next
99: 1714+7 B195 FE00 CP 0x00 ;reached end
100: 1721+10 B197 CAE8B1 JP Z, _fat_print_directory_loop_break
101: ;print filename
102: 1731+7 B19A 0608 LD B,8
103: 1738+17 B19C CD5813 call print_str_fixed
104: 1755+7 B19F 3E2E ld A,'.'
105: 1762+17 B1A1 CDB702 call print_char
106: 1779+7 B1A4 0603 LD B,3
107: 1786+17 B1A6 CD5813 call print_str_fixed
108:
109: 1803+7 B1A9 7E LD A,(HL) ; print attribute
110: 1810+17 B1AA CDB702 call print_char
111:
112: 1827+7 B1AD 3E0A LD A,10 ;New line
113: 1834+17 B1AF CDB702 CALL print_char
114: 1851+7 B1B2 3E0D LD A,13
115: 1858+17 B1B4 CDB702 CALL print_char
116:
117:
118: - B1B7 _fat_print_directory_loop_next: ; read next entry
119: 1875+4 B1B7 0D DEC C ;next sector after 32 entries
120: 1879+7+5 B1B8 2808 JR Z,_fat_print_directory_loop_next_sector
121: 1886+10 B1BA E1 POP HL ;restore start
122: 1896+10 B1BB 112000 LD DE, 32 ;length of entry
123: 1906+11 B1BE 19 ADD HL,DE ;increment
124: 1917+10 B1BF C38BB1 JP _fat_print_directory_loop
125:
126: - B1C2 _fat_print_directory_loop_next_sector: ; end fo sector. read next sector from disk
127: 1927+10 B1C2 E1 POP HL ;clear stack from old hl
128: 1937+7 B1C3 2600 LD H,0
129: 1944+7 B1C5 2E01 LD L,1
130: 1951+17 B1C7 CDFAB1 call _fat_math_sector_add_16 ;increment sector
131:
132: 1968+20 B1CA ED5B0F50 LD DE,(MEM_FAT_COUNT1) ; decrement sector count (max FAT length)
133: 1988+6 B1CE 1B DEC DE
134: 1994+20 B1CF ED530F50 LD (MEM_FAT_COUNT1),DE
135: 2014+4 B1D3 7A LD A,D
136: 2018+4 B1D4 B3 OR E
137: 2022+10 B1D5 CAE9B1 JP Z, _fat_print_directory_loop_break_dirty ; if DE is 0, mmax is reached. End here
138:
139: 2032+10 B1D8 210650 LD HL,MEM_IDE_POINTER ;read next sector
140: 2042+7 B1DB 0601 LD B,1
141: 2049+17 B1DD CD5612 call read_lba_sector
142:
143: 2066+10 B1E0 214150 LD HL, MEM_IDE_BUFFER ;set buffer start
144: 2076+7 B1E3 0E10 LD C,16 ;set entries counter
145: 2083+10 B1E5 C38BB1 JP _fat_print_directory_loop
146:
147: - B1E8 _fat_print_directory_loop_break
148: 2093+10 B1E8 E1 POP HL
149: - B1E9 _fat_print_directory_loop_break_dirty
150: 2103+10 B1E9 21F9B0 ld hl, [str_sum]
151: 2113+17 B1EC CDBF02 call print_str ;print
152: 2130+4 B1EF 79 ld a,c
153: 2134+17 B1F0 CDE702 call print_a_hex
154: 2151+10 B1F3 2108B1 ld hl, [str_files]
155: 2161+17 B1F6 CDBF02 call print_str ;print
156:
157: 2178+10 B1F9 C9 ret
158: ;=================== UTIL Functions ===========================
159: ; 32 Bit addition to pointer
160: ; HL has value
161: - B1FA _fat_math_sector_add_16:
162: 2188+14 B1FA DD210650 LD IX,MEM_IDE_POINTER; LOAD IX to sector pointer in memory
163: 2202+4 B1FE 7D LD A,L
164: 2206+19 B1FF DD8603 ADD A,(IX+3)
165: 2225+19 B202 DD7703 LD (IX+3),A
166: 2244+7+5 B205 3005 JR NC, _fat_math_sector_add_16_2 ;if no carry, continue
167: 2251+7 B207 3E01 LD A,1
168: 2258+19 B209 DD8602 ADD A,(IX+2)
169: - B20C _fat_math_sector_add_16_2:
170: 2277+4 B20C 7C LD A,h
171: 2281+19 B20D DD8602 ADD A,(IX+2)
172: 2300+19 B210 DD7702 LD (IX+2),A
173: 2319+5+6 B213 D0 RET NC ;done when no carry
174: 2324+7 B214 3E01 LD A,1
175: 2331+19 B216 DD8601 ADD A,(IX+1)
176: 2350+19 B219 DD7701 LD (IX+1),A
**** test.asm ****
127: 2369+10 B21C C9 RET
Statistics:
4 passes
0 jr promotions
418 symbols
541 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_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
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_FAT_AMOUNT =500C 20492
MEM_FAT_COUNT1 =500F 20495
MEM_FAT_RESERVED=500A 20490
MEM_FAT_SECTORS=500D 20493
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
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
_fat_get_root_table_loop B14D 45389
_fat_math_sector_add_16 B1FA 45562
_fat_math_sector_add_16_2 B20C 45580
_fat_print_directory_loop B18B 45451
_fat_print_directory_loop_break B1E8 45544
_fat_print_directory_loop_break_dirty B1E9 45545
_fat_print_directory_loop_next B1B7 45495
_fat_print_directory_loop_next_sector B1C2 45506
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
delay_small B00C 45068
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
fat_copy_lba_pointer B163 45411
fat_get_root_table B111 45329
fat_print_directory B16C 45420
fat_reset_pointer B15B 45403
find_partition B011 45073
find_partition_loop B049 45129
find_partition_next B053 45139
find_partition_process B065 45157
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
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
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
str_files B108 45320
str_part_seek_1 B0D3 45267
str_part_seek_2 B0DE 45278
str_part_seek_3 B0E7 45287
str_part_seek_4 B0F0 45296
str_sum B0F9 45305
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