1343 lines
55 KiB
Plaintext
1343 lines
55 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 CD38B0 call find_partition
|
|
9: ;call fat_get_root_table
|
|
10: ;call fat_print_directory
|
|
11:
|
|
12: 17+17 B003 CD42B1 call fat_get_root_table
|
|
13: 34+10 B006 110FB0 LD DE, [str1]
|
|
14: 44+17 B009 CD1AB2 CALL fat_lfs
|
|
15:
|
|
16: 61+10 B00C C39900 JP PROMPT_BEGIN
|
|
17:
|
|
18: - B00F str1:
|
|
19: - B00F 494C4C55 db "ILLUSION.PSG",0
|
|
53494F4E
|
|
2E505347
|
|
00
|
|
20: - B01C str2:
|
|
21: - B01C 48414C4C db "HALLOWLT.TXT",0
|
|
4F574C54
|
|
2E545854
|
|
00
|
|
22: - B029 str3:
|
|
23: - B029 54455354 db "TEST",0
|
|
00
|
|
24: - B02E str4:
|
|
25: - B02E 2E4F5247 db ".ORG",0
|
|
00
|
|
26:
|
|
27: - B033 delay_small:
|
|
28: 71+11 B033 F5 PUSH AF
|
|
29: 82+10 B034 F1 POP AF
|
|
30: 92+11 B035 F5 PUSH AF
|
|
31: 103+10 B036 F1 POP AF
|
|
32: 113+10 B037 C9 RET
|
|
33:
|
|
34: - B038 find_partition:
|
|
35: ;read bootsector
|
|
36: 123+7 B038 3E01 LD A,1 ;read 1 sector
|
|
37: 130+7 B03A 060A LD B,IDE_REG_SECTOR
|
|
38: 137+17 B03C CDB310 CALL ide_regwrite_8
|
|
39:
|
|
40: 154+7 B03F 3E01 LD A,1 ;read sector 0
|
|
41: 161+7 B041 060B LD B,IDE_REG_SSECTOR
|
|
42: 168+17 B043 CDB310 CALL ide_regwrite_8
|
|
43:
|
|
44: 185+7 B046 3E00 LD A,0 ;read cylinder 0
|
|
45: 192+7 B048 060C LD B,IDE_REG_LCYL
|
|
46: 199+17 B04A CDB310 CALL ide_regwrite_8
|
|
47: 216+7 B04D 3E00 LD A,0
|
|
48: 223+7 B04F 060D LD B,IDE_REG_HCYL
|
|
49: 230+17 B051 CDB310 CALL ide_regwrite_8
|
|
50:
|
|
51: 247+7 B054 3EA0 LD A,10100000b ;read head 0
|
|
52: 254+7 B056 060E LD B,IDE_REG_HEAD
|
|
53: 261+17 B058 CDB310 CALL ide_regwrite_8
|
|
54:
|
|
55: 278+7 B05B 3E20 LD A,IDE_CMD_READSEC ;send read command
|
|
56: 285+7 B05D 060F LD B,IDE_REG_CMDSTS
|
|
57: 292+17 B05F CDB310 CALL ide_regwrite_8
|
|
58:
|
|
59: 309+10 B062 214150 LD HL,MEM_IDE_BUFFER ;set read/write buffer start address
|
|
60: 319+17 B065 CD1D11 call ide_readsector_512_inv ;read 256 words from device
|
|
61:
|
|
62: 336+7 B068 0604 LD B,4 ;Partition table length
|
|
63: 343+7 B06A 0E00 LD C,0 ;Partition ID counter
|
|
64: 350+14 B06C DD21FF51 LD IX,MEM_IDE_BUFFER+446 ;Load offest of first partition table entry
|
|
65: - B070 find_partition_loop:
|
|
66: 364+19 B070 DD7E04 LD A,(IX+4) ;load status byte
|
|
67: 383+4 B073 B7 OR A
|
|
68: 387+10 B074 C28CB0 JP NZ, find_partition_process ;If not zero, jump to print function
|
|
69: 397+10 B077 C37AB0 jp find_partition_next
|
|
70:
|
|
71: - B07A find_partition_next:
|
|
72: 407+7 B07A 3E0A LD A,10 ;New line
|
|
73: 414+17 B07C CDB702 CALL print_char
|
|
74: 431+7 B07F 3E0D LD A,13
|
|
75: 438+17 B081 CDB702 CALL print_char
|
|
76: 455+10 B084 111000 LD DE,16
|
|
77: 465+15 B087 DD19 ADD IX,DE
|
|
78: 480+8+5 B089 10E5 DJNZ find_partition_loop
|
|
79: 488+10 B08B C9 RET
|
|
80:
|
|
81: - B08C find_partition_process: ; process table entry
|
|
82: 498+10 B08C 2104B1 ld hl, [str_part_seek_1]
|
|
83: 508+17 B08F CDBF02 call print_str ;print
|
|
84: 525+19 B092 DD7E04 LD A,(IX+0x04) ;load type
|
|
85: 544+17 B095 CDE702 call print_a_hex
|
|
86: 561+19 B098 DD7E04 LD A,(IX+0x04) ;load type
|
|
87: 580+7 B09B FE0E CP 0x0E
|
|
88: 587+7+5 B09D 20DB JR NZ, find_partition_next
|
|
89:
|
|
90: 594+10 B09F 210FB1 ld hl, [str_part_seek_2]
|
|
91: 604+17 B0A2 CDBF02 call print_str ;print
|
|
92: 621+10 B0A5 2118B1 ld hl, [str_part_seek_3]
|
|
93: 631+17 B0A8 CDBF02 call print_str ;print
|
|
94:
|
|
95: 648+19 B0AB DD7E08 LD A,(IX+0x08) ;load start LBA
|
|
96: 667+13 B0AE 320550 LD (MEM_IDE_PARTITION+3),A
|
|
97: 680+19 B0B1 DD7E09 LD A,(IX+0x09) ;load start LBA
|
|
98: 699+13 B0B4 320450 LD (MEM_IDE_PARTITION+2),A
|
|
99: 712+19 B0B7 DD7E0A LD A,(IX+0x0A) ;load start LBA
|
|
100: 731+13 B0BA 320350 LD (MEM_IDE_PARTITION+1),A
|
|
101: 744+19 B0BD DD7E0B LD A,(IX+0x0B) ;load start LBA
|
|
102: 763+13 B0C0 320250 LD (MEM_IDE_PARTITION+0),A
|
|
103:
|
|
104: 776+13 B0C3 3A0550 LD A,(MEM_IDE_PARTITION+3)
|
|
105: 789+17 B0C6 CDE702 call print_a_hex
|
|
106: 806+13 B0C9 3A0450 LD A,(MEM_IDE_PARTITION+2)
|
|
107: 819+17 B0CC CDE702 call print_a_hex
|
|
108: 836+13 B0CF 3A0350 LD A,(MEM_IDE_PARTITION+1)
|
|
109: 849+17 B0D2 CDE702 call print_a_hex
|
|
110: 866+13 B0D5 3A0250 LD A,(MEM_IDE_PARTITION+0)
|
|
111: 879+17 B0D8 CDE702 call print_a_hex
|
|
112: 896+10 B0DB 2121B1 ld hl, [str_part_seek_4]
|
|
113: 906+17 B0DE CDBF02 call print_str ;print
|
|
114: 923+19 B0E1 DD7E0C LD A,(IX+0x0C) ;load count LBA
|
|
115: 942+17 B0E4 CDE702 call print_a_hex
|
|
116: 959+19 B0E7 DD7E0D LD A,(IX+0x0D) ;load count LBA
|
|
117: 978+17 B0EA CDE702 call print_a_hex
|
|
118: 995+19 B0ED DD7E0E LD A,(IX+0x0E) ;load count LBA
|
|
119: 1014+17 B0F0 CDE702 call print_a_hex
|
|
120: 1031+19 B0F3 DD7E0F LD A,(IX+0x0F) ;load count LBA
|
|
121: 1050+17 B0F6 CDE702 call print_a_hex
|
|
122: 1067+7 B0F9 3E0A LD A,10 ;New line
|
|
123: 1074+17 B0FB CDB702 CALL print_char
|
|
124: 1091+7 B0FE 3E0D LD A,13
|
|
125: 1098+17 B100 CDB702 CALL print_char
|
|
126: 1115+10 B103 C9 RET
|
|
127:
|
|
128: - B104 str_part_seek_1:
|
|
129: - B104 2D205479 db "- Type: 0x",0
|
|
70653A20
|
|
307800
|
|
130: - B10F str_part_seek_2:
|
|
131: - B10F 20537461 db " State: ",0
|
|
74653A20
|
|
00
|
|
132: - B118 str_part_seek_3:
|
|
133: - B118 204C4241 db " LBA: 0x",0
|
|
3A203078
|
|
00
|
|
134: - B121 str_part_seek_4:
|
|
135: - B121 204C656E db " Len: 0x",0
|
|
3A203078
|
|
00
|
|
136: - B12A str_sum:
|
|
137: - B12A 2D2D2D2D db "------------",10,13,0
|
|
2D2D2D2D
|
|
2D2D2D2D
|
|
0A0D00
|
|
138: - B139 str_files:
|
|
139: - B139 2046696C db " Files",10,13,0
|
|
65730A0D
|
|
00
|
|
140:
|
|
**** test.asm ****
|
|
141: .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: - B142 fat_get_root_table:
|
|
13: 1125+17 B142 CDA7B2 call fat_reset_pointer ;reset fat pointer
|
|
14: ; Load first sector on active partition
|
|
15: 1142+10 B145 210250 LD HL, MEM_IDE_PARTITION ; pointer to LBA address
|
|
16: 1152+7 B148 3E01 LD A,1 ;read 1 sector
|
|
17: 1159+17 B14A CD5612 call read_lba_sector
|
|
18:
|
|
19: ; Read and store FS Properties
|
|
20: 1176+14 B14D DD214150 LD IX,MEM_IDE_BUFFER
|
|
21: 1190+19 B151 DD7E0E LD A,(IX+0x0E)
|
|
22: 1209+13 B154 320A50 LD (MEM_FAT_RESERVED),A
|
|
23: 1222+19 B157 DD7E0F LD A,(IX+0x0F)
|
|
24: 1241+13 B15A 320B50 LD (MEM_FAT_RESERVED+1),A
|
|
25: 1254+19 B15D DD7E10 LD A,(IX+0x10)
|
|
26: 1273+13 B160 320C50 LD (MEM_FAT_AMOUNT),A
|
|
27: 1286+19 B163 DD7E16 LD A,(IX+0x16)
|
|
28: 1305+13 B166 320D50 LD (MEM_FAT_SECTORS),A
|
|
29: 1318+19 B169 DD7E17 LD A,(IX+0x17)
|
|
30: 1337+13 B16C 320E50 LD (MEM_FAT_SECTORS+1),A
|
|
31:
|
|
32: ;Get Root FAT
|
|
33: 1350+13 B16F 3A0E50 LD A, (MEM_FAT_SECTORS+1) ; load FAT Sector size to DE
|
|
34: 1363+4 B172 57 LD D,A
|
|
35: 1367+13 B173 3A0D50 LD A, (MEM_FAT_SECTORS)
|
|
36: 1380+4 B176 5F LD E,A
|
|
37: 1384+4 B177 AF XOR A ; clear HL
|
|
38: 1388+4 B178 67 LD H,A
|
|
39: 1392+4 B179 6F LD L,A
|
|
40: 1396+13 B17A 3A0C50 LD A,(MEM_FAT_AMOUNT) ; Load counter for multiplication
|
|
41: 1409+4 B17D 47 LD B,A
|
|
42: - B17E _fat_get_root_table_loop: ; multiply
|
|
43: 1413+11 B17E 19 ADD HL,DE
|
|
44: 1424+8+5 B17F 10FD DJNZ _fat_get_root_table_loop
|
|
45:
|
|
46: ; add reserved sectors
|
|
47: 1432+7 B181 1600 LD D,0
|
|
48: 1439+13 B183 3A0A50 LD A,(MEM_FAT_RESERVED)
|
|
49: 1452+4 B186 5F LD E,A
|
|
50: 1456+11 B187 19 ADD HL,DE
|
|
51:
|
|
52: ; add
|
|
53: 1467+17 B188 CD84B2 call _fat_math_sector_add_16
|
|
54: 1484+10 B18B C9 ret
|
|
55:
|
|
56: ;-------------------------------------
|
|
57: ; Print current fat directory of MEM_IDE_POINTER
|
|
58: ;-------------------------------------
|
|
59: - B18C fat_print_directory:
|
|
60: 1494+7 B18C 3E0A LD A,10 ;New line
|
|
61: 1501+17 B18E CDB702 CALL print_char
|
|
62: 1518+7 B191 3E0D LD A,13
|
|
63: 1525+17 B193 CDB702 CALL print_char
|
|
64:
|
|
65: 1542+20 B196 ED5B0D50 LD DE,(MEM_FAT_SECTORS)
|
|
66: 1562+20 B19A ED530F50 LD (MEM_FAT_COUNT1),DE
|
|
67: 1582+10 B19E 210650 LD HL,MEM_IDE_POINTER ;read first sector
|
|
68: 1592+7 B1A1 0601 LD B,1
|
|
69: 1599+17 B1A3 CD5612 call read_lba_sector
|
|
70:
|
|
71: 1616+10 B1A6 214150 LD HL, MEM_IDE_BUFFER ;set buffer start
|
|
72: 1626+7 B1A9 0E10 LD C,16 ;set entries counter
|
|
73:
|
|
74: - B1AB _fat_print_directory_loop: ;loop over each entry (32byte)
|
|
75: 1633+7 B1AB 7E LD A,(HL) ; check first byte
|
|
76: 1640+11 B1AC E5 PUSH HL ;backup start of entry
|
|
77: ;ignore unwanted entries
|
|
78: 1651+7 B1AD FE41 CP 0x41 ;skip invisible
|
|
79: 1658+7+5 B1AF 2826 JR Z, _fat_print_directory_loop_next
|
|
80: 1665+7 B1B1 FEE5 CP 0xE5 ;skip deleted
|
|
81: 1672+7+5 B1B3 2822 JR Z, _fat_print_directory_loop_next
|
|
82: 1679+7 B1B5 FE00 CP 0x00 ;reached end
|
|
83: 1686+10 B1B7 CA08B2 JP Z, _fat_print_directory_loop_break
|
|
84: ;print filename
|
|
85: 1696+7 B1BA 0608 LD B,8
|
|
86: 1703+17 B1BC CD5813 call print_str_fixed
|
|
87: 1720+7 B1BF 3E2E ld A,'.'
|
|
88: 1727+17 B1C1 CDB702 call print_char
|
|
89: 1744+7 B1C4 0603 LD B,3
|
|
90: 1751+17 B1C6 CD5813 call print_str_fixed
|
|
91:
|
|
92: 1768+7 B1C9 7E LD A,(HL) ; print attribute
|
|
93: 1775+17 B1CA CDB702 call print_char
|
|
94:
|
|
95: 1792+7 B1CD 3E0A LD A,10 ;New line
|
|
96: 1799+17 B1CF CDB702 CALL print_char
|
|
97: 1816+7 B1D2 3E0D LD A,13
|
|
98: 1823+17 B1D4 CDB702 CALL print_char
|
|
99:
|
|
100:
|
|
101: - B1D7 _fat_print_directory_loop_next: ; read next entry
|
|
102: 1840+4 B1D7 0D DEC C ;next sector after 32 entries
|
|
103: 1844+7+5 B1D8 2808 JR Z,_fat_print_directory_loop_next_sector
|
|
104: 1851+10 B1DA E1 POP HL ;restore start
|
|
105: 1861+10 B1DB 112000 LD DE, 32 ;length of entry
|
|
106: 1871+11 B1DE 19 ADD HL,DE ;increment
|
|
107: 1882+10 B1DF C3ABB1 JP _fat_print_directory_loop
|
|
108:
|
|
109: - B1E2 _fat_print_directory_loop_next_sector: ; end fo sector. read next sector from disk
|
|
110: 1892+10 B1E2 E1 POP HL ;clear stack from old hl
|
|
111: 1902+7 B1E3 2600 LD H,0
|
|
112: 1909+7 B1E5 2E01 LD L,1
|
|
113: 1916+17 B1E7 CD84B2 call _fat_math_sector_add_16 ;increment sector
|
|
114:
|
|
115: 1933+20 B1EA ED5B0F50 LD DE,(MEM_FAT_COUNT1) ; decrement sector count (max FAT length)
|
|
116: 1953+6 B1EE 1B DEC DE
|
|
117: 1959+20 B1EF ED530F50 LD (MEM_FAT_COUNT1),DE
|
|
118: 1979+4 B1F3 7A LD A,D
|
|
119: 1983+4 B1F4 B3 OR E
|
|
120: 1987+10 B1F5 CA09B2 JP Z, _fat_print_directory_loop_break_dirty ; if DE is 0, mmax is reached. End here
|
|
121:
|
|
122: 1997+10 B1F8 210650 LD HL,MEM_IDE_POINTER ;read next sector
|
|
123: 2007+7 B1FB 0601 LD B,1
|
|
124: 2014+17 B1FD CD5612 call read_lba_sector
|
|
125:
|
|
126: 2031+10 B200 214150 LD HL, MEM_IDE_BUFFER ;set buffer start
|
|
127: 2041+7 B203 0E10 LD C,16 ;set entries counter
|
|
128: 2048+10 B205 C3ABB1 JP _fat_print_directory_loop
|
|
129:
|
|
130: - B208 _fat_print_directory_loop_break
|
|
131: 2058+10 B208 E1 POP HL
|
|
132: - B209 _fat_print_directory_loop_break_dirty
|
|
133: 2068+10 B209 212AB1 ld hl, [str_sum]
|
|
134: 2078+17 B20C CDBF02 call print_str ;print
|
|
135: 2095+4 B20F 79 ld a,c
|
|
136: 2099+17 B210 CDE702 call print_a_hex
|
|
137: 2116+10 B213 2139B1 ld hl, [str_files]
|
|
138: 2126+17 B216 CDBF02 call print_str ;print
|
|
139: 2143+10 B219 C9 ret
|
|
140:
|
|
141: ;-------------------------------------
|
|
142: ; FAT locate file startcluster
|
|
143: ;
|
|
144: ; DE pointer to file name
|
|
145: ;-------------------------------------
|
|
146: - B21A fat_lfs:
|
|
147: 2153+11 B21A D5 PUSH DE
|
|
148: 2164+10 B21B 211150 LD HL,MEM_IDE_BASE + 17 ; prepare filename
|
|
149: 2174+17 B21E CDCEB2 CALL format_filename_fat16
|
|
150:
|
|
151: 2191+7 B221 3E10 LD A,16 ;init counter for FAT sectors
|
|
152: 2198+13 B223 320F50 LD (MEM_FAT_COUNT1),A
|
|
153:
|
|
154: 2211+10 B226 210650 LD HL,MEM_IDE_POINTER ;read first sector
|
|
155: 2221+7 B229 0601 LD B,1
|
|
156: 2228+17 B22B CD5612 call read_lba_sector
|
|
157:
|
|
158: 2245+10 B22E 214150 LD HL, MEM_IDE_BUFFER ;set buffer start
|
|
159: 2255+7 B231 0E10 LD C,16 ;set entries counter
|
|
160:
|
|
161: - B233 _fat_lfs_loop:
|
|
162: 2262+10 B233 D1 POP DE
|
|
163: 2272+11 B234 D5 PUSH DE
|
|
164: 2283+17 B235 CDB8B2 CALL compare_filename
|
|
165: 2300+7+5 B238 3833 JR C, _fat_lfs_loop_compare_match ;on match
|
|
166:
|
|
167: ; prepare next entry
|
|
168: 2307+4 B23A 0D DEC C ;next sector after 16 entries
|
|
169: 2311+7+5 B23B 2807 JR Z,_fat_lfs_loop_compare_next_sector
|
|
170: 2318+10 B23D 112000 LD DE, 32 ;length of entry
|
|
171: 2328+11 B240 19 ADD HL,DE ;increment
|
|
172: 2339+10 B241 C333B2 JP _fat_lfs_loop
|
|
173:
|
|
174: - B244 _fat_lfs_loop_compare_next_sector:
|
|
175: 2349+7 B244 2600 LD H,0
|
|
176: 2356+7 B246 2E01 LD L,1
|
|
177: 2363+17 B248 CD84B2 call _fat_math_sector_add_16 ;increment sector
|
|
178: 2380+13 B24B 3A0F50 LD A,(MEM_FAT_COUNT1) ; decrement sector count (max FAT length)
|
|
179: 2393+4 B24E 3D DEC A
|
|
180: 2397+13 B24F 320F50 LD (MEM_FAT_COUNT1),A
|
|
181: 2410+10 B252 CA65B2 JP Z, _fat_lfs_loop_compare_end ; if DE is 0, mmax is reached. End here
|
|
182: ;call print_a_hex
|
|
183:
|
|
184: 2420+10 B255 210650 LD HL,MEM_IDE_POINTER ;read next sector
|
|
185: 2430+7 B258 0601 LD B,1
|
|
186: 2437+17 B25A CD5612 call read_lba_sector
|
|
187:
|
|
188: 2454+10 B25D 214150 LD HL, MEM_IDE_BUFFER ;set buffer start
|
|
189: 2464+7 B260 0E10 LD C,16 ;set entries counter
|
|
190: 2471+10 B262 C333B2 JP _fat_lfs_loop
|
|
191:
|
|
192: - B265 _fat_lfs_loop_compare_end:
|
|
193: 2481+10 B265 D1 POP DE
|
|
194: 2491+10 B266 21F3B2 LD HL, [str_file_notfound]
|
|
195: 2501+17 B269 CDBF02 CALL print_str ;print
|
|
196: 2518+10 B26C C9 RET
|
|
197:
|
|
198: - B26D _fat_lfs_loop_compare_match:
|
|
199: ; get entry
|
|
200: 2528+10 B26D D1 POP DE
|
|
201: 2538+7 B26E 0608 LD B,8
|
|
202: 2545+17 B270 CD5813 call print_str_fixed
|
|
203: 2562+7 B273 3E2E ld A,'.'
|
|
204: 2569+17 B275 CDB702 call print_char
|
|
205: 2586+7 B278 0603 LD B,3
|
|
206: 2593+17 B27A CD5813 call print_str_fixed
|
|
207:
|
|
208: 2610+10 B27D 2105B3 LD HL, [str_file_found]
|
|
209: 2620+17 B280 CDBF02 CALL print_str ;print
|
|
210:
|
|
211: 2637+10 B283 C9 RET
|
|
212:
|
|
213:
|
|
214:
|
|
215: ;=================== UTIL Functions ===========================
|
|
216: ; 32 Bit addition to pointer
|
|
217: ; HL has value
|
|
218: - B284 _fat_math_sector_add_16:
|
|
219: 2647+14 B284 DD210650 LD IX,MEM_IDE_POINTER; LOAD IX to sector pointer in memory
|
|
220: 2661+4 B288 7D LD A,L
|
|
221: 2665+19 B289 DD8603 ADD A,(IX+3)
|
|
222: 2684+19 B28C DD7703 LD (IX+3),A
|
|
223: 2703+7+5 B28F 3005 JR NC, _fat_math_sector_add_16_2 ;if no carry, continue
|
|
224: 2710+7 B291 3E01 LD A,1
|
|
225: 2717+19 B293 DD8602 ADD A,(IX+2)
|
|
226: - B296 _fat_math_sector_add_16_2:
|
|
227: 2736+4 B296 7C LD A,h
|
|
228: 2740+19 B297 DD8602 ADD A,(IX+2)
|
|
229: 2759+19 B29A DD7702 LD (IX+2),A
|
|
230: 2778+5+6 B29D D0 RET NC ;done when no carry
|
|
231: 2783+7 B29E 3E01 LD A,1
|
|
232: 2790+19 B2A0 DD8601 ADD A,(IX+1)
|
|
233: 2809+19 B2A3 DD7701 LD (IX+1),A
|
|
234: 2828+10 B2A6 C9 RET
|
|
235:
|
|
236: ; reset LBA pointer to first sector in partition
|
|
237: - B2A7 fat_reset_pointer:
|
|
238: 2838+10 B2A7 210250 LD HL,MEM_IDE_PARTITION
|
|
239: 2848+10 B2AA 110650 LD DE,MEM_IDE_POINTER
|
|
240: 2858+12 B2AD 1800 jr fat_copy_lba_pointer
|
|
241:
|
|
242: ; resets LBA pointer (4-byte) to partition start
|
|
243: ; HL = from here
|
|
244: ; DE = to this destimation
|
|
245: - B2AF fat_copy_lba_pointer:
|
|
246: 2870+11 B2AF C5 PUSH BC
|
|
247: 2881+7 B2B0 0600 LD B,0
|
|
248: 2888+7 B2B2 0E04 LD C,4
|
|
249: 2895+16+5 B2B4 EDB0 LDIR
|
|
250: 2911+10 B2B6 C1 POP BC
|
|
251: 2921+10 B2B7 C9 ret
|
|
252:
|
|
253: ; compares filenames
|
|
254: ; HL points to name1
|
|
255: ; DE points to name2
|
|
256: ; Carry is set if match
|
|
257: ; Destroys DE, AF
|
|
258: - B2B8 compare_filename:
|
|
259: 2931+11 B2B8 E5 PUSH HL
|
|
260: 2942+11 B2B9 C5 PUSH BC
|
|
261: 2953+7 B2BA 060B LD B, 11 ;Counter
|
|
262: - B2BC _compare_filename_loop:
|
|
263: 2960+7 B2BC 1A LD A,(DE)
|
|
264: 2967+4 B2BD 4F LD C,A
|
|
265: 2971+7 B2BE 7E LD A,(HL)
|
|
266: 2978+4 B2BF A9 XOR C ;check if identical (should return 0)
|
|
267: 2982+7+5 B2C0 2007 JR NZ, _compare_filename_nomatch
|
|
268: 2989+4 B2C2 05 DEC B ;decrement counter
|
|
269: 2993+7+5 B2C3 20F7 JR NZ, _compare_filename_loop ;if not last, continue
|
|
270: 3000+10 B2C5 C1 POP BC ;if last, it matches
|
|
271: 3010+10 B2C6 E1 POP HL
|
|
272: 3020+4 B2C7 37 SCF
|
|
273: 3024+10 B2C8 C9 RET
|
|
274: - B2C9 _compare_filename_nomatch:
|
|
275: 3034+10 B2C9 C1 POP BC
|
|
276: 3044+10 B2CA E1 POP HL
|
|
277: 3054+4 B2CB 37 SCF
|
|
278: 3058+4 B2CC 3F CCF
|
|
279: 3062+10 B2CD C9 RET
|
|
280:
|
|
281: ; formats filename to 8+3 format
|
|
282: ; DE points to source filename to string
|
|
283: ; HL points to destination
|
|
284: - B2CE format_filename_fat16:
|
|
285: 3072+7 B2CE 060B LD B, 11 ;counter
|
|
286: 3079+11 B2D0 E5 PUSH HL
|
|
287: 3090+4 B2D1 AF XOR A
|
|
288: - B2D2 _format_filename_fat16_clean:
|
|
289: 3094+7 B2D2 77 LD (HL),A
|
|
290: 3101+6 B2D3 23 INC HL
|
|
291: 3107+8+5 B2D4 10FC DJNZ _format_filename_fat16_clean
|
|
292: 3115+10 B2D6 E1 POP HL ; continue with copy
|
|
293: 3125+7 B2D7 060D LD B, 13
|
|
294: - B2D9 _format_filename_fat16_loop:
|
|
295: 3132+7 B2D9 1A LD A, (DE) ; load byte
|
|
296: 3139+4 B2DA B7 OR A
|
|
297: 3143+5+6 B2DB C8 RET Z ;exit on 0byte
|
|
298: 3148+4 B2DC 05 DEC B ;reduce counter
|
|
299: 3152+5+6 B2DD C8 RET Z ;exit after 12 bytes 8+.+3
|
|
300: 3157+7 B2DE FE2E CP '.' ; check if dot
|
|
301: 3164+7+5 B2E0 200A JR NZ, _format_filename_fat16_loop_copy ; if not continue as usual
|
|
302: 3171+6 B2E2 13 INC DE ;else skip char
|
|
303: - B2E3 _format_filename_fat16_loop_skip_8:
|
|
304: 3177+4 B2E3 78 LD A,B
|
|
305: 3181+7 B2E4 FE05 CP 5
|
|
306: 3188+7+5 B2E6 38F1 JR C, _format_filename_fat16_loop
|
|
307: 3195+6 B2E8 23 INC HL
|
|
308: 3201+4 B2E9 05 DEC B
|
|
309: 3205+12 B2EA 18F7 JR _format_filename_fat16_loop_skip_8
|
|
310:
|
|
311: - B2EC _format_filename_fat16_loop_copy:
|
|
312: 3217+7 B2EC 1A LD A, (DE) ; load byte
|
|
313: 3224+7 B2ED 77 LD (HL), A ; copy byte
|
|
314: 3231+6 B2EE 23 INC HL
|
|
315: 3237+6 B2EF 13 INC DE
|
|
316: 3243+10 B2F0 C3D9B2 JP _format_filename_fat16_loop
|
|
317:
|
|
318: - B2F3 str_file_notfound:
|
|
319: - B2F3 46696C65 db "File not found!",13,10,0
|
|
206E6F74
|
|
20666F75
|
|
6E64210D
|
|
0A00
|
|
320:
|
|
321: - B305 str_file_found:
|
|
**** test.asm ****
|
|
142: - B305 2046696C db " File located!",13,10,0
|
|
65206C6F
|
|
63617465
|
|
64210D0A
|
|
00
|
|
|
|
|
|
|
|
Statistics:
|
|
|
|
4 passes
|
|
0 jr promotions
|
|
437 symbols
|
|
790 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
|
|
_compare_filename_loop B2BC 45756
|
|
_compare_filename_nomatch B2C9 45769
|
|
_fat_get_root_table_loop B17E 45438
|
|
_fat_lfs_loop B233 45619
|
|
_fat_lfs_loop_compare_end B265 45669
|
|
_fat_lfs_loop_compare_match B26D 45677
|
|
_fat_lfs_loop_compare_next_sector B244 45636
|
|
_fat_math_sector_add_16 B284 45700
|
|
_fat_math_sector_add_16_2 B296 45718
|
|
_fat_print_directory_loop B1AB 45483
|
|
_fat_print_directory_loop_break B208 45576
|
|
_fat_print_directory_loop_break_dirty B209 45577
|
|
_fat_print_directory_loop_next B1D7 45527
|
|
_fat_print_directory_loop_next_sector B1E2 45538
|
|
_format_filename_fat16_clean B2D2 45778
|
|
_format_filename_fat16_loop B2D9 45785
|
|
_format_filename_fat16_loop_copy B2EC 45804
|
|
_format_filename_fat16_loop_skip_8 B2E3 45795
|
|
beep = ED7 3799
|
|
beep_loop = EDA 3802
|
|
beep_pause = EF7 3831
|
|
compare_filename B2B8 45752
|
|
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 B033 45107
|
|
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 B2AF 45743
|
|
fat_get_root_table B142 45378
|
|
fat_lfs B21A 45594
|
|
fat_print_directory B18C 45452
|
|
fat_reset_pointer B2A7 45735
|
|
find_partition B038 45112
|
|
find_partition_loop B070 45168
|
|
find_partition_next B07A 45178
|
|
find_partition_process B08C 45196
|
|
format_filename_fat16 B2CE 45774
|
|
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
|
|
str1 B00F 45071
|
|
str2 B01C 45084
|
|
str3 B029 45097
|
|
str4 B02E 45102
|
|
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_file_found B305 45829
|
|
str_file_notfound B2F3 45811
|
|
str_files B139 45369
|
|
str_part_seek_1 B104 45316
|
|
str_part_seek_2 B10F 45327
|
|
str_part_seek_3 B118 45336
|
|
str_part_seek_4 B121 45345
|
|
str_sum B12A 45354
|
|
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
|