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