Rev 1041 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
507 | savelij | 1 | |
1120 | savelij | 2 | ; LAST UPDATE: 14.10.2023 savelij |
507 | savelij | 3 | |
764 | savelij | 4 | PAGE |
831 | savelij | 5 | TITLE "rst8service.a80 ROM_RST83" |
764 | savelij | 6 | |
507 | savelij | 7 | include ../../macros.a80 |
585 | savelij | 8 | include ../../define.a80 |
507 | savelij | 9 | include ../../global_vars.a80 |
781 | savelij | 10 | include ../../ports_ide.a80 |
516 | savelij | 11 | include ../../ports_ngs.a80 |
12 | include ../../sdcomand.a80 |
||
961 | savelij | 13 | |
14 | INIT_VAR BUF_TEKVOL |
||
573 | savelij | 15 | include ../../fat_vars.a80 |
961 | savelij | 16 | |
702 | savelij | 17 | include ../../bootsecfat.a80 |
764 | savelij | 18 | include ../../evodos_vars.a80 |
795 | savelij | 19 | include ../../tmpkeys.a80 |
831 | savelij | 20 | include ../../nums_devices.a80 |
839 | savelij | 21 | include ../../version.a80 |
952 | savelij | 22 | include ../../cmd_cdhdd.a80 |
961 | savelij | 23 | include ../../fat_dir.a80 |
831 | savelij | 24 | include fat/sl811_equ.a80 |
764 | savelij | 25 | include struct_mount.a80 |
507 | savelij | 26 | |
831 | savelij | 27 | USB_ENABLE EQU 0 |
28 | |||
643 | savelij | 29 | CPU5 EQU CPU1 |
30 | CPU6 EQU CPU2 |
||
31 | WIN_A5 EQU WIN_A1 |
||
32 | WIN_A6 EQU WIN_A2 |
||
33 | WIN_P5 EQU WIN_P1 |
||
34 | WIN_P6 EQU WIN_P2 |
||
35 | |||
646 | savelij | 36 | _CMP_FONT EQU 0 |
548 | savelij | 37 | TXTMODE_DEBUG EQU 0 |
38 | |||
761 | savelij | 39 | H_FILES EQU 60 |
40 | V_FILES EQU 25 |
||
585 | savelij | 41 | |
1031 | savelij | 42 | MAGIC_COLOR EQU BLUE << 3 + WHITE + BR_INK |
585 | savelij | 43 | |
1031 | savelij | 44 | PHASE 0 |
45 | JP $ ; 0000 |
||
507 | savelij | 46 | |
1031 | savelij | 47 | DUPL 0x0008-$,0xFF |
48 | JP $ ; 0008 |
||
507 | savelij | 49 | |
1031 | savelij | 50 | DUPL 0x0010-$,0xFF |
51 | JP $ ; 0010 |
||
507 | savelij | 52 | |
1031 | savelij | 53 | DUPL ADR_SEL_ROM-$,0xFF |
54 | OUT (C),A ; 0014 |
||
507 | savelij | 55 | NOP |
56 | RET |
||
57 | |||
1031 | savelij | 58 | DUPL 0x0018-$,0xFF |
59 | JP $ ; 0018 |
||
507 | savelij | 60 | |
1031 | savelij | 61 | DUPL 0x001C-$,0xFF |
585 | savelij | 62 | JP RST8_DOS |
573 | savelij | 63 | |
1031 | savelij | 64 | DUPL 0x0020-$,0xFF |
65 | JP CALL2RAMPAGE ; 0020 |
||
507 | savelij | 66 | |
1031 | savelij | 67 | DUPL 0x0024-$,0xFF |
68 | JP RST8PAGE0 ; 0024 |
||
585 | savelij | 69 | |
1031 | savelij | 70 | DUPL 0x0028-$,0xFF |
71 | JP $ ; 0028 |
||
507 | savelij | 72 | |
1031 | savelij | 73 | DUPL CONT_RST8-$,0xFF ; 002C |
585 | savelij | 74 | JP NEXT_RST8 |
75 | |||
1031 | savelij | 76 | ; 室 ࠭ 4 ⮬ |
77 | DUPL 0x0030-$,0xFF |
||
78 | JP CALL2PAGE ; 0030 |
||
507 | savelij | 79 | |
1031 | savelij | 80 | ; த ࠡ⪨ MAGIC |
81 | DUPL CONTINUE_MAGIC-$,0xFF ; 0034 |
||
585 | savelij | 82 | JP CONT_MAGIC |
507 | savelij | 83 | |
1031 | savelij | 84 | DUPL 0x0038-$,0xFF ; 0038 |
85 | ; PUSH HL ; 11 |
||
86 | ; LD HL,(ADR_INT) ; 16 |
||
87 | ; EX (SP),HL ; 19 |
||
88 | ; RET ; 10=56 |
||
585 | savelij | 89 | |
1031 | savelij | 90 | EI ; 4 |
91 | RET ; 10=14 |
||
585 | savelij | 92 | |
1031 | savelij | 93 | DUPL 0x003E-$,0xFF |
623 | savelij | 94 | EI |
95 | RET |
||
96 | |||
1031 | savelij | 97 | ; 室 RST8 |
98 | EXIT_RST8 LD BC,P4_EXIT_RST8 ; ࠭ RAM |
||
507 | savelij | 99 | PUSH BC |
100 | LD BC,WIN_P0 |
||
101 | XOR A |
||
585 | savelij | 102 | JP ADR_SEL_ROM |
507 | savelij | 103 | |
1031 | savelij | 104 | ; 室 RST 8 DOS |
585 | savelij | 105 | RST8_DOS LD HL,ERST8_DOS |
573 | savelij | 106 | JP NEXT_RST |
107 | |||
1031 | savelij | 108 | ; 室 RST 8 DOS |
585 | savelij | 109 | ERST8_DOS LD BC,WIN_A0 |
573 | savelij | 110 | LD A,6 |
111 | JP ADR_SEL_ROM |
||
112 | |||
1031 | savelij | 113 | ; ࠡ稪 MAGIC |
114 | DUPL 0x0066-$,0xFF |
||
761 | savelij | 115 | NOP |
548 | savelij | 116 | CONT_MAGIC NOP |
585 | savelij | 117 | DI |
118 | LD HL,N_77 |
||
119 | CALL CONVERT_BPORT |
||
1031 | savelij | 120 | CALL STORE_AY ; ࠭ ﭨ ॣ 襭 AY |
643 | savelij | 121 | LD A,(CPU6+DEBUG_ONOFF) |
761 | savelij | 122 | BIT B_TRACE_DBG,A |
1031 | savelij | 123 | JP NZ,DEBUGGER ; ⨢ ⫠稪, 室 |
678 | savelij | 124 | LD A,(N_BF) |
761 | savelij | 125 | AND M_BREAK_BF |
678 | savelij | 126 | JP Z,CONT_MAGIC2 |
127 | LD HL,(NADRRET_L) |
||
128 | LD A,H |
||
129 | CP 5 |
||
130 | JP NZ,CONT_MAGIC2 |
||
131 | LD A,L |
||
1031 | savelij | 132 | CP 0x6C |
678 | savelij | 133 | JP NC,CONT_MAGIC2 |
1031 | savelij | 134 | CP 0x67 |
678 | savelij | 135 | JP C,CONT_MAGIC2 |
548 | savelij | 136 | |
680 | savelij | 137 | CALL MAINPAGE3_TAP |
678 | savelij | 138 | LD HL,(NREG_IXL) |
139 | LD (RREG_IXL),HL |
||
140 | LD HL,(NREG_E) |
||
141 | LD (RREG_E),HL |
||
142 | LD HL,(NREG_F) |
||
143 | LD (RREG_F),HL |
||
1031 | savelij | 144 | ROMCALL EMULOADTAP,ROM_RST82 |
678 | savelij | 145 | LD HL,(RREG_IXL) |
146 | LD (NREG_IXL),HL |
||
147 | LD HL,(RREG_E) |
||
148 | LD (NREG_E),HL |
||
1031 | savelij | 149 | LD HL,0x56B |
678 | savelij | 150 | LD (NADRRET_L),HL |
151 | LD HL,(RREG_F) |
||
152 | LD (NREG_F),HL |
||
153 | JP CONTMAGIC3 |
||
154 | |||
1031 | savelij | 155 | DUPL 0x00FF-$,0xFF |
156 | DW 0x0038 |
||
549 | savelij | 157 | |
1031 | savelij | 158 | ; ⠡ 室 RST 8 |
159 | CODE_TABL DW AY_PRN_INIT_ ; 40 |
||
160 | DW AY_PRN_A__ ; 41 |
||
161 | DW AY_PRN_TOKEN_ ; 42 |
||
162 | DW AY_PRN_SCR_ ; 43 |
||
163 | DW TAPE_INIT_ ; 44 |
||
164 | DW TAPE_EMUL_ ; 45 |
||
165 | DW WINW_ ; 46 |
||
166 | DW PRINT_MESSAGE_ ; 47 |
||
167 | DW PRINT_A_ ; 48 |
||
168 | DW SCRUP_ ; 49 |
||
169 | DW SCRDN_ ; 4A |
||
170 | DW SET_MODE_ ; 4B |
||
171 | DW MATH ; 4C |
||
172 | DW VERSION_ ; 4D |
||
173 | DW RESERVED ; 4E |
||
174 | DW RESERVED ; 4F |
||
175 | DW COM_DEV ; 50 |
||
176 | DW COM_FAT ; 51 |
||
177 | DW SORT_FINDFILES ; 52 |
||
178 | DW MOUNTER ; 53 |
||
179 | DW INST_FATBOOT_ ; 54 |
||
180 | DW CMOS_RW_ ; 55 |
||
181 | DW SETUP_PAL_ ; 56 |
||
182 | DW SETUP_FONT_ ; 57 |
||
585 | savelij | 183 | ECODE_TABL |
549 | savelij | 184 | |
585 | savelij | 185 | ;=============== |
186 | |||
1031 | savelij | 187 | ; 室 ᭮ MAGIC 墠祭 ⫠稪 |
678 | savelij | 188 | CONT_MAGIC2 LD BC,CONF_128 |
680 | savelij | 189 | ; LD A,(N_7FFD) |
1031 | savelij | 190 | READ_7FFD |
1041 | savelij | 191 | AND M_ZX_SCREEN ! 0xFF |
1031 | savelij | 192 | OUT (C),A ; 祭 ⮡ࠦ ࠭ 0 |
678 | savelij | 193 | LD A,(N_77) |
1031 | savelij | 194 | CALL CMP_SCRMODE ; ઠ ० ࢠ ணࠬ |
678 | savelij | 195 | LD HL,EI_RET |
1031 | savelij | 196 | LD (ADR_INT),HL ; 誠 뢠 |
197 | ROMCALL STORE_TXTMODE,ROM_RST82 ; ࠭ ⥪⬮ ࠭ |
||
198 | ROMCALL SCAN_FONT,ROM_RST80 ; ⥭ ⥪饣 㦥 |
||
199 | ROMCALL RD_SET_PAL,ROM_RST82 ; ࠭ ⠭ MAGIC |
||
200 | ;==========६ﭪ |
||
952 | savelij | 201 | IF _CMP_FONT=1 |
1031 | savelij | 202 | CALL CMP_FONT ; ६ﭪ, ઠ ⠭ |
678 | savelij | 203 | RLA |
204 | LD (CMP_FONT_FLAG),A |
||
952 | savelij | 205 | ENDIF |
1031 | savelij | 206 | ;==========६ﭪ |
207 | ROMCALL MAGIC_FONT,ROM_RST82 ; ⠭ ६ MAGIC ० |
||
678 | savelij | 208 | CONT_MAGIC1 LD A,(CPU6+DEBUG_ONOFF) |
761 | savelij | 209 | BIT B_DBG_ACTIV,A |
1031 | savelij | 210 | JP NZ,DEBUGGER ; ⨢ ⫠稪, 室 |
678 | savelij | 211 | JP RESTART_NMI |
212 | |||
834 | savelij | 213 | VERSION_ LD HL,VERSBIN >> 16 |
214 | LD (RREG_C),HL |
||
1031 | savelij | 215 | LD HL,VERSBIN & 0xFFFF |
834 | savelij | 216 | LD (RREG_E),HL |
977 | savelij | 217 | IFDEF DOS_FE |
218 | LD L,1 ; ॡ 訢 zxevo_fw.bin standalone_base_trdemu |
||
219 | ELSE |
||
220 | LD L,0 ; 訢 筠 |
||
221 | ENDIF |
||
222 | LD BC,FDD_EMU_PORT |
||
223 | IN H,(C) ; ࠭塞 ⥪饥 祭 |
||
224 | LD E,%00001010 |
||
225 | OUT (C),E ; ᠫ |
||
226 | IN A,(C) ; ⠫ ⭮ |
||
227 | CP E |
||
228 | JR Z,.L1 |
||
229 | SET B_INCORRECTFPGA,L ; ᮢ zxevo_fw.bin ⮩ ⥬ |
||
230 | .L1 LD A,L |
||
231 | LD (RREG_A),A ; ⠢ A 稫 |
||
232 | OUT (C),H ; ⠭ ⥪饥 祭 |
||
833 | savelij | 233 | RET |
234 | |||
1031 | savelij | 235 | SETUP_FONT_ |
236 | ROMCALL SETUP_FONT,ROM_RST81 |
||
702 | savelij | 237 | RET |
238 | |||
1031 | savelij | 239 | SET_MAP_ |
240 | ROMCALL 0x40,ROM_ERS |
||
593 | savelij | 241 | RET |
242 | |||
1031 | savelij | 243 | SETUP_PAL_ |
244 | ROMCALL SETUP_PAL,ROM_RST82 |
||
623 | savelij | 245 | RESERVED RET |
246 | |||
1031 | savelij | 247 | AY_PRN_INIT_ |
248 | ROMCALL AY_PRN_INIT,ROM_RST82 |
||
585 | savelij | 249 | RET |
250 | |||
1031 | savelij | 251 | AY_PRN_A__ |
252 | ROMCALL AY_PRN_A_,ROM_RST82 |
||
585 | savelij | 253 | RET |
254 | |||
1031 | savelij | 255 | AY_PRN_TOKEN_ |
256 | ROMCALL AY_PRN_TOKEN,ROM_RST82 |
||
585 | savelij | 257 | RET |
258 | |||
1031 | savelij | 259 | AY_PRN_SCR_ |
260 | ROMCALL AY_PRN_SCR,ROM_RST82 |
||
585 | savelij | 261 | RET |
262 | |||
1031 | savelij | 263 | TAPE_INIT_ |
264 | ROMCALL TAPE_INIT,ROM_RST82 |
||
585 | savelij | 265 | RET |
266 | |||
1031 | savelij | 267 | TAPE_EMUL_ |
268 | ROMCALL TAPE_EMUL,ROM_RST82 |
||
585 | savelij | 269 | RET |
270 | |||
1031 | savelij | 271 | WINW_ |
272 | ROMCALL WINW,ROM_RST82 |
||
585 | savelij | 273 | RET |
274 | |||
1031 | savelij | 275 | PRINT_MESSAGE_ |
276 | ROMCALL PRINT_MESSAGE,ROM_RST82 |
||
585 | savelij | 277 | RET |
278 | |||
1031 | savelij | 279 | PRINT_A_ |
280 | ROMCALL PRINT_A,ROM_RST82 |
||
585 | savelij | 281 | RET |
282 | |||
623 | savelij | 283 | SCRUP_ LD A,(RREG_A) |
284 | LD (SCROLL_MODE),A |
||
1031 | savelij | 285 | ROMCALL SCRUP,ROM_RST82 |
585 | savelij | 286 | RET |
287 | |||
623 | savelij | 288 | SCRDN_ LD A,(RREG_A) |
289 | LD (SCROLL_MODE),A |
||
1031 | savelij | 290 | ROMCALL SCRDN,ROM_RST82 |
585 | savelij | 291 | RET |
292 | |||
1031 | savelij | 293 | SET_MODE_ |
294 | ROMCALL SET_MODE,ROM_RST82 |
||
585 | savelij | 295 | RET |
296 | |||
1031 | savelij | 297 | INST_FATBOOT_ |
298 | ROMCALL UNP_MICRO_BOOT,ROM_RST80 |
||
585 | savelij | 299 | RET |
300 | |||
1031 | savelij | 301 | CMOS_RW_ |
302 | ROMCALL CMOS_RW,ROM_RST82 |
||
585 | savelij | 303 | RET |
304 | |||
305 | RST8PAGE0 LD HL,ERST8PAGE0 |
||
306 | JP NEXT_RST |
||
307 | |||
308 | ERST8PAGE0 LD BC,WIN_A0 |
||
309 | XOR A |
||
310 | JP ADR_SEL_ROM |
||
311 | |||
680 | savelij | 312 | SELECT_MAPPER |
313 | ; LD A,(R_7FFD) |
||
1031 | savelij | 314 | READ_7FFD |
315 | AND 0x10 |
||
605 | savelij | 316 | RET NZ |
317 | LD A,-8 |
||
585 | savelij | 318 | ADD A,L |
319 | LD L,A |
||
320 | RET |
||
321 | |||
1031 | savelij | 322 | RESTART_NMI |
323 | ROMCALL CLS_TXTMODE8,ROM_RST82 ; ⪠ ⥪⬮ ࠭ |
||
324 | EVOPORT WIN_A5,ROM_RST83 ; 祭 ⮩ ࠭ ROM 2 |
||
643 | savelij | 325 | LD HL,CPU5+TEXT_PORTREGS |
1031 | savelij | 326 | ROMCALL PRTT_MSG,ROM_RST82 ; ⥪ |
327 | ROMCALL PRT_PORTREGS,ROM_RST82 ; ᮤন ⮢ ⠭ 䨣樨 |
||
328 | ;==========६ﭪ |
||
952 | savelij | 329 | IF _CMP_FONT=1 |
643 | savelij | 330 | LD HL,CPU5+TXT_VERIFY_FONT |
1031 | savelij | 331 | ROMCALL PRTT_MSG,ROM_RST82 ; ⥪ થ |
605 | savelij | 332 | LD A,(CMP_FONT_FLAG) |
333 | RRA |
||
1031 | savelij | 334 | LD HL,CPU5+TXT_VERIFY_OK ; ⥪ ᮢ |
605 | savelij | 335 | JR NC,CONTMAGIC3_ |
1031 | savelij | 336 | LD HL,CPU5+TXT_VERIFY_ERR ; ⥪ ᮢ |
337 | CONTMAGIC3_ |
||
338 | ROMCALL PRTT_MSG,ROM_RST82 ; 訡 |
||
952 | savelij | 339 | ENDIF |
1031 | savelij | 340 | ;==========६ﭪ |
341 | EVOPORT WIN_A5,ROM_RST81 ; 祭 1 |
||
585 | savelij | 342 | LD IX,MAIN_MENU |
1031 | savelij | 343 | ROMCALL SETUP4SEL,ROM_RST82 |
344 | ROMCALL ITWINW,ROM_RST82 ; 뢮 ⥪⬮ ࠭ |
||
345 | ROMCALL ITSELECTOR,ROM_RST82 |
||
585 | savelij | 346 | AND A |
347 | JR Z,CONTMAGIC2 |
||
348 | DEC A |
||
349 | JR Z,RESTART_NMI |
||
350 | DEC A |
||
351 | JR Z,CONTMAGIC3 |
||
548 | savelij | 352 | CONTMAGIC2 XOR A |
1031 | savelij | 353 | IN A,(0xFE) |
548 | savelij | 354 | CPL |
1031 | savelij | 355 | AND 0x1F |
356 | JR NZ,CONTMAGIC2 ; ᪠ |
||
357 | ROMCALL RESTORE_TXTMODE,ROM_RST82 ; ⠭ ⥪⬮ ࠭ |
||
358 | ROMCALL RESTORE_FONT,ROM_RST82 ; ⠭ |
||
359 | ROMCALL RESTORE_PAL,ROM_RST82 ; ⠭ |
||
1035 | savelij | 360 | CONTMAGIC3 |
361 | ; CALL RESTORE_AY ; ⠭ ࠣ AY |
||
573 | savelij | 362 | LD BC,EXITNMISERVICE |
507 | savelij | 363 | PUSH BC |
364 | LD BC,WIN_P0 |
||
365 | XOR A |
||
585 | savelij | 366 | JP ADR_SEL_ROM |
507 | savelij | 367 | |
1031 | savelij | 368 | ; த ࠡ⪨ RST8 |
550 | savelij | 369 | NEXT_RST8 LD HL,EXIT_RST8 |
573 | savelij | 370 | NEXT_RST PUSH HL |
550 | savelij | 371 | LD (INTERNAL_SP),SP |
585 | savelij | 372 | LD HL,R_77 |
373 | CALL CONVERT_BPORT |
||
374 | CALL P5_READ_BYTE |
||
573 | savelij | 375 | LD A,(R_77) |
585 | savelij | 376 | CALL CMP_SCRMODE |
605 | savelij | 377 | LD HL,B1_CPU2 |
585 | savelij | 378 | CALL SELECT_MAPPER |
379 | NEXT_RST1 LD B,(HL) |
||
380 | INC HL |
||
381 | LD A,(HL) |
||
382 | AND 8 |
||
383 | LD A,B |
||
384 | JR Z,NEXT_RST2 |
||
1031 | savelij | 385 | OR 0xC0 |
585 | savelij | 386 | NEXT_RST2 LD (PAGE4READ),A |
573 | savelij | 387 | LD A,(NEXTBYTERST8) |
1031 | savelij | 388 | AND 0x3F |
550 | savelij | 389 | LD L,A |
390 | LD H,0 |
||
391 | ADD HL,HL |
||
392 | LD DE,CODE_TABL |
||
393 | ADD HL,DE |
||
394 | LD E,(HL) |
||
395 | INC HL |
||
396 | LD D,(HL) |
||
397 | EX DE,HL |
||
398 | JP (HL) |
||
399 | |||
1031 | savelij | 400 | ; ४䨣 |
401 | ; ࠭ ६ 1, ᭮ ᨬ 2 3 |
||
585 | savelij | 402 | RESETUP_WINS EXX |
643 | savelij | 403 | LD BC,WIN_P5 |
585 | savelij | 404 | XOR A |
1031 | savelij | 405 | OUT (C),A ; ࠭ ६ 1 |
585 | savelij | 406 | LD HL,CPU3 |
407 | ADD HL,SP |
||
1031 | savelij | 408 | LD SP,HL ; ⥪ ⮦ 1 |
409 | LD HL,B1_CPU0-CPU5 ; 0 |
||
585 | savelij | 410 | CALL SELECT_MAPPER |
411 | RESETUPWINS1 EXX |
||
1031 | savelij | 412 | LD BC,CPU6 ; ⥭/ 0x8000 |
413 | LD A,H ; ઠ 襣 |
||
585 | savelij | 414 | EXX |
1031 | savelij | 415 | CP 0x40 |
416 | JR C,RESETUPWINS2 ; ⠭ 0,1 |
||
585 | savelij | 417 | INC HL |
418 | INC HL |
||
419 | EXX |
||
1031 | savelij | 420 | LD BC,CPU5 ; ⥭/ 0x4000 |
585 | savelij | 421 | EXX |
1031 | savelij | 422 | CP 0x80 |
423 | JR C,RESETUPWINS2 ; ⠭ 1,2 |
||
585 | savelij | 424 | INC HL |
425 | INC HL |
||
426 | EXX |
||
1031 | savelij | 427 | LD BC,CPU0 ; ⥭/ |
585 | savelij | 428 | EXX |
1031 | savelij | 429 | CP 0xC0 |
430 | JR C,RESETUPWINS2 ; ⠭ 2,3 |
||
585 | savelij | 431 | INC HL |
432 | INC HL |
||
433 | EXX |
||
1031 | savelij | 434 | LD BC,CPU3 ; ⥭/ 0x4000 |
585 | savelij | 435 | EXX |
1031 | savelij | 436 | LD B,HIGH (WIN_A6) ; 訩 2 |
585 | savelij | 437 | CALL RESETUPWINS4 |
1031 | savelij | 438 | LD DE,0xFFF8 |
439 | ADD HL,DE ; 䨣 ࠭ ᭮ |
||
585 | savelij | 440 | JR RESETUPWINS5 |
441 | |||
1031 | savelij | 442 | RESETUPWINS2 LD B,HIGH (WIN_A6) ; 訩 2 |
585 | savelij | 443 | CALL RESETUPWINS4 |
1031 | savelij | 444 | RESETUPWINS5 LD B,HIGH (WIN_A3) ; 訩 3 |
585 | savelij | 445 | CALL RESETUPWINS4 |
446 | EXX |
||
548 | savelij | 447 | RET |
448 | |||
1031 | savelij | 449 | RESETUPWINS4 LD E,(HL) ; |
450 | INC HL ; 㪠 |
||
585 | savelij | 451 | BIT 3,(HL) |
452 | JR NZ,RESETUPWINS3 |
||
453 | SET 3,B |
||
454 | LD A,(HL) |
||
455 | AND 3 |
||
456 | RRCA |
||
457 | RRCA |
||
1031 | savelij | 458 | OUT (C),A ; ᭠砫 襬 xFF7 |
585 | savelij | 459 | RES 3,B |
460 | RESETUPWINS3 INC HL |
||
1031 | savelij | 461 | OUT (C),E ; ⥯ 襬 x7F7 |
585 | savelij | 462 | RET |
463 | |||
1031 | savelij | 464 | ; ⥭ 맢襩 ண |
585 | savelij | 465 | P5_READ_BYTE PUSH HL |
573 | savelij | 466 | PUSH DE |
467 | PUSH BC |
||
548 | savelij | 468 | PUSH AF |
1031 | savelij | 469 | LD A,(RADRRET_H) ; 訩 㤠 |
470 | CP 0x40 |
||
573 | savelij | 471 | JR NC,READBYTE_03 |
1031 | savelij | 472 | ; ⥭ 0x4000 |
473 | LD HL,B1_CPU0 ; ⮢ 0 |
||
585 | savelij | 474 | CALL SELECT_MAPPER |
1031 | savelij | 475 | READ_CPU0_01 LD D,(HL) ; |
573 | savelij | 476 | INC HL |
1031 | savelij | 477 | LD A,(HL) ; 訩 㦭 ࠭ |
643 | savelij | 478 | AND HIGH (WIN_A5) |
1031 | savelij | 479 | OR HIGH (WIN_P5) ; ८ࠧ 訩 祭 1 |
573 | savelij | 480 | LD B,A |
1031 | savelij | 481 | LD C,LOW (WIN_A0) ; BC = |
573 | savelij | 482 | LD A,(R_77) |
1031 | savelij | 483 | LD E,0x3F |
484 | AND 0x10 ; ।塞 DOS DOS |
||
573 | savelij | 485 | JR Z,READ_CPU0_02 |
486 | DEC E |
||
487 | READ_CPU0_02 LD A,D |
||
488 | AND E |
||
1031 | savelij | 489 | OUT (C),A ; 砥 BASIC DOS |
490 | LD DE,CPU5 ; ᬥ饭 1 |
||
491 | LD HL,(RADRRET_L) ; 㤠 |
||
492 | ADD HL,DE ; १ 1 |
||
493 | LD A,(HL) ; ⠫ |
||
494 | SBC HL,DE ; 㫨 |
||
495 | INC HL ; 㢥稫 |
||
496 | LD (RADRRET_L),HL ; 㫨 |
||
573 | savelij | 497 | JR READBYTE_02 |
498 | |||
1031 | savelij | 499 | ; ⥭ 0x4000 |
500 | READBYTE_03 LD HL,B1_CPU0 ; ⮢ 0 |
||
585 | savelij | 501 | CALL SELECT_MAPPER |
1031 | savelij | 502 | READBYTE_01 LD A,(RADRRET_H) ; 訩 㤠 |
503 | AND 0xC0 |
||
573 | savelij | 504 | LD C,A |
505 | RLCA |
||
506 | RLCA |
||
507 | RLCA |
||
508 | LD E,A |
||
1031 | savelij | 509 | LD D,0 ; DE = ᬥ饭 ⠡ 襣 ࠭ ⥭ |
573 | savelij | 510 | ADD HL,DE |
1031 | savelij | 511 | LD D,(HL) ; |
573 | savelij | 512 | INC HL |
513 | LD A,(HL) |
||
643 | savelij | 514 | AND HIGH (WIN_A5) |
515 | OR HIGH (WIN_P5) |
||
573 | savelij | 516 | LD B,A |
1031 | savelij | 517 | LD C,LOW (WIN_A5) ; BC = 1 |
518 | LD HL,(RADRRET_L) ; 㤠 |
||
519 | OUT (C),D ; 稫 ࠭ ⥭ |
||
520 | LD E,L ; 訩 ⥭ |
||
573 | savelij | 521 | LD A,H |
643 | savelij | 522 | AND HIGH (WIN_A5) |
523 | OR HIGH (CPU5) |
||
1031 | savelij | 524 | LD D,A ; 訩 ⥭ |
525 | LD A,(DE) ; ⠫ |
||
526 | INC HL ; 㢥稫 |
||
527 | LD (RADRRET_L),HL ; 㫨 |
||
528 | READBYTE_02 LD (NEXTBYTERST8),A ; ⠭ |
||
529 | CALL MAIN_MEM13 ; 㫨 ࠭ 1 3 |
||
548 | savelij | 530 | POP AF |
573 | savelij | 531 | POP BC |
532 | POP DE |
||
533 | POP HL |
||
548 | savelij | 534 | RET |
535 | |||
573 | savelij | 536 | LDIR_BYTES EXX |
537 | LD BC,INT_ONLY_RET |
||
507 | savelij | 538 | PUSH BC |
573 | savelij | 539 | LD BC,LDIR__BYTES |
540 | PUSH BC |
||
541 | LD BC,WIN_P0 |
||
542 | XOR A |
||
585 | savelij | 543 | JP ADR_SEL_ROM |
507 | savelij | 544 | |
1031 | savelij | 545 | ; ⠭e ࠭ 1 3 |
546 | MAIN_MEM13 LD HL,B1_CPU1 ; 0 |
||
585 | savelij | 547 | CALL SELECT_MAPPER |
1031 | savelij | 548 | MAINMEM1 CALL MAINMEM3 ; 㫨 1 |
549 | INC HL ; 頥 3 |
||
573 | savelij | 550 | INC HL |
585 | savelij | 551 | CALL MAINMEM3 |
552 | SET_7FFD DEC HL |
||
553 | BIT 3,(HL) |
||
554 | RET Z |
||
555 | DEC HL |
||
556 | BIT 7,(HL) |
||
557 | RET Z |
||
1031 | savelij | 558 | READ_7FFD |
585 | savelij | 559 | LD D,A |
560 | LD E,0 |
||
561 | LD HL,PAGES_7FFD_ALL |
||
562 | JR NZ,SET7FFD1 |
||
1031 | savelij | 563 | AND 0xE0 |
573 | savelij | 564 | RRCA |
565 | RRCA |
||
585 | savelij | 566 | LD E,A |
567 | SET7FFD1 LD A,D |
||
568 | AND 7 |
||
569 | OR E |
||
570 | LD E,A |
||
571 | LD D,0 |
||
572 | ADD HL,DE |
||
573 | LD A,(HL) |
||
573 | savelij | 574 | OUT (C),A |
575 | RET |
||
576 | |||
585 | savelij | 577 | XXF7_7FFD MACRO B |
578 | PLUSIK := B |
||
579 | REPT 8 |
||
580 | DB PLUSIK |
||
581 | PLUSIK := PLUSIK-1 |
||
582 | ENDM |
||
583 | ENDM |
||
584 | |||
1031 | savelij | 585 | PAGES_7FFD_ALL XXF7_7FFD 0xFF |
586 | XXF7_7FFD 0xEF |
||
587 | XXF7_7FFD 0xDF |
||
588 | XXF7_7FFD 0xCF |
||
585 | savelij | 589 | |
1031 | savelij | 590 | XXF7_7FFD 0xF7 |
591 | XXF7_7FFD 0xE7 |
||
592 | XXF7_7FFD 0xD7 |
||
593 | XXF7_7FFD 0xC7 |
||
585 | savelij | 594 | |
680 | savelij | 595 | MAINPAGE3_TAP LD HL,B1_CPU3 |
596 | CALL SELECT_MAPPER |
||
597 | CALL MAINMEM3 |
||
598 | JR SET_7FFD |
||
599 | |||
643 | savelij | 600 | MAINMEM3 LD C,LOW (WIN_A0) |
601 | LD E,(HL) |
||
585 | savelij | 602 | INC HL |
603 | LD A,8 |
||
604 | AND (HL) |
||
605 | LD A,E |
||
606 | JR Z,MAINMEM4 |
||
1031 | savelij | 607 | OR 0xC0 |
585 | savelij | 608 | MAINMEM4 LD E,A |
609 | LD A,(HL) |
||
1031 | savelij | 610 | OR 0x3F |
585 | savelij | 611 | LD B,A |
1031 | savelij | 612 | LD A,0x40 |
605 | savelij | 613 | OUT (C),A |
614 | RES 3,B |
||
585 | savelij | 615 | INC HL |
616 | OUT (C),E |
||
548 | savelij | 617 | INT_ONLY_RET RET |
618 | |||
1031 | savelij | 619 | ; ⠭ 祭 ⮢ 䨣樨 |
620 | ; HL = 㤠 ⠭ 祭 ᨨ |
||
621 | ; DE = 7,6 |
||
622 | ; BC = 㤠 ᪫뢠 |
||
623 | ; A = ⠭ 祭 ᨨ xx77 |
||
585 | savelij | 624 | CONVERT_BPORT LD A,(HL) |
625 | PUSH AF |
||
626 | INC HL |
||
627 | INC HL |
||
628 | INC HL |
||
629 | LD E,(HL) |
||
630 | INC HL |
||
631 | LD D,(HL) |
||
632 | LD BC,8 |
||
1031 | savelij | 633 | LD A,C ; 8 |
585 | savelij | 634 | ADD HL,BC |
573 | savelij | 635 | LD BC,B0_CPU0 |
1031 | savelij | 636 | LD IYL,HIGH (WIN_A3)&0xF8 |
548 | savelij | 637 | CBPORT03 EX AF,AF' |
638 | LD A,(HL) |
||
1031 | savelij | 639 | CP 0xC0 |
548 | savelij | 640 | JR NC,CBPORT01 |
1031 | savelij | 641 | ; , ⠭ x7F7 |
642 | LD (BC),A ; ࠭ ⠭ |
||
573 | savelij | 643 | INC BC |
644 | LD A,IYL |
||
1031 | savelij | 645 | ADD A,0x40 |
573 | savelij | 646 | LD IYL,A |
1031 | savelij | 647 | AND 0xF0 |
573 | savelij | 648 | SRL E |
548 | savelij | 649 | SRL D |
1031 | savelij | 650 | LD (BC),A ; 訩 |
573 | savelij | 651 | INC BC |
548 | savelij | 652 | JR CBPORT02 |
653 | |||
1031 | savelij | 654 | ; , ⠭ xFF7 |
548 | savelij | 655 | CBPORT01 LD A,(HL) |
656 | RLCA |
||
657 | RLCA |
||
658 | SRL D |
||
659 | RRA |
||
660 | SRL E |
||
661 | RRA |
||
1031 | savelij | 662 | LD (BC),A ; ࠭ ⠭ |
573 | savelij | 663 | INC BC |
664 | LD A,IYL |
||
1031 | savelij | 665 | ADD A,0x40 |
573 | savelij | 666 | LD IYL,A |
1031 | savelij | 667 | LD (BC),A ; 訩 |
573 | savelij | 668 | INC BC |
548 | savelij | 669 | CBPORT02 DEC HL |
670 | EX AF,AF' |
||
671 | DEC A |
||
672 | JR NZ,CBPORT03 |
||
573 | savelij | 673 | POP HL |
1031 | savelij | 674 | LD L,0xBC |
573 | savelij | 675 | LD A,H |
1031 | savelij | 676 | AND 0x0F |
677 | OR 0xA0 |
||
678 | LD (BC),A ; ⠭ |
||
573 | savelij | 679 | INC BC |
680 | LD A,H |
||
1031 | savelij | 681 | AND 0x80 |
573 | savelij | 682 | RRCA |
683 | OR L |
||
684 | LD L,A |
||
685 | LD A,H |
||
1031 | savelij | 686 | AND 0x60 |
573 | savelij | 687 | RLCA |
688 | RLCA |
||
689 | RLCA |
||
690 | OR L |
||
1031 | savelij | 691 | LD (BC),A ; 訩 |
573 | savelij | 692 | RET |
693 | |||
585 | savelij | 694 | READ_KEYS |
507 | savelij | 695 | RET |
696 | |||
1031 | savelij | 697 | ; ࠩ |
585 | savelij | 698 | include fat/mounter.a80 |
699 | include fat/dev_drv.a80 |
||
700 | include fat/ngs_sd_drv.a80 |
||
701 | include fat/z_sd_drv.a80 |
||
702 | include fat/nemo_drv.a80 |
||
703 | include fat/read_fat.a80 |
||
831 | savelij | 704 | include fat/usb_drv.a80 |
573 | savelij | 705 | |
1035 | savelij | 706 | STORE_AY LD BC,0xFFFD |
707 | LD A,0xFE |
||
596 | savelij | 708 | OUT (C),A |
1035 | savelij | 709 | ; LD HL,AY_REGS2 |
710 | CALL .L1 |
||
711 | LD BC,0xFFFD |
||
712 | LD A,0xFF |
||
713 | OUT (C),A |
||
714 | ; LD HL,AY_REGS1 |
||
715 | .L1 LD DE,0xFFBF;C0 |
||
716 | ; LD A,0x0D |
||
717 | ;.L2 LD B,D |
||
718 | ; OUT (C),A |
||
719 | ; LD B,E |
||
720 | ; INI |
||
721 | ; DEC A |
||
722 | ; JP P,.L2 |
||
723 | ; DEC E |
||
596 | savelij | 724 | LD H,0 |
1031 | savelij | 725 | LD A,0x0D |
1035 | savelij | 726 | .L3 LD B,D |
596 | savelij | 727 | OUT (C),A |
728 | LD B,E |
||
729 | OUT (C),H |
||
730 | DEC A |
||
1035 | savelij | 731 | JP P,.L3 |
596 | savelij | 732 | RET |
733 | |||
1035 | savelij | 734 | ;RESTORE_AY LD BC,0xFFFD |
735 | ; LD A,0xFE |
||
736 | ; OUT (C),A |
||
737 | ; LD HL,AY_REGS2 |
||
738 | ; CALL .L1 |
||
739 | ; LD BC,0xFFFD |
||
740 | ; LD A,0xFF |
||
741 | ; OUT (C),A |
||
742 | ; LD HL,AY_REGS1 |
||
743 | ;.L1 LD DE,0xFFC0 |
||
744 | ; LD C,0xFD |
||
745 | ; LD A,0x0D |
||
746 | ;.L2 LD B,D |
||
747 | ; OUT (C),A |
||
748 | ; LD B,E |
||
749 | ; OUTI |
||
750 | ; DEC A |
||
751 | ; JP P,.L2 |
||
752 | ; RET |
||
596 | savelij | 753 | |
1031 | savelij | 754 | SYMS4SORT DB ".!#$%&'()-0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`{}~",0x7F |
628 | savelij | 755 | DB "",0 |
596 | savelij | 756 | |
548 | savelij | 757 | X_OFFSET EQU 63 |
758 | Y_OFFSET EQU 2 |
||
1031 | savelij | 759 | TEXT_PORTREGS DB 0x17,MAGIC_COLOR |
760 | DB 0x16,Y_OFFSET+0x01,X_OFFSET+0,"SP: PC:" |
||
761 | DB 0x16,Y_OFFSET+0x02,X_OFFSET+0,"IR:" |
||
762 | DB 0x16,Y_OFFSET+0x03,X_OFFSET+0,"AF: AF':" |
||
763 | DB 0x16,Y_OFFSET+0x04,X_OFFSET+0,"BC: BC':" |
||
764 | DB 0x16,Y_OFFSET+0x05,X_OFFSET+0,"DE: DE':" |
||
765 | DB 0x16,Y_OFFSET+0x06,X_OFFSET+0,"HL: HL':" |
||
766 | DB 0x16,Y_OFFSET+0x07,X_OFFSET+0,"IX: IY:" |
||
767 | DB 0x16,Y_OFFSET+0x08,X_OFFSET+0," INT IM" |
||
768 | DB 0x16,Y_OFFSET+0x0A,X_OFFSET+0," MAP 0 1" |
||
769 | DB 0x16,Y_OFFSET+0x0B,X_OFFSET+0,"CPU3:" |
||
770 | DB 0x16,Y_OFFSET+0x0C,X_OFFSET+0,"CPU2:" |
||
771 | DB 0x16,Y_OFFSET+0x0D,X_OFFSET+0,"CPU1:" |
||
772 | DB 0x16,Y_OFFSET+0x0E,X_OFFSET+0,"CPU0:" |
||
773 | DB 0x16,Y_OFFSET+0x10,X_OFFSET+0,"7FFD: FF:" |
||
774 | DB 0x16,Y_OFFSET+0x11,X_OFFSET+0,"EFF7: 7F:" |
||
775 | DB 0x16,Y_OFFSET+0x12,X_OFFSET+0," 77: 5F:" |
||
776 | DB 0x16,Y_OFFSET+0x13,X_OFFSET+0," BF: 3F:" |
||
777 | DB 0x16,Y_OFFSET+0x14,X_OFFSET+0," DOS: 1F:" |
||
1120 | savelij | 778 | DB 0x16,Y_OFFSET+0x15,X_OFFSET+0,"BREAK: " |
779 | DB 0x16,Y_OFFSET+0x16,X_OFFSET+0,"TURBO: " |
||
1031 | savelij | 780 | DB 0x16,1,0x10,0x17,0x32," EVO Magic Service beta ",0 |
585 | savelij | 781 | |
1031 | savelij | 782 | TXT_VERIFY_FONT DB 0x16,0x18,0,0x17,0x22," VERIFY READING FONT ",0 |
549 | savelij | 783 | TXT_VERIFY_OK DB " OK ",0 |
784 | TXT_VERIFY_ERR DB "ERROR ",0 |
||
548 | savelij | 785 | |
1031 | savelij | 786 | ; ઠ ⠭ 䮭 |
952 | savelij | 787 | IF _CMP_FONT=1 |
585 | savelij | 788 | CMP_FONT LD H,CMOS_BYTE_00 |
1031 | savelij | 789 | ROMCALL READCMOS,ROM_RST82 |
761 | savelij | 790 | AND M_TYPE_FONT |
585 | savelij | 791 | LD HL,CP866_FONT |
761 | savelij | 792 | JR NZ,CMPFONT1 |
585 | savelij | 793 | LD HL,ATM_FONT |
646 | savelij | 794 | CMPFONT1 LD DE,CPU1+OFFSET_BUFSYM |
585 | savelij | 795 | PUSH DE |
1031 | savelij | 796 | ROMCALL UNPACK,ROM_RST80 |
585 | savelij | 797 | POP DE |
798 | INC D |
||
1031 | savelij | 799 | LD BC,0x700 |
800 | LD HL,CPU1+OFFSET_FNTSAVE+0x100 |
||
585 | savelij | 801 | CMPFONT2 LD A,(DE) |
802 | INC DE |
||
803 | CP (HL) |
||
804 | SCF |
||
805 | RET NZ |
||
806 | CPI |
||
807 | JP PE,CMPFONT2 |
||
808 | XOR A |
||
809 | RET |
||
952 | savelij | 810 | ENDIF |
516 | savelij | 811 | |
585 | savelij | 812 | CMP_SCRMODE LD HL,FLAGS |
764 | savelij | 813 | RES B_VIDEO_MODE,(HL) |
585 | savelij | 814 | AND 7 |
815 | CP 3 |
||
816 | RET Z |
||
764 | savelij | 817 | SET B_VIDEO_MODE,(HL) |
585 | savelij | 818 | RET |
507 | savelij | 819 | |
628 | savelij | 820 | SD_CARD_LOST LD HL,FLAGS_DRV |
821 | LD A,B_NEW_SD |
||
822 | OR (HL) |
||
823 | LD (HL),A |
||
1031 | savelij | 824 | PEC_ON M_SHADOW_BF |
585 | savelij | 825 | CALL MAIN_MEM13 |
826 | LD IX,SDCARD_LOST |
||
1031 | savelij | 827 | ROMCALL IWINW,ROM_RST82 |
585 | savelij | 828 | JR $ |
829 | |||
789 | savelij | 830 | include math.a80 |
790 | savelij | 831 | include sortfiles.a80 |
789 | savelij | 832 | |
1031 | savelij | 833 | FREE_MAIN EQU 0x3FF6-$ |
831 | savelij | 834 | |
1031 | savelij | 835 | DUPL FREE_MAIN,0xFF |
836 | DW FREE_MAIN ; ࠧ |
||
507 | savelij | 837 | DB "RST_08" |
585 | savelij | 838 | DW DATA_VERS |
1031 | savelij | 839 | DEPHASE |
573 | savelij | 840 | |
841 | include addons.a80 |
||
585 | savelij | 842 | include addon1.a80 |
843 | include addon2.a80 |
||
801 | savelij | 844 | include mainmenu.a80 |