mirror of
https://github.com/Tolik-Trek/Sprinter-BIOS.git
synced 2026-06-15 01:11:47 +03:00
изменить описание после доделки
This commit is contained in:
parent
6e39576837
commit
3e94825092
@ -1 +1 @@
|
||||
Subproject commit a0e68ce3a19bd47537585e49bfbf5e45fab197a1
|
||||
Subproject commit a9892c6a6766ef6df26b45a82b1991ac836f2e4a
|
||||
@ -1695,7 +1695,7 @@ POSTMSG: CALL FindStringAddr
|
||||
|
||||
|
||||
;----------------------------------------------------------------------[]
|
||||
;!TODO ᤥ« âì ¢ë¡®à ¢ Setup, çâ® £à㧨âì ¢ v<>‡“ ¯à¨ áâ àâ¥. ‚ ਠâë:
|
||||
;—â® £à㧨âì ¢ v<>‡“ ¯à¨ áâ àâ¥. ‚ ਠâë:
|
||||
;[x] 0 - <20>¥ £à㧨âì <20>‡“ ᯥªâà㬠, ¨¨â¨âì áâà ¨æã #41 ª ª ¢ 3.04
|
||||
;[x] 1 - ƒà㧨â <20>‡“ ᯥªâà㬠¨§ ROM ¯à¨ áâ à⥠¥á«¨ ¥â ä« £ ZX
|
||||
;[x] 2 - ƒà㧨â <20>‡“ ᯥªâà㬠¨§ ROM ¯à¨ ª ¦¤®¬ ¯¥à¥§ ¯ã᪥
|
||||
|
||||
@ -511,8 +511,8 @@ GET_SCORP_RAM: CALL FREE_vRAM
|
||||
; H: Block_ID.vRAM
|
||||
; B: Port All Mode
|
||||
;A [1..0]: 1 - int scorp, 2 - int pent, 3 - int ZX
|
||||
; A'[2]: 0 - set default palette, 1 - don't change palette
|
||||
; A'[7]: 0 - 320, 1 - 312 áâப
|
||||
; [2]: 0 - set default palette, 1 - don't change palette
|
||||
; [7]: 0 - 320, 1 - 312 áâப
|
||||
|
||||
GOTO_SPECTRUM: DI
|
||||
LD C,A
|
||||
@ -587,7 +587,7 @@ GOTO_SPECTRUM: DI
|
||||
;
|
||||
LD D,B
|
||||
EXX
|
||||
POP BC
|
||||
POP BC ; á®åà 塞 ¢å®¤®¥ ¢ GOTO_SPECTRUM § 票¥ BC
|
||||
EXX
|
||||
;
|
||||
XOR A
|
||||
@ -664,13 +664,6 @@ INIT_PAGES: LD A,SYS_PAGE
|
||||
;
|
||||
.set_48k: LD A,5 ; !HARDCODE CONFIG_DE.ZX_START ‚•Ž„ ‚ BASIC 48 á § ªàëâ묨 128-¬¨ ¯®àâ ¬¨
|
||||
LD (SYS_PAGE.CONFIG_DE.ZX_START - #8000),A
|
||||
;LD A,(HL) ; SLOT0, SLOT3 page
|
||||
;INC HL
|
||||
;LD E,(HL) ; SLOT1 page
|
||||
;INC HL
|
||||
;LD D,(HL) ; SLOT2 page
|
||||
;JR .set_slots
|
||||
;
|
||||
JR .set_table
|
||||
;
|
||||
.set_scorp: CALL MANAGE_ZX_PAGES.INIT_vRAM
|
||||
@ -689,7 +682,7 @@ INIT_PAGES: LD A,SYS_PAGE
|
||||
LD E,A
|
||||
LD A,(SYS_PAGE.SHARED_BUFFER_256b+0 - #8000) ; SLOT0, SLOT3 page
|
||||
;
|
||||
.set_slots: OUT (SLOT0),A
|
||||
OUT (SLOT0),A
|
||||
OUT (SLOT3),A
|
||||
LD A,E
|
||||
OUT (SLOT1),A
|
||||
@ -740,8 +733,11 @@ RES128_PROG:
|
||||
LD DE,(SYS_PAGE.CONFIG_DE)
|
||||
OUT (C),B
|
||||
;
|
||||
LD A,4 ; CNF_0
|
||||
OUT (SYS_PORT.RAM),A ; CONFIG_SET
|
||||
;
|
||||
EXX
|
||||
LD A,B
|
||||
LD A,B ; ¤®áâ ñ¬ ¢å®¤®¥ ¢ GOTO_SPECTRUM § 票¥ B
|
||||
EXX
|
||||
LD BC,Port_All_Mode
|
||||
OUT (C),A
|
||||
@ -749,50 +745,74 @@ RES128_PROG:
|
||||
XOR A
|
||||
LD BC,#1FFD
|
||||
OUT (C),A ; Scorp ¯®àâ
|
||||
LD B,#7F
|
||||
OUT (C),A ; 128 ¯®àâ
|
||||
;
|
||||
LD A,E ; ãáâ ®¢ª ª®ä¨£ãà æ¨¨ ¨ ०¨¬ TURBO
|
||||
OUT (SYS_PORT.RAM),A ; CONFIG_SET
|
||||
;LD B,#7F
|
||||
;OUT (C),A ; 128 ¯®àâ
|
||||
;
|
||||
INC D
|
||||
DEC D
|
||||
; 0 ‚•Ž„ ‚ BASIC-128
|
||||
JP Z,0
|
||||
JR Z,.GoTo_ZX
|
||||
; 1 ‚•Ž„ ‚ BASIC-48
|
||||
LD A,#10
|
||||
OUT (C),A
|
||||
;OUT (C),A
|
||||
DEC D
|
||||
JP Z,0
|
||||
JR Z,.GoTo_ZX
|
||||
; 2 ‚•Ž„ ‚ TR-DOS
|
||||
LD HL,0
|
||||
PUSH HL
|
||||
DEC D
|
||||
JP Z,#3D29
|
||||
SCF ; ¯à¨§ ª 3D29
|
||||
JR Z,.GoTo_ZX
|
||||
; 3 ‚•Ž„ ‚ EXPANSION
|
||||
;!TODO ¯®ª ¥ à ¡®â ¥â. Page #45, BIOS (ZX_EXP) #E0
|
||||
XOR A
|
||||
OUT (C),A ; 7FFD
|
||||
;XOR A
|
||||
;OUT (C),A ; 7FFD
|
||||
LD A,#02
|
||||
LD B,#1F
|
||||
OUT (C),A
|
||||
DEC D
|
||||
JP Z,0
|
||||
;
|
||||
XOR A
|
||||
DEC D
|
||||
JR Z,.GoTo_ZX
|
||||
;
|
||||
OUT (C),A
|
||||
LD A,#30
|
||||
LD B,#7F
|
||||
OUT (C),A
|
||||
;!TEST
|
||||
LD A,CNF_PORT.PENT_RESET + CNF_PORT.SCORP_RESET
|
||||
; ¢àã¡ ¥¬ § éñ«ªã 48ª
|
||||
EXX
|
||||
SET 6,C
|
||||
EXX
|
||||
LD A,CNF_PORT.SCORP_RESET
|
||||
OR E
|
||||
OUT (CNF_PORT.OFF),A
|
||||
LD A,#10
|
||||
;
|
||||
DEC D
|
||||
; 4 ‚•Ž„ ‚ TR-DOS á § ªàëâ묨 128-¬¨ ¯®àâ ¬¨
|
||||
JP Z,#3D29
|
||||
; 5 ‚•Ž„ ‚ BASIC-48 á § ªàëâ묨 128-¬¨ ¯®àâ ¬¨
|
||||
JR NZ,.GoTo_ZX
|
||||
; 4 ‚•Ž„ ‚ TR-DOS á § ªàëâ묨 128-¬¨ ¯®àâ ¬¨
|
||||
SCF
|
||||
;
|
||||
; ‚室: CF - ¯àë£ ¥¬ ¢ TR-DOS, ¨ ç¥ ¢ 0; A - § 票¥ ¤«ï 7FFD, ¥á«¨
|
||||
.GoTo_ZX: EXX
|
||||
BIT 6,C
|
||||
EXX
|
||||
JR Z,.noLock48
|
||||
;
|
||||
SET 5,A
|
||||
.noLock48: LD B,#7F
|
||||
OUT (C),A
|
||||
LD A,E ; ãáâ ®¢ª ª®ä¨£ãà æ¨¨ ¨ ०¨¬ TURBO
|
||||
OUT (SYS_PORT.RAM),A ; CONFIG_SET
|
||||
JP C,#3D29
|
||||
JP 0
|
||||
;
|
||||
; .GoTo_0: LD A,E ; ãáâ ®¢ª ª®ä¨£ãà æ¨¨ ¨ ०¨¬ TURBO
|
||||
; OUT (SYS_PORT.RAM),A ; CONFIG_SET
|
||||
; EXX
|
||||
; BIT 6,C
|
||||
; EXX
|
||||
; JR Z,.noLock48
|
||||
; ;
|
||||
; LD A,#30
|
||||
; JP 0
|
||||
ENT
|
||||
.Size EQU $-RES128_PROG
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
@ -478,24 +478,26 @@ Hardware_Menu_STR:
|
||||
DC " " ; ¬ àª¥à ª®æ
|
||||
.Size EQU $ - Hardware_Menu_STR
|
||||
|
||||
|
||||
;[ ] free zx pages!
|
||||
;!TODO ®âª«îç âì 7FFD ¨ 1FFD ®¤®¢à¥¬¥® ç¥à¥§ ®âª«î票¥ 1FFD ¢ cnf_port
|
||||
; ¨ § 饫ªã ¢ 7FFD ¨ ç¥ vROM ¯®¤áã¥â áâà ¨æã BASIC128.
|
||||
; ‚ § ¢¨á¨¬®á⨠®â ãáâ ¢«¨¢ ¥¬®© ª àâë ¯®à⮢ ¢ë¡¨à âì ª àâã ¤«ï ¯à®¯¨áë¢ ¨ï ¯®àâ AY
|
||||
;
|
||||
;**************************************************
|
||||
SPRINTER_ZX: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.SP97_1
|
||||
LD BC,#FE*256 + %0000'0010 ; !HARDCODE Port All Mode data. int pent, set default palette, 320 áâப
|
||||
LD BC,#FE*256 + %0000'0010 ; = GOTO_SPEC reg B, reg A
|
||||
LD DE,4*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_0 ; !HARDCODE 4 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ¨æë
|
||||
JR PREPARE_TO_START_ZX
|
||||
;
|
||||
ZX_SPECTRUM_128:
|
||||
LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD BC,#FA*256 + %1000'0011
|
||||
LD BC,#FA*256 + %1000'0011 ; = GOTO_SPEC reg B, reg A
|
||||
JR PENTAGON_128.zx
|
||||
;
|
||||
SCORPION_256: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD BC,#FE*256 + %1000'0001
|
||||
LD BC,#FE*256 + %1000'0001 ; = GOTO_SPEC reg B, reg A
|
||||
LD DE,4*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_1 ; !HARDCODE 4 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ¨æë
|
||||
PREPARE_TO_START_ZX:
|
||||
DI
|
||||
@ -522,9 +524,11 @@ PREPARE_TO_START_ZX:
|
||||
POP HL
|
||||
;
|
||||
LD D,L ; !HARDCODE â®çª ¢å®¤ ¢ <20>‡“ ᯥªâàã¬
|
||||
; LD H,A
|
||||
; LD A,(SYS_PAGE.Block_ID.vROM)
|
||||
; LD L,A
|
||||
LD HL,(SYS_PAGE.Block_ID.vROM)
|
||||
LD H,A
|
||||
LD A,(SYS_PAGE.Block_ID.vROM)
|
||||
LD L,A
|
||||
LD A,C
|
||||
JP GOTO_SPECTRUM
|
||||
;
|
||||
@ -534,25 +538,25 @@ PREPARE_TO_START_ZX:
|
||||
;
|
||||
PENTAGON_128: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD BC,#FE*256 + %0000'0010
|
||||
.zx: LD DE,2*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.SCORP_RESET ; !HARDCODE 2 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 128
|
||||
LD BC,#FE*256 + %0000'0010 ; = GOTO_SPEC reg B, reg A
|
||||
.zx: LD DE,2*256 + CNF_PORT.CNF_2 + CNF_PORT.TURBO.ON + CNF_PORT.SCORP_RESET ; !HARDCODE 2 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 128
|
||||
JR PREPARE_TO_START_ZX
|
||||
;
|
||||
PENTAGON_512: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD BC,#FE*256 + %0000'0010
|
||||
LD DE,3*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_512 + CNF_PORT.SCORP_RESET ; !HARDCODE 3 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 512
|
||||
LD BC,#FE*256 + %0000'0010 ; = GOTO_SPEC reg B, reg A
|
||||
LD DE,3*256 + CNF_PORT.CNF_2 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_512 + CNF_PORT.SCORP_RESET ; !HARDCODE 3 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 512
|
||||
JR PREPARE_TO_START_ZX
|
||||
;
|
||||
Pentagon_48: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD BC,#FE*256 + %0000'0010
|
||||
.zx: LD DE,1*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_1 ; !HARDCODE 1 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠48 ª¡
|
||||
LD BC,#FE*256 + %0000'0010 ; = GOTO_SPEC reg B, reg A
|
||||
.zx: LD DE,1*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_2 ; !HARDCODE 1 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠48 ª¡
|
||||
JR PREPARE_TO_START_ZX
|
||||
;
|
||||
ZX_Spectrum_48: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD BC,#FA*256 + %1000'0011
|
||||
LD BC,#FA*256 + %1000'0011 ; = GOTO_SPEC reg B, reg A
|
||||
JR Pentagon_48.zx
|
||||
|
||||
SPRINTER_reset:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user