Rev 1120 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1120 | Rev 1186 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | 1 | ||
| 2 | ; LAST UPDATE: 12.02.2024 savelij |
2 | ; LAST UPDATE: 14.02.2025 savelij |
| 3 | 3 | ||
| 4 | TITLE "addons.a80 ROM_RST82" |
4 | TITLE "addons.a80 ROM_RST82" |
| 5 | 5 | ||
| 6 | DRV_VAR EQU 0x4000 |
6 | DRV_VAR EQU 0x4000 |
| 7 | 7 | ||
| 8 | PHASE 0 |
8 | PHASE 0 |
| 9 | JP $ |
9 | JP $ |
| 10 | 10 | ||
| 11 | DUPL ADR_SEL_ROM-$,0xFF |
11 | DB ADR_SEL_ROM-$ DUP 0xFF |
| 12 | OUT (C),A |
12 | OUT (C),A |
| 13 | NOP |
13 | NOP |
| 14 | RET |
14 | RET |
| 15 | 15 | ||
| 16 | DUPL 0x0030-$,0xFF |
16 | DB 0x0030-$ DUP 0xFF |
| 17 | JP CALL2PAGE |
17 | JP CALL2PAGE |
| 18 | 18 | ||
| 19 | DUPL 0x0038-$,0xFF ; 0038 |
19 | DB 0x0038-$ DUP 0xFF ; 0038 |
| 20 | PUSH HL |
20 | PUSH HL |
| 21 | LD HL,(ADR_INT) |
21 | LD HL,(ADR_INT) |
| 22 | EX (SP),HL |
22 | EX (SP),HL |
| 23 | RET |
23 | RET |
| 24 | 24 | ||
| Line 26... | Line 26... | ||
| 26 | RET |
26 | RET |
| 27 | 27 | ||
| 28 | JP UNPACK_DOS_FE |
28 | JP UNPACK_DOS_FE |
| 29 | JP INST_SONGLN |
29 | JP INST_SONGLN |
| 30 | 30 | ||
| 31 | DUPL 0x0080-$,0xFF |
31 | DB 0x0080-$ DUP 0xFF |
| 32 | binclude ../../dec40.bin |
32 | binclude ../../dec40.bin |
| 33 | 33 | ||
| 34 | DUPL 0x00FF-$,0xFF |
34 | DB 0x00FF-$ DUP 0xFF |
| 35 | DW 0x0038 |
35 | DW 0x0038 |
| 36 | 36 | ||
| 37 | ; ============================SD карта удалена============================ |
37 | ; ============================SD карта удалена============================ |
| - | 38 | SDCARD_LOST |
|
| 38 | SDCARD_LOST DB 0x08,0x08,0x04,0x10,0x17,0,%00000000,0 |
39 | WINHDR 0x08,0x08,0x04,0x10,0x17,0,%00000000,0, \ |
| 39 | DW 0,0 |
- | |
| 40 | DW TXT_SDLOST,0,0,0 |
40 | 0,0,.TXT_SDLOST,0,0,0 |
| - | 41 | ||
| 41 | TXT_SDLOST DB 0x17,0xFF,0x0D,3,"SD card lost",0x0D,3,"Press RESET",0 |
42 | .TXT_SDLOST DB "\x17\xFF\r\x03SD card lost\r\x03Press RESET",0 |
| 42 | ; ============================SD карта удалена============================ |
43 | ; ============================SD карта удалена============================ |
| 43 | 44 | ||
| 44 | ; ========================мышиный курсор в двух видах===================== |
45 | ; ========================мышиный курсор в двух видах===================== |
| 45 | SPRAR DB 0x3F,0x00,0x1F,0x40,0x0F,0x60,0x07,0x50,0x03,0x48,0x01,0x4C,0x01,0x70,0x07,0x00 |
46 | 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 |
47 | SPRAR2 DB 0x3F,0x00,0x1F,0x40,0x0F,0x60,0x07,0x70,0x03,0x78,0x01,0x7C,0x01,0x70,0x07,0x00 |
| 47 | ; ========================мышиный курсор в двух видах===================== |
48 | ; ========================мышиный курсор в двух видах===================== |
| 48 | 49 | ||
| 49 | DUPL 0x0200-$,0xFF |
50 | DB 0x0200-$ DUP 0xFF |
| 50 | CHARS binclude altstd.bin |
51 | CHARS binclude altstd.bin |
| 51 | 52 | ||
| 52 | BUFTSC DW 0x4000,0x4100,0x4200,0x4300,0x4400,0x4500,0x4600,0x4700 |
53 | BUFTSC DW 0x4000,0x4100,0x4200,0x4300,0x4400,0x4500,0x4600,0x4700 |
| 53 | DW 0x4020,0x4120,0x4220,0x4320,0x4420,0x4520,0x4620,0x4720 |
54 | DW 0x4020,0x4120,0x4220,0x4320,0x4420,0x4520,0x4620,0x4720 |
| 54 | DW 0x4040,0x4140,0x4240,0x4340,0x4440,0x4540,0x4640,0x4740 |
55 | DW 0x4040,0x4140,0x4240,0x4340,0x4440,0x4540,0x4640,0x4740 |
| Line 209... | Line 210... | ||
| 209 | ; палитра для SPECTRUM режима |
210 | ; палитра для SPECTRUM режима |
| 210 | TRSTPAL DB 0x00,0x21,0x42,0x63,0x90,0xB1,0xD2,0xF3 |
211 | TRSTPAL DB 0x00,0x21,0x42,0x63,0x90,0xB1,0xD2,0xF3 |
| 211 | DB 0xE0,0xE1,0xE2,0xE3,0xF0,0xF1,0xF2,0xF3 |
212 | DB 0xE0,0xE1,0xE2,0xE3,0xF0,0xF1,0xF2,0xF3 |
| 212 | 213 | ||
| 213 | SETUP_PAL1 LD HL,(RREG_L) |
214 | SETUP_PAL1 LD HL,(RREG_L) |
| 214 | LD DE,EXTERN_PAL-CPU6 |
215 | LD DE,EXTERN_PAL-CPU2 |
| 215 | LD BC,0x10 |
216 | LD BC,0x10 |
| 216 | ROMCALL LDIR_BYTES,ROM_RST83 |
217 | ROMCALL LDIR_BYTES,ROM_RST83 |
| 217 | LD HL,EXTERN_PAL |
218 | LD HL,EXTERN_PAL |
| 218 | JR RESTOREPAL1 |
219 | JR RESTOREPAL1 |
| 219 | 220 | ||
| Line 298... | Line 299... | ||
| 298 | DW Y_OFFSET + 7 + (X_OFFSET + 3 + 9 ) * 0x100 ; IY |
299 | 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 + 5 ) * 0x100 ; INT EI/DI |
| 300 | DW Y_OFFSET + 8 + (X_OFFSET + 3 + 10 ) * 0x100 ; INT IM 1/2 |
301 | 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 ) * 0x100 ; CPU3 MAP0 |
| 302 | DW Y_OFFSET + 11 + (X_OFFSET + 6 + 3 ) * 0x100 ; CPU3 MAP1 |
303 | 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 ) * 0x100 ; CPU2 MAP0 |
| 304 | DW Y_OFFSET + 12 + (X_OFFSET + 6 + 3 ) * 0x100 ; CPU6 MAP1 |
305 | DW Y_OFFSET + 12 + (X_OFFSET + 6 + 3 ) * 0x100 ; CPU2 MAP1 |
| 305 | DW Y_OFFSET + 13 + (X_OFFSET + 6 ) * 0x100 ; CPU5 MAP0 |
306 | 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 + 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 ) * 0x100 ; CPU0 MAP0 |
| 308 | DW Y_OFFSET + 14 + (X_OFFSET + 6 + 3 ) * 0x100 ; CPU0 MAP1 |
309 | 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 + 16 + (X_OFFSET + 5 ) * 0x100 ; PORT 7FFD |
| Line 351... | Line 352... | ||
| 351 | LD HL,(NREG_IXL) |
352 | LD HL,(NREG_IXL) |
| 352 | CALL PRINT_REGS ; IX |
353 | CALL PRINT_REGS ; IX |
| 353 | LD HL,(NREG_IYL) |
354 | LD HL,(NREG_IYL) |
| 354 | CALL PRINT_REGS ; IY |
355 | CALL PRINT_REGS ; IY |
| 355 | LD A,(INT_MODE) |
356 | LD A,(INT_MODE) |
| 356 | ADD A,"0" |
357 | ADD A,'0' |
| 357 | CALL PRINT_1NUM ; INT ON/OFF |
358 | CALL PRINT_1NUM ; INT ON/OFF |
| 358 | LD A,(NUM_IM) |
359 | LD A,(NUM_IM) |
| 359 | ADD A,"1" |
360 | ADD A,'1' |
| 360 | CALL PRINT_1NUM ; IM 1/2 |
361 | CALL PRINT_1NUM ; IM 1/2 |
| 361 | LD A,(B0_CPU3) |
362 | LD A,(B0_CPU3) |
| 362 | CALL PRINT_REG ; CPU3 MAP0 |
363 | CALL PRINT_REG ; CPU3 MAP0 |
| 363 | LD A,(B1_CPU3) |
364 | LD A,(B1_CPU3) |
| 364 | CALL PRINT_REG ; CPU3 MAP1 |
365 | CALL PRINT_REG ; CPU3 MAP1 |
| 365 | LD A,(B0_CPU2) |
366 | LD A,(B0_CPU2) |
| 366 | CALL PRINT_REG ; CPU6 MAP0 |
367 | CALL PRINT_REG ; CPU2 MAP0 |
| 367 | LD A,(B1_CPU2) |
368 | LD A,(B1_CPU2) |
| 368 | CALL PRINT_REG ; CPU6 MAP1 |
369 | CALL PRINT_REG ; CPU2 MAP1 |
| 369 | LD A,(B0_CPU1) |
370 | LD A,(B0_CPU1) |
| 370 | CALL PRINT_REG ; CPU5 MAP0 |
371 | CALL PRINT_REG ; CPU5 MAP0 |
| 371 | LD A,(B1_CPU1) |
372 | LD A,(B1_CPU1) |
| 372 | CALL PRINT_REG ; CPU5 MAP1 |
373 | CALL PRINT_REG ; CPU5 MAP1 |
| 373 | LD A,(B0_CPU0) |
374 | LD A,(B0_CPU0) |
| Line 398... | Line 399... | ||
| 398 | AND 0x10 |
399 | AND 0x10 |
| 399 | RRCA |
400 | RRCA |
| 400 | RRCA |
401 | RRCA |
| 401 | RRCA |
402 | RRCA |
| 402 | RRCA |
403 | RRCA |
| 403 | ADD A,"0" |
404 | ADD A,'0' |
| 404 | CALL PRINT_1NUM |
405 | CALL PRINT_1NUM |
| 405 | IN A,(0xFF) |
406 | IN A,(0xFF) |
| 406 | AND %00111111 |
407 | AND %00111111 |
| 407 | CALL PRINT_REG |
408 | CALL PRINT_REG |
| 408 | IN A,(0x7F) |
409 | IN A,(0x7F) |
| Line 441... | Line 442... | ||
| 441 | JP PRTT_A_ |
442 | JP PRTT_A_ |
| 442 | 443 | ||
| 443 | ; установка режимов |
444 | ; установка режимов |
| 444 | SET_MODE LD A,(RREG_A) |
445 | SET_MODE LD A,(RREG_A) |
| 445 | ISET_MODE AND A |
446 | ISET_MODE AND A |
| 446 | JR Z,SET_MODE4 ; если 0 то получение режима |
447 | JR Z,.L5 ; если 0 то получение режима |
| 447 | LD E,A |
448 | LD E,A |
| 448 | LD (TEK_MODES),A ; сохранили устанавливаемые режимы |
449 | LD (TEK_MODES),A ; сохранили устанавливаемые режимы |
| 449 | AND %00000111 |
450 | AND %00000111 |
| 450 | JR Z,.L4 |
451 | JR Z,.L4 |
| 451 | ; установка номера экрана |
452 | ; установка номера экрана |
| Line 482... | Line 483... | ||
| 482 | EXX |
483 | EXX |
| 483 | .L3 LD A,E |
484 | .L3 LD A,E |
| 484 | RRCA |
485 | RRCA |
| 485 | RRCA |
486 | RRCA |
| 486 | AND 3 ; выделили биты режима памяти |
487 | AND 3 ; выделили биты режима памяти |
| 487 | JR Z,SET_MODE4 ; если 0 то режим памяти не меняем |
488 | JR Z,.L5 ; если 0 то режим памяти не меняем |
| 488 | ; смена режима памяти |
489 | ; смена режима памяти |
| 489 | DEC A |
490 | DEC A |
| 490 | LD HL,0x0000 ; память 1024К |
491 | LD HL,0x0000 ; память 1024К |
| 491 | JR Z,.L1 |
492 | JR Z,.L1 |
| 492 | DEC A |
493 | DEC A |
| Line 501... | Line 502... | ||
| 501 | AND %11111011 |
502 | AND %11111011 |
| 502 | OR L |
503 | OR L |
| 503 | LD (R_EFF7),A |
504 | LD (R_EFF7),A |
| 504 | RET |
505 | RET |
| 505 | 506 | ||
| 506 | SET_MODE4 LD A,(TEK_MODES) |
507 | .L5 LD A,(TEK_MODES) |
| 507 | LD (RREG_A),A |
508 | LD (RREG_A),A |
| 508 | RET |
509 | RET |
| 509 | 510 | ||
| 510 | ; дефолтные значения для кмос |
511 | ; дефолтные значения для кмос |
| 511 | ; ED EC EB EA E9 E8 |
512 | ; ED EC EB EA E9 E8 |
| Line 536... | Line 537... | ||
| 536 | PACK_DOS_FE binclude ../../page1/dos_fe_pack.rom |
537 | PACK_DOS_FE binclude ../../page1/dos_fe_pack.rom |
| 537 | DEPHASE |
538 | DEPHASE |
| 538 | 539 | ||
| 539 | FREE_ADDONS EQU 0x3FF6-$ |
540 | FREE_ADDONS EQU 0x3FF6-$ |
| 540 | 541 | ||
| 541 | DUPL FREE_ADDONS,0xFF |
542 | DB FREE_ADDONS DUP 0xFF |
| 542 | DW FREE_ADDONS ; размер свободного места |
543 | DW FREE_ADDONS ; размер свободного места |
| 543 | DB "ADDONS" |
544 | DB "ADDONS" |
| 544 | DW DATA_VERS |
545 | DW DATA_VERS |
| 545 | DEPHASE |
546 | DEPHASE |