903 lines
37 KiB
Plaintext
903 lines
37 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: - 0324 DHEX_TO_BYTE equ 0x324
|
||
23: - 0340 DHEX_TO_BYTE_FAILED equ 0x340
|
||
24: - 0EC4 EXEC_RST_08 equ 0xEC4
|
||
25: - 0EC8 EXEC_RST_10 equ 0xEC8
|
||
26: - 0ED4 EXEC_RST_18 equ 0xED4
|
||
27: - 0344 HEX_TO_BIN equ 0x344
|
||
28: - 0352 HEX_TO_BIN_2 equ 0x352
|
||
29: - 0359 HEX_TO_INVALID_2 equ 0x359
|
||
30: - 001B INT_VEC equ 0x1B
|
||
31: - 027E Includes equ 0x27E
|
||
32: - 030A MSG_CLEAR equ 0x30A
|
||
33: - 108E MSG_ERROR equ 0x108E
|
||
34: - 10A7 MSG_START equ 0x10A7
|
||
35: - 0099 PROMPT_BEGIN equ 0x99
|
||
36: - 00D6 PROMPT_BEGIN_READ_BACKSPACE equ 0xD6
|
||
37: - 00A5 PROMPT_BEGIN_READ_LOOP equ 0xA5
|
||
38: - 00FC PROMPT_BEGIN_READ_PROCESS equ 0xFC
|
||
39: - 0000 RST_00 equ 0x00
|
||
40: - 0008 RST_08 equ 0x08
|
||
41: - 0010 RST_10 equ 0x10
|
||
42: - 0018 RST_18 equ 0x18
|
||
43: - 035B STRCONV_BYTES_TO_HEX equ 0x35B
|
||
44: - 036A STRCONV_BYTES_TO_HEX_1 equ 0x36A
|
||
45: - 0374 STRCONV_BYTES_TO_HEX_2 equ 0x374
|
||
46: - 0F00 STR_Banner_Start equ 0xF00
|
||
47: - 0F30 STR_HEXDUMP_HEADER equ 0xF30
|
||
48: - 0F26 STR_SyntaxError equ 0xF26
|
||
49: - 0F2B STR_Unknown equ 0xF2B
|
||
50: - 0ED7 beep equ 0xED7
|
||
51: - 0EF1 beep_pause equ 0xEF1
|
||
52: - 0ADC dasm_00 equ 0xADC
|
||
53: - 0DC8 dasm_01 equ 0xDC8
|
||
54: - 0B62 dasm_02 equ 0xB62
|
||
55: - 0D9A dasm_03 equ 0xD9A
|
||
56: - 0BDF dasm_08 equ 0xBDF
|
||
57: - 0D6D dasm_09 equ 0xD6D
|
||
58: - 0B44 dasm_0A equ 0xB44
|
||
59: - 0DB1 dasm_0B equ 0xDB1
|
||
60: - 0B24 dasm_10 equ 0xB24
|
||
61: - 0B6D dasm_12 equ 0xB6D
|
||
62: - 0AE7 dasm_18 equ 0xAE7
|
||
63: - 0B4E dasm_1A equ 0xB4E
|
||
64: - 0B01 dasm_20 equ 0xB01
|
||
65: - 0E0E dasm_22 equ 0xE0E
|
||
66: - 0BA7 dasm_27 equ 0xBA7
|
||
67: - 0AFA dasm_28 equ 0xAFA
|
||
68: - 0DDF dasm_2A equ 0xDDF
|
||
69: - 0BAB dasm_2F equ 0xBAB
|
||
70: - 0AF2 dasm_30 equ 0xAF2
|
||
71: - 0B78 dasm_32 equ 0xB78
|
||
72: - 0BB7 dasm_37 equ 0xBB7
|
||
73: - 0AEB dasm_38 equ 0xAEB
|
||
74: - 0B58 dasm_3A equ 0xB58
|
||
75: - 0BB3 dasm_3F equ 0xBB3
|
||
76: - 0BBB dasm_76 equ 0xBBB
|
||
77: - 0C38 dasm_80C6 equ 0xC38
|
||
78: - 0BD5 dasm_BE equ 0xBD5
|
||
79: - 0AE0 dasm_C3 equ 0xAE0
|
||
80: - 0C5E dasm_C88E equ 0xC5E
|
||
81: - 0B30 dasm_C9 equ 0xB30
|
||
82: - 0B2A dasm_CD equ 0xB2A
|
||
83: - 0BEC dasm_D9 equ 0xBEC
|
||
84: - 0B12 dasm_DD equ 0xB12
|
||
85: - 0DCF dasm_DD_01 equ 0xDCF
|
||
86: - 0D88 dasm_DD_09 equ 0xD88
|
||
87: - 0E24 dasm_DD_22 equ 0xE24
|
||
88: - 0D9F dasm_DD_23 equ 0xD9F
|
||
89: - 0DF6 dasm_DD_2A equ 0xDF6
|
||
90: - 0DB6 dasm_DD_2B equ 0xDB6
|
||
91: - 0D38 dasm_DD_34 equ 0xD38
|
||
92: - 0D55 dasm_DD_35 equ 0xD55
|
||
93: - 0C40 dasm_DD_86 equ 0xC40
|
||
94: - 0C66 dasm_DD_8E equ 0xC66
|
||
95: - 0C89 dasm_DD_96 equ 0xC89
|
||
96: - 0CA9 dasm_DD_9E equ 0xCA9
|
||
97: - 0CCA dasm_DD_A6 equ 0xCCA
|
||
98: - 0D01 dasm_DD_AE equ 0xD01
|
||
99: - 0CE6 dasm_DD_B6 equ 0xCE6
|
||
100: - 0D1D dasm_DD_BE equ 0xD1D
|
||
101: - 0E76 dasm_DD_E1 equ 0xE76
|
||
102: - 0BFC dasm_DD_E3 equ 0xBFC
|
||
103: - 0E60 dasm_DD_E5 equ 0xE60
|
||
104: - 0E46 dasm_DD_F9 equ 0xE46
|
||
105: - 0E70 dasm_E1 equ 0xE70
|
||
106: - 0BF0 dasm_E3 equ 0xBF0
|
||
107: - 0E5A dasm_E5 equ 0xE5A
|
||
108: - 0B09 dasm_E9 equ 0xB09
|
||
109: - 0D7F dasm_ED_42 equ 0xD7F
|
||
110: - 0E1A dasm_ED_43 equ 0xE1A
|
||
111: - 0BAF dasm_ED_44 equ 0xBAF
|
||
112: - 0B3A dasm_ED_45 equ 0xB3A
|
||
113: - 0BC6 dasm_ED_46 equ 0xBC6
|
||
114: - 0D76 dasm_ED_4A equ 0xD76
|
||
115: - 0DEB dasm_ED_4B equ 0xDEB
|
||
116: - 0B35 dasm_ED_4D equ 0xB35
|
||
117: - 0BCB dasm_ED_56 equ 0xBCB
|
||
118: - 0BD0 dasm_ED_5E equ 0xBD0
|
||
119: - 0C14 dasm_ED_A0 equ 0xC14
|
||
120: - 0C26 dasm_ED_A1 equ 0xC26
|
||
121: - 0C1D dasm_ED_A8 equ 0xC1D
|
||
122: - 0C2F dasm_ED_A9 equ 0xC2F
|
||
123: - 0C18 dasm_ED_B0 equ 0xC18
|
||
124: - 0C2A dasm_ED_B1 equ 0xC2A
|
||
125: - 0C21 dasm_ED_B8 equ 0xC21
|
||
126: - 0C33 dasm_ED_B9 equ 0xC33
|
||
127: - 0BC0 dasm_F3 equ 0xBC0
|
||
128: - 0E3C dasm_F9 equ 0xE3C
|
||
129: - 0BC3 dasm_FB equ 0xBC3
|
||
130: - 0B1B dasm_FD equ 0xB1B
|
||
131: - 0DD7 dasm_FD_01 equ 0xDD7
|
||
132: - 0D91 dasm_FD_09 equ 0xD91
|
||
133: - 0E30 dasm_FD_22 equ 0xE30
|
||
134: - 0DA8 dasm_FD_23 equ 0xDA8
|
||
135: - 0E02 dasm_FD_2A equ 0xE02
|
||
136: - 0DBF dasm_FD_2B equ 0xDBF
|
||
137: - 0D44 dasm_FD_34 equ 0xD44
|
||
138: - 0D61 dasm_FD_35 equ 0xD61
|
||
139: - 0C4F dasm_FD_86 equ 0xC4F
|
||
140: - 0C75 dasm_FD_8E equ 0xC75
|
||
141: - 0C95 dasm_FD_96 equ 0xC95
|
||
142: - 0CB7 dasm_FD_9E equ 0xCB7
|
||
143: - 0CD6 dasm_FD_A6 equ 0xCD6
|
||
144: - 0D0D dasm_FD_AE equ 0xD0D
|
||
145: - 0CF1 dasm_FD_B6 equ 0xCF1
|
||
146: - 0D28 dasm_FD_BE equ 0xD28
|
||
147: - 0E7E dasm_FD_E1 equ 0xE7E
|
||
148: - 0C08 dasm_FD_E3 equ 0xC08
|
||
149: - 0E68 dasm_FD_E5 equ 0xE68
|
||
150: - 0E50 dasm_FD_F9 equ 0xE50
|
||
151: - 0B3F dasm_FF equ 0xB3F
|
||
152: - 0E86 dasm_UU equ 0xE86
|
||
153: - 0E8A dasm_UW equ 0xE8A
|
||
154: - 0CC5 dasm__AND equ 0xCC5
|
||
155: - 0D19 dasm__CP equ 0xD19
|
||
156: - 0D50 dasm__DEC equ 0xD50
|
||
157: - 0B97 dasm__ED_47 equ 0xB97
|
||
158: - 0B9F dasm__ED_4F equ 0xB9F
|
||
159: - 0B87 dasm__ED_57 equ 0xB87
|
||
160: - 0B8F dasm__ED_5F equ 0xB8F
|
||
161: - 0D33 dasm__INC equ 0xD33
|
||
162: - 0B83 dasm__LD equ 0xB83
|
||
163: - 0CE2 dasm__OR equ 0xCE2
|
||
164: - 0CA1 dasm__SBC equ 0xCA1
|
||
165: - 0C84 dasm__SUB equ 0xC84
|
||
166: - 0CFC dasm__XOR equ 0xCFC
|
||
167: - 0684 dasm_opcode_table equ 0x684
|
||
168: - 04B1 dasm_print16hex_addr equ 0x4B1
|
||
169: - 04C9 dasm_print8hex equ 0x4C9
|
||
170: - 0E8F dasm_printFlags_table equ 0xE8F
|
||
171: - 0E9F dasm_printRegister8_table equ 0xE9F
|
||
172: - 0EBF dasm_printRegister8_table_HL equ 0xEBF
|
||
173: - 0EA7 dasm_printRegisterIX_table equ 0xEA7
|
||
174: - 0EAF dasm_printRegisterIY_table equ 0xEAF
|
||
175: - 0EB7 dasm_printRegisterSP_table equ 0xEB7
|
||
176: - 0375 disassemble equ 0x375
|
||
177: - 045B disassemble_continue equ 0x45B
|
||
178: - 044B disassemble_err equ 0x44B
|
||
179: - 0379 disassemble_next equ 0x379
|
||
180: - 0448 disassemble_print_opcode_params_end equ 0x448
|
||
181: - 03F4 disassemble_print_opcode_params_loop equ 0x3F4
|
||
182: - 03B6 disassemble_print_opcode_raw equ 0x3B6
|
||
183: - 03CA disassemble_print_opcode_raw_fill equ 0x3CA
|
||
184: - 048D disassemble_table_first_match equ 0x48D
|
||
185: - 04A7 disassemble_table_found equ 0x4A7
|
||
186: - 04AB disassemble_table_notfound equ 0x4AB
|
||
187: - 0469 disassemble_table_seek equ 0x469
|
||
188: - 046D disassemble_table_seek_loop equ 0x46D
|
||
189: - 007E mon_start_complete equ 0x7E
|
||
190: - 0050 mon_start_init_ctc equ 0x50
|
||
191: - 0067 mon_start_init_serial equ 0x67
|
||
192: - 0050 mon_start_init_sound equ 0x50
|
||
193: - 006A mon_start_ram equ 0x6A
|
||
194: - 0073 mon_start_ram_loop equ 0x73
|
||
195: - 0044 mon_var_template equ 0x44
|
||
196: - 402A mon_var_template_end equ 0x402A
|
||
197: - 04D7 param_01 equ 0x4D7
|
||
198: - 04FE param_02 equ 0x4FE
|
||
199: - 051B param_03 equ 0x51B
|
||
200: - 0553 param_03_done equ 0x553
|
||
201: - 053C param_03_neg equ 0x53C
|
||
202: - 0557 param_04 equ 0x557
|
||
203: - 0567 param_04_i equ 0x567
|
||
204: - 056D param_05 equ 0x56D
|
||
205: - 057A param_06 equ 0x57A
|
||
206: - 0594 param_07 equ 0x594
|
||
207: - 05A1 param_08 equ 0x5A1
|
||
208: - 05B6 param_09 equ 0x5B6
|
||
209: - 05BC param_09_0A equ 0x5BC
|
||
210: - 05AD param_0A equ 0x5AD
|
||
211: - 05CB param_10 equ 0x5CB
|
||
212: - 05DB param_11 equ 0x5DB
|
||
213: - 05EA param_11_12 equ 0x5EA
|
||
214: - 060A param_11_12_all equ 0x60A
|
||
215: - 05FD param_11_12_def equ 0x5FD
|
||
216: - 0602 param_11_12_ix equ 0x602
|
||
217: - 0607 param_11_12_iy equ 0x607
|
||
218: - 05E3 param_12 equ 0x5E3
|
||
219: - 061B param_13 equ 0x61B
|
||
220: - 063A param_80 equ 0x63A
|
||
221: - 0641 param_80_seek equ 0x641
|
||
222: - 0631 param_81 equ 0x631
|
||
223: - 0675 param_comma equ 0x675
|
||
224: - 0650 param_printRegister equ 0x650
|
||
225: - 066E param_printRegisterA equ 0x66E
|
||
226: - 0666 param_printRegisterHL equ 0x666
|
||
227: - 02E7 print_a_hex equ 0x2E7
|
||
228: - 02B7 print_char equ 0x2B7
|
||
229: - 02CA print_clear equ 0x2CA
|
||
230: - 02D1 print_newLine equ 0x2D1
|
||
231: - 02BF print_str equ 0x2BF
|
||
232: - 02C9 print_str_end equ 0x2C9
|
||
233: - 02DC print_wait_out equ 0x2DC
|
||
234: - 02F8 read_char equ 0x2F8
|
||
235: - 4029 var_buffer equ 0x4029
|
||
236: - 4000 var_buffer_len equ 0x4000
|
||
237: - 4006 var_curserchar equ 0x4006
|
||
238: - 4007 var_curserlastaddr equ 0x4007
|
||
239: - 4005 var_curseron equ 0x4005
|
||
240: - 4004 var_curserstate equ 0x4004
|
||
241: - 4002 var_curserx equ 0x4002
|
||
242: - 4003 var_cursery equ 0x4003
|
||
243: - 4001 var_last_char equ 0x4001
|
||
244: - 4019 var_ps2mem equ 0x4019
|
||
245: - 4009 var_scratch equ 0x4009
|
||
246: - 10C1 xmodem_ack equ 0x10C1
|
||
247: - 0F7A xmodem_await_conn equ 0xF7A
|
||
248: - 1025 xmodem_end equ 0x1025
|
||
249: - 0FEB xmodem_err equ 0xFEB
|
||
250: - 0F4C xmodem_init equ 0xF4C
|
||
251: - 102C xmodem_int equ 0x102C
|
||
252: - 104B xmodem_int_cont equ 0x104B
|
||
253: - 10CF xmodem_nak equ 0x10CF
|
||
254: - 107D xmodem_out equ 0x107D
|
||
255: - 0F85 xmodem_packet equ 0xF85
|
||
256: - 0FE3 xmodem_packet_EOT equ 0xFE3
|
||
257: - 0F97 xmodem_packet_get equ 0xF97
|
||
258: - 0FD0 xmodem_packet_get_crc equ 0xFD0
|
||
259: - 0FC1 xmodem_packet_get_data equ 0xFC1
|
||
260: - 1050 xmodem_read_wait equ 0x1050
|
||
261: - 105E xmodem_read_wait_loop equ 0x105E
|
||
262: - 107B xmodem_read_wait_timeout equ 0x107B
|
||
263: - 10DD xmodem_wait equ 0x10DD
|
||
264: - 10E3 xmodem_wait_1 equ 0x10E3
|
||
265: - 1083 xmodem_wait_out equ 0x1083
|
||
**** test.asm ****
|
||
2: - B000 org 0xB000
|
||
3: - 00F5 CS_PIO_BD .EQU 0xF5
|
||
4: - 00F7 CS_PIO_BC .EQU 0xF7
|
||
5: - 00F4 CS_PIO_AD .EQU 0xF4
|
||
6: - 00F6 CS_PIO_AC .EQU 0xF6
|
||
7:
|
||
8: - 00F3 CS_I2C_S1 .EQU 0xF3
|
||
9: - 00F2 CS_I2C_SX .EQU 0xF2
|
||
10:
|
||
11: - 00D0 IIC_RTC equ 11010000b
|
||
12:
|
||
13: - B000 IIC_INIT:
|
||
14: 0+7 B000 3ECF LD A,0xCF
|
||
15: 7+11 B002 D3F6 OUT (CS_PIO_AC), A
|
||
16: 18+7 B004 3EF5 LD A,11110101b
|
||
17: 25+11 B006 D3F6 OUT (CS_PIO_AC), A
|
||
18:
|
||
19: 36+7 B008 3E00 LD A,00000000b ; Reset PCF8584 minimum 30 clock cycles
|
||
20: 43+11 B00A D3F4 OUT (CS_PIO_AD), A
|
||
21: 54+10 B00C 010010 LD BC,0x1000
|
||
22: 64+17 B00F CDF6B0 CALL PAUSE_LOOP
|
||
23: 81+7 B012 3E02 LD A,0000010b
|
||
24: 88+11 B014 D3F4 OUT (CS_PIO_AD), A
|
||
25:
|
||
26: 99+4 B016 00 NOP
|
||
27: 103+4 B017 00 NOP
|
||
28: 107+4 B018 00 NOP
|
||
29:
|
||
30: 111+7 B019 3E80 LD A, 0x80 ;S1 -> Select S0, PIN disabled, ESO = 0, Interrupt disabled, STA, STA, ACK = 0
|
||
31: 118+11 B01B D3F3 OUT (CS_I2C_S1),A
|
||
32: 129+17 B01D CD16B1 CALL SlowAccess
|
||
33: 146+17 B020 CD16B1 CALL SlowAccess
|
||
34:
|
||
35: 163+7 B023 3E55 LD A,0x55 ;S0 -> Loads byte 55H into register S0'; effective own address becomes AAH
|
||
36: 170+11 B025 D3F2 OUT (CS_I2C_SX),A
|
||
37: 181+17 B027 CD16B1 CALL SlowAccess
|
||
38:
|
||
39: 198+7 B02A 3EA0 LD A, 0xA0 ;S1 -> Loads byte A0H into register S1, i.e. next byte will be loaded into the clock control register S2.
|
||
40: 205+11 B02C D3F3 OUT (CS_I2C_S1),A
|
||
41: 216+17 B02E CD16B1 CALL SlowAccess
|
||
42:
|
||
43:
|
||
44: 233+7 B031 3E00 LD A,0x00 ;Load 18H into S2 register (clock control - 8 MHz, 90 KHz)
|
||
45: 240+11 B033 D3F2 OUT (CS_I2C_SX),A
|
||
46: 251+17 B035 CD16B1 CALL SlowAccess
|
||
47:
|
||
48: 268+7 B038 3EC1 LD A,0xC1 ;S1 -> loads byte C1H into register S1; register enable
|
||
49: ;serial interface, set I 2C-bus into idle mode;
|
||
50: ;SDA and SCL are HIGH. The next write or read
|
||
51: ;operation will be to/from data transfer register
|
||
52: ;S0 if A0 = LOW.;
|
||
53: 275+11 B03A D3F3 OUT (CS_I2C_S1),A
|
||
54: 286+17 B03C CD16B1 CALL SlowAccess
|
||
55:
|
||
56:
|
||
57:
|
||
58: ;CALL force_stop
|
||
59: 303+10 B03F C39900 JP PROMPT_BEGIN
|
||
60:
|
||
61: 313+10 B042 010001 LD BC,$0100
|
||
62: 323+17 B045 CDF6B0 CALL PAUSE_LOOP
|
||
63:
|
||
64:
|
||
65: ; Send test message to RTC
|
||
66:
|
||
67: 340+10 B048 1100C0 LD DE, 0xC000 ; Set I2C Buffer Location
|
||
68: 350+7 B04B 3E00 LD A,0x00
|
||
69: 357+7 B04D 12 LD (DE),A
|
||
70: ;call regdump
|
||
71:
|
||
72: 364+7 B04E 06D0 LD B, IIC_RTC ; Set I2C Address
|
||
73: 371+7 B050 3E01 LD A, 1 ; Set I2C Buffer length
|
||
74: 378+17 B052 CD62B0 call i2c_send
|
||
75:
|
||
76: 395+10 B055 1110C0 LD DE, 0xC010
|
||
77: 405+7 B058 06D0 LD B, IIC_RTC
|
||
78: 412+7 B05A 3E07 LD A, 7
|
||
79: 419+17 B05C CD90B0 call i2c_read
|
||
80:
|
||
81:
|
||
82:
|
||
83: 436+10 B05F C39900 JP PROMPT_BEGIN
|
||
84:
|
||
85:
|
||
86: ;CLK_ENABLE:
|
||
87: ; LD DE, 0xC000 ; Set I2C Buffer Location
|
||
88: ; LD A,0x00
|
||
89: ; LD (0xC000),A
|
||
90: ; LD (0xC001),A
|
||
91: ; ;call regdump
|
||
92: ;
|
||
93: ; LD B, IIC_RTC ; Set I2C Address
|
||
94: ; LD A, 2 ; Set I2C Buffer length
|
||
95: ; call i2c_send
|
||
96: ; JP PROMPT_BEGIN
|
||
97:
|
||
98: ;------------------------------------------------------------------------------
|
||
99: ; i2c_send
|
||
100: ;
|
||
101: ; Sends data over the i2c bus
|
||
102: ; A contains BYTE COUNTER
|
||
103: ; B contains ADDRESS
|
||
104: ; DE contains location of Data Buffer
|
||
105: ;------------------------------------------------------------------------------
|
||
106: - B062 i2c_send:
|
||
107: ; CALL PRINTINLINE;
|
||
108: ; defb "SEND A",10,13,0
|
||
109: 446+11 B062 C5 PUSH BC
|
||
110: 457+11 B063 F5 PUSH AF
|
||
111: 468+17 B064 CDE8B0 CALL i2c_bus_rdy
|
||
112: ; CALL PRINTINLINE
|
||
113: ; defb "SEND START",10,13,0
|
||
114: 485+4 B067 78 LD A,B ;Load 'slave address' into S0 register:
|
||
115: 489+11 B068 D3F2 OUT (CS_I2C_SX),A
|
||
116: 500+17 B06A CD16B1 CALL SlowAccess
|
||
117:
|
||
118: 517+7 B06D 3EC5 LD A, 0xC5 ;Load C5H into S1. 'C5H' = PCF8584 generates
|
||
119: ;the 'START' condition and clocks out the slave
|
||
120: ;address and the clock pulse for slave acknowledgement.
|
||
121: 524+11 B06F D3F3 OUT (CS_I2C_S1),A
|
||
122: 535+10 B071 F1 POP AF
|
||
123: 545+4 B072 4F LD C,A
|
||
124: 549+4 B073 0C INC C
|
||
125: - B074 i2c_send_1: ; LOOP 1 : Wait for bus ready
|
||
126: 553+11 B074 DBF3 IN A,(CS_I2C_S1) ; Read byte from S1 register
|
||
127: 564+8 B076 CB7F BIT 7,A ; Is bus free? (S1 ~BB=1?)
|
||
128: 572+7+5 B078 20FA JR NZ,i2c_send_1 ; No - loop
|
||
129: 579+8 B07A CB67 BIT 4,A ; slave acknowledged? (LRB = 0?)
|
||
130: 587+7+5 B07C 2009 JR NZ, i2c_send_stop ; if not, cancel transmission
|
||
131: 594+7 B07E 1A LD A,(DE) ; Load next byte from buffer
|
||
132: 601+6 B07F 13 INC DE
|
||
133: 607+4 B080 0D DEC C
|
||
134: 611+7+5 B081 2804 JR Z, i2c_send_stop ; if counter = 0, exit loop
|
||
135: 618+11 B083 D3F2 OUT (CS_I2C_SX),A ; Send byte
|
||
136: 629+12 B085 18ED JR i2c_send_1 ; if counter > 0, loop again
|
||
137: - B087 i2c_send_stop:
|
||
138: 641+7 B087 3EC3 LD A, 0xC3 ;STOP
|
||
139: 648+11 B089 D3F3 OUT (CS_I2C_S1),A
|
||
140: 659+17 B08B CD16B1 CALL SlowAccess
|
||
141: 676+10 B08E C1 POP BC
|
||
142: 686+10 B08F C9 RET
|
||
143:
|
||
144:
|
||
145: ;------------------------------------------------------------------------------
|
||
146: ; i2c_read
|
||
147: ;
|
||
148: ; Sends data over the i2c bus
|
||
149: ; A contains BYTE COUNTER
|
||
150: ; B contains ADDRESS
|
||
151: ; DE contains location of Data Buffer
|
||
152: ;------------------------------------------------------------------------------
|
||
153: - B090 i2c_read:
|
||
154: 696+11 B090 D5 PUSH DE
|
||
155: 707+11 B091 C5 PUSH BC
|
||
156: 718+11 B092 F5 PUSH AF
|
||
157: 729+4 B093 78 LD A,B ;Load 'slave address' into S0 register:
|
||
158: 733+7 B094 F601 OR 0x01 ;Set RW Bit for read operation
|
||
159: 740+11 B096 D3F2 OUT (CS_I2C_SX),A
|
||
160: 751+17 B098 CD16B1 CALL SlowAccess
|
||
161: 768+17 B09B CDE8B0 CALL i2c_bus_rdy ; Is bus ready
|
||
162: 785+7 B09E 3EC5 LD A, 0xC5 ;Load C5H into S1. 'C5H' = PCF8584 generates
|
||
163: ;the 'START' condition and clocks out the slave
|
||
164: ;address and the clock pulse for slave acknowledgement.
|
||
165: 792+11 B0A0 D3F3 OUT (CS_I2C_S1),A
|
||
166: ;Setup counter
|
||
167: 803+10 B0A2 F1 POP AF
|
||
168: 813+4 B0A3 4F LD C,A ; Load BYTE COUNTER into C
|
||
169: 817+4 B0A4 0C INC C ; Offset C by 1
|
||
170: - B0A5 i2c_read_1: ;Wait for PIN = 0
|
||
171: 821+11 B0A5 DBF3 IN A,(CS_I2C_S1) ; Read byte from S1 register
|
||
172: 832+8 B0A7 CB7F BIT 7,A ; S1 PIN=1?
|
||
173: 840+7+5 B0A9 20FA JR NZ,i2c_read_1 ; No - loop
|
||
174: 847+8 B0AB CB5F BIT 3,A ; S1 LRB=0? slave ACK?
|
||
175: 855+7+5 B0AD 201C JR NZ, i2c_read_error ; No ACK -> an error has occured
|
||
176: 862+4 B0AF 0D DEC C
|
||
177: 866+4 B0B0 79 LD A, C
|
||
178: 870+4 B0B1 3D DEC A ;If n = m − 1?
|
||
179: 874+7+5 B0B2 2806 JR Z, i2c_read_last
|
||
180: 881+11 B0B4 DBF2 IN A,(CS_I2C_SX)
|
||
181: 892+7 B0B6 12 LD (DE),A
|
||
182: 899+6 B0B7 13 INC DE
|
||
183: 905+12 B0B8 18EB JR i2c_read_1
|
||
184: - B0BA i2c_read_last: ;read last byte
|
||
185: 917+7 B0BA 3E40 LD A, 0x40
|
||
186: 924+11 B0BC D3F3 OUT (CS_I2C_S1),A
|
||
187: 935+17 B0BE CD16B1 CALL SlowAccess
|
||
188: 952+11 B0C1 DBF2 IN A,(CS_I2C_SX) ;receives the final data byte. Neg. ACK is also sent.
|
||
189: 963+7 B0C3 12 LD (DE),A
|
||
190: 970+6 B0C4 13 INC DE
|
||
191: - B0C5 i2c_read_last_1:
|
||
192: 976+11 B0C5 DBF3 IN A,(CS_I2C_S1) ; Read byte from S1 register
|
||
193: 987+8 B0C7 CB7F BIT 7,A ; S1 PIN=1?
|
||
194: 995+7+5 B0C9 20FA JR NZ,i2c_read_last_1 ; No - loop
|
||
195:
|
||
196: - B0CB i2c_read_error:
|
||
197: 1002+4 B0CB 00 NOP
|
||
198: - B0CC i2c_read_stop:
|
||
199: 1006+7 B0CC 3EC3 LD A, 0xC3
|
||
200: 1013+11 B0CE D3F3 OUT (CS_I2C_S1),A
|
||
201: 1024+17 B0D0 CD16B1 CALL SlowAccess
|
||
202: 1041+11 B0D3 DBF2 IN A,(CS_I2C_SX) ;transfers the final data byte from the
|
||
203: ;data buffer to accumulator.
|
||
204: 1052+17 B0D5 CD16B1 CALL SlowAccess
|
||
205: 1069+7 B0D8 12 LD (DE),A
|
||
206: 1076+10 B0D9 C1 POP BC
|
||
207: 1086+10 B0DA D1 POP DE
|
||
208: 1096+10 B0DB C9 RET
|
||
209:
|
||
210:
|
||
211: - B0DC i2c_stop_force:
|
||
212:
|
||
213: ;------------------------------------------------------------------------------
|
||
214: ; i2c_rdy
|
||
215: ;
|
||
216: ; Waits until the PCF8584 signals a byte transmission/reception is complete.
|
||
217: ;------------------------------------------------------------------------------
|
||
218: - B0DC i2c_rdy:
|
||
219: 1106+11 B0DC F5 PUSH AF
|
||
220: - B0DD i2c_rlp:
|
||
221: 1117+11 B0DD DBF3 IN A,(CS_I2C_S1) ; Read byte from S1 register
|
||
222: 1128+8 B0DF CB7F BIT 7,A ; Is Tx/Rx complete? (S1 PIN=0?)
|
||
223: 1136+17 B0E1 CDE702 call print_a_hex
|
||
224: 1153+7+5 B0E4 20F7 JR NZ,i2c_rlp ; No - loop
|
||
225: - B0E6 i2crlpex:
|
||
226: 1160+10 B0E6 F1 POP AF
|
||
227: 1170+10 B0E7 C9 RET
|
||
228:
|
||
229: ;------------------------------------------------------------------------------
|
||
230: ; i2c_bus_rdy
|
||
231: ;
|
||
232: ; Waits until the I2C bus is free before RETurning
|
||
233: ;------------------------------------------------------------------------------
|
||
234: - B0E8 i2c_bus_rdy:
|
||
235: 1180+11 B0E8 F5 PUSH AF
|
||
236: - B0E9 i2c_blp:
|
||
237: 1191+11 B0E9 DBF3 IN A,(CS_I2C_S1) ; Read byte from S1 register
|
||
238: 1202+11 B0EB F5 PUSH AF
|
||
239: 1213+17 B0EC CDE702 call print_a_hex
|
||
240: 1230+10 B0EF F1 POP AF
|
||
241: 1240+8 B0F0 CB47 BIT 0,A ; Is bus free? (S1 ~BB=1?)
|
||
242: 1248+7+5 B0F2 28F5 JR Z,i2c_blp ; No - loop
|
||
243: - B0F4 i2cblpex:
|
||
244: 1255+10 B0F4 F1 POP AF
|
||
245: 1265+10 B0F5 C9 RET
|
||
246:
|
||
247: ;------------------------------------------------------------------------------
|
||
248: ; PAUSE_LOOP
|
||
249: ;
|
||
250: ; Timer function
|
||
251: ;
|
||
252: ; 16-bit (BC) decrement counter, performing 4xNEG loop until BC
|
||
253: ; reaches zero.
|
||
254: ;
|
||
255: ; 61 T-states in loop = 15.25uS per loop @ 4 MHz - near enough
|
||
256: ; a second delay for 65,535 iterations.
|
||
257: ;
|
||
258: ; Set iteration count in BC before calling this function.
|
||
259: ; Destroys: BC
|
||
260: ;------------------------------------------------------------------------------
|
||
261: - B0F6 PAUSE_LOOP:
|
||
262: 1275+11 B0F6 F5 PUSH AF ; 11 T-states
|
||
263: - B0F7 pau_lp:
|
||
264: ;NEG ; 8 T-states
|
||
265: ;NEG ; 8 T-states
|
||
266: ;NEG ; 8 T-states
|
||
267: ;NEG ; 8 T-states
|
||
268: 1286+11 B0F7 C5 PUSH BC ; 11 T-states
|
||
269: 1297+10 B0F8 C1 POP BC ; 10 T-states
|
||
270: 1307+11 B0F9 C5 PUSH BC ; 11 T-states
|
||
271: 1318+10 B0FA C1 POP BC ; 10 T-states
|
||
272: 1328+6 B0FB 0B DEC BC ; 6 T-states
|
||
273: 1334+4 B0FC 79 LD A,C ; 9 T-states
|
||
274: 1338+4 B0FD B0 OR B ; 4 T-states
|
||
275: 1342+10 B0FE C2F7B0 JP NZ,pau_lp ; 10 T-states
|
||
276: 1352+10 B101 F1 POP AF ; 10 T-states
|
||
277: 1362+10 B102 C9 RET ; Pause complete, RETurn
|
||
278:
|
||
279: ;------------------------------------------------------------------------------
|
||
280: ; PRINTINLINE
|
||
281: ;
|
||
282: ; String output function
|
||
283: ;
|
||
284: ; Prints in-line data (bytes immediately following the PRINTINLINE call)
|
||
285: ; until a string terminator is encountered (0 - null char).
|
||
286: ;------------------------------------------------------------------------------
|
||
287: - B103 PRINTINLINE:
|
||
288: 1372+19 B103 E3 EX (SP),HL ; PUSH HL and put RET ADDress into HL
|
||
289: 1391+11 B104 F5 PUSH AF
|
||
290: 1402+11 B105 C5 PUSH BC
|
||
291: - B106 nxtILC:
|
||
292: 1413+7 B106 7E LD A,(HL)
|
||
293: 1420+7 B107 FE00 CP 0
|
||
294: 1427+7+5 B109 2806 JR Z,endPrint
|
||
295: 1434+17 B10B CDB702 CALL print_char
|
||
296: 1451+6 B10E 23 INC HL
|
||
297: 1457+12 B10F 18F5 JR nxtILC
|
||
298: - B111 endPrint:
|
||
299: 1469+6 B111 23 INC HL ; Get past "null" terminator
|
||
300: 1475+10 B112 C1 POP BC
|
||
301: 1485+10 B113 F1 POP AF
|
||
302: 1495+19 B114 E3 EX (SP),HL ; PUSH new RET ADDress on stack and restore HL
|
||
303: 1514+10 B115 C9 RET
|
||
304:
|
||
305: - B116 SlowAccess:
|
||
306: 1524+4 B116 00 NOP
|
||
307: 1528+4 B117 00 NOP
|
||
308: 1532+4 B118 00 NOP
|
||
309: 1536+4 B119 00 NOP
|
||
310: 1540+4 B11A 00 NOP
|
||
311: 1544+4 B11B 00 NOP
|
||
312: 1548+4 B11C 00 NOP
|
||
313: 1552+4 B11D 00 NOP
|
||
314: 1556+10 B11E C9 RET
|
||
315:
|
||
316:
|
||
317: ;.include "regdump.s"
|
||
318:
|
||
319: - B11F force_stop:
|
||
320: 1566+11 B11F DBF3 IN A,(CS_I2C_S1)
|
||
321: 1577+8 B121 CB47 BIT 0, A
|
||
322: 1585+5+6 B123 C0 RET NZ
|
||
323: 1590+7 B124 3EC3 LD A, 11000011b
|
||
324: 1597+11 B126 D3F3 OUT (CS_I2C_S1),A
|
||
325: 1608+4 B128 00 NOP
|
||
326: 1612+4 B129 00 NOP
|
||
**** test.asm ****
|
||
327: 1616+12 B12A 18F3 JR force_stop
|
||
|
||
|
||
|
||
Statistics:
|
||
|
||
4 passes
|
||
0 jr promotions
|
||
293 symbols
|
||
300 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_I2C_S1 =F3 243
|
||
CS_I2C_SX =F2 242
|
||
CS_PIO_AC =F6 246
|
||
CS_PIO_AD =F4 244
|
||
CS_PIO_BC =F7 247
|
||
CS_PIO_BD =F5 245
|
||
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
|
||
IIC_INIT B000 45056
|
||
IIC_RTC =D0 208
|
||
INT_VEC =1B 27
|
||
Includes = 27E 638
|
||
MSG_CLEAR = 30A 778
|
||
MSG_ERROR =108E 4238
|
||
MSG_START =10A7 4263
|
||
PAUSE_LOOP B0F6 45302
|
||
PRINTINLINE B103 45315
|
||
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
|
||
STRCONV_BYTES_TO_HEX= 35B 859
|
||
STRCONV_BYTES_TO_HEX_1= 36A 874
|
||
STRCONV_BYTES_TO_HEX_2= 374 884
|
||
STR_Banner_Start= F00 3840
|
||
STR_HEXDUMP_HEADER= F30 3888
|
||
STR_SyntaxError= F26 3878
|
||
STR_Unknown = F2B 3883
|
||
SlowAccess B116 45334
|
||
beep = ED7 3799
|
||
beep_pause = EF1 3825
|
||
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
|
||
endPrint B111 45329
|
||
force_stop B11F 45343
|
||
i2c_blp B0E9 45289
|
||
i2c_bus_rdy B0E8 45288
|
||
i2c_rdy B0DC 45276
|
||
i2c_read B090 45200
|
||
i2c_read_1 B0A5 45221
|
||
i2c_read_error B0CB 45259
|
||
i2c_read_last B0BA 45242
|
||
i2c_read_last_1 B0C5 45253
|
||
i2c_read_stop B0CC 45260
|
||
i2c_rlp B0DD 45277
|
||
i2c_send B062 45154
|
||
i2c_send_1 B074 45172
|
||
i2c_send_stop B087 45191
|
||
i2c_stop_force B0DC 45276
|
||
i2cblpex B0F4 45300
|
||
i2crlpex B0E6 45286
|
||
mon_start_complete=7E 126
|
||
mon_start_init_ctc=50 80
|
||
mon_start_init_serial=67 103
|
||
mon_start_init_sound=50 80
|
||
mon_start_ram =6A 106
|
||
mon_start_ram_loop=73 115
|
||
mon_var_template=44 68
|
||
mon_var_template_end=402A 16426
|
||
nxtILC B106 45318
|
||
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
|
||
pau_lp B0F7 45303
|
||
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_wait_out = 2DC 732
|
||
read_char = 2F8 760
|
||
var_buffer =4029 16425
|
||
var_buffer_len =4000 16384
|
||
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_ps2mem =4019 16409
|
||
var_scratch =4009 16393
|
||
xmodem_ack =10C1 4289
|
||
xmodem_await_conn= F7A 3962
|
||
xmodem_end =1025 4133
|
||
xmodem_err = FEB 4075
|
||
xmodem_init = F4C 3916
|
||
xmodem_int =102C 4140
|
||
xmodem_int_cont=104B 4171
|
||
xmodem_nak =10CF 4303
|
||
xmodem_out =107D 4221
|
||
xmodem_packet = F85 3973
|
||
xmodem_packet_EOT= FE3 4067
|
||
xmodem_packet_get= F97 3991
|
||
xmodem_packet_get_crc= FD0 4048
|
||
xmodem_packet_get_data= FC1 4033
|
||
xmodem_read_wait=1050 4176
|
||
xmodem_read_wait_loop=105E 4190
|
||
xmodem_read_wait_timeout=107B 4219
|
||
xmodem_wait =10DD 4317
|
||
xmodem_wait_1 =10E3 4323
|
||
xmodem_wait_out=1083 4227
|