Rev 888 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
623 | savelij | 1 | |
1186 | savelij | 2 | ; LAST UPDATE: 13.02.2025 savelij |
623 | savelij | 3 | |
764 | savelij | 4 | TITLE "extend.a80" |
5 | |||
689 | savelij | 6 | ;[ 9
] |
623 | savelij | 7 | DSKINFO DB 0 ;+0XE1- |
8 | DB 1 ;+0XE2- |
||
9 | DB 0X16 ;+0XE3- |
||
10 | DB 0 ;+0XE4- |
||
11 | SECFREE DW 2544 ;+0XE5- |
||
12 | DB 0X10 ;+0XE7- TRDOS |
||
13 | DW 0 ;+0XE8-2 0 |
||
1186 | savelij | 14 | DB 9 DUP ' ' ;+0XEA-9 0X20 |
623 | savelij | 15 | DB 0 ;+0XF3-1 0 |
16 | DB 0 ;+0XF4- |
||
17 | DB "RAMDISKO" ;+0XF5- |
||
18 | DSK_END |
||
19 | |||
689 | savelij | 20 | ;[ RST 8] |
623 | savelij | 21 | DOS2RST8 EX (SP),HL ;HL |
22 | PUSH AF ;AF |
||
23 | PUSH BC ;BC |
||
24 | LD A,R |
||
25 | JP PE,DOS2RST8_01 |
||
26 | LD A,R |
||
27 | DOS2RST8_01 DI |
||
28 | PUSH AF ;RF |
||
29 | PUSH HL ;ADR_RET |
||
30 | PUSH DE ;DE |
||
31 | IN A,(PEVO_CONF) |
||
32 | LD L,A |
||
33 | OR 1 |
||
34 | OUT (PEVO_CONF),A |
||
35 | LD BC,RD_1WINA0 |
||
36 | IN A,(C) |
||
37 | AND 0X3E |
||
38 | LD BC,RD_1WINA0 |
||
39 | IN H,(C) |
||
40 | RES 0,H |
||
41 | LD B,HIGH (RD_DOS7FFD) |
||
42 | IN E,(C) |
||
43 | RES 4,E |
||
44 | DEC B |
||
45 | IN D,(C) |
||
46 | LD BC,WIN_A0 |
||
47 | OUT (C),A |
||
48 | LD B,HIGH (WIN_P0) |
||
49 | XOR A |
||
50 | JP ADR_SEL_ROM |
||
51 | |||
52 | EDOS2RST8 LD BC,DOS_NOEMUL |
||
53 | LD A,(BC) |
||
54 | AND 0X3E |
||
55 | CP E |
||
56 | JR Z,EDOS2RST02 |
||
57 | INC BC |
||
58 | EDOS2RST02 LD A,(BC) |
||
59 | LD BC,WIN_A0 |
||
60 | CALL WR_BYTE_RET |
||
61 | LD A,L |
||
62 | OUT (PEVO_CONF),A |
||
63 | POP DE |
||
64 | POP HL |
||
65 | POP AF |
||
66 | JP PO,EDOS2RST01 |
||
67 | EI |
||
68 | EDOS2RST01 POP BC |
||
69 | POP AF |
||
70 | EX (SP),HL |
||
71 | RET |
||
72 | |||
73 | ;ABCDEFGHIJKLMNOPQRSTUVWXYZ |
||
74 | EXTEND_COM |
||
702 | savelij | 75 | BBW "CD",CD |
76 | BBW "CLRCMOS",CLRCMOS |
||
77 | BBW "DIR",DIR |
||
78 | BBW "DRIVE",DRIVE |
||
79 | BBW "HELP",HELP |
||
80 | BBW "MOUNT",MOUNT |
||
81 | BBW "UMOUNT",UMOUNT |
||
82 | BBW "VER",PRT_VERS |
||
83 | BBW "VIRT",SET_VIRT |
||
835 | savelij | 84 | BBW "ROM",VIEW_ROM |
623 | savelij | 85 | DB 0 |
86 | |||
835 | savelij | 87 | VIEW_ROM LD HL,ROM_VER |
88 | JP PRT_ROMVER |
||
89 | |||
689 | savelij | 90 | ;[
] |
623 | savelij | 91 | END_EXT_COM INC DE |
92 | LD A,(DE) |
||
93 | CP ":" |
||
94 | DEC DE |
||
95 | JP NZ,SINTAX_ERROR |
||
96 | LD A,(DE) |
||
97 | AND 0DFH |
||
98 | SUB "A" |
||
99 | JP C,SINTAX_ERROR |
||
100 | CP 4 |
||
101 | JR NC,SELFATDRV |
||
102 | LD (TRD_5CF6),A ; |
||
103 | LD (TRD_5D19),A ; |
||
104 | LD B,A |
||
105 | LD A,(TRD_5D16) ; ( #FF) |
||
106 | AND 7CH |
||
107 | OR B |
||
108 | LD (TRD_5D16),A ; ( #FF) |
||
833 | savelij | 109 | LD HL,ERR_OK |
110 | PUSH HL |
||
1186 | savelij | 111 | SET_CURRVIRT LD H,CMOS.VIRT_REAL_DRIVE |
833 | savelij | 112 | CALL READCMOS |
834 | savelij | 113 | AND %00000011 |
833 | savelij | 114 | LD L,A |
115 | LD A,B |
||
116 | RLCA |
||
117 | RLCA |
||
118 | OR L |
||
119 | LD L,A |
||
120 | RST8D _CMOS_RW,_WRITE_CMOS |
||
888 | savelij | 121 | ; RST8D _MOUNTER,_GET_VIRT_BITS |
122 | ; RST30 _SET_VIRT_BITS |
||
835 | savelij | 123 | RRCA |
124 | RRCA |
||
125 | AND 3 |
||
126 | OR 0X3C |
||
678 | savelij | 127 | RST30 _OUT_FF |
833 | savelij | 128 | RET |
623 | savelij | 129 | |
130 | SELFATDRV SUB 4 |
||
131 | PUSH AF |
||
678 | savelij | 132 | RST8D _COM_DEV,_DEVFIND |
133 | RST8D _COM_DEV,_KOL_VOL |
||
623 | savelij | 134 | POP AF |
135 | CP E |
||
136 | JP NC,SINTAX_ERROR |
||
678 | savelij | 137 | RST8D _COM_DEV,_SET_VOL |
623 | savelij | 138 | JP ERR_OK |
139 | |||
140 | COM_DOT CALL EXIT_IF_SINTAX |
||
141 | LD HL,EXTEND_COM |
||
142 | NEXT_CMP_COM LD A,1 |
||
143 | LD (TRD_5CEF),A |
||
144 | LD DE,(TRD_5D11) |
||
145 | INC DE |
||
146 | LD A,(HL) |
||
147 | INC HL |
||
148 | AND A |
||
149 | JP Z,END_EXT_COM |
||
150 | LD B,A |
||
151 | LOC_C34 LD A,(DE) |
||
152 | AND 0DFH |
||
153 | CP (HL) |
||
154 | JR NZ,PROPUSK |
||
155 | INC DE |
||
156 | INC HL |
||
157 | DJNZ LOC_C34 |
||
158 | LD A,(DE) |
||
159 | CP 0DH |
||
160 | JR Z,NO_PARAM |
||
161 | CP " " |
||
162 | JR Z,GET_PARAM |
||
163 | JR LOC_C58 |
||
164 | |||
165 | PROPUSK INC HL |
||
166 | DJNZ PROPUSK |
||
167 | LOC_C58 INC HL |
||
168 | INC HL |
||
169 | JR NEXT_CMP_COM |
||
170 | |||
171 | GET_PARAM INC DE |
||
172 | NO_PARAM LD A,(HL) |
||
173 | INC HL |
||
174 | LD H,(HL) |
||
175 | LD L,A |
||
176 | PUSH HL |
||
177 | LD HL,END_COMAND |
||
178 | EX (SP),HL |
||
179 | JP (HL) |
||
180 | |||
689 | savelij | 181 | ;[
] |
623 | savelij | 182 | PRT_NUM_VIRT LD HL,TXT4VIRTDRV |
183 | LD B,ETXT4VIRTDRV-TXT4VIRTDRV-1 |
||
184 | CALL PRT_B_HL_ |
||
185 | LD A," " |
||
186 | RST 0X10 |
||
1186 | savelij | 187 | LD H,CMOS.VIRT_REAL_DRIVE |
623 | savelij | 188 | CALL READCMOS |
189 | AND 3 |
||
190 | ADD A,"A" |
||
191 | RST 0X10 |
||
192 | LD A,0X0D |
||
193 | RST 0X10 |
||
194 | RET |
||
195 | |||
689 | savelij | 196 | ;[ ] |
623 | savelij | 197 | SET_VIRT LD A,(DE) |
198 | CP 0X0D |
||
199 | JR Z,PRT_NUM_VIRT |
||
200 | LD C,A |
||
201 | INC DE |
||
202 | LD A,(DE) |
||
203 | CP ":" |
||
204 | JP NZ,SINTAX_ERROR |
||
205 | LD A,C |
||
206 | CALL NUMDSK2BYTE ; |
||
207 | LD D,A ; |
||
1186 | savelij | 208 | LD H,CMOS.VIRT_REAL_DRIVE |
623 | savelij | 209 | CALL READCMOS |
210 | AND %11111100 ; |
||
211 | OR D ; |
||
212 | LD L,A |
||
678 | savelij | 213 | RST8D _CMOS_RW,_WRITE_CMOS |
888 | savelij | 214 | ; AND 3 |
215 | ; RST8D _MOUNTER,_MOUNT_RAMDISK |
||
623 | savelij | 216 | RET |
217 | |||
689 | savelij | 218 | ;[
] |
623 | savelij | 219 | PRT_VERS LD HL,0X3FF8 |
220 | LD B,6 |
||
221 | CALL PRT_B_HL_ |
||
222 | LD A," " |
||
223 | RST 0X10 |
||
224 | LD C,(HL) |
||
225 | INC HL |
||
226 | LD B,(HL) |
||
227 | PUSH BC |
||
228 | LD HL,ZASTAVKA_VER |
||
229 | LD B,9 |
||
230 | CALL PRT_B_HL_ |
||
231 | LD A," " |
||
232 | RST 0X10 |
||
233 | POP BC |
||
234 | LD A,C |
||
235 | AND 0X1F ; 5 - |
||
236 | CALL A2TXT ; |
||
237 | SRL B |
||
238 | RR C ; |
||
239 | LD A,"." |
||
240 | RST 0X10 |
||
241 | LD A,C ; |
||
242 | RRCA |
||
243 | RRCA |
||
244 | RRCA |
||
245 | RRCA ; |
||
246 | AND 0X0F ; 4 |
||
247 | CALL A2TXT ; |
||
248 | LD A,"." |
||
249 | RST 0X10 |
||
250 | LD A,B ; |
||
251 | AND 0X3F ; 6 |
||
252 | CALL A2TXT ; |
||
253 | BIT 6,B ; 6 ( 7) |
||
631 | savelij | 254 | RET Z |
623 | savelij | 255 | LD HL,TXT_BETA |
835 | savelij | 256 | PRT_ROMVER RST 0X18 |
623 | savelij | 257 | LD A,0X0D |
258 | RST 0X10 |
||
259 | RET |
||
260 | |||
689 | savelij | 261 | ;[
B=
HL=
] |
623 | savelij | 262 | PRT_B_HL_ LD A,(HL) |
263 | INC HL |
||
264 | RST 0X10 |
||
265 | DJNZ PRT_B_HL_ |
||
266 | RET |
||
267 | |||
268 | TXT_BETA DC " beta" |
||
269 | |||
689 | savelij | 270 | ;[
"A"
] |
623 | savelij | 271 | A2TXT LD L,A |
272 | LD H,0 |
||
273 | LD DE,10 |
||
274 | XOR A |
||
275 | DEC A |
||
276 | INC A |
||
277 | SBC HL,DE |
||
278 | JR NC,$-3 |
||
279 | ADD HL,DE |
||
280 | ADD A,"0" |
||
281 | RST 0X10 |
||
282 | LD A,L |
||
283 | ADD A,"0" |
||
284 | RST 0X10 |
||
285 | RET |
||
286 | |||
287 | DRIVES DC "Drives: " |
||
288 | EDRIVES |
||
289 | |||
678 | savelij | 290 | DRIVE RST8D _COM_DEV,_DEVFIND |
631 | savelij | 291 | JP C,FAT_NOT_FOUND |
678 | savelij | 292 | RST8D _COM_DEV,_KOL_VOL |
623 | savelij | 293 | LD A,"D" |
294 | ADD A,E |
||
295 | PUSH AF |
||
296 | LD HL,DRIVES |
||
297 | RST 0X18 |
||
298 | LD A,"E" |
||
299 | RST 0X10 |
||
300 | LD A,"-" |
||
301 | RST 0X10 |
||
302 | POP AF |
||
303 | RST 0X10 |
||
304 | RET |
||
305 | |||
306 | TXT_DIR DC "<DIR> " |
||
631 | savelij | 307 | TXT_FATERR DC "FAT not found" |
623 | savelij | 308 | |
689 | savelij | 309 | ;[ DIR] |
623 | savelij | 310 | DIR LD B,0 |
311 | LD A,(DE) |
||
312 | INC DE |
||
313 | CP "/" |
||
314 | JR NZ,DIR06 |
||
315 | LD A,(DE) |
||
316 | AND 0XDF |
||
317 | CP "L" |
||
318 | JR NZ,DIR06 |
||
319 | LD B,A |
||
678 | savelij | 320 | DIR06 RST8D _COM_DEV,_DEVFIND |
631 | savelij | 321 | JR NC,DIR061 |
322 | FAT_NOT_FOUND CALL OPEN_CHAN_0 |
||
323 | LD HL,TXT_FATERR ; |
||
324 | RST 0X18 |
||
325 | RET |
||
326 | |||
327 | DIR061 PUSH IX |
||
623 | savelij | 328 | LD IXL,B |
329 | CALL CLEAR_SCREEN |
||
330 | CALL OPEN_CHAN_2 |
||
331 | LD A,2 |
||
678 | savelij | 332 | RST8D _COM_FAT,_POS_FILES |
623 | savelij | 333 | DIR05 LD E,0X17 |
334 | DIR01 PUSH DE |
||
335 | PUSH BC |
||
336 | LD HL,TRD_5D25 |
||
678 | savelij | 337 | RST8D _COM_FAT,_READ_DIR |
623 | savelij | 338 | LD DE,0X0B |
339 | ADD HL,DE |
||
340 | LD A,(HL) |
||
341 | SBC HL,DE |
||
342 | AND 0X10 |
||
343 | JR Z,DIR04 |
||
344 | PUSH HL |
||
345 | LD HL,TXT_DIR |
||
346 | RST 0X18 |
||
347 | POP HL |
||
348 | DIR04 LD A,IXL |
||
349 | AND A |
||
350 | JR Z,DIR08 |
||
351 | PUSH HL |
||
678 | savelij | 352 | RST8D _COM_FAT,_GET_LONGNAME |
623 | savelij | 353 | POP HL |
354 | DIR03 LD A,(HL) |
||
355 | AND A |
||
356 | JR Z,DIR02 |
||
357 | INC HL |
||
358 | RST 0X10 |
||
359 | JR DIR03 |
||
360 | |||
361 | DIR08 LD B,8 |
||
362 | DIR081 LD A,(HL) |
||
363 | CP " " |
||
364 | JR Z,DIR082 |
||
365 | RST 0X10 |
||
366 | INC HL |
||
367 | DJNZ DIR081 |
||
368 | DIR082 LD A,B |
||
369 | AND A |
||
370 | JR Z,DIR085 |
||
371 | DIR086 LD A,(HL) |
||
372 | CP " " |
||
373 | JR NZ,DIR085 |
||
374 | INC HL |
||
375 | DJNZ DIR086 |
||
376 | DIR085 LD A,(HL) |
||
377 | CP " " |
||
378 | JR Z,DIR084 |
||
379 | LD A,"." |
||
380 | RST 0X10 |
||
381 | DIR084 LD B,3 |
||
382 | DIR083 LD A,(HL) |
||
383 | CP " " |
||
384 | JR Z,DIR02 |
||
385 | RST 0X10 |
||
386 | INC HL |
||
387 | DJNZ DIR083 |
||
388 | DIR02 LD A,0X0D |
||
389 | RST 0X10 |
||
390 | LD A,4 |
||
391 | LD B,1 |
||
678 | savelij | 392 | RST8D _COM_FAT,_POS_FILES |
623 | savelij | 393 | POP HL |
394 | AND A |
||
395 | SBC HL,BC |
||
396 | POP DE |
||
397 | JR Z,DIR07 |
||
398 | DEC E |
||
399 | JR NZ,DIR01 |
||
400 | JR DIR05 |
||
401 | |||
402 | DIR07 POP IX |
||
403 | RET |
||
404 | |||
689 | savelij | 405 | ;[ CD] |
623 | savelij | 406 | CD PUSH DE |
678 | savelij | 407 | RST8D _COM_DEV,_DEVFIND |
623 | savelij | 408 | POP HL |
678 | savelij | 409 | RST8D _COM_FAT,_FIND_NAME |
623 | savelij | 410 | JP C,SINTAX_ERROR |
678 | savelij | 411 | RST8D _COM_FAT,_ENTER_DIR |
623 | savelij | 412 | RET |
413 | |||
678 | savelij | 414 | NOMER_DRV RST8D _COM_DEV,_DEVFIND |
631 | savelij | 415 | CCF |
416 | RET NC ; |
||
678 | savelij | 417 | RST8D _COM_DEV,_KOL_VOL |
623 | savelij | 418 | CALL CREATE_BUF |
419 | LD HL,TRD_5D25 |
||
678 | savelij | 420 | RST8D _COM_FAT,_GET_PATH |
623 | savelij | 421 | CALL PRINT2ZERO |
422 | CALL DEL_BUF |
||
423 | SCF |
||
424 | RET |
||
425 | |||
689 | savelij | 426 | ;[ MOUNT] |
623 | savelij | 427 | MOUNT PUSH DE |
678 | savelij | 428 | RST8D _COM_DEV,_DEVFIND |
623 | savelij | 429 | EX DE,HL |
430 | POP HL |
||
631 | savelij | 431 | JP C,FAT_NOT_FOUND |
623 | savelij | 432 | PUSH HL |
678 | savelij | 433 | RST8D _COM_FAT,_FIND_NAME |
623 | savelij | 434 | JP C,SINTAX_ERROR |
435 | POP DE |
||
436 | LD B,0X0C |
||
437 | MOUNT02 LD A,(DE) |
||
438 | CP "!" |
||
439 | JR C,MOUNT01 |
||
440 | INC DE |
||
441 | DJNZ MOUNT02 |
||
442 | MOUNT01 LD A,(DE) |
||
443 | CP 0X0D |
||
444 | JP Z,SINTAX_ERROR |
||
445 | CP " " |
||
446 | JP NZ,SINTAX_ERROR |
||
447 | INC DE |
||
448 | LD A,(DE) |
||
449 | CP "A" |
||
450 | JP C,SINTAX_ERROR |
||
451 | AND 0XDF |
||
452 | CP "E" |
||
453 | JP NC,SINTAX_ERROR |
||
454 | SUB "A" |
||
455 | LD C,A |
||
456 | INC DE |
||
457 | LD A,(DE) |
||
458 | CP ":" |
||
459 | JP NZ,SINTAX_ERROR |
||
460 | LD A,C |
||
678 | savelij | 461 | RST8D _MOUNTER,_OPEN_MOUNT |
623 | savelij | 462 | RET |
463 | |||
689 | savelij | 464 | ;[ UMOUNT] |
623 | savelij | 465 | UMOUNT LD A,(DE) |
466 | INC DE |
||
467 | AND 0XDF |
||
468 | LD B,A |
||
469 | LD A,(DE) |
||
470 | INC DE |
||
471 | CP ":" |
||
472 | JP NZ,SINTAX_ERROR |
||
473 | LD A,B |
||
474 | CP "A" |
||
475 | JP C,SINTAX_ERROR |
||
476 | CP "E" |
||
477 | JP NC,SINTAX_ERROR |
||
478 | SUB "A" |
||
678 | savelij | 479 | RST8D _MOUNTER,_CLOSEMOUNT |
623 | savelij | 480 | RET |
481 | |||
689 | savelij | 482 | ;[ CMOS] |
678 | savelij | 483 | CLRCMOS RST8D _CMOS_RW,_CLEAR_CMOS |
623 | savelij | 484 | RET |
485 | |||
689 | savelij | 486 | ;[
] |
623 | savelij | 487 | HELP CALL CLEAR_SCREEN |
488 | CALL OPEN_CHAN_2 |
||
489 | LD HL,EXTEND_COM |
||
490 | HELP4 LD C,3 |
||
491 | HELP2 LD A,(HL) |
||
492 | AND A |
||
493 | RET Z |
||
494 | INC HL |
||
495 | LD B,A |
||
496 | PUSH BC |
||
497 | LD A,"." |
||
498 | RST 0X10 |
||
499 | HELP1 LD A,(HL) |
||
500 | INC HL |
||
501 | RST 0X10 |
||
502 | DJNZ HELP1 |
||
503 | INC HL |
||
504 | INC HL |
||
505 | POP BC |
||
506 | LD A,9 |
||
507 | SUB B |
||
508 | LD B,A |
||
509 | HELP3 LD A," " |
||
510 | RST 0X10 |
||
511 | DJNZ HELP3 |
||
512 | DEC C |
||
513 | JR NZ,HELP2 |
||
514 | LD A,0X0D |
||
515 | RST 0X10 |
||
516 | JR HELP4 |
||
627 | savelij | 517 | |
761 | savelij | 518 | IF EMU |
678 | savelij | 519 | READ_BYTE_HL PUSH BC |
627 | savelij | 520 | PUSH HL |
678 | savelij | 521 | LD A,(NUM_ALT_PAGE) |
522 | PUSH AF |
||
736 | savelij | 523 | LD A,ROM_BAS48|0X80 |
678 | savelij | 524 | LD BC,WIN_A0 |
525 | CALL WR_BYTE_RET |
||
526 | LD L,(HL) |
||
627 | savelij | 527 | POP AF |
678 | savelij | 528 | CALL WR_BYTE_RET |
529 | LD A,L |
||
530 | CP 0X0D |
||
665 | savelij | 531 | POP HL |
532 | POP BC |
||
533 | RET |
||
534 | |||
689 | savelij | 535 | ;[
] |
665 | savelij | 536 | SV_LD_RAMDISK PUSH HL |
537 | CALL CP_TYPEDRIVE |
||
538 | POP HL |
||
539 | JP NZ,WR_NUM_TRACK ; |
||
540 | POP HL ; |
||
541 | POP HL |
||
542 | POP BC |
||
543 | XOR A |
||
544 | OR B |
||
545 | RET Z |
||
546 | DI |
||
547 | PUSH IX ; |
||
548 | LD IX,(TRD_5CCE) ; ? 00- , FF-, |
||
549 | SVLDRAM1 PUSH BC |
||
550 | PUSH HL |
||
551 | LD DE,(TRD_5CF4) |
||
552 | CALL COM_04 |
||
553 | LD A,E |
||
554 | CALL COM_03 |
||
555 | INC A |
||
678 | savelij | 556 | RST30 _OUT_5F |
665 | savelij | 557 | LD A,D |
558 | PUSH HL |
||
559 | CALL COM_02 |
||
560 | POP HL |
||
689 | savelij | 561 | RST30 _WR_RD_SECT ;
/
|
665 | savelij | 562 | LD A,0X10 |
563 | LD HL,TRD_5CF4 |
||
564 | INC (HL) ; |
||
565 | CP (HL) |
||
566 | JR NZ,SVLDRAM2 |
||
567 | LD (HL),0 ; , =0 |
||
568 | INC HL |
||
569 | INC (HL) ; |
||
570 | SVLDRAM2 POP HL |
||
571 | POP BC |
||
572 | INC H ; 256 |
||
573 | DJNZ SVLDRAM1 |
||
574 | POP IX ; |
||
575 | EI |
||
576 | RET |
||
577 | |||
689 | savelij | 578 | ;[
/
] |
678 | savelij | 579 | WR_RD_SEC_M PUSH IX |
580 | LD (TEMP_SP),SP |
||
581 | LD HL,(DOS_STEK) |
||
582 | LD DE,SAVED_RAM |
||
583 | LD BC,0X10 |
||
584 | LDIR |
||
585 | LD SP,HL |
||
586 | LD A,(PORT_3F) ; |
||
587 | ADD A,A ; 2 |
||
588 | LD D,A |
||
589 | LD A,(WR_FF) |
||
590 | AND 0X10 ; |
||
591 | JR NZ,WRRDSECM1 |
||
592 | INC D ; 1 |
||
593 | WRRDSECM1 LD A,(PORT_5F) ; |
||
594 | LD E,A ;D- , E- |
||
595 | LD HL,(REG_L) ;HL= / |
||
596 | LD A,(WR_FF) |
||
597 | AND 3 |
||
598 | LD C,A ; |
||
599 | LD A,IXL |
||
600 | AND A ;BIT 7=0- |
||
601 | JR Z,WRRDSECM2 |
||
602 | LD A,0X80 ;BIT 7=1- |
||
603 | WRRDSECM2 OR C |
||
604 | LD IXL,A ;A= + / |
||
605 | LD A,(TEK_ROMPAGE) |
||
606 | AND 0X3E |
||
607 | LD IXH,A |
||
608 | LD BC,WIN_A0 |
||
665 | savelij | 609 | OUT (C),A |
678 | savelij | 610 | LD A,IXL |
611 | RST8D _MOUNTER,_RDWR_MOUNT |
||
612 | LD BC,WIN_A0 |
||
613 | LD A,IXH |
||
665 | savelij | 614 | OUT (C),A |
678 | savelij | 615 | LD B,HIGH (WIN_P0) |
764 | savelij | 616 | LD A,RAM_EVODOS |
665 | savelij | 617 | OUT (C),A |
678 | savelij | 618 | LD (REG_L),HL ; / |
619 | LD HL,SAVED_RAM |
||
620 | LD DE,(DOS_STEK) |
||
621 | LD BC,0X10 |
||
622 | LDIR |
||
623 | LD SP,(TEMP_SP) |
||
624 | POP IX |
||
665 | savelij | 625 | RET |
761 | savelij | 626 | ENDIF |
627 | |||
628 | ;[
CMOS] |
||
629 | ;
: H-
|
||
630 | ; L-
|
||
631 | READCMOS PUSH BC |
||
632 | LD BC,CMOSD_SET_ADR |
||
633 | OUT (C),H |
||
634 | LD B,HIGH (CMOSD_RD_WR) |
||
635 | IN L,(C) |
||
636 | POP BC |
||
637 | LD A,L |
||
638 | AND A |
||
639 | RET |
||
640 | |||
641 | ;[ CMOS] |
||
642 | ;
: H-
|
||
643 | ; L- |
||
644 | WRITECMOS RST8D _CMOS_RW,_WRITE_CMOS |
||
645 | RET |