mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
BOOT: Fixed a bug that caused the inability to boot from a FAT32 partition.
This commit is contained in:
parent
fb13b0231b
commit
fba891fcf5
@ -40,7 +40,7 @@ LOADER_IN_BPB:
|
|||||||
DRIVE: _mSYSID
|
DRIVE: _mSYSID
|
||||||
DI
|
DI
|
||||||
; ;!TEST 26/03/2024
|
; ;!TEST 26/03/2024
|
||||||
; LD SP,#C000
|
LD SP,#C000
|
||||||
; ;
|
; ;
|
||||||
LD (DRIVE),A
|
LD (DRIVE),A
|
||||||
;[ ] 17.12.2023 § £à㧪 á ªâ¨¢®£® à §¤¥« , ¥ á ¯¥à¢®£®
|
;[ ] 17.12.2023 § £à㧪 á ªâ¨¢®£® à §¤¥« , ¥ á ¯¥à¢®£®
|
||||||
@ -131,9 +131,9 @@ PRINTX: CP "\r" ;
|
|||||||
;R01 End
|
;R01 End
|
||||||
|
|
||||||
MESSAGES:; 0 10 20 30 40 50 60 70 80
|
MESSAGES:; 0 10 20 30 40 50 60 70 80
|
||||||
.FAILURE: DB "\r\nFatal error! Press RESET to restart.\r\n",0
|
|
||||||
.INCORR: DB "\r\nOld BIOS version.\r\n",0
|
.INCORR: DB "\r\nOld BIOS version.\r\n",0
|
||||||
.ERRPART: DB "\r\nUnknown partition table.",0
|
.ERRPART: DB "\r\nUnknown partition table.",0
|
||||||
|
.FAILURE: DB "\r\nFatal error! Press RESET to restart.\r\n",0
|
||||||
.ERRIBPB: DB "\r\nInvalid BOOT sector.",0
|
.ERRIBPB: DB "\r\nInvalid BOOT sector.",0
|
||||||
.NO_SYS: DB "\r\nCan't open SYSTEM.DOS...",0
|
.NO_SYS: DB "\r\nCan't open SYSTEM.DOS...",0
|
||||||
.NOSHELL: DB "\r\nCan't open SYSTEM.EXE...",0
|
.NOSHELL: DB "\r\nCan't open SYSTEM.EXE...",0
|
||||||
@ -401,7 +401,8 @@ GET_BPB: XOR A
|
|||||||
;[ ] 17.12.2023 § £à㧪 á ªâ¨¢®£® à §¤¥« , ¥ á ¯¥à¢®£®
|
;[ ] 17.12.2023 § £à㧪 á ªâ¨¢®£® à §¤¥« , ¥ á ¯¥à¢®£®
|
||||||
LD (DRIVE+1),HL
|
LD (DRIVE+1),HL
|
||||||
;
|
;
|
||||||
.NX1: CP #00
|
.NX1: ;CP #00
|
||||||
|
AND A
|
||||||
JR NZ,.NX2
|
JR NZ,.NX2
|
||||||
;
|
;
|
||||||
; SET_PRM if FDD
|
; SET_PRM if FDD
|
||||||
|
|||||||
@ -80,6 +80,7 @@
|
|||||||
DEFINE EXEinfoMACRO 0
|
DEFINE EXEinfoMACRO 0
|
||||||
DEFINE App_EXE_Version 1
|
DEFINE App_EXE_Version 1
|
||||||
MACRO _mEXEinfo
|
MACRO _mEXEinfo
|
||||||
|
IF EXEinfoMACRO
|
||||||
BLOCK 10,' ' ; ‚ëà ¢¨¢ ¨¥ ¤«ï ªà ᨢ®£® ®â®¡à ¦¥¨ï ¢ HEX
|
BLOCK 10,' ' ; ‚ëà ¢¨¢ ¨¥ ¤«ï ªà ᨢ®£® ®â®¡à ¦¥¨ï ¢ HEX
|
||||||
BYTE ' Bootloader '
|
BYTE ' Bootloader '
|
||||||
BYTE ' installer '
|
BYTE ' installer '
|
||||||
@ -88,13 +89,14 @@
|
|||||||
BYTE ' Anatoliy '
|
BYTE ' Anatoliy '
|
||||||
BYTE ' Belyanskiy. '
|
BYTE ' Belyanskiy. '
|
||||||
BYTE ' Sprinter Team, '
|
BYTE ' Sprinter Team, '
|
||||||
BYTE ' 2024 '
|
BYTE ' 2025 '
|
||||||
|
ENDIF
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
; ¢¥àá¨ï ¯à®£à ¬¬ë
|
; ¢¥àá¨ï ¯à®£à ¬¬ë
|
||||||
major_version equ 2 ; áâ. ®¬¥à ¢¥àᨨ
|
major_version equ 3 ; áâ. ®¬¥à ¢¥àᨨ
|
||||||
minor_version equ 1 ; ¬«. ®¬¥à
|
minor_version equ 0 ; ¬«. ®¬¥à
|
||||||
;;
|
;;
|
||||||
SECTORS_OF_LOADER EQU 4 ; ᥪâ®à®¢ § £àã§ç¨ª
|
SECTORS_OF_LOADER EQU 4 ; ᥪâ®à®¢ § £àã§ç¨ª
|
||||||
.IN_BPB EQU 1
|
.IN_BPB EQU 1
|
||||||
@ -636,7 +638,7 @@ messages: db 0
|
|||||||
db (minor_version / 10) + '0',(minor_version % 10) + '0','.'
|
db (minor_version / 10) + '0',(minor_version % 10) + '0','.'
|
||||||
db "\r\nBuild date ",SYS_BUILD_DATE
|
db "\r\nBuild date ",SYS_BUILD_DATE
|
||||||
db "\r\nCopyright (c) 2006 Vasil Ivanov."
|
db "\r\nCopyright (c) 2006 Vasil Ivanov."
|
||||||
db "\r\nCopyright (c) 2023-2024 Sprinter Team."
|
db "\r\nCopyright (c) 2023-2025 Sprinter Team."
|
||||||
db "\r\n\n",0
|
db "\r\n\n",0
|
||||||
;
|
;
|
||||||
db "System successfully installed on disk " ;1
|
db "System successfully installed on disk " ;1
|
||||||
|
|||||||
@ -205,7 +205,7 @@ PORTAL.out_DRV: PUSH BC
|
|||||||
POP AF
|
POP AF
|
||||||
.ADCALL+1: CALL DISPATCH ; ¯ âç¨âáï INTDISK
|
.ADCALL+1: CALL DISPATCH ; ¯ âç¨âáï INTDISK
|
||||||
JR NC,PORTAL.out_DRV
|
JR NC,PORTAL.out_DRV
|
||||||
XOR DSS_Error.DRV_MASK
|
OR DSS_Error.DRV_MASK
|
||||||
SCF
|
SCF
|
||||||
JP PORTAL.out_DRV
|
JP PORTAL.out_DRV
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
@ -186,7 +186,6 @@ NMI_0x66: RETN ;JP NMI ;
|
|||||||
;
|
;
|
||||||
RST_10: PUSH HL
|
RST_10: PUSH HL
|
||||||
LD L,C
|
LD L,C
|
||||||
|
|
||||||
IF SHORT_RSTx10_TABLE
|
IF SHORT_RSTx10_TABLE
|
||||||
;[ ] R09
|
;[ ] R09
|
||||||
LD H,A
|
LD H,A
|
||||||
@ -405,7 +404,7 @@ DSS_API_TABLE: ;DS 512 ;,0
|
|||||||
INCLUDE "DOS_Proc.asm"
|
INCLUDE "DOS_Proc.asm"
|
||||||
INCLUDE "FS_Module.asm"
|
INCLUDE "FS_Module.asm"
|
||||||
INCLUDE "Procedures.asm"
|
INCLUDE "Procedures.asm"
|
||||||
|
;INCLUDE "drivers/drv_to_sys_errors.asm" ; !TODO
|
||||||
|
|
||||||
; [ ] 26/06/2024& read only 64kb cluster ; !TODO cluster 64kb
|
; [ ] 26/06/2024& read only 64kb cluster ; !TODO cluster 64kb
|
||||||
CHECK_64kb_CLUSTER:
|
CHECK_64kb_CLUSTER:
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
33
|
34
|
||||||
76
DSS/drivers/DRV_TO_SYS_ERRORS.ASM
Normal file
76
DSS/drivers/DRV_TO_SYS_ERRORS.ASM
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
; 19/04/2025 ¢â®¯¥à¥¢®¤ ®¬¥à ®è¨¡ª¨ DRV/BIOS ¢ SYS
|
||||||
|
DRV_ERROR_TO_SYS:
|
||||||
|
RET NC
|
||||||
|
RLA
|
||||||
|
JR NC,.no_correction
|
||||||
|
;
|
||||||
|
PUSH HL
|
||||||
|
PUSH AF
|
||||||
|
;
|
||||||
|
SRL A
|
||||||
|
CP .Size
|
||||||
|
LD HL,.TABLE
|
||||||
|
ADD A,L
|
||||||
|
JR NC,.no_inc
|
||||||
|
;
|
||||||
|
INC H
|
||||||
|
.no_inc: LD L,A
|
||||||
|
LD L,(HL)
|
||||||
|
POP AF
|
||||||
|
LD A,L
|
||||||
|
POP HL
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
.no_correction: RRA
|
||||||
|
RET
|
||||||
|
|
||||||
|
.TABLE: DB DSS_Error.sys.Unknown_Error ;BIOS.Error.NoErrors ; 0
|
||||||
|
DB DSS_Error.sys.INVALID_FUNCTION ;BIOS.Error.InvalidSubFunction ; 1
|
||||||
|
DB DSS_Error.sys.INVALID_DRIVE ;BIOS.Error.BadNumber ; 2
|
||||||
|
DB DSS_Error.sys.UNKNOWN_FORMAT ;BIOS.Error.UnknownDevice ; 3
|
||||||
|
DB DSS_Error.sys.NOT_READY ;BIOS.Error.NotReady ; 4
|
||||||
|
DB DSS_Error.sys.SEEK_ERROR ;BIOS.Error.Seek ; 5
|
||||||
|
DB DSS_Error.sys.SECTOR_NOT_FOUND ;BIOS.Error.SectorNotFound ; 6
|
||||||
|
DB DSS_Error.sys.CRC_ERROR ;BIOS.Error.CRC ; 7
|
||||||
|
DB DSS_Error.sys.WRITE_PROTECT ;BIOS.Error.WriteProtect ; 8
|
||||||
|
DB DSS_Error.sys.READ_ERROR ;BIOS.Error.Read ; 9
|
||||||
|
DB DSS_Error.sys.WRITE_ERROR ;BIOS.Error.Write ; 10
|
||||||
|
DB DSS_Error.sys.DRIVE_FAILURE ;BIOS.Error.Failure ; 11
|
||||||
|
DB DSS_Error.sys.BUSY_NO_MEDIA ;BIOS.Error.Busy ; 12
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#8D ; 13
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#8E ; 14
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#8F ; 15
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#90 ; 16
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#91 ; 17
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#92 ; 18
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#93 ; 19
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#94 ; 20
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#95 ; 21
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#96 ; 22
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#97 ; 23
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#98 ; 24
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#99 ; 25
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#9A ; 26
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#9B ; 27
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#9C ; 28
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#9D ; 29
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;#9E ; 30
|
||||||
|
DB DSS_Error.sys.NOT_SUPPORTED ;BIOS.Error.NotSupported ; 31
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;BIOS.Error.ATAPI.NoSence ; 32
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;BIOS.Error.ATAPI.RecoveredError; 33
|
||||||
|
DB DSS_Error.sys.NOT_READY ;BIOS.Error.ATAPI.NotReady ; 34
|
||||||
|
DB DSS_Error.sys.BUSY_NO_MEDIA ;BIOS.Error.ATAPI.MediumError ; 35
|
||||||
|
DB DSS_Error.sys.DRIVE_FAILURE ;BIOS.Error.ATAPI.HardwareError ; 36
|
||||||
|
DB DSS_Error.sys.INVALID_ACCESS ;BIOS.Error.ATAPI.IllegalRequest; 37
|
||||||
|
DB DSS_Error.sys.MEDIA_CHANGED ;BIOS.Error.ATAPI.UnitAttention ; 38
|
||||||
|
DB DSS_Error.sys.ACCESS_DENIED ;BIOS.Error.ATAPI.DataProtect ; 39
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;BIOS.Error.ATAPI; ; 40
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;BIOS.Error.ATAPI; ; 41
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;BIOS.Error.ATAPI; ; 42
|
||||||
|
DB DSS_Error.sys.NOT_READY ;BIOS.Error.ATAPI.AbortedCommand; 43
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;BIOS.Error.ATAPI; ; 44
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;BIOS.Error.ATAPI; ; 45
|
||||||
|
DB DSS_Error.sys.WRITE_ERROR ;BIOS.Error.ATAPI.Miscompare ; 46
|
||||||
|
DB DSS_Error.sys.Unknown_Error ;BIOS.Error.ATAPI; ; 47
|
||||||
|
DB DSS_Error.sys.NOT_READY ;BIOS.Error.ATAPI.TimeOut ; 48
|
||||||
|
.Size EQU .TABLE - $
|
||||||
@ -1 +1 @@
|
|||||||
503
|
504
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit 5a36cbee9ca6df7f7c1008fed7f242d0a505bc50
|
Subproject commit 040541dcbc42338505524aae36b43aecca4dee47
|
||||||
Loading…
Reference in New Issue
Block a user