From ea26e1f584d19107c69547f3b3408af387bceb24 Mon Sep 17 00:00:00 2001 From: Tolik <85737314+Tolik-Trek@users.noreply.github.com> Date: Tue, 1 Oct 2024 00:44:31 +1000 Subject: [PATCH] ... --- Shared_Includes | 2 +- src/bios/exp/FUNC_CMOS.ASM | 67 ++++++++--------- src/bios/rom/SETUP/MAIN.asm | 62 ++++++++-------- src/bios/rom/SETUP/SETTINGS.asm | 16 ++-- src/bios/rom/SETUP/messages.z80 | 107 +++++++++++++++++++++------ src/bios/rom/ZX/ZX_MENU.ASM | 125 ++++++++------------------------ 6 files changed, 187 insertions(+), 192 deletions(-) diff --git a/Shared_Includes b/Shared_Includes index ba1bc48..817bba0 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit ba1bc48d1597637a512a5333d2a76f94b5b26231 +Subproject commit 817bba0c1abebdb890f77ee129578ebe06fb5131 diff --git a/src/bios/exp/FUNC_CMOS.ASM b/src/bios/exp/FUNC_CMOS.ASM index fac1e5d..a9e4f0a 100644 --- a/src/bios/exp/FUNC_CMOS.ASM +++ b/src/bios/exp/FUNC_CMOS.ASM @@ -26,48 +26,43 @@ CMOS_EMU_WR: ; ; запись в CMOS -CMOS_WR: - ; [x] - _mCMOS_MAX_TEST - ; - CALL CMOS_TEST - JR C,CMOS_EMU_WR -.WR: LD BC,CMOS.Port.Address.Write - OUT (C),D - LD BC,CMOS.Port.Data.Write - OUT (C),A - RET +CMOS_WR: ; [x] + _mCMOS_MAX_TEST + ; + CALL CMOS_TEST + JR C,CMOS_EMU_WR +.WR: LD BC,CMOS.Port.Address.Write + OUT (C),D + LD BC,CMOS.Port.Data.Write + OUT (C),A + RET ; ;!FIXIT по доке на функцию должен перед выходом CF ставиться -CMOS_EMU_RD: - PUSH DE - - LD C,SLOT3 - IN B,(C) - LD E,SYS_PAGE - OUT (C),E - LD E,D - LD D, high SYS_PAGE.CMOS_EMULATOR - LD A,(DE) - OUT (C),B - - POP DE - RET +CMOS_EMU_RD: PUSH DE + LD C,SLOT3 + IN B,(C) + LD E,SYS_PAGE + OUT (C),E + LD E,D + LD D, high SYS_PAGE.CMOS_EMULATOR + LD A,(DE) + OUT (C),B + POP DE + RET ; ; чтение из CMOS -CMOS_RD: - ; [x] - _mCMOS_MAX_TEST - ; - CALL CMOS_TEST - JR C,CMOS_EMU_RD -.RD: LD BC,CMOS.Port.Address.Write - OUT (C),D - LD BC,CMOS.Port.Data.Read - IN A,(C) - RET +CMOS_RD: ; [x] + _mCMOS_MAX_TEST + ; + CALL CMOS_TEST + JR C,CMOS_EMU_RD +.RD: LD BC,CMOS.Port.Address.Write + OUT (C),D + LD BC,CMOS.Port.Data.Read + IN A,(C) + RET ; ;Проверка наличия CMOS diff --git a/src/bios/rom/SETUP/MAIN.asm b/src/bios/rom/SETUP/MAIN.asm index 032c92e..ca9c74e 100644 --- a/src/bios/rom/SETUP/MAIN.asm +++ b/src/bios/rom/SETUP/MAIN.asm @@ -408,38 +408,42 @@ EXIT_SETUP: CALL INT_OFF LD A,B JR NZ,.Set_Page41 CP 'X' - ;JR Z,.vROMs_Installed - ; .Set_Page41: CALL NZ,ZXMODE_SETUP.Set_Page41 -.vROMs_Installed: -; XOR A -; LD BC,4*256 + BIOS.ZX_MEMORY_MANAGER ; [ ] free zx pages! HARDCODE MANAGE_ZX_PAGES.GET_SCORP_RAM -; RST ToBIOS_18 ;!TODO настраивать в BIOS zx mode -; JR NC,.set_ZX_params -; ; -; 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 BC,CMOS_CELL.QuickStartSetUp.Mask.ZxRom + CALL GET_CMOS_VALUE + LD L,A + LD BC,CMOS_CELL.QuickStartSetUp.Mask.Hardware + CALL GET_CMOS_VALUE ; -.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 - ; - LD A,ROM.EXTENSION + EX AF,AF + LD A,ROM.EXTENSION + OUT (SYS_PORT.ROM),A + EX AF,AF + OR A + JP Z,SPRINTER_ZX.custom_ROM + 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 - ;XOR A - ;JP GOTO_SPECTRUM.FN - ;!TODO настраивать в BIOS zx mode - JP SPRINTER_ZX + LD D,CMOS_CELL.QuickStartSetUp + CALL CMOS_WR + LD A,SYS_PAGE + OUT (SLOT3),A + RET + + diff --git a/src/bios/rom/SETUP/SETTINGS.asm b/src/bios/rom/SETUP/SETTINGS.asm index d0ef200..a69331e 100644 --- a/src/bios/rom/SETUP/SETTINGS.asm +++ b/src/bios/rom/SETUP/SETTINGS.asm @@ -732,8 +732,8 @@ SETDEF: ;!TODO LD B,0 CALL WRITCMS - LD A,CMOS_CELL.ZX_RUN_ROM - LD B,CMOS_CELL.ZX_RUN_ROM.BASIC_128 + LD A,CMOS_CELL.QuickStartSetUp + LD B,CMOS_CELL.QuickStartSetUp.ZxRom.Basic128 CALL WRITCMS CALL CHEKSUM @@ -1014,10 +1014,10 @@ STYLES: DB COLORS.CGA.PAPER.LGRAY + COLORS.CGA.INK.RED DB COLORS.CGA.PAPER.BLACK + COLORS.CGA.INK.RED -DEFVAL: DB SAVERAM+EXTBIOS+SDELAY1 ;#0E - OPTIONS - DB TDL250+TRATE30 ;#0F - KEYBOARD - DB SDIDE1+SDFDD1 ;#10 - SYSTEM DISKS - DB FD1720+FD2720+HD1AUTO+HD2AUTO ;#11 - FDD & Primary HDD's +DEFVAL: DB SAVERAM + EXTBIOS + SDELAY1 ;#0E - OPTIONS + DB TDL250 + TRATE30 ;#0F - KEYBOARD + DB SDIDE1 + SDFDD1 ;#10 - SYSTEM DISKS + DB FD1720 + FD2720+HD1AUTO+HD2AUTO ;#11 - FDD & Primary HDD's DB 0 ;#12 - CYLINDERS LOW MASTER DB 0 ;#13 - CYLINDERS HIGH MASTER DB 0 ;#14 - HEADS MASTER @@ -1027,12 +1027,12 @@ DEFVAL: DB SAVERAM+EXTBIOS+SDELAY1 ;#0E - OPTIONS DB 0 ;#18 - HEADS SLAVE DB 0 ;#19 - SECTORS SLAVE 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 REBOOTM + 4 ;#1D - REBOOT + LoadZXroms by ZX flag DB 0 ;#1E - TRDOS DB #77 ;#1F - SCREEN POSITION - DB HD1AUTO+HD2AUTO ;#20 - Secondary HDD's + DB HD1AUTO + HD2AUTO ;#20 - Secondary HDD's .Size EQU $-DEFVAL diff --git a/src/bios/rom/SETUP/messages.z80 b/src/bios/rom/SETUP/messages.z80 index c074bc7..7696466 100644 --- a/src/bios/rom/SETUP/messages.z80 +++ b/src/bios/rom/SETUP/messages.z80 @@ -50,23 +50,23 @@ "TypDelay", -- DEFINES.INC --> UnusedSettingsFeatures }, [2]={ - "LoadZXroms", -- 1 - "TrDosA", -- 2 - "TrDosB", -- 3 - "TrDosC", -- 4 - "TrDosD", -- 5 - "SetTime", -- 6 DEFINES.INC --> NEW_FEATURE - "HddWrPr", -- 7 DEFINES.INC --> HDDwriteProtect - -- 8 - -- 9 - -- 10 - -- 11 - -- 12 - -- 13 - -- 14 - -- 15 - -- 16 - -- 17 + "LoadZXroms", -- 1 + "QS_SetUpHardware", -- 2 + "QS_SetUpZxRom", -- 3 + "TrDosA", -- 4 + "TrDosB", -- 5 + "TrDosC", -- 6 + "TrDosD", -- 7 + "SetTime", -- 8 DEFINES.INC --> NEW_FEATURE + "HddWrPr", -- 9 DEFINES.INC --> HDDwriteProtect + -- 10 + -- 11 + -- 12 + -- 13 + -- 14 + -- 15 + -- 16 + -- 17 } } DeleteValueByDEFINE(SettingsTabsOrder,"NEW_FEATURE","SetTime") @@ -422,8 +422,37 @@ SettingsItemsTabs: DB columnNum,lineNum DB paramName DW CMOS_CELL.BootUpParams.Mask.QuickStartROM : DB %0000'0001 - DB msgStrings.parQuickStartSP - DB msgStrings.parQuickStartZX + DB msgStrings.valQuickStartSP + 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 DW OnChangeAction.nothing @@ -652,8 +681,7 @@ msgStrings: _mSetStr val312_50, tmp_Counter : DZ '312/50Hz' _mSetStr val320_49, tmp_Counter : DZ '320/49Hz' _mSetStr parQuickStartROM, tmp_Counter : DZ 'Run in mode : ' - _mSetStr parQuickStartZX, tmp_Counter : DZ 'Spectrum' - _mSetStr parQuickStartSP, tmp_Counter : DZ 'Sprinter' + _mSetStr valQuickStartSP, tmp_Counter : DZ 'Sprinter' _mSetStr valDefault, tmp_Counter : DZ 'Default' _mSetStr valFDD, tmp_Counter : DZ 'FDD ' ; ????? подумать какие варианты возможны _mSetStr valHDD, tmp_Counter : DZ 'HDD ' ; ????? подумать какие варианты возможны @@ -665,6 +693,23 @@ msgStrings: _mSetStr valLoadZXromsManually, tmp_Counter : DZ 'Manually ' _mSetStr valLoadZXromsFlag, tmp_Counter : DZ 'By ZX flag' _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 ' IF NEW_FEATURE _mSetStr parSetTime, tmp_Counter : DZ 'Date and time setup : ' @@ -812,8 +857,7 @@ msgRusStrings: _mSetStrRus val312_50, tmp_Counter : DZ '312/50Гц' _mSetStrRus val320_49, tmp_Counter : DZ '320/49Гц' _mSetStrRus parQuickStartROM, tmp_Counter : DZ 'Запуск в режиме : ' - _mSetStrRus parQuickStartZX, tmp_Counter : DZ 'Спектрум' - _mSetStrRus parQuickStartSP, tmp_Counter : DZ 'Спринтер' + _mSetStrRus valQuickStartSP, tmp_Counter : DZ 'Спринтер' _mSetStrRus valDefault, tmp_Counter : DZ 'По умолчанию' _mSetStrRus valFDD, tmp_Counter : DZ 'FDD ' _mSetStrRus valHDD, tmp_Counter : DZ 'HDD ' @@ -825,6 +869,23 @@ msgRusStrings: _mSetStrRus valLoadZXromsManually, tmp_Counter : DZ 'Вручную ' _mSetStrRus valLoadZXromsFlag, tmp_Counter : DZ 'По флагу ZX ' _mSetStrRus valLoadZXromsCAD, tmp_Counter : DZ 'При рестарте' +; + _mSetStrRus parQS_SetUpHardware, tmp_Counter : DZ 'Режим ZX : ' + _mSetStrRus valSprinterZX, tmp_Counter : DZ 'Спринтер ZX ' + _mSetStrRus valPentagon48, tmp_Counter : DZ 'Пентагон 48 ' + _mSetStrRus valPentagon128, tmp_Counter : DZ 'Пентагон 128' + _mSetStrRus valPentagon512, tmp_Counter : DZ 'Пентагон 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 'При вызове ' IF NEW_FEATURE _mSetStrRus parSetTime, tmp_Counter : DZ 'Дата и время : ' diff --git a/src/bios/rom/ZX/ZX_MENU.ASM b/src/bios/rom/ZX/ZX_MENU.ASM index 234ac55..f40018d 100644 --- a/src/bios/rom/ZX/ZX_MENU.ASM +++ b/src/bios/rom/ZX/ZX_MENU.ASM @@ -425,7 +425,7 @@ CLEAR_RAM: LD BC,BIOS.REINIT.FREE_NO_ZX_MEM ;LD C,BIOS.FullInit ; - RST_to_BIOS + CALL ToBIOS_FromEXT ; при очистке памяти из меню спектрума возврат в DSS по CAD ; будет опасным (RAM Blocks освободились), ; поэтому отключаем перехват ресета. @@ -433,7 +433,7 @@ CLEAR_RAM: LD BC,BIOS.SET_PORTS ;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23 ;CALL ToBIOS_3D13 - RST_to_BIOS + CALL ToBIOS_FromEXT ; EI RET @@ -518,106 +518,50 @@ Hardware_Menu_STR: ;****************************** -;************************************************** -;Sprinter ZX ;[ ] free zx pages! - -/* - - 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 ; НЕ нужен. адрес возврата в 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 +;************************************************** +SPRINTER_ZX: LD L,0 ; точка входа в ПЗУ +.custom_ROM: LD H,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 BC,#FE*256 + %0000'0010 ; !HARDCODE Port All Mode data. int pent, set default palette, 320 строк JR PREPARE_TO_START_ZX -; -ZX_SPECTRUM_128: - ;DI - ;LD SP,SYS_PAGE.SYS_SP - ;LD A,SYS_PAGE - ;OUT (SLOT3),A ; - LD A,BIOS.RST_CONF.AY8910 +ZX_SPECTRUM_128: + LD L,0 ; точка входа в ПЗУ +.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 BC,#FA*256 + %1000'0011 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 ; точка входа в ПЗУ +.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 BC,#FE*256 + %1000'0001 - ;JR PREPARE_TO_START_ZX PREPARE_TO_START_ZX: DI - EX AF,AF' - LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON - OUT (SYS_PORT.ROM),A - LD A,SYS_PAGE - OUT (SLOT3),A - EX AF,AF' + LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON + OUT (SYS_PORT.ROM),A + LD A,SYS_PAGE + OUT (SLOT3),A ; + PUSH HL PUSH BC PUSH DE PUSH DE ; - LD C,A - RST_to_BIOS + LD C,H + CALL ToBIOS_FromEXT ; POP DE LD B,D - ;LD C,BIOS.ZX_MEMORY_MANAGER - ;RST_to_BIOS CALL MANAGE_ZX_PAGES.FN_ENTRANCE.API JR C,.loop_rst ; POP DE POP BC + POP HL ; - LD D,0 ; !HARDCODE точка входа в ПЗУ спектрума + LD D,L ; !HARDCODE точка входа в ПЗУ спектрума LD H,A LD A,(SYS_PAGE.Block_ID.vROM) LD L,A @@ -627,26 +571,17 @@ PREPARE_TO_START_ZX: JP GOTO_SPECTRUM.FN ; .loop_rst: LD BC,BIOS.REINIT.HARD_RESET - RST_to_BIOS + CALL ToBIOS_FromEXT 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 ; точка входа в ПЗУ +.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 BC,#FE*256 + %0000'0010 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 ; точка входа в ПЗУ +.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 BC,#FE*256 + %0000'0010 JR PREPARE_TO_START_ZX @@ -676,17 +611,17 @@ PENTAGON_512: ;DI ; LD A,L ; LD C,BIOS.FN_SYNC -; RST_to_BIOS +; CALL ToBIOS_FromEXT ; LD HL,#4104 ;!HARDCODE ; LD E,0 ; LD BC,256*4 + BIOS.LP_OPEN_S ;!HARDCODE -; RST_to_BIOS +; CALL ToBIOS_FromEXT ; LD HL,#5104 ;!HARDCODE ; LD E,0 ; LD BC,256*4 + BIOS.LP_OPEN_S -; RST_to_BIOS +; CALL ToBIOS_FromEXT ; POP DE ; LD A,E @@ -736,7 +671,7 @@ UTILIT: ;LD A,0 ; DETECT_HDD ;CALL EXP_HDD LD C,BIOS.HDD_INIT - RST_to_BIOS + CALL ToBIOS_FromEXT ;CALL DOS_OFF @@ -748,14 +683,14 @@ UTILIT: UTIL_DISK: XOR A LD C,BIOS.FreeMemRMD - RST_to_BIOS + CALL ToBIOS_FromEXT LD HL,C_DEMO6 CALL CALL_DOS1 XOR A LD C,BIOS.GET_RAMD_ST - RST_to_BIOS + CALL ToBIOS_FromEXT JR C,UTIL_DISK_L1 JR Z,UTIL_DISK_L1