изменить описание после доделки

This commit is contained in:
Tolik 2025-09-11 18:56:53 +10:00
parent 6e39576837
commit 3e94825092
4 changed files with 73 additions and 49 deletions

@ -1 +1 @@
Subproject commit a0e68ce3a19bd47537585e49bfbf5e45fab197a1 Subproject commit a9892c6a6766ef6df26b45a82b1991ac836f2e4a

View File

@ -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 ¯à¨ ª ¦¤®¬ ¯¥à¥§ ¯ã᪥

View File

@ -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
;-----------------------------------------------------------------------; ;-----------------------------------------------------------------------;

View File

@ -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: