Rev 1120 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
573 | savelij | 1 | |
1186 | savelij | 2 | ; LAST UPDATE: 14.02.2025 savelij |
573 | savelij | 3 | |
764 | savelij | 4 | TITLE "addons.a80 ROM_RST82" |
5 | |||
1031 | savelij | 6 | DRV_VAR EQU 0x4000 |
573 | savelij | 7 | |
1186 | savelij | 8 | PHASE 0 |
831 | savelij | 9 | JP $ |
585 | savelij | 10 | |
1186 | savelij | 11 | DB ADR_SEL_ROM-$ DUP 0xFF |
573 | savelij | 12 | OUT (C),A |
13 | NOP |
||
14 | RET |
||
15 | |||
1186 | savelij | 16 | DB 0x0030-$ DUP 0xFF |
585 | savelij | 17 | JP CALL2PAGE |
18 | |||
1186 | savelij | 19 | DB 0x0038-$ DUP 0xFF ; 0038 |
585 | savelij | 20 | PUSH HL |
21 | LD HL,(ADR_INT) |
||
22 | EX (SP),HL |
||
23 | RET |
||
24 | |||
573 | savelij | 25 | EI |
26 | RET |
||
27 | |||
761 | savelij | 28 | JP UNPACK_DOS_FE |
875 | savelij | 29 | JP INST_SONGLN |
643 | savelij | 30 | |
1186 | savelij | 31 | DB 0x0080-$ DUP 0xFF |
643 | savelij | 32 | binclude ../../dec40.bin |
33 | |||
1186 | savelij | 34 | DB 0x00FF-$ DUP 0xFF |
1031 | savelij | 35 | DW 0x0038 |
573 | savelij | 36 | |
961 | savelij | 37 | ; ============================SD 㤠============================ |
1186 | savelij | 38 | SDCARD_LOST |
39 | WINHDR 0x08,0x08,0x04,0x10,0x17,0,%00000000,0, \ |
||
40 | 0,0,.TXT_SDLOST,0,0,0 |
||
41 | |||
42 | .TXT_SDLOST DB "\x17\xFF\r\x03SD card lost\r\x03Press RESET",0 |
||
961 | savelij | 43 | ; ============================SD 㤠============================ |
573 | savelij | 44 | |
961 | savelij | 45 | ; ========================設 ===================== |
1031 | savelij | 46 | SPRAR DB 0x3F,0x00,0x1F,0x40,0x0F,0x60,0x07,0x50,0x03,0x48,0x01,0x4C,0x01,0x70,0x07,0x00 |
47 | SPRAR2 DB 0x3F,0x00,0x1F,0x40,0x0F,0x60,0x07,0x70,0x03,0x78,0x01,0x7C,0x01,0x70,0x07,0x00 |
||
961 | savelij | 48 | ; ========================設 ===================== |
573 | savelij | 49 | |
1186 | savelij | 50 | DB 0x0200-$ DUP 0xFF |
588 | savelij | 51 | CHARS binclude altstd.bin |
52 | |||
1031 | savelij | 53 | BUFTSC DW 0x4000,0x4100,0x4200,0x4300,0x4400,0x4500,0x4600,0x4700 |
54 | DW 0x4020,0x4120,0x4220,0x4320,0x4420,0x4520,0x4620,0x4720 |
||
55 | DW 0x4040,0x4140,0x4240,0x4340,0x4440,0x4540,0x4640,0x4740 |
||
56 | DW 0x4060,0x4160,0x4260,0x4360,0x4460,0x4560,0x4660,0x4760 |
||
57 | DW 0x4080,0x4180,0x4280,0x4380,0x4480,0x4580,0x4680,0x4780 |
||
58 | DW 0x40A0,0x41A0,0x42A0,0x43A0,0x44A0,0x45A0,0x46A0,0x47A0 |
||
59 | DW 0x40C0,0x41C0,0x42C0,0x43C0,0x44C0,0x45C0,0x46C0,0x47C0 |
||
60 | DW 0x40E0,0x41E0,0x42E0,0x43E0,0x44E0,0x45E0,0x46E0,0x47E0 |
||
585 | savelij | 61 | |
1031 | savelij | 62 | DW 0x4800,0x4900,0x4A00,0x4B00,0x4C00,0x4D00,0x4E00,0x4F00 |
63 | DW 0x4820,0x4920,0x4A20,0x4B20,0x4C20,0x4D20,0x4E20,0x4F20 |
||
64 | DW 0x4840,0x4940,0x4A40,0x4B40,0x4C40,0x4D40,0x4E40,0x4F40 |
||
65 | DW 0x4860,0x4960,0x4A60,0x4B60,0x4C60,0x4D60,0x4E60,0x4F60 |
||
66 | DW 0x4880,0x4980,0x4A80,0x4B80,0x4C80,0x4D80,0x4E80,0x4F80 |
||
67 | DW 0x48A0,0x49A0,0x4AA0,0x4BA0,0x4CA0,0x4DA0,0x4EA0,0x4FA0 |
||
68 | DW 0x48C0,0x49C0,0x4AC0,0x4BC0,0x4CC0,0x4DC0,0x4EC0,0x4FC0 |
||
69 | DW 0x48E0,0x49E0,0x4AE0,0x4BE0,0x4CE0,0x4DE0,0x4EE0,0x4FE0 |
||
585 | savelij | 70 | |
1031 | savelij | 71 | DW 0x5000,0x5100,0x5200,0x5300,0x5400,0x5500,0x5600,0x5700 |
72 | DW 0x5020,0x5120,0x5220,0x5320,0x5420,0x5520,0x5620,0x5720 |
||
73 | DW 0x5040,0x5140,0x5240,0x5340,0x5440,0x5540,0x5640,0x5740 |
||
74 | DW 0x5060,0x5160,0x5260,0x5360,0x5460,0x5560,0x5660,0x5760 |
||
75 | DW 0x5080,0x5180,0x5280,0x5380,0x5480,0x5580,0x5680,0x5780 |
||
76 | DW 0x50A0,0x51A0,0x52A0,0x53A0,0x54A0,0x55A0,0x56A0,0x57A0 |
||
77 | DW 0x50C0,0x51C0,0x52C0,0x53C0,0x54C0,0x55C0,0x56C0,0x57C0 |
||
78 | DW 0x50E0,0x51E0,0x52E0,0x53E0,0x54E0,0x55E0,0x56E0,0x57E0 |
||
585 | savelij | 79 | |
1031 | savelij | 80 | BUFTSC1 DW 0xC000,0xC100,0xC200,0xC300,0xC400,0xC500,0xC600,0xC700 |
81 | DW 0xC020,0xC120,0xC220,0xC320,0xC420,0xC520,0xC620,0xC720 |
||
82 | DW 0xC040,0xC140,0xC240,0xC340,0xC440,0xC540,0xC640,0xC740 |
||
83 | DW 0xC060,0xC160,0xC260,0xC360,0xC460,0xC560,0xC660,0xC760 |
||
84 | DW 0xC080,0xC180,0xC280,0xC380,0xC480,0xC580,0xC680,0xC780 |
||
85 | DW 0xC0A0,0xC1A0,0xC2A0,0xC3A0,0xC4A0,0xC5A0,0xC6A0,0xC7A0 |
||
86 | DW 0xC0C0,0xC1C0,0xC2C0,0xC3C0,0xC4C0,0xC5C0,0xC6C0,0xC7C0 |
||
87 | DW 0xC0E0,0xC1E0,0xC2E0,0xC3E0,0xC4E0,0xC5E0,0xC6E0,0xC7E0 |
||
585 | savelij | 88 | |
1031 | savelij | 89 | DW 0xC800,0xC900,0xCA00,0xCB00,0xCC00,0xCD00,0xCE00,0xCF00 |
90 | DW 0xC820,0xC920,0xCA20,0xCB20,0xCC20,0xCD20,0xCE20,0xCF20 |
||
91 | DW 0xC840,0xC940,0xCA40,0xCB40,0xCC40,0xCD40,0xCE40,0xCF40 |
||
92 | DW 0xC860,0xC960,0xCA60,0xCB60,0xCC60,0xCD60,0xCE60,0xCF60 |
||
93 | DW 0xC880,0xC980,0xCA80,0xCB80,0xCC80,0xCD80,0xCE80,0xCF80 |
||
94 | DW 0xC8A0,0xC9A0,0xCAA0,0xCBA0,0xCCA0,0xCDA0,0xCEA0,0xCFA0 |
||
95 | DW 0xC8C0,0xC9C0,0xCAC0,0xCBC0,0xCCC0,0xCDC0,0xCEC0,0xCFC0 |
||
96 | DW 0xC8E0,0xC9E0,0xCAE0,0xCBE0,0xCCE0,0xCDE0,0xCEE0,0xCFE0 |
||
585 | savelij | 97 | |
1031 | savelij | 98 | DW 0xD000,0xD100,0xD200,0xD300,0xD400,0xD500,0xD600,0xD700 |
99 | DW 0xD020,0xD120,0xD220,0xD320,0xD420,0xD520,0xD620,0xD720 |
||
100 | DW 0xD040,0xD140,0xD240,0xD340,0xD440,0xD540,0xD640,0xD740 |
||
101 | DW 0xD060,0xD160,0xD260,0xD360,0xD460,0xD560,0xD660,0xD760 |
||
102 | DW 0xD080,0xD180,0xD280,0xD380,0xD480,0xD580,0xD680,0xD780 |
||
103 | DW 0xD0A0,0xD1A0,0xD2A0,0xD3A0,0xD4A0,0xD5A0,0xD6A0,0xD7A0 |
||
104 | DW 0xD0C0,0xD1C0,0xD2C0,0xD3C0,0xD4C0,0xD5C0,0xD6C0,0xD7C0 |
||
105 | DW 0xD0E0,0xD1E0,0xD2E0,0xD3E0,0xD4E0,0xD5E0,0xD6E0,0xD7E0 |
||
573 | savelij | 106 | |
961 | savelij | 107 | ; 砫 ப ⥪⬮ (, ࠢ) |
1031 | savelij | 108 | TBUFTSC DW 0xC1C0,0xD1C0 ; 00 |
109 | DW 0xC200,0xD200 ; 01 |
||
110 | DW 0xC240,0xD240 ; 02 |
||
111 | DW 0xC280,0xD280 ; 03 |
||
112 | DW 0xC2C0,0xD2C0 ; 04 |
||
113 | DW 0xC300,0xD300 ; 05 |
||
114 | DW 0xC340,0xD340 ; 06 |
||
115 | DW 0xC380,0xD380 ; 07 |
||
116 | DW 0xC3C0,0xD3C0 ; 08 |
||
117 | DW 0xC400,0xD400 ; 09 |
||
118 | DW 0xC440,0xD440 ; 10 |
||
119 | DW 0xC480,0xD480 ; 11 |
||
120 | DW 0xC4C0,0xD4C0 ; 12 |
||
121 | DW 0xC500,0xD500 ; 13 |
||
122 | DW 0xC540,0xD540 ; 14 |
||
123 | DW 0xC580,0xD580 ; 15 |
||
124 | DW 0xC5C0,0xD5C0 ; 16 |
||
125 | DW 0xC600,0xD600 ; 17 |
||
126 | DW 0xC640,0xD640 ; 18 |
||
127 | DW 0xC680,0xD680 ; 19 |
||
128 | DW 0xC6C0,0xD6C0 ; 20 |
||
129 | DW 0xC700,0xD700 ; 21 |
||
130 | DW 0xC740,0xD740 ; 22 |
||
131 | DW 0xC780,0xD780 ; 23 |
||
132 | DW 0xC7C0,0xD7C0 ; 24 |
||
573 | savelij | 133 | |
961 | savelij | 134 | ; 砫 ப 梥 ⥪⬮ (, ࠢ) |
1031 | savelij | 135 | TBUFTSC_C DW 0xF1C0,0xE1C1 ; 00 |
136 | DW 0xF200,0xE201 ; 01 |
||
137 | DW 0xF240,0xE241 ; 02 |
||
138 | DW 0xF280,0xE281 ; 03 |
||
139 | DW 0xF2C0,0xE2C1 ; 04 |
||
140 | DW 0xF300,0xE301 ; 05 |
||
141 | DW 0xF340,0xE341 ; 06 |
||
142 | DW 0xF380,0xE381 ; 07 |
||
143 | DW 0xF3C0,0xE3C1 ; 08 |
||
144 | DW 0xF400,0xE401 ; 09 |
||
145 | DW 0xF440,0xE441 ; 10 |
||
146 | DW 0xF480,0xE481 ; 11 |
||
147 | DW 0xF4C0,0xE4C1 ; 12 |
||
148 | DW 0xF500,0xE501 ; 13 |
||
149 | DW 0xF540,0xE541 ; 14 |
||
150 | DW 0xF580,0xE581 ; 15 |
||
151 | DW 0xF5C0,0xE5C1 ; 16 |
||
152 | DW 0xF600,0xE601 ; 17 |
||
153 | DW 0xF640,0xE641 ; 18 |
||
154 | DW 0xF680,0xE681 ; 19 |
||
155 | DW 0xF6C0,0xE6C1 ; 20 |
||
156 | DW 0xF700,0xE701 ; 21 |
||
157 | DW 0xF740,0xE741 ; 22 |
||
158 | DW 0xF780,0xE781 ; 23 |
||
159 | DW 0xF7C0,0xE7C1 ; 24 |
||
573 | savelij | 160 | |
1031 | savelij | 161 | RD_SET_PAL IN A,(0xFF) |
162 | AND %00111111 |
||
163 | PUSH AF |
||
164 | LD HL,(ADR_INT) |
||
596 | savelij | 165 | PUSH HL |
166 | LD HL,EI_RET |
||
167 | LD (ADR_INT),HL |
||
1031 | savelij | 168 | LD DE,0xAF0F ; ࠭塞 ⥪ |
169 | LD BC,0xBD77 |
||
961 | savelij | 170 | OUT (C),D ; 祭 ⥪⬮ |
596 | savelij | 171 | LD HL,(ADR_PALITRA) |
172 | LD BC,RD_PALITRA |
||
173 | EI |
||
174 | HALT |
||
175 | DI |
||
1031 | savelij | 176 | .L3 LD A,E |
596 | savelij | 177 | BIT 3,E |
1031 | savelij | 178 | OUT (0xFE),A |
179 | JR Z,.L4 |
||
180 | OUT (0xF6),A |
||
181 | .L4 IN A,(C) |
||
596 | savelij | 182 | LD (HL),A |
183 | INC HL |
||
184 | DEC E |
||
1031 | savelij | 185 | JP P,.L3 ; ࠭ |
596 | savelij | 186 | LD HL,MAGIC_PAL |
1031 | savelij | 187 | LD E,0x0F |
188 | .L1 LD A,E |
||
596 | savelij | 189 | BIT 3,E |
1031 | savelij | 190 | OUT (0xFE),A |
191 | JR Z,.L2 |
||
192 | OUT (0xF6),A |
||
193 | .L2 LD A,(HL) |
||
596 | savelij | 194 | INC HL |
195 | OR %00001100 |
||
1031 | savelij | 196 | OUT (0xFF),A |
596 | savelij | 197 | DEC E |
1031 | savelij | 198 | JP P,.L1 |
199 | LD BC,0xFF77 |
||
596 | savelij | 200 | OUT (C),D |
201 | POP HL |
||
202 | LD (ADR_INT),HL |
||
1031 | savelij | 203 | POP AF |
204 | OUT (0xFF),A |
||
596 | savelij | 205 | RET |
573 | savelij | 206 | |
1031 | savelij | 207 | MAGIC_PAL DB 0x0C,0x2D,0x4E,0x6F,0x9C,0xBD,0xDE,0xFF |
208 | DB 0xEC,0xED,0xEE,0xEF,0xFC,0xFD,0xFE,0xFF |
||
596 | savelij | 209 | |
961 | savelij | 210 | ; SPECTRUM ० |
1031 | savelij | 211 | TRSTPAL DB 0x00,0x21,0x42,0x63,0x90,0xB1,0xD2,0xF3 |
212 | DB 0xE0,0xE1,0xE2,0xE3,0xF0,0xF1,0xF2,0xF3 |
||
596 | savelij | 213 | |
214 | SETUP_PAL1 LD HL,(RREG_L) |
||
1186 | savelij | 215 | LD DE,EXTERN_PAL-CPU2 |
1031 | savelij | 216 | LD BC,0x10 |
217 | ROMCALL LDIR_BYTES,ROM_RST83 |
||
596 | savelij | 218 | LD HL,EXTERN_PAL |
219 | JR RESTOREPAL1 |
||
220 | |||
221 | SETUP_PAL LD A,(RREG_A) |
||
222 | AND A |
||
223 | JR NZ,SETUP_PAL1 |
||
224 | LD HL,TRSTPAL |
||
225 | RESTOREPAL1 LD (ADR_PALITRA),HL |
||
1031 | savelij | 226 | RESTORE_PAL IN A,(0xFF) |
227 | AND %00111111 |
||
228 | PUSH AF |
||
229 | LD HL,(ADR_INT) |
||
596 | savelij | 230 | PUSH HL |
231 | LD HL,EI_RET |
||
232 | LD (ADR_INT),HL |
||
233 | LD HL,(ADR_PALITRA) |
||
1031 | savelij | 234 | LD DE,0xAF0F |
235 | LD BC,0xBD77 ; |
||
961 | savelij | 236 | OUT (C),D ; .PAL |
596 | savelij | 237 | EI |
238 | HALT |
||
239 | DI |
||
1031 | savelij | 240 | .L1 LD A,E |
596 | savelij | 241 | BIT 3,E |
1031 | savelij | 242 | OUT (0xFE),A |
596 | savelij | 243 | JR Z,$+4 |
1031 | savelij | 244 | OUT (0xF6),A |
596 | savelij | 245 | LD A,(HL) |
246 | INC HL |
||
247 | OR %00001100 |
||
1031 | savelij | 248 | OUT (0xFF),A |
596 | savelij | 249 | DEC E |
1031 | savelij | 250 | JP P,.L1 |
251 | LD BC,0xFF77 |
||
596 | savelij | 252 | OUT (C),D |
253 | POP HL |
||
254 | LD (ADR_INT),HL |
||
1031 | savelij | 255 | POP AF |
256 | OUT (0xFF),A |
||
596 | savelij | 257 | RET |
258 | |||
259 | PRINT_REGS LD E,(IX) |
||
260 | INC IX |
||
261 | LD D,(IX) |
||
262 | INC IX |
||
263 | PRTT_HL_ LD A,H |
||
264 | CALL PRTT_A |
||
265 | LD A,L |
||
266 | PRTT_A PUSH AF |
||
267 | RRCA |
||
268 | RRCA |
||
269 | RRCA |
||
270 | RRCA |
||
271 | CALL PRTT_A_1 |
||
272 | POP AF |
||
1031 | savelij | 273 | PRTT_A_1 AND 0x0F |
274 | CP 0x0A |
||
596 | savelij | 275 | CCF |
276 | ADC A,"0" |
||
277 | DAA |
||
1031 | savelij | 278 | AND 0x7F |
952 | savelij | 279 | JP PRTT_A_ |
596 | savelij | 280 | |
281 | PRINT_REG LD E,(IX) |
||
282 | INC IX |
||
283 | LD D,(IX) |
||
284 | INC IX |
||
285 | JR PRTT_A |
||
286 | |||
1031 | savelij | 287 | COORDINAT_REGS DW Y_OFFSET + 1 + (X_OFFSET + 3 ) * 0x100 ; SP |
288 | DW Y_OFFSET + 1 + (X_OFFSET + 3 + 9 ) * 0x100 ; PC |
||
289 | DW Y_OFFSET + 2 + (X_OFFSET + 3 ) * 0x100 ; IR |
||
290 | DW Y_OFFSET + 3 + (X_OFFSET + 3 ) * 0x100 ; AF |
||
291 | DW Y_OFFSET + 3 + (X_OFFSET + 3 + 9 ) * 0x100 ; AF' |
||
292 | DW Y_OFFSET + 4 + (X_OFFSET + 3 ) * 0x100 ; BC |
||
293 | DW Y_OFFSET + 4 + (X_OFFSET + 3 + 9 ) * 0x100 ; BC' |
||
294 | DW Y_OFFSET + 5 + (X_OFFSET + 3 ) * 0x100 ; DE |
||
295 | DW Y_OFFSET + 5 + (X_OFFSET + 3 + 9 ) * 0x100 ; DE' |
||
296 | DW Y_OFFSET + 6 + (X_OFFSET + 3 ) * 0x100 ; HL |
||
297 | DW Y_OFFSET + 6 + (X_OFFSET + 3 + 9 ) * 0x100 ; HL' |
||
298 | DW Y_OFFSET + 7 + (X_OFFSET + 3 ) * 0x100 ; IX |
||
299 | DW Y_OFFSET + 7 + (X_OFFSET + 3 + 9 ) * 0x100 ; IY |
||
300 | DW Y_OFFSET + 8 + (X_OFFSET + 5 ) * 0x100 ; INT EI/DI |
||
301 | DW Y_OFFSET + 8 + (X_OFFSET + 3 + 10 ) * 0x100 ; INT IM 1/2 |
||
302 | DW Y_OFFSET + 11 + (X_OFFSET + 6 ) * 0x100 ; CPU3 MAP0 |
||
303 | DW Y_OFFSET + 11 + (X_OFFSET + 6 + 3 ) * 0x100 ; CPU3 MAP1 |
||
1186 | savelij | 304 | DW Y_OFFSET + 12 + (X_OFFSET + 6 ) * 0x100 ; CPU2 MAP0 |
305 | DW Y_OFFSET + 12 + (X_OFFSET + 6 + 3 ) * 0x100 ; CPU2 MAP1 |
||
1031 | savelij | 306 | DW Y_OFFSET + 13 + (X_OFFSET + 6 ) * 0x100 ; CPU5 MAP0 |
307 | DW Y_OFFSET + 13 + (X_OFFSET + 6 + 3 ) * 0x100 ; CPU5 MAP1 |
||
308 | DW Y_OFFSET + 14 + (X_OFFSET + 6 ) * 0x100 ; CPU0 MAP0 |
||
309 | DW Y_OFFSET + 14 + (X_OFFSET + 6 + 3 ) * 0x100 ; CPU0 MAP1 |
||
310 | DW Y_OFFSET + 16 + (X_OFFSET + 5 ) * 0x100 ; PORT 7FFD |
||
311 | DW Y_OFFSET + 17 + (X_OFFSET + 5 ) * 0x100 ; PORT EFF7 |
||
312 | DW Y_OFFSET + 18 + (X_OFFSET + 0 ) * 0x100 ; PORT XX77 |
||
313 | DW Y_OFFSET + 18 + (X_OFFSET + 0 + 5 ) * 0x100 ; BYTE IN PORT XX77 |
||
314 | DW Y_OFFSET + 19 + (X_OFFSET + 5 ) * 0x100 ; PORT BF |
||
315 | DW Y_OFFSET + 20 + (X_OFFSET + 5 ) * 0x100 ; BIT DOS ENABLE |
||
316 | DW Y_OFFSET + 16 + (X_OFFSET + 5 + 6 ) * 0x100 ; FF |
||
317 | DW Y_OFFSET + 17 + (X_OFFSET + 5 + 6 ) * 0x100 ; 7F |
||
318 | DW Y_OFFSET + 18 + (X_OFFSET + 5 + 6 ) * 0x100 ; 5F |
||
319 | DW Y_OFFSET + 19 + (X_OFFSET + 5 + 6 ) * 0x100 ; 3F |
||
320 | DW Y_OFFSET + 20 + (X_OFFSET + 5 + 6 ) * 0x100 ; 1F |
||
1120 | savelij | 321 | DW Y_OFFSET + 21 + (X_OFFSET + 5 + 2 ) * 0x100 ; ADR BREAK |
322 | DW Y_OFFSET + 22 + (X_OFFSET + 5 + 2 ) * 0x100 ; TURBO CURRENT |
||
596 | savelij | 323 | |
324 | PRT_PORTREGS LD A,MAGIC_COLOR |
||
325 | LD (TXT_COLOR),A |
||
326 | LD IX,COORDINAT_REGS |
||
327 | LD HL,(NMI_SAVE_SP) |
||
961 | savelij | 328 | CALL PRINT_REGS ; SP |
596 | savelij | 329 | LD HL,(NADRRET_L) |
961 | savelij | 330 | CALL PRINT_REGS ; PC |
596 | savelij | 331 | LD A,(NREG_I) |
332 | LD H,A |
||
333 | LD A,(NREG_R) |
||
334 | LD L,A |
||
961 | savelij | 335 | CALL PRINT_REGS ; IR |
596 | savelij | 336 | LD HL,(NREG_F) |
961 | savelij | 337 | CALL PRINT_REGS ; AF |
596 | savelij | 338 | LD HL,(NREG_FF) |
961 | savelij | 339 | CALL PRINT_REGS ; AF' |
596 | savelij | 340 | LD HL,(NREG_C) |
961 | savelij | 341 | CALL PRINT_REGS ; BC |
596 | savelij | 342 | LD HL,(NREG_CC) |
961 | savelij | 343 | CALL PRINT_REGS ; BC' |
596 | savelij | 344 | LD HL,(NREG_E) |
961 | savelij | 345 | CALL PRINT_REGS ; DE |
596 | savelij | 346 | LD HL,(NREG_EE) |
961 | savelij | 347 | CALL PRINT_REGS ; DE' |
596 | savelij | 348 | LD HL,(NREG_L) |
961 | savelij | 349 | CALL PRINT_REGS ; HL |
596 | savelij | 350 | LD HL,(NREG_LL) |
961 | savelij | 351 | CALL PRINT_REGS ; HL' |
596 | savelij | 352 | LD HL,(NREG_IXL) |
961 | savelij | 353 | CALL PRINT_REGS ; IX |
596 | savelij | 354 | LD HL,(NREG_IYL) |
961 | savelij | 355 | CALL PRINT_REGS ; IY |
761 | savelij | 356 | LD A,(INT_MODE) |
1186 | savelij | 357 | ADD A,'0' |
961 | savelij | 358 | CALL PRINT_1NUM ; INT ON/OFF |
761 | savelij | 359 | LD A,(NUM_IM) |
1186 | savelij | 360 | ADD A,'1' |
961 | savelij | 361 | CALL PRINT_1NUM ; IM 1/2 |
596 | savelij | 362 | LD A,(B0_CPU3) |
961 | savelij | 363 | CALL PRINT_REG ; CPU3 MAP0 |
596 | savelij | 364 | LD A,(B1_CPU3) |
961 | savelij | 365 | CALL PRINT_REG ; CPU3 MAP1 |
596 | savelij | 366 | LD A,(B0_CPU2) |
1186 | savelij | 367 | CALL PRINT_REG ; CPU2 MAP0 |
596 | savelij | 368 | LD A,(B1_CPU2) |
1186 | savelij | 369 | CALL PRINT_REG ; CPU2 MAP1 |
596 | savelij | 370 | LD A,(B0_CPU1) |
961 | savelij | 371 | CALL PRINT_REG ; CPU5 MAP0 |
596 | savelij | 372 | LD A,(B1_CPU1) |
961 | savelij | 373 | CALL PRINT_REG ; CPU5 MAP1 |
596 | savelij | 374 | LD A,(B0_CPU0) |
961 | savelij | 375 | CALL PRINT_REG ; CPU0 MAP0 |
596 | savelij | 376 | LD A,(B1_CPU0) |
961 | savelij | 377 | CALL PRINT_REG ; CPU0 MAP1 |
1031 | savelij | 378 | READ_7FFD |
961 | savelij | 379 | CALL PRINT_REG ; PORT 7FFD |
596 | savelij | 380 | LD A,(N_EFF7) |
961 | savelij | 381 | CALL PRINT_REG ; PORT EFF7 |
596 | savelij | 382 | LD A,(N_77) |
383 | AND %11100000 |
||
384 | RRCA |
||
385 | LD B,A |
||
386 | RRCA |
||
387 | RRCA |
||
388 | RRCA |
||
389 | RRCA |
||
390 | OR B |
||
1031 | savelij | 391 | OR 0xBC |
961 | savelij | 392 | CALL PRINT_REG ; PORT XX77 |
596 | savelij | 393 | LD A,(N_77) |
1031 | savelij | 394 | AND 0x0F |
961 | savelij | 395 | CALL PRINT_REG ; BYTE IN PORT XX77 |
596 | savelij | 396 | LD A,(N_BF) |
961 | savelij | 397 | CALL PRINT_REG ; PORT BF |
596 | savelij | 398 | LD A,(N_77) |
1031 | savelij | 399 | AND 0x10 |
596 | savelij | 400 | RRCA |
401 | RRCA |
||
402 | RRCA |
||
403 | RRCA |
||
1186 | savelij | 404 | ADD A,'0' |
1031 | savelij | 405 | CALL PRINT_1NUM |
406 | IN A,(0xFF) |
||
407 | AND %00111111 |
||
408 | CALL PRINT_REG |
||
409 | IN A,(0x7F) |
||
410 | CALL PRINT_REG |
||
411 | IN A,(0x5F) |
||
412 | CALL PRINT_REG |
||
413 | IN A,(0x3F) |
||
414 | CALL PRINT_REG |
||
415 | IN A,(0x1F) |
||
416 | CALL PRINT_REG |
||
417 | LD BC,BREAK_HIGH |
||
418 | IN H,(C) |
||
419 | LD B,HIGH (BREAK_LOW) |
||
420 | IN L,(C) |
||
1120 | savelij | 421 | CALL PRINT_REGS |
422 | LD BC,5 |
||
423 | LD A,(N_77) |
||
424 | BIT 3,A |
||
425 | LD HL,TXT_FREQ |
||
426 | JR NZ,.L1 |
||
427 | ADD HL,BC |
||
428 | LD A,(N_EFF7) |
||
429 | BIT 4,A |
||
430 | JR Z,.L1 |
||
431 | ADD HL,BC |
||
432 | .L1 LD E,(IX) |
||
433 | INC IX |
||
434 | LD D,(IX) |
||
435 | INC IX |
||
436 | JP PRTT_MSG |
||
1031 | savelij | 437 | |
761 | savelij | 438 | PRINT_1NUM LD E,(IX) |
439 | INC IX |
||
440 | LD D,(IX) |
||
441 | INC IX |
||
952 | savelij | 442 | JP PRTT_A_ |
596 | savelij | 443 | |
961 | savelij | 444 | ; ⠭ ० |
596 | savelij | 445 | SET_MODE LD A,(RREG_A) |
446 | ISET_MODE AND A |
||
1186 | savelij | 447 | JR Z,.L5 ; 0 祭 ० |
596 | savelij | 448 | LD E,A |
961 | savelij | 449 | LD (TEK_MODES),A ; ࠭ ⠭ ० |
1120 | savelij | 450 | AND %00000111 |
838 | savelij | 451 | JR Z,.L4 |
961 | savelij | 452 | ; ⠭ ࠭ |
838 | savelij | 453 | LD D,A |
454 | LD A,(B_PORT77) |
||
455 | AND %11111000 |
||
596 | savelij | 456 | OR D |
961 | savelij | 457 | LD (B_PORT77),A ; ⠭ ० xx77 |
838 | savelij | 458 | .L4 LD A,E |
596 | savelij | 459 | RRCA |
460 | RRCA |
||
461 | RRCA |
||
462 | RRCA |
||
961 | savelij | 463 | LD E,A ; ᥩ 1-0 ᮤঠ ० |
464 | AND 3 ; ० |
||
465 | JR Z,.L3 ; 0 ० 塞 |
||
466 | ; ᬥ ० |
||
596 | savelij | 467 | EXX |
961 | savelij | 468 | DEC A ; 1 |
1031 | savelij | 469 | LD HL,0x0010 ; TURBO 3,5 MHZ |
838 | savelij | 470 | JR Z,.L2 |
961 | savelij | 471 | DEC A ; 2 |
1031 | savelij | 472 | LD HL,0x0000 ; TURBO 7,0 MHZ |
838 | savelij | 473 | JR Z,.L2 |
1031 | savelij | 474 | LD HL,0x0800 ; TURBO 14 MHZ |
838 | savelij | 475 | .L2 LD A,(R_EFF7) |
596 | savelij | 476 | AND %11101111 |
477 | OR L |
||
961 | savelij | 478 | LD (R_EFF7),A ; ⠭ EFF7 |
596 | savelij | 479 | LD A,(B_PORT77) |
480 | AND %11110111 |
||
481 | OR H |
||
961 | savelij | 482 | LD (B_PORT77),A ; ⠭ ० xx77 |
596 | savelij | 483 | EXX |
838 | savelij | 484 | .L3 LD A,E |
1120 | savelij | 485 | RRCA |
486 | RRCA |
||
961 | savelij | 487 | AND 3 ; 뤥 ० |
1186 | savelij | 488 | JR Z,.L5 ; 0 ० 塞 |
961 | savelij | 489 | ; ᬥ ० |
596 | savelij | 490 | DEC A |
1031 | savelij | 491 | LD HL,0x0000 ; 1024 |
838 | savelij | 492 | JR Z,.L1 |
493 | DEC A |
||
1031 | savelij | 494 | LD HL,0x2004 ; 48 |
838 | savelij | 495 | JR Z,.L1 |
1031 | savelij | 496 | LD HL,0x0004 ; 128 |
838 | savelij | 497 | .L1 LD A,(R_7FFD) |
498 | AND %11011111 |
||
499 | OR H |
||
500 | LD (R_7FFD),A |
||
501 | LD A,(R_EFF7) |
||
502 | AND %11111011 |
||
503 | OR L |
||
504 | LD (R_EFF7),A |
||
505 | RET |
||
596 | savelij | 506 | |
1186 | savelij | 507 | .L5 LD A,(TEK_MODES) |
596 | savelij | 508 | LD (RREG_A),A |
509 | RET |
||
510 | |||
961 | savelij | 511 | ; 䮫 祭 |
838 | savelij | 512 | ; ED EC EB EA E9 E8 |
1031 | savelij | 513 | CMOS_DEFAULT DB 0x04,0x82,0x00,0x00,0x00,0x00 |
596 | savelij | 514 | ECMOS_DEFAULT |
515 | |||
875 | savelij | 516 | INST_SONGLN LD HL,SONGLNBIN |
1031 | savelij | 517 | LD DE,0xC000 |
875 | savelij | 518 | JP UNPACK |
519 | |||
520 | SONGLNBIN binclude songln_pack.bin |
||
596 | savelij | 521 | include tape.a80 |
522 | include ay_printer.a80 |
||
523 | include txtmode_proc.a80 |
||
524 | include window.a80 |
||
525 | include selector.a80 |
||
526 | include input_keys.a80 |
||
527 | include mouse.a80 |
||
528 | include file_browser.a80 |
||
646 | savelij | 529 | include call_trdos.a80 |
623 | savelij | 530 | include call_cmos.a80 |
596 | savelij | 531 | |
1186 | savelij | 532 | PHASE $+CPU3 |
761 | savelij | 533 | UNPACK_DOS_FE LD HL,PACK_DOS_FE |
534 | LD DE,CPU2 |
||
535 | JP UNPACK+CPU3 |
||
536 | |||
537 | PACK_DOS_FE binclude ../../page1/dos_fe_pack.rom |
||
1186 | savelij | 538 | DEPHASE |
761 | savelij | 539 | |
1031 | savelij | 540 | FREE_ADDONS EQU 0x3FF6-$ |
831 | savelij | 541 | |
1186 | savelij | 542 | DB FREE_ADDONS DUP 0xFF |
961 | savelij | 543 | DW FREE_ADDONS ; ࠧ |
573 | savelij | 544 | DB "ADDONS" |
585 | savelij | 545 | DW DATA_VERS |
1186 | savelij | 546 | DEPHASE |