diff --git a/Shared_Includes b/Shared_Includes index 51026c3..a6dee8e 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 51026c3fd8d5614706b5ed1214c4be8ffcdd73e6 +Subproject commit a6dee8e17ae12b251f306290793a56a6b0dd5ae3 diff --git a/src/ZX_ROMS/new/SP_TRDOS.bin b/src/ZX_ROMS/new/SP_TRDOS.bin index 6bfe769..738fc75 100644 Binary files a/src/ZX_ROMS/new/SP_TRDOS.bin and b/src/ZX_ROMS/new/SP_TRDOS.bin differ diff --git a/src/bios/exp/DCP.ASM b/src/bios/exp/DCP.ASM index ad62c8c..29d609a 100644 --- a/src/bios/exp/DCP.ASM +++ b/src/bios/exp/DCP.ASM @@ -638,6 +638,8 @@ SET_PORTS: OUT (C),D ; вернуть страницу OUT (SYS_PORT.ROM),A ; + CALL DOS_OFF + ; ;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23 POP AF RET PO diff --git a/src/bios/exp/EXP.asm b/src/bios/exp/EXP.asm index b1c74c4..7780629 100644 --- a/src/bios/exp/EXP.asm +++ b/src/bios/exp/EXP.asm @@ -772,7 +772,6 @@ set_config: XOR A OUT (BorderColor),A CALL EMM.CheckColdInit ; инициализация памяти - POP HL ; конфигурация JR Reset_Handler.start ; ************************************* @@ -1598,6 +1597,8 @@ DOS_ON: NOP ;*************************************** _mInfoBLOCK #3E00-$,#FF DOS_OFF: + PUSH AF + LD A,R DI PUSH AF PUSH BC @@ -1608,6 +1609,9 @@ DOS_OFF: LD (#5BFF),BC ; !HARDCODE POP BC POP AF + JP PO,.no_EI + EI +.no_EI: POP AF RET ;*************************************** diff --git a/src/bios/exp/EXTENDED/IDE/HDD_DRV.ASM b/src/bios/exp/EXTENDED/IDE/HDD_DRV.ASM index f175b01..eb10943 100644 --- a/src/bios/exp/EXTENDED/IDE/HDD_DRV.ASM +++ b/src/bios/exp/EXTENDED/IDE/HDD_DRV.ASM @@ -233,14 +233,13 @@ RST8RDR: RESTORE_PORTY POP IY ;EX AF,AF' ;!TEST 21/11/23 RET -;READ SECTOR(S) -RDS000: - LD C,IDE.Device.HDD + + ;READ SECTOR(S) +RDS000: LD C,IDE.Device.HDD CALL SELECT_DRIVE RET C EXX LD DE,#C140 ;WAIT BUSY=0 & READY=1 & ERR=0 - ;LD BC,IDE.Read.Status CALL WAITPRT EXX RET C diff --git a/src/bios/exp/FUNC_4x.ASM b/src/bios/exp/FUNC_4x.ASM index 7e3d8ea..5292651 100644 --- a/src/bios/exp/FUNC_4x.ASM +++ b/src/bios/exp/FUNC_4x.ASM @@ -350,7 +350,7 @@ FN_HDD_RECAL: FN_HDD_TEST_IDE: LD E,#00 LD BC,IDE.Write.DeviceHead - LD A,#A0 ; !!!!! глянуть + LD A,IDE.Drive.Master OUT (C),A CALL TEST_HDD_DRV @@ -359,7 +359,7 @@ FN_HDD_TEST_IDE: SET 0,E NO_HDD1: LD BC,IDE.Write.DeviceHead - LD A,#B0 ; !!!!! глянуть + LD A,IDE.Drive.Slave OUT (C),A CALL TEST_HDD_DRV @@ -442,31 +442,27 @@ FN_HDD_INIT: LD A,IDE.Drive.Master OUT (C),A CALL TEST_HDD_DRV - JR NZ,HD_ABSENT -HD_C0_L3: - WAIT_HDD - + JR NZ,.ABSENT + ; +.L3: WAIT_HDD LD BC,IDE.Write.Command LD A,IDE.ATA.IdentifyDevice ;!FIXIT переделать OUT (C),A - WAIT_HDD - BIT IDE.ControlBit.DataRequest,A - JR NZ,HD_C0_L2 + JR NZ,.L2 SCF RET -HD_ABSENT: +.ABSENT: LD BC,IDE.Write.DeviceHead - LD A,#B0 ; !HARDCODE + LD A,IDE.Drive.Slave OUT (C),A CALL TEST_HDD_DRV - JR Z,HD_C0_L3 + JR Z,.L3 SCF RET - -HD_C0_L2: - LD BC,IDE.Read.Data + ; +.L2: LD BC,IDE.Read.Data LD HL,SYS_PAGE.HD_IDF_ADR IN A,(SLOT3) LD D,A @@ -474,51 +470,46 @@ HD_C0_L2: OUT (SLOT3),A INIR INIR + ; B = 0 + LD H,B + LD L,B LD A,(SYS_PAGE.HD_IDF_ADR.sectors) ; число секторов LD C,A - LD HL,0 - LD B,H + ;LD HL,0 + ;LD B,H LD A,(SYS_PAGE.HD_IDF_ADR.heads) ; число головок -.loop: - ADD HL,BC +.loop: ADD HL,BC DEC A JR NZ,.loop LD (SYS_PAGE.HD_IDF_ADR.sec_cyl),HL - WAIT_HDD - LD BC,IDE.Read.Control IN A,(C) AND #10 LD B,A LD A,(SYS_PAGE.HD_IDF_ADR.heads) ; число головок - DEC A AND #0F - OR #A0 + OR IDE.Drive.Master OR B LD H,A - LD A,(SYS_PAGE.HD_IDF_ADR+99) ; !HARDCODE через структуру! - BIT 1,A - JR Z,HD_C0_NO_LBA + LD A,(SYS_PAGE.HD_IDF_ADR.LBA_CHS) + ;BIT 1,A + AND %0000'0010 + JR Z,.NO_LBA SET 6,H - -HD_C0_NO_LBA: +.NO_LBA: LD BC,IDE.Write.DeviceHead OUT (C),H - LD A,(SYS_PAGE.HD_IDF_ADR.sectors) ; число секторов - LD BC,IDE.Write.Counter OUT (C),A LD A,D OUT (SLOT3),A - LD A,IDE.ATA.InitializeDeviceParameters ; SET HDD PARAMETERS - CALL HD_CMD_EXE - RET - + ;CALL HD_CMD_EXE + ;RET HD_CMD_EXE: CALL HD_WAIT RET C @@ -550,40 +541,38 @@ HD_W_EXIT: AND A RET -/* -;EXTENDED.ASM Version -HDD_LBA: ;???!!!! - POP BC - LD L,E - LD E,D - LD D,XL - XOR A - LD H,A - RET +; ;EXTENDED.ASM Version +; HDD_LBA: ;???!!!! +; POP BC +; LD L,E +; LD E,D +; LD D,XL +; XOR A +; LD H,A +; RET +; HD_CALC_SECS: +; LD A,XH +; AND A +; SCF +; RET NZ ; ошибка, слишком большой HDD -HD_CALC_SECS: - LD A,XH - AND A - SCF - RET NZ ; ошибка, слишком большой HDD +; PUSH BC +; LD BC,IDE.Write.DeviceHead +; DEC B +; IN A,(C) +; BIT 6,A +; JR NZ,HDD_LBA +; ; POP BC - PUSH BC - LD BC,IDE.Write.DeviceHead - DEC B - IN A,(C) - BIT 6,A - JR NZ,HDD_LBA -; POP BC -*/ ;EXP_HDD.ASM Version HD_CALC_SECS: - ;PUSH BC + PUSH BC LD BC,IDE.Read.Control IN A,(C) AND %0100'0000 - ;POP BC + POP BC JR Z,.CHS ; LBA LD L,E @@ -632,13 +621,13 @@ HD_CALC_SECS: .DIV_END: ; DE - результат, HL - остаток ; DE - цилиндр - LD A,(SYS_PAGE.HD_IDF_ADR+12) ; !HARDCODE .sectors + LD A,(SYS_PAGE.HD_IDF_ADR.sectors) ; A - число секторов на дорожке ; HL - номер сектора в цилиндре - LD B,0 LD C,A ;LD BC,(MS_BPB+S_P_T) ; ЧИСЛО СЕКТОРОВ НА ДОРОЖКЕ XOR A + LD B,A .LOOP: SBC HL,BC INC A JR NC,.LOOP @@ -653,16 +642,60 @@ HD_CALC_SECS: AND A RET - +; [ ] 07/01/2024 bit0: Primary/Secondary, bit1 - master/slave, bit2..3: использующийся раздел в MBR +; !TODO сделать работу с переменными биоса SYS_PAGE.IDE_0..3 FN_HDD_PART: - BIT 0,A + DI + PUSH BC + PUSH HL + ; + EX AF,AF' + IN A,(SLOT3) + EX AF,AF' + ; + LD C,A + AND 1 LD A,IDE.Chanel.Primary JR Z,.SET_CH LD A,IDE.Chanel.Secondary .SET_CH: OUT (IDE.Chanel.Set),A + ; + LD A,C + PUSH AF + AND 2 + ; + LD A,IDE.Drive.Slave + JR NZ,.SET_Master_Slave + ; + LD A,IDE.Drive.Master +.SET_Master_Slave: + LD BC,IDE.Write.DeviceHead + OUT (C),A + CALL TEST_HDD_DRV + JR NZ,.Error + CALL FN_HDD_INIT.L3 + JR C,.Error + ; + POP BC + LD A,SYS_PAGE + OUT (SLOT3),A + ; + LD A,B + LD (SYS_PAGE.CURRENT_HDD),A + ; + EX AF,AF' + OUT (SLOT3),A + ; + AND A +.exit: POP HL + POP BC + EI RET - + ; +.Error: POP AF + SCF + JR .exit ; ENDMODULE ;************************************************ diff --git a/src/bios/exp/FUNC_RAM_ROM_DRV.ASM b/src/bios/exp/FUNC_RAM_ROM_DRV.ASM index 091873f..1ada46a 100644 --- a/src/bios/exp/FUNC_RAM_ROM_DRV.ASM +++ b/src/bios/exp/FUNC_RAM_ROM_DRV.ASM @@ -27,7 +27,8 @@ EMM.GetMemSize: ;----------------------------------------------------------------------; ; - +;!!!!! Если используется SLOT3 со своими страницами, то не пользоваться +; стеком, там может быть SP в режиме спектрума ; ;----------------------------------------------------------------------; !FIXIT SAFE_RGADR + @@ -875,7 +876,8 @@ GET_RAMD_NUM: ; A - current RAM Drives set SWAP_RAM_DRIVES: IN A,(SLOT3) - PUSH AF + EX AF,AF' + PUSH AF ;на всякий случай LD A,SYS_PAGE OUT (SLOT3),A ; @@ -906,8 +908,10 @@ SWAP_RAM_DRIVES: LD (SYS_PAGE.CURRENT_RAM_DRV),A LD C,A ; -.exit: POP AF +.exit: EX AF,AF' OUT (SLOT3),A + POP AF + EX AF,AF' LD A,C RET ;----------------------------------------------------------------------; diff --git a/src/bios/exp/FUNC_SYS.ASM b/src/bios/exp/FUNC_SYS.ASM index 2435101..c40bdad 100644 --- a/src/bios/exp/FUNC_SYS.ASM +++ b/src/bios/exp/FUNC_SYS.ASM @@ -126,7 +126,6 @@ EMM.FullInit: EX AF,AF' LD A,SYS_PAGE OUT (SLOT2),A - INIT_SYS_ALL: DI LD HL,ID_SPRINTER_length @@ -143,7 +142,7 @@ INIT_SYS_ALL: ;!TODO что за переменные? LD HL,SYS_PAGE.DISK_TYPE-#4000 - LD (HL),0 ;!HARDCODE + LD (HL),0 ;!HARDCODE INC HL LD (HL),1 ;!HARDCODE INC HL @@ -161,7 +160,7 @@ INIT_SYS_ALL: LD A,9 LD (SYS_PAGE.MSD_SECS-#4000),A - LD A,0 + XOR A LD (SYS_PAGE.DS_1440-#4000),A LD HL,SYS_PAGE.RAMD_KEYS-#4000 diff --git a/src/bios/exp/FUNK_FOR_TRDOS.ASM b/src/bios/exp/FUNK_FOR_TRDOS.ASM index bb305be..63fb05a 100644 --- a/src/bios/exp/FUNK_FOR_TRDOS.ASM +++ b/src/bios/exp/FUNK_FOR_TRDOS.ASM @@ -19,7 +19,7 @@ DISK_REDIR: RET ; -;!TODO исправить SLOT2 на SLOT3 и затестить +;!TODO исправить SLOT2 на SLOT3 и затестить, но не пользоваться стеком тогда ;!TODO добавить описание SET_DISK_TYPE: PUSH HL diff --git a/src/bios/rom/ROM.asm b/src/bios/rom/ROM.asm index 021f1e7..f0ea0db 100644 --- a/src/bios/rom/ROM.asm +++ b/src/bios/rom/ROM.asm @@ -315,16 +315,21 @@ SW_ROM: ;*************************************** _mInfoBLOCK #3E00-$,#FF ;DOS_OFF: + PUSH AF + LD A,R DI - PUSH AF - PUSH BC - LD BC,(#5BFF) ; !HARDCODE - LD A,#C9 - LD (#5BFF),A ; !HARDCODE - CALL #5BFF ; !HARDCODE - LD (#5BFF),BC ; !HARDCODE - POP BC - POP AF + PUSH AF + PUSH BC + LD BC,(#5BFF) ; !HARDCODE + LD A,#C9 ; Opcode RET + LD (#5BFF),A ; !HARDCODE + CALL #5BFF ; !HARDCODE + LD (#5BFF),BC ; !HARDCODE + POP BC + POP AF + JP PO,.no_EI + EI +.no_EI: POP AF RET ;*************************************** diff --git a/src/bios/rom/ZX_MODE.ASM b/src/bios/rom/ZX_MODE.ASM deleted file mode 100644 index b610b83..0000000 --- a/src/bios/rom/ZX_MODE.ASM +++ /dev/null @@ -1,396 +0,0 @@ -;.PRINTX "Service." - -SERVICE: - LD DE,SR_MENU - LD BC,SR_MENU.Size - CALL RUN_MENU ;09f3 - LD HL,SR_TAB - CALL EXEC_PNT - JR SERVICE - -SR_TAB: DW UTILIT - DW GOTO_TRDOS.m128 - DW GOTO_TRDOS.m48 - DW TURBO_OFF - DW TURBO_ON - DW CLEAR_RAM - DW RET_FROM_M - -; DC - every last character of a string will have bit 7 set -SR_MENU: - BYTE 8 ; количество пунктов - BYTE 'Options ',#FF ; заголовок меню - DC 'RUN disk.trd' - DC '128 TR-DOS' - DC '48 TR-DOS' - DC 'TURBO OFF ' - DC 'TURBO ON ' - DC 'Clear RAM' - DC 'RETURN' - DC " " ; маркер конца -.Size EQU $-SR_MENU - -;***************************** - -;SR_48R: -GOTO_TRDOS: -.m128: LD A,#10 - JR .RUN -;SR_48: -.m48: LD A,#30 ; Стопор на PORT_128 !!! -;SR_48A: -.RUN: LD BC,#7FFD - OUT (C),A - LD BC,0 ; НА 0 !! - PUSH BC - LD BC,#3D2F ; В DOS ! - PUSH BC - JP SW_ROM - -;******************************* -TURBO_OFF: - LD A,BIOS.FN_TURBO.OFF - LD C,BIOS.FN_TURBO - JP_to_BIOS -TURBO_ON: - LD A,BIOS.FN_TURBO.ON - LD C,BIOS.FN_TURBO - JP_to_BIOS - -;******************************* - -CLEAR_RAM: - DI - LD C,BIOS.FullInit - RST_to_BIOS - ;CALL ToBIOS_3D13 - ; при очистке памяти из меню спектрума возврат в DSS по CAD - ; будет опасным (RAM Blocks освободились), - ; поэтому отключаем перехват ресета. - ;!TODO придумать как отключать перехват только на возврат в DSS - LD A,ACEX.RET_PORT - 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 - ; - EI - RET - -;SR_CL_MEM: -; DI -; LD A,10H -;SR_CL_R2: -; LD BC,1FFDH -; OUT (C),A -; EX AF,AF' -; XOR A -;SR_CL_R1: -; LD BC,7FFDH -; OUT (C),A -; LD HL,0C000H -; LD DE,0C001H -; LD BC,03FFFH -; LD (HL),L -; LDIR -; INC A -; CP 48H -; JR NZ,SR_CL_R1 -; EX AF,AF' -; CP 0 -; JP Z,BASIC_128 ; выход на сброс BASIC 128 -; LD A,0 -; JR SR_CL_R2 - -;***************************** -; *** MENU IS-DOS *** -;***************************** - -ISDOS: - LD HL,IS_TAB - LD DE,IS_MENU - LD BC,IS_MENU.Size - PUSH HL - CALL RUN_MENU - POP HL - CALL EXEC_PNT - JR ISDOS - -IS_TAB: -; DW TR_DOS -; DW SP_DOS - DW SPRINTER_1X - DW AY8910_X - DW PENTAGON - DW SCORPION - DW PENTAGON512 - DW SPRINTER_reset ;SPRINTER_2X - DW RET_FROM_M - -; DC - every last character of a string will have bit 7 set -IS_MENU: - BYTE 8 ; количество пунктов - BYTE 'Hardware',#FF ; заголовок меню - DC 'Sprinter ZX ' - DC 'ZX Spectrum' - DC 'Pentagon 128' - DC 'Scorpion 256' - DC 'Pentagon 512' - DC 'Restart ' - DC 'RETURN' - DC " " ; маркер конца -.Size EQU $-IS_MENU - -;****************************** -;SP_DOS: -; LD B,0E2H -; LD A,0E1H -; JR TR_DOS1 -;TR_DOS: -; LD B,0EAH -; LD A,0E1H -;TR_DOS1: -; CALL DOS_ON -; CALL SET_ROM_PAGES -; CALL DOS_OFF -; RET -;****************************** - - -;************************************************** -;Sprinter ZX -SPRINTER_1X: - CALL _SET_CNF - LD C,BIOS.RST_CONF.SP97_1 - RST_to_BIOS - CALL CNF_PN_320 - LD L,2 ;FN_SYNC.INT_PENT - JR 1F ;!FIXIT метку придумать -; -;ZX Spectrum -AY8910_X: - CALL _SET_CNF - LD C,BIOS.RST_CONF.AY8910 - RST_to_BIOS - - LD A,#FA ; no ACC, Original waits - LD (Port_All_Mode),A - - CALL CNF_SC_312 - LD L,3 ;FN_SYNC.INT_ORIG -1: LD DE,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON - CALL CONFIG_SET - CALL CLS ;!FIXIT нужно ли? - RET -; - -SCORPION: - CALL _SET_CNF - CALL CNF_SC_312 - LD L,1 ;FN_SYNC.INT_SCORP - LD DE,CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON - JR CONFIG_SET - -PENTAGON: - CALL _SET_CNF - CALL CNF_PN_320 - LD L,2 ;FN_SYNC.INT_PENT - LD DE,CNF_PORT.CNF_2 + CNF_PORT.TURBO.ON - JR CONFIG_SET - -PENTAGON512: - CALL _SET_CNF - CALL CNF_PN_320 - LD L,2 ;FN_SYNC.INT_PENT - LD DE,CNF_PORT.CNF_2 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_512 -; JR CONFIG_SET -CONFIG_SET: - PUSH DE - - EI - HALT - DI - - IN A,(SLOT3) - EX AF,AF' - LD A,SYS_PAGE - OUT (SLOT3),A - LD (SYS_PAGE.CONFIG_DE),DE - ;!FIXIT есть ли смысл делать до FN_SYNC? - LD A,(ZX_VARS.BORDER) - RRCA - RRCA - RRCA - AND 7 - OUT (BorderColor),A - ; - EX AF,AF' - OUT (SLOT3),A - - LD A,L - LD C,BIOS.FN_SYNC - RST_to_BIOS - - LD HL,#4104 ;!HARDCODE - LD E,0 - LD BC,256*4 + BIOS.LP_OPEN_S ;!HARDCODE - RST_to_BIOS - - LD HL,#5104 ;!HARDCODE - LD E,0 - LD BC,256*4 + BIOS.LP_OPEN_S - RST_to_BIOS - - POP DE - LD A,E - OUT (SYS_PORT.ROM),A - - IM 1 - EI - RET - -SPRINTER_reset: - CALL _SET_CNF - LD BC,256*BIOS.REINIT.SOFT_RESET + BIOS.REINIT - JP_to_BIOS - -_SET_CNF: - DI - LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON - OUT (SYS_PORT.ROM),A - RET - -CNF_SC_312: - LD A,Port_VSYNC.SET_312L - OUT (Port_VSYNC),A - RET - -CNF_PN_320: - LD A,Port_VSYNC.SET_320L - OUT (Port_VSYNC),A - RET - -; LD A,CNF_0 -; OUT (SYS_PORT.ROM),A -; CALL DOS_OFF -; JP 0 - -;***************************** -; *** MENU UTILITES *** -;***************************** -;!FIXIT это запуск c:\disk.trd - не думаю, что это нужно, можно заменить -UTILIT: - LD HL,C_DISK_C - CALL CALL_DOS1 - - ;!TEST - ;CALL DOS_ON - ;LD A,0 ; DETECT_HDD - ;CALL EXP_HDD - LD C,BIOS.HDD_INIT - RST_to_BIOS - ;CALL DOS_OFF - ; - - JR C,DISK_UTILIT - - LD HL,C_DISK_C3 - CALL CALL_DOS1 - -UTIL_DISK: - XOR A - ;!TEST - LD C,BIOS.FreeMemRMD - RST_to_BIOS - ;CALL EMM_FN3 ;!!!!! через RST_to_BIOS EMM.FreeMemRMD - ; - - LD HL,C_DEMO6 - CALL CALL_DOS1 - - XOR A - ;!TEST - LD C,BIOS.GET_RAMD_ST - RST_to_BIOS - ;CALL GET_RAMD_ST - ; - - JR C,UTIL_DISK_L1 - JR Z,UTIL_DISK_L1 - - LD HL,C_DISK_C1 - CALL CALL_DOS1 - LD HL,C_DISK_C2 - CALL CALL_DOS1 - RET - -UTIL_DISK_L1: - LD A,(ZX_VARS.OPER_DISK) - INC A - CP 2 - JR Z,DISK_UTIL_RET - LD HL,C_DISK_C5 - CALL CALL_DOS1 - JR UTIL_DISK - -DISK_UTIL_RET: - LD HL,C_DISK_C6 - CALL CALL_DOS1 - RET - -DISK_UTILIT: - LD HL,C_DISK_C4 - CALL CALL_DOS1 - JR UTIL_DISK - -C_DEMO6: DB .Size, ZX_Token.rem, ':/disk.trd', 13,80 -.Size EQU $-C_DEMO6-1 - -;*************************************** - -;VERSION: DEFB 22,21,0 -; DEFB 16,2,"Expansion 3.02  1997 ELSY Co.",16,1,0FFh - -;********************************************** - -DOS_RUN: - LD HL,C_DISK_C1 - CALL CALL_DOS1 - - LD HL,C_DISK_C2 - CALL CALL_DOS1 - RET - -START_TRD: - LD HL,C_DISK_C - CALL CALL_DOS1 - LD HL,C_DISK_C0 - CALL CALL_DOS1 - LD HL,C_DISK_C3 - CALL CALL_DOS1 - RET - -C_DISK_C: DB .Size, ZX_Token.rem, ':', 13,80 -.Size EQU $-C_DISK_C-1 - -C_DISK_C0: DB .Size, ZX_Token.rem, ':/CLEAR E', 13,80 -.Size EQU $-C_DISK_C0-1 - -C_DISK_C1: DB .Size, ZX_Token.rem, ':/RMD E', 13,80 -.Size EQU $-C_DISK_C1-1 - -C_DISK_C2: DB .Size, ZX_Token.rem, ':RUN', 13,80 -.Size EQU $-C_DISK_C2-1 - -C_DISK_C3: DB .Size, ZX_Token.rem, ':/HDD', 13,80 -.Size EQU $-C_DISK_C3-1 - -C_DISK_C4: DB .Size, ZX_Token.rem, ':/FDD', 13,80 -.Size EQU $-C_DISK_C4-1 - -C_DISK_C5: DB .Size, ZX_Token.rem, ':/B:', 13,80 -.Size EQU $-C_DISK_C5-1 - -C_DISK_C6: DB .Size, ZX_Token.rem, ':/A:', 13,80 -.Size EQU $-C_DISK_C6-1 -; \ No newline at end of file diff --git a/src/bios/shared/RECOVERY.IMG b/src/bios/shared/RECOVERY.IMG index d8a8bed..38a5535 100755 Binary files a/src/bios/shared/RECOVERY.IMG and b/src/bios/shared/RECOVERY.IMG differ