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] 0 - <20>¥ £à㧨âì <20>‡“ ᯥªâà㬠, ¨¨â¨âì áâà ¨æã #41 ª ª ¢ 3.04
|
||||||
;[x] 1 - ƒà㧨â <20>‡“ ᯥªâà㬠¨§ ROM ¯à¨ áâ à⥠¥á«¨ ¥â ä« £ ZX
|
;[x] 1 - ƒà㧨â <20>‡“ ᯥªâà㬠¨§ ROM ¯à¨ áâ à⥠¥á«¨ ¥â ä« £ ZX
|
||||||
;[x] 2 - ƒà㧨â <20>‡“ ᯥªâà㬠¨§ ROM ¯à¨ ª ¦¤®¬ ¯¥à¥§ ¯ã᪥
|
;[x] 2 - ƒà㧨â <20>‡“ ᯥªâà㬠¨§ ROM ¯à¨ ª ¦¤®¬ ¯¥à¥§ ¯ã᪥
|
||||||
|
|||||||
@ -511,8 +511,8 @@ GET_SCORP_RAM: CALL FREE_vRAM
|
|||||||
; H: Block_ID.vRAM
|
; H: Block_ID.vRAM
|
||||||
; B: Port All Mode
|
; B: Port All Mode
|
||||||
;A [1..0]: 1 - int scorp, 2 - int pent, 3 - int ZX
|
;A [1..0]: 1 - int scorp, 2 - int pent, 3 - int ZX
|
||||||
; A'[2]: 0 - set default palette, 1 - don't change palette
|
; [2]: 0 - set default palette, 1 - don't change palette
|
||||||
; A'[7]: 0 - 320, 1 - 312 áâப
|
; [7]: 0 - 320, 1 - 312 áâப
|
||||||
|
|
||||||
GOTO_SPECTRUM: DI
|
GOTO_SPECTRUM: DI
|
||||||
LD C,A
|
LD C,A
|
||||||
@ -587,7 +587,7 @@ GOTO_SPECTRUM: DI
|
|||||||
;
|
;
|
||||||
LD D,B
|
LD D,B
|
||||||
EXX
|
EXX
|
||||||
POP BC
|
POP BC ; á®åà 塞 ¢å®¤®¥ ¢ GOTO_SPECTRUM § 票¥ BC
|
||||||
EXX
|
EXX
|
||||||
;
|
;
|
||||||
XOR A
|
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-¬¨ ¯®àâ ¬¨
|
.set_48k: LD A,5 ; !HARDCODE CONFIG_DE.ZX_START ‚•Ž„ ‚ BASIC 48 á § ªàëâ묨 128-¬¨ ¯®àâ ¬¨
|
||||||
LD (SYS_PAGE.CONFIG_DE.ZX_START - #8000),A
|
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
|
JR .set_table
|
||||||
;
|
;
|
||||||
.set_scorp: CALL MANAGE_ZX_PAGES.INIT_vRAM
|
.set_scorp: CALL MANAGE_ZX_PAGES.INIT_vRAM
|
||||||
@ -689,7 +682,7 @@ INIT_PAGES: LD A,SYS_PAGE
|
|||||||
LD E,A
|
LD E,A
|
||||||
LD A,(SYS_PAGE.SHARED_BUFFER_256b+0 - #8000) ; SLOT0, SLOT3 page
|
LD A,(SYS_PAGE.SHARED_BUFFER_256b+0 - #8000) ; SLOT0, SLOT3 page
|
||||||
;
|
;
|
||||||
.set_slots: OUT (SLOT0),A
|
OUT (SLOT0),A
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,E
|
LD A,E
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
@ -740,8 +733,11 @@ RES128_PROG:
|
|||||||
LD DE,(SYS_PAGE.CONFIG_DE)
|
LD DE,(SYS_PAGE.CONFIG_DE)
|
||||||
OUT (C),B
|
OUT (C),B
|
||||||
;
|
;
|
||||||
|
LD A,4 ; CNF_0
|
||||||
|
OUT (SYS_PORT.RAM),A ; CONFIG_SET
|
||||||
|
;
|
||||||
EXX
|
EXX
|
||||||
LD A,B
|
LD A,B ; ¤®áâ ñ¬ ¢å®¤®¥ ¢ GOTO_SPECTRUM § 票¥ B
|
||||||
EXX
|
EXX
|
||||||
LD BC,Port_All_Mode
|
LD BC,Port_All_Mode
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
@ -749,50 +745,74 @@ RES128_PROG:
|
|||||||
XOR A
|
XOR A
|
||||||
LD BC,#1FFD
|
LD BC,#1FFD
|
||||||
OUT (C),A ; Scorp ¯®àâ
|
OUT (C),A ; Scorp ¯®àâ
|
||||||
LD B,#7F
|
;LD B,#7F
|
||||||
OUT (C),A ; 128 ¯®àâ
|
;OUT (C),A ; 128 ¯®àâ
|
||||||
;
|
|
||||||
LD A,E ; ãáâ ®¢ª ª®ä¨£ãà æ¨¨ ¨ ०¨¬ TURBO
|
|
||||||
OUT (SYS_PORT.RAM),A ; CONFIG_SET
|
|
||||||
;
|
;
|
||||||
INC D
|
INC D
|
||||||
DEC D
|
DEC D
|
||||||
; 0 ‚•Ž„ ‚ BASIC-128
|
; 0 ‚•Ž„ ‚ BASIC-128
|
||||||
JP Z,0
|
JR Z,.GoTo_ZX
|
||||||
; 1 ‚•Ž„ ‚ BASIC-48
|
; 1 ‚•Ž„ ‚ BASIC-48
|
||||||
LD A,#10
|
LD A,#10
|
||||||
OUT (C),A
|
;OUT (C),A
|
||||||
DEC D
|
DEC D
|
||||||
JP Z,0
|
JR Z,.GoTo_ZX
|
||||||
; 2 ‚•Ž„ ‚ TR-DOS
|
; 2 ‚•Ž„ ‚ TR-DOS
|
||||||
LD HL,0
|
LD HL,0
|
||||||
PUSH HL
|
PUSH HL
|
||||||
DEC D
|
DEC D
|
||||||
JP Z,#3D29
|
SCF ; ¯à¨§ ª 3D29
|
||||||
|
JR Z,.GoTo_ZX
|
||||||
; 3 ‚•Ž„ ‚ EXPANSION
|
; 3 ‚•Ž„ ‚ EXPANSION
|
||||||
;!TODO ¯®ª ¥ à ¡®â ¥â. Page #45, BIOS (ZX_EXP) #E0
|
;!TODO ¯®ª ¥ à ¡®â ¥â. Page #45, BIOS (ZX_EXP) #E0
|
||||||
XOR A
|
;XOR A
|
||||||
OUT (C),A ; 7FFD
|
;OUT (C),A ; 7FFD
|
||||||
LD A,#02
|
LD A,#02
|
||||||
LD B,#1F
|
LD B,#1F
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
DEC D
|
|
||||||
JP Z,0
|
|
||||||
;
|
|
||||||
XOR A
|
XOR A
|
||||||
|
DEC D
|
||||||
|
JR Z,.GoTo_ZX
|
||||||
|
;
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD A,#30
|
; ¢àã¡ ¥¬ § éñ«ªã 48ª
|
||||||
LD B,#7F
|
EXX
|
||||||
OUT (C),A
|
SET 6,C
|
||||||
;!TEST
|
EXX
|
||||||
LD A,CNF_PORT.PENT_RESET + CNF_PORT.SCORP_RESET
|
LD A,CNF_PORT.SCORP_RESET
|
||||||
|
OR E
|
||||||
OUT (CNF_PORT.OFF),A
|
OUT (CNF_PORT.OFF),A
|
||||||
|
LD A,#10
|
||||||
;
|
;
|
||||||
DEC D
|
DEC D
|
||||||
; 4 ‚•Ž„ ‚ TR-DOS á § ªàëâ묨 128-¬¨ ¯®àâ ¬¨
|
|
||||||
JP Z,#3D29
|
|
||||||
; 5 ‚•Ž„ ‚ BASIC-48 á § ªàëâ묨 128-¬¨ ¯®àâ ¬¨
|
; 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
|
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
|
ENT
|
||||||
.Size EQU $-RES128_PROG
|
.Size EQU $-RES128_PROG
|
||||||
;-----------------------------------------------------------------------;
|
;-----------------------------------------------------------------------;
|
||||||
|
|||||||
@ -478,24 +478,26 @@ Hardware_Menu_STR:
|
|||||||
DC " " ; ¬ àª¥à ª®æ
|
DC " " ; ¬ àª¥à ª®æ
|
||||||
.Size EQU $ - Hardware_Menu_STR
|
.Size EQU $ - Hardware_Menu_STR
|
||||||
|
|
||||||
|
;!TODO ®âª«îç âì 7FFD ¨ 1FFD ®¤®¢à¥¬¥® ç¥à¥§ ®âª«î票¥ 1FFD ¢ cnf_port
|
||||||
;[ ] free zx pages!
|
; ¨ § 饫ªã ¢ 7FFD ¨ ç¥ vROM ¯®¤áã¥â áâà ¨æã BASIC128.
|
||||||
|
; ‚ § ¢¨á¨¬®á⨠®â ãáâ ¢«¨¢ ¥¬®© ª àâë ¯®à⮢ ¢ë¡¨à âì ª àâã ¤«ï ¯à®¯¨áë¢ ¨ï ¯®àâ AY
|
||||||
|
;
|
||||||
;**************************************************
|
;**************************************************
|
||||||
SPRINTER_ZX: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
SPRINTER_ZX: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||||
.custom_ROM: LD H,BIOS.RST_CONF.SP97_1
|
.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 áâà ¨æë
|
LD DE,4*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_0 ; !HARDCODE 4 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ¨æë
|
||||||
JR PREPARE_TO_START_ZX
|
JR PREPARE_TO_START_ZX
|
||||||
;
|
;
|
||||||
ZX_SPECTRUM_128:
|
ZX_SPECTRUM_128:
|
||||||
LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
.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
|
JR PENTAGON_128.zx
|
||||||
;
|
;
|
||||||
SCORPION_256: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
SCORPION_256: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
.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 áâà ¨æë
|
LD DE,4*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_1 ; !HARDCODE 4 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ¨æë
|
||||||
PREPARE_TO_START_ZX:
|
PREPARE_TO_START_ZX:
|
||||||
DI
|
DI
|
||||||
@ -522,9 +524,11 @@ PREPARE_TO_START_ZX:
|
|||||||
POP HL
|
POP HL
|
||||||
;
|
;
|
||||||
LD D,L ; !HARDCODE â®çª ¢å®¤ ¢ <20>‡“ ᯥªâàã¬
|
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 H,A
|
||||||
LD A,(SYS_PAGE.Block_ID.vROM)
|
|
||||||
LD L,A
|
|
||||||
LD A,C
|
LD A,C
|
||||||
JP GOTO_SPECTRUM
|
JP GOTO_SPECTRUM
|
||||||
;
|
;
|
||||||
@ -534,25 +538,25 @@ PREPARE_TO_START_ZX:
|
|||||||
;
|
;
|
||||||
PENTAGON_128: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
PENTAGON_128: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||||
LD BC,#FE*256 + %0000'0010
|
LD BC,#FE*256 + %0000'0010 ; = GOTO_SPEC reg B, reg A
|
||||||
.zx: LD DE,2*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.SCORP_RESET ; !HARDCODE 2 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 128
|
.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
|
JR PREPARE_TO_START_ZX
|
||||||
;
|
;
|
||||||
PENTAGON_512: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
PENTAGON_512: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||||
LD BC,#FE*256 + %0000'0010
|
LD BC,#FE*256 + %0000'0010 ; = GOTO_SPEC reg B, reg A
|
||||||
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 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
|
JR PREPARE_TO_START_ZX
|
||||||
;
|
;
|
||||||
Pentagon_48: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
Pentagon_48: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||||
LD BC,#FE*256 + %0000'0010
|
LD BC,#FE*256 + %0000'0010 ; = GOTO_SPEC reg B, reg A
|
||||||
.zx: LD DE,1*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_1 ; !HARDCODE 1 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠48 ª¡
|
.zx: LD DE,1*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_2 ; !HARDCODE 1 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠48 ª¡
|
||||||
JR PREPARE_TO_START_ZX
|
JR PREPARE_TO_START_ZX
|
||||||
;
|
;
|
||||||
ZX_Spectrum_48: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
ZX_Spectrum_48: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
.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
|
JR Pentagon_48.zx
|
||||||
|
|
||||||
SPRINTER_reset:
|
SPRINTER_reset:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user