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