This commit is contained in:
Tolik 2024-10-01 00:44:31 +10:00
parent 895f85e04d
commit ea26e1f584
6 changed files with 187 additions and 192 deletions

@ -1 +1 @@
Subproject commit ba1bc48d1597637a512a5333d2a76f94b5b26231 Subproject commit 817bba0c1abebdb890f77ee129578ebe06fb5131

View File

@ -26,8 +26,7 @@ CMOS_EMU_WR:
; ;
; § ¯¨áì ¢ CMOS ; § ¯¨áì ¢ CMOS
CMOS_WR: CMOS_WR: ; [x]
; [x]
_mCMOS_MAX_TEST _mCMOS_MAX_TEST
; ;
CALL CMOS_TEST CALL CMOS_TEST
@ -40,9 +39,7 @@ CMOS_WR:
; ;
;!FIXIT ¯® ¤®ª¥ ­  äã­ªæ¨î ¤®«¦¥­ ¯¥à¥¤ ¢ë室®¬ CF áâ ¢¨âìáï ;!FIXIT ¯® ¤®ª¥ ­  äã­ªæ¨î ¤®«¦¥­ ¯¥à¥¤ ¢ë室®¬ CF áâ ¢¨âìáï
CMOS_EMU_RD: CMOS_EMU_RD: PUSH DE
PUSH DE
LD C,SLOT3 LD C,SLOT3
IN B,(C) IN B,(C)
LD E,SYS_PAGE LD E,SYS_PAGE
@ -51,14 +48,12 @@ CMOS_EMU_RD:
LD D, high SYS_PAGE.CMOS_EMULATOR LD D, high SYS_PAGE.CMOS_EMULATOR
LD A,(DE) LD A,(DE)
OUT (C),B OUT (C),B
POP DE POP DE
RET RET
; ;
; ç⥭¨¥ ¨§ CMOS ; ç⥭¨¥ ¨§ CMOS
CMOS_RD: CMOS_RD: ; [x]
; [x]
_mCMOS_MAX_TEST _mCMOS_MAX_TEST
; ;
CALL CMOS_TEST CALL CMOS_TEST

View File

@ -408,38 +408,42 @@ EXIT_SETUP: CALL INT_OFF
LD A,B LD A,B
JR NZ,.Set_Page41 JR NZ,.Set_Page41
CP 'X' CP 'X'
;JR Z,.vROMs_Installed
;
.Set_Page41: CALL NZ,ZXMODE_SETUP.Set_Page41 .Set_Page41: CALL NZ,ZXMODE_SETUP.Set_Page41
.vROMs_Installed:
; XOR A .set_ZX_params: LD BC,CMOS_CELL.QuickStartSetUp.Mask.ZxRom
; LD BC,4*256 + BIOS.ZX_MEMORY_MANAGER ; [ ] free zx pages! HARDCODE MANAGE_ZX_PAGES.GET_SCORP_RAM CALL GET_CMOS_VALUE
; RST ToBIOS_18 ;!TODO ­ áâà ¨¢ âì ¢ BIOS zx mode LD L,A
; JR NC,.set_ZX_params LD BC,CMOS_CELL.QuickStartSetUp.Mask.Hardware
; ; CALL GET_CMOS_VALUE
; CALL ScreenPOS.CRLF
; LD A,msgStrings.noMemZX
; LD E,COLORS.CGA.INK.RED
; CALL POSTMSC
; .loop_di: DI
; HALT
; JR .loop_di
;
.set_ZX_params: ;LD H,A ; Block_ID.vRAM
;LD DE,256*0 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_0
;LD A,(SYS_PAGE.Block_ID.vROM)
;LD L,A
;LD B,#FE ; !HARDCODE Port All Mode data
;LD A,%0000'0010
;EX AF,AF'
;XOR A
; ;
EX AF,AF
LD A,ROM.EXTENSION LD A,ROM.EXTENSION
OUT (SYS_PORT.ROM),A OUT (SYS_PORT.ROM),A
;XOR A EX AF,AF
;JP GOTO_SPECTRUM.FN OR A
;!TODO ­ áâà ¨¢ âì ¢ BIOS zx mode JP Z,SPRINTER_ZX.custom_ROM
JP SPRINTER_ZX DEC A
JP Z,Pentagon_48.custom_ROM
DEC A
JP Z,PENTAGON_128.custom_ROM
DEC A
JP Z,PENTAGON_512.custom_ROM
DEC A
JP Z,SCORPION_256.custom_ROM
DEC A
JP Z,ZX_Spectrum_48.custom_ROM
DEC A
JP Z,ZX_SPECTRUM_128.custom_ROM
; error
XOR A
OUT (SYS_PORT.ROM),A
LD D,CMOS_CELL.QuickStartSetUp
CALL CMOS_WR
LD A,SYS_PAGE
OUT (SLOT3),A
RET

View File

@ -732,8 +732,8 @@ SETDEF: ;!TODO
LD B,0 LD B,0
CALL WRITCMS CALL WRITCMS
LD A,CMOS_CELL.ZX_RUN_ROM LD A,CMOS_CELL.QuickStartSetUp
LD B,CMOS_CELL.ZX_RUN_ROM.BASIC_128 LD B,CMOS_CELL.QuickStartSetUp.ZxRom.Basic128
CALL WRITCMS CALL WRITCMS
CALL CHEKSUM CALL CHEKSUM
@ -1027,7 +1027,7 @@ DEFVAL: DB SAVERAM+EXTBIOS+SDELAY1 ;#0E - OPTIONS
DB 0 ;#18 - HEADS SLAVE DB 0 ;#18 - HEADS SLAVE
DB 0 ;#19 - SECTORS SLAVE DB 0 ;#19 - SECTORS SLAVE
DB 0 ;#1A - Int conf, Screen sync, COLOR STYLE DB 0 ;#1A - Int conf, Screen sync, COLOR STYLE
DB TURBON+SPRIN ;#1B - HARDARE CONF DB CNF_PORT.TURBO.ON + CNF_PORT.CNF_0 ;#1B - HARDARE CONF
DB BAS128 ;#1C - RESET MODE DB BAS128 ;#1C - RESET MODE
DB REBOOTM + 4 ;#1D - REBOOT + LoadZXroms by ZX flag DB REBOOTM + 4 ;#1D - REBOOT + LoadZXroms by ZX flag
DB 0 ;#1E - TRDOS DB 0 ;#1E - TRDOS

View File

@ -51,14 +51,14 @@
}, },
[2]={ [2]={
"LoadZXroms", -- 1 "LoadZXroms", -- 1
"TrDosA", -- 2 "QS_SetUpHardware", -- 2
"TrDosB", -- 3 "QS_SetUpZxRom", -- 3
"TrDosC", -- 4 "TrDosA", -- 4
"TrDosD", -- 5 "TrDosB", -- 5
"SetTime", -- 6 DEFINES.INC --> NEW_FEATURE "TrDosC", -- 6
"HddWrPr", -- 7 DEFINES.INC --> HDDwriteProtect "TrDosD", -- 7
-- 8 "SetTime", -- 8 DEFINES.INC --> NEW_FEATURE
-- 9 "HddWrPr", -- 9 DEFINES.INC --> HDDwriteProtect
-- 10 -- 10
-- 11 -- 11
-- 12 -- 12
@ -422,8 +422,37 @@ SettingsItemsTabs:
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.BootUpParams.Mask.QuickStartROM : DB %0000'0001 DW CMOS_CELL.BootUpParams.Mask.QuickStartROM : DB %0000'0001
DB msgStrings.parQuickStartSP DB msgStrings.valQuickStartSP
DB msgStrings.parQuickStartZX DB msgStrings.valSpectrum
_mSETitemParams QS_SetUpZxRom
DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum
DB paramName
DW CMOS_CELL.QuickStartSetUp.Mask.ZxRom : DB %0000'0101
DB msgStrings.valQS_SetUpBasic128
DB msgStrings.valQS_SetUpBasic48p
DB msgStrings.valQS_SetUpTrDos
DB msgStrings.valQS_SetUpExp
DB msgStrings.valQS_SetUpTrDos48
DB msgStrings.valQS_SetUpBasic48
_mSETitemParams QS_SetUpHardware
DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum
DB paramName
DW CMOS_CELL.QuickStartSetUp.Mask.Hardware : DB %0011'0000
DB msgStrings.valSprinterZX
DB msgStrings.valPentagon48
DB msgStrings.valPentagon128
DB msgStrings.valPentagon512
DB msgStrings.valScorpion256
DB msgStrings.valZXSpectrum48
DB msgStrings.valZXSpectrum128
_mSETitemParams TrDosA _mSETitemParams TrDosA
DW OnChangeAction.nothing DW OnChangeAction.nothing
@ -652,8 +681,7 @@ msgStrings:
_mSetStr val312_50, tmp_Counter : DZ '312/50Hz' _mSetStr val312_50, tmp_Counter : DZ '312/50Hz'
_mSetStr val320_49, tmp_Counter : DZ '320/49Hz' _mSetStr val320_49, tmp_Counter : DZ '320/49Hz'
_mSetStr parQuickStartROM, tmp_Counter : DZ 'Run in mode : ' _mSetStr parQuickStartROM, tmp_Counter : DZ 'Run in mode : '
_mSetStr parQuickStartZX, tmp_Counter : DZ 'Spectrum' _mSetStr valQuickStartSP, tmp_Counter : DZ 'Sprinter'
_mSetStr parQuickStartSP, tmp_Counter : DZ 'Sprinter'
_mSetStr valDefault, tmp_Counter : DZ 'Default' _mSetStr valDefault, tmp_Counter : DZ 'Default'
_mSetStr valFDD, tmp_Counter : DZ 'FDD ' ; ????? ¯®¤ã¬ âì ª ª¨¥ ¢ à¨ ­âë ¢®§¬®¦­ë _mSetStr valFDD, tmp_Counter : DZ 'FDD ' ; ????? ¯®¤ã¬ âì ª ª¨¥ ¢ à¨ ­âë ¢®§¬®¦­ë
_mSetStr valHDD, tmp_Counter : DZ 'HDD ' ; ????? ¯®¤ã¬ âì ª ª¨¥ ¢ à¨ ­âë ¢®§¬®¦­ë _mSetStr valHDD, tmp_Counter : DZ 'HDD ' ; ????? ¯®¤ã¬ âì ª ª¨¥ ¢ à¨ ­âë ¢®§¬®¦­ë
@ -665,6 +693,23 @@ msgStrings:
_mSetStr valLoadZXromsManually, tmp_Counter : DZ 'Manually ' _mSetStr valLoadZXromsManually, tmp_Counter : DZ 'Manually '
_mSetStr valLoadZXromsFlag, tmp_Counter : DZ 'By ZX flag' _mSetStr valLoadZXromsFlag, tmp_Counter : DZ 'By ZX flag'
_mSetStr valLoadZXromsCAD, tmp_Counter : DZ 'On restart' _mSetStr valLoadZXromsCAD, tmp_Counter : DZ 'On restart'
;
_mSetStr parQS_SetUpHardware, tmp_Counter : DZ 'ZX Mode : '
_mSetStr valSprinterZX, tmp_Counter : DZ 'SprinterZX'
_mSetStr valPentagon48, tmp_Counter : DZ 'Pent. 48 '
_mSetStr valPentagon128, tmp_Counter : DZ 'Pent. 128 '
_mSetStr valPentagon512, tmp_Counter : DZ 'Pent. 512 '
_mSetStr valScorpion256, tmp_Counter : DZ 'Scorp 256 '
_mSetStr valZXSpectrum48, tmp_Counter : DZ 'Speccy 48 '
_mSetStr valZXSpectrum128, tmp_Counter : DZ 'Speccy 128'
;
_mSetStr parQS_SetUpZxRom, tmp_Counter : DZ 'Start in ZX mode : '
_mSetStr valQS_SetUpBasic128, tmp_Counter : DZ 'Basic 128 '
_mSetStr valQS_SetUpBasic48p, tmp_Counter : DZ 'Basic 48+ '
_mSetStr valQS_SetUpTrDos, tmp_Counter : DZ 'TR-DOS '
_mSetStr valQS_SetUpExp, tmp_Counter : DZ 'Expansion '
_mSetStr valQS_SetUpTrDos48, tmp_Counter : DZ 'TR-DOS 48 '
_mSetStr valQS_SetUpBasic48, tmp_Counter : DZ 'Basic 48+ '
; _mSetStrRus valLoadZXromsAuto, tmp_Counter : DZ 'On call ' ; _mSetStrRus valLoadZXromsAuto, tmp_Counter : DZ 'On call '
IF NEW_FEATURE IF NEW_FEATURE
_mSetStr parSetTime, tmp_Counter : DZ 'Date and time setup : ' _mSetStr parSetTime, tmp_Counter : DZ 'Date and time setup : '
@ -812,8 +857,7 @@ msgRusStrings:
_mSetStrRus val312_50, tmp_Counter : DZ '312/50ľ' _mSetStrRus val312_50, tmp_Counter : DZ '312/50ľ'
_mSetStrRus val320_49, tmp_Counter : DZ '320/49ľ' _mSetStrRus val320_49, tmp_Counter : DZ '320/49ľ'
_mSetStrRus parQuickStartROM, tmp_Counter : DZ ' ¯ã᪠¢ ०¨¬¥ : ' _mSetStrRus parQuickStartROM, tmp_Counter : DZ ' ¯ã᪠¢ ०¨¬¥ : '
_mSetStrRus parQuickStartZX, tmp_Counter : DZ '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' _mSetStrRus valQuickStartSP, tmp_Counter : DZ '¯à¨­â¥à'
_mSetStrRus parQuickStartSP, tmp_Counter : DZ '<EFBFBD><EFBFBD><EFBFBD>'
_mSetStrRus valDefault, tmp_Counter : DZ '<EFBFBD>® 㬮«ç ­¨î' _mSetStrRus valDefault, tmp_Counter : DZ '<EFBFBD>® 㬮«ç ­¨î'
_mSetStrRus valFDD, tmp_Counter : DZ 'FDD ' _mSetStrRus valFDD, tmp_Counter : DZ 'FDD '
_mSetStrRus valHDD, tmp_Counter : DZ 'HDD ' _mSetStrRus valHDD, tmp_Counter : DZ 'HDD '
@ -825,6 +869,23 @@ msgRusStrings:
_mSetStrRus valLoadZXromsManually, tmp_Counter : DZ 'àãç­ãî ' _mSetStrRus valLoadZXromsManually, tmp_Counter : DZ 'àãç­ãî '
_mSetStrRus valLoadZXromsFlag, tmp_Counter : DZ '<EFBFBD>® ä« £ã ZX ' _mSetStrRus valLoadZXromsFlag, tmp_Counter : DZ '<EFBFBD>® ä« £ã ZX '
_mSetStrRus valLoadZXromsCAD, tmp_Counter : DZ '<EFBFBD>ਠà¥áâ àâ¥' _mSetStrRus valLoadZXromsCAD, tmp_Counter : DZ '<EFBFBD>ਠà¥áâ àâ¥'
;
_mSetStrRus parQS_SetUpHardware, tmp_Counter : DZ '<EFBFBD>¥¦¨¬ ZX : '
_mSetStrRus valSprinterZX, tmp_Counter : DZ '¯à¨­â¥à ZX '
_mSetStrRus valPentagon48, tmp_Counter : DZ '<EFBFBD>¥­â £®­ 48 '
_mSetStrRus valPentagon128, tmp_Counter : DZ '<EFBFBD>¥­â £®­ 128'
_mSetStrRus valPentagon512, tmp_Counter : DZ '<EFBFBD>¥­â £®­ 512'
_mSetStrRus valScorpion256, tmp_Counter : DZ 'ª®à¯¨®­ 256'
_mSetStrRus valZXSpectrum48, tmp_Counter : DZ '¯¥ªâà㬠48 '
_mSetStrRus valZXSpectrum128, tmp_Counter : DZ '¯¥ªâà㬠128'
;
_mSetStrRus parQS_SetUpZxRom, tmp_Counter : DZ 'â àâ ०¨¬  ZX ¢ : '
_mSetStrRus valQS_SetUpBasic128, tmp_Counter : DZ 'Basic 128 '
_mSetStrRus valQS_SetUpBasic48p, tmp_Counter : DZ 'Basic 48+ '
_mSetStrRus valQS_SetUpTrDos, tmp_Counter : DZ 'TR-DOS '
_mSetStrRus valQS_SetUpExp, tmp_Counter : DZ 'Expansion '
_mSetStrRus valQS_SetUpTrDos48, tmp_Counter : DZ 'TR-DOS 48 '
_mSetStrRus valQS_SetUpBasic48, tmp_Counter : DZ 'Basic 48+ '
; _mSetStrRus valLoadZXromsAuto, tmp_Counter : DZ '<27>ਠ¢ë§®¢¥ ' ; _mSetStrRus valLoadZXromsAuto, tmp_Counter : DZ '<27>ਠ¢ë§®¢¥ '
IF NEW_FEATURE IF NEW_FEATURE
_mSetStrRus parSetTime, tmp_Counter : DZ ' â  ¨ ¢à¥¬ï : ' _mSetStrRus parSetTime, tmp_Counter : DZ ' â  ¨ ¢à¥¬ï : '

View File

@ -425,7 +425,7 @@ CLEAR_RAM:
LD BC,BIOS.REINIT.FREE_NO_ZX_MEM LD BC,BIOS.REINIT.FREE_NO_ZX_MEM
;LD C,BIOS.FullInit ;LD C,BIOS.FullInit
; ;
RST_to_BIOS CALL ToBIOS_FromEXT
; ¯à¨ ®ç¨á⪥ ¯ ¬ï⨠¨§ ¬¥­î ᯥªâà㬠 ¢®§¢à â ¢ DSS ¯® CAD ; ¯à¨ ®ç¨á⪥ ¯ ¬ï⨠¨§ ¬¥­î ᯥªâà㬠 ¢®§¢à â ¢ DSS ¯® CAD
; ¡ã¤¥â ®¯ á­ë¬ (RAM Blocks ®á¢®¡®¤¨«¨áì), ; ¡ã¤¥â ®¯ á­ë¬ (RAM Blocks ®á¢®¡®¤¨«¨áì),
; ¯®í⮬㠮⪫îç ¥¬ ¯¥à¥å¢ â à¥á¥â . ; ¯®í⮬㠮⪫îç ¥¬ ¯¥à¥å¢ â à¥á¥â .
@ -433,7 +433,7 @@ CLEAR_RAM:
LD BC,BIOS.SET_PORTS LD BC,BIOS.SET_PORTS
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23 ;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
;CALL ToBIOS_3D13 ;CALL ToBIOS_3D13
RST_to_BIOS CALL ToBIOS_FromEXT
; ;
EI EI
RET RET
@ -518,106 +518,50 @@ Hardware_Menu_STR:
;****************************** ;******************************
;**************************************************
;Sprinter ZX
;[ ] free zx pages! ;[ ] free zx pages!
;**************************************************
/* SPRINTER_ZX: LD L,0 ; â®çª  ¢å®¤  ¢ <20>‡“
.custom_ROM: LD H,BIOS.RST_CONF.SP97_1
LD H,A ; Block_ID.vRAM
;!TODO ­ áâà ¨¢ âì ¢ BIOS zx mode
LD DE,256*0 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_0
LD A,(SYS_PAGE.Block_ID.vROM)
LD L,A
LD B,#FE ; !HARDCODE Port All Mode data
LD A,%0000'0010
EX AF,AF'
XOR A
;
;POP HL ; <20>… ­ã¦¥­.  ¤à¥á ¢®§¢à â  ¢ EXP ¨§ SETUP
LD A,ROM.EXTENSION
OUT (SYS_PORT.ROM),A
XOR A
JP GOTO_SPECTRUM.FN
; ‚室: D: 0 - BASIC 128, 1 - BASIC 48, 2 - TR-DOS 128,
; 3 - EXPANSION. C § ªàëâ묨 128-¬¨ ¯®àâ ¬¨:
; 4 - TR-DOS, 5 - BASIC 48
; E: §­ ç¥­¨¥ ¤«ï SYS_PORT/CNF_PORT
; H: ;!TODO Block_ID.vROM
; L: Block_ID.vRAM
; A: TASK Number = 0
; 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 áâப
; 1 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 48k. 3 áâà ­¨æë
; 2 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 128k. 2+6 áâà ­¨æë
; 3 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 512k. 2+30 áâà ­¨æë
; 4 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ­¨æë
*/
SPRINTER_ZX: ;DI
;LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
;OUT (SYS_PORT.ROM),A
;LD SP,SYS_PAGE.SYS_SP
;LD A,SYS_PAGE
;OUT (SLOT3),A
;
LD A,BIOS.RST_CONF.SP97_1
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 áâà ­¨æë
LD BC,#FE*256 + %0000'0010 ; !HARDCODE Port All Mode data. int pent, set default palette, 320 áâப LD BC,#FE*256 + %0000'0010 ; !HARDCODE Port All Mode data. int pent, set default palette, 320 áâப
JR PREPARE_TO_START_ZX JR PREPARE_TO_START_ZX
; ;
ZX_SPECTRUM_128: ZX_SPECTRUM_128:
;DI LD L,0 ; â®çª  ¢å®¤  ¢ <20>‡“
;LD SP,SYS_PAGE.SYS_SP .custom_ROM: LD H,BIOS.RST_CONF.AY8910
;LD A,SYS_PAGE
;OUT (SLOT3),A
;
LD A,BIOS.RST_CONF.AY8910
LD DE,2*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.SCORP_RESET ; !HARDCODE 2 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 128 LD DE,2*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.SCORP_RESET ; !HARDCODE 2 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 128
LD BC,#FA*256 + %1000'0011 LD BC,#FA*256 + %1000'0011
JR PREPARE_TO_START_ZX JR PREPARE_TO_START_ZX
SCORPION_256: ;DI
;LD SP,SYS_PAGE.SYS_SP
;LD A,SYS_PAGE
;OUT (SLOT3),A
; ;
LD A,BIOS.RST_CONF.AY8910 SCORPION_256: LD L,0 ; â®çª  ¢å®¤  ¢ <20>‡“
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
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 áâà ­¨æë
LD BC,#FE*256 + %1000'0001 LD BC,#FE*256 + %1000'0001
;JR PREPARE_TO_START_ZX
PREPARE_TO_START_ZX: PREPARE_TO_START_ZX:
DI DI
EX AF,AF'
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
OUT (SYS_PORT.ROM),A OUT (SYS_PORT.ROM),A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (SLOT3),A OUT (SLOT3),A
EX AF,AF'
; ;
PUSH HL
PUSH BC PUSH BC
PUSH DE PUSH DE
PUSH DE PUSH DE
; ;
LD C,A LD C,H
RST_to_BIOS CALL ToBIOS_FromEXT
; ;
POP DE POP DE
LD B,D LD B,D
;LD C,BIOS.ZX_MEMORY_MANAGER
;RST_to_BIOS
CALL MANAGE_ZX_PAGES.FN_ENTRANCE.API CALL MANAGE_ZX_PAGES.FN_ENTRANCE.API
JR C,.loop_rst JR C,.loop_rst
; ;
POP DE POP DE
POP BC POP BC
POP HL
; ;
LD D,0 ; !HARDCODE â®çª  ¢å®¤  ¢ <20>‡“ ᯥªâà㬠 LD D,L ; !HARDCODE â®çª  ¢å®¤  ¢ <20>‡“ ᯥªâà㬠
LD H,A LD H,A
LD A,(SYS_PAGE.Block_ID.vROM) LD A,(SYS_PAGE.Block_ID.vROM)
LD L,A LD L,A
@ -627,26 +571,17 @@ PREPARE_TO_START_ZX:
JP GOTO_SPECTRUM.FN JP GOTO_SPECTRUM.FN
; ;
.loop_rst: LD BC,BIOS.REINIT.HARD_RESET .loop_rst: LD BC,BIOS.REINIT.HARD_RESET
RST_to_BIOS CALL ToBIOS_FromEXT
JR .loop_rst JR .loop_rst
PENTAGON_128: ;DI
;LD SP,SYS_PAGE.SYS_SP
;LD A,SYS_PAGE
;OUT (SLOT3),A
; ;
LD A,BIOS.RST_CONF.AY8910 PENTAGON_128: LD L,0 ; â®çª  ¢å®¤  ¢ <20>‡“
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
LD DE,2*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.SCORP_RESET ; !HARDCODE 2 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 128 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 LD BC,#FE*256 + %0000'0010
JR PREPARE_TO_START_ZX JR PREPARE_TO_START_ZX
PENTAGON_512: ;DI
;LD SP,SYS_PAGE.SYS_SP
;LD A,SYS_PAGE
;OUT (SLOT3),A
; ;
LD A,BIOS.RST_CONF.AY8910 PENTAGON_512: LD L,0 ; â®çª  ¢å®¤  ¢ <20>‡“
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
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_1 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_512 + CNF_PORT.SCORP_RESET ; !HARDCODE 3 - ¢ë¤¥«¥­¨¥ ¯ ¬ï⨠Pentagon 512
LD BC,#FE*256 + %0000'0010 LD BC,#FE*256 + %0000'0010
JR PREPARE_TO_START_ZX JR PREPARE_TO_START_ZX
@ -676,17 +611,17 @@ PENTAGON_512: ;DI
; LD A,L ; LD A,L
; LD C,BIOS.FN_SYNC ; LD C,BIOS.FN_SYNC
; RST_to_BIOS ; CALL ToBIOS_FromEXT
; LD HL,#4104 ;!HARDCODE ; LD HL,#4104 ;!HARDCODE
; LD E,0 ; LD E,0
; LD BC,256*4 + BIOS.LP_OPEN_S ;!HARDCODE ; LD BC,256*4 + BIOS.LP_OPEN_S ;!HARDCODE
; RST_to_BIOS ; CALL ToBIOS_FromEXT
; LD HL,#5104 ;!HARDCODE ; LD HL,#5104 ;!HARDCODE
; LD E,0 ; LD E,0
; LD BC,256*4 + BIOS.LP_OPEN_S ; LD BC,256*4 + BIOS.LP_OPEN_S
; RST_to_BIOS ; CALL ToBIOS_FromEXT
; POP DE ; POP DE
; LD A,E ; LD A,E
@ -736,7 +671,7 @@ UTILIT:
;LD A,0 ; DETECT_HDD ;LD A,0 ; DETECT_HDD
;CALL EXP_HDD ;CALL EXP_HDD
LD C,BIOS.HDD_INIT LD C,BIOS.HDD_INIT
RST_to_BIOS CALL ToBIOS_FromEXT
;CALL DOS_OFF ;CALL DOS_OFF
@ -748,14 +683,14 @@ UTILIT:
UTIL_DISK: UTIL_DISK:
XOR A XOR A
LD C,BIOS.FreeMemRMD LD C,BIOS.FreeMemRMD
RST_to_BIOS CALL ToBIOS_FromEXT
LD HL,C_DEMO6 LD HL,C_DEMO6
CALL CALL_DOS1 CALL CALL_DOS1
XOR A XOR A
LD C,BIOS.GET_RAMD_ST LD C,BIOS.GET_RAMD_ST
RST_to_BIOS CALL ToBIOS_FromEXT
JR C,UTIL_DISK_L1 JR C,UTIL_DISK_L1
JR Z,UTIL_DISK_L1 JR Z,UTIL_DISK_L1