mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-17 10:20:35 +03:00
bugfixes
This commit is contained in:
parent
f2eb4e47e3
commit
6cbff3cf53
119
BOOT/DSSBOOT.ASM
119
BOOT/DSSBOOT.ASM
@ -25,7 +25,7 @@
|
||||
ORG_ADDRESS EQU #8000
|
||||
LOAD_SECTORS EQU SECTORS_OF_LOADER.AFTER_BPB
|
||||
LOADER_IN_BPB:
|
||||
.MAX_SIZE EQU 300
|
||||
.MAX_SIZE EQU _sBOOT_SECTOR.PARTITION_TABLE - _sBOOT_SECTOR_PARAMS_FAT32
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
DISP ORG_ADDRESS
|
||||
@ -863,6 +863,64 @@ LOAD_CORE: LD (READMEM),DE
|
||||
;
|
||||
|
||||
|
||||
;
|
||||
; HL:DE / A => DE:BC, H=0, L - ®áâ ⮪
|
||||
; DIV_for_SPC:
|
||||
; LD C,A
|
||||
; DEC A
|
||||
; JR Z,.DIV_exit
|
||||
; ;
|
||||
; AND E
|
||||
; LD B,A ; ®áâ ⮪
|
||||
; LD A,C
|
||||
; RRCA
|
||||
; ;
|
||||
; .DIV_loop: SRL H
|
||||
; RR L
|
||||
; RR D
|
||||
; RR E
|
||||
; RRCA
|
||||
; JP NC,.DIV_loop
|
||||
; LD A,B
|
||||
; .DIV_exit: LD B,D
|
||||
; LD C,E
|
||||
; EX DE,HL
|
||||
; LD H,0
|
||||
; LD L,A
|
||||
; RET
|
||||
|
||||
|
||||
//// //// //// //// //// //// //// //// ////
|
||||
//// //// //// //// //// //// //// //// ////
|
||||
DISPLAY "SECTORS 1..3 DATA ENDS:\t",/H,$,". Size: ",/D,$-ORG_ADDRESS," b. Free: ",/D,512*3-($-ORG_ADDRESS)," b."
|
||||
ZERO_SECTOR_OF_BPB:
|
||||
.physical EQU $$$
|
||||
//// //// //// //// //// //// //// //// ////
|
||||
//// //// //// //// //// //// //// //// ////
|
||||
|
||||
|
||||
;FAT_BLOCK * Sectors_in_Block = SECTOR_OF_FAT
|
||||
; in: HL - Cache block
|
||||
; out: C:HL - logical number
|
||||
; B = 0
|
||||
GET_SECTOR_OF_FAT:
|
||||
LD A,(FatBuffer.FAT_TYPE)
|
||||
LD B,FAT_CACHE.Degree_32 ;!FIXIT ᤥ« âì ç¥à¥§ ¯¥à¥¬¥ãî
|
||||
XOR FAT_TYPE.x32
|
||||
JR Z,.next
|
||||
LD B,FAT_CACHE.Degree ;!FIXIT ᤥ« âì ç¥à¥§ ¯¥à¥¬¥ãî
|
||||
XOR A
|
||||
.next: LD C,A
|
||||
;
|
||||
.loop: ADD HL,HL ;x2
|
||||
ADC A,C
|
||||
DJNZ .loop
|
||||
;
|
||||
LD C,A
|
||||
RET
|
||||
;
|
||||
|
||||
|
||||
;¢å®¤: HL - ®¬¥à ª« áâ¥à
|
||||
;¢ë室: HL - ¤à¥á 㦮© ï祩ª¨ ¢ áâà ¨æ¥ FATPAGE
|
||||
; CF - çñâë©/¥çñâë© ¤à¥á ª« áâ¥à
|
||||
@ -979,63 +1037,7 @@ READ_FAT_TABLE: PUSH HL
|
||||
OUT (SLOT3),A
|
||||
POP HL
|
||||
RET
|
||||
;
|
||||
;FAT_BLOCK * Sectors_in_Block = SECTOR_OF_FAT
|
||||
; in: HL - Cache block
|
||||
; out: C:HL - logical number
|
||||
; B = 0
|
||||
GET_SECTOR_OF_FAT:
|
||||
LD A,(FatBuffer.FAT_TYPE)
|
||||
LD B,FAT_CACHE.Degree_32 ;!FIXIT ᤥ« âì ç¥à¥§ ¯¥à¥¬¥ãî
|
||||
XOR FAT_TYPE.x32
|
||||
JR Z,.next
|
||||
LD B,FAT_CACHE.Degree ;!FIXIT ᤥ« âì ç¥à¥§ ¯¥à¥¬¥ãî
|
||||
XOR A
|
||||
.next: LD C,A
|
||||
;
|
||||
.loop: ADD HL,HL ;x2
|
||||
ADC A,C
|
||||
DJNZ .loop
|
||||
;
|
||||
LD C,A
|
||||
RET
|
||||
;
|
||||
|
||||
|
||||
;
|
||||
; HL:DE / A => DE:BC, H=0, L - ®áâ ⮪
|
||||
; DIV_for_SPC:
|
||||
; LD C,A
|
||||
; DEC A
|
||||
; JR Z,.DIV_exit
|
||||
; ;
|
||||
; AND E
|
||||
; LD B,A ; ®áâ ⮪
|
||||
; LD A,C
|
||||
; RRCA
|
||||
; ;
|
||||
; .DIV_loop: SRL H
|
||||
; RR L
|
||||
; RR D
|
||||
; RR E
|
||||
; RRCA
|
||||
; JP NC,.DIV_loop
|
||||
; LD A,B
|
||||
; .DIV_exit: LD B,D
|
||||
; LD C,E
|
||||
; EX DE,HL
|
||||
; LD H,0
|
||||
; LD L,A
|
||||
; RET
|
||||
|
||||
|
||||
//// //// //// //// //// //// //// //// ////
|
||||
//// //// //// //// //// //// //// //// ////
|
||||
DISPLAY "SECTORS 1..3 DATA ENDS: ",/H,$,". Size: ",/D,$-ORG_ADDRESS," b. Free: ",/D,512*3-($-ORG_ADDRESS)," b."
|
||||
ZERO_SECTOR_OF_BPB:
|
||||
.physical EQU $$$
|
||||
//// //// //// //// //// //// //// //// ////
|
||||
//// //// //// //// //// //// //// //// ////
|
||||
;¢å®¤: HL':HL - ®¬¥à ª« áâ¥à
|
||||
;¢ë室: HL - ¤à¥á 㦮© ï祩ª¨ ¢ áâà ¨æ¥ FATPAGE
|
||||
GET_FAT32_CELL: ; ¤¢¨£ ¥¬ ¢«¥¢® HL':H
|
||||
@ -1181,9 +1183,6 @@ READ_FROM_FAT: PUSH HL
|
||||
//// //// //// //// //// //// //// //// ////
|
||||
//// //// //// //// //// //// //// //// ////
|
||||
DISPLAY "SECTORS 0 DATA ENDS:\t\t",/H,$,". Size: ",/D,$-ZERO_SECTOR_OF_BPB," b. Free: ",/D,LOADER_IN_BPB.MAX_SIZE-($-ZERO_SECTOR_OF_BPB)," b."
|
||||
DISPLAY "_sBOOT_SECTOR.BOOT_CODE ", /H, _sBOOT_SECTOR.BOOT_CODE
|
||||
DISPLAY "_sBOOT_SECTOR.PARTITION_TABLE ", /H, _sBOOT_SECTOR.PARTITION_TABLE
|
||||
DISPLAY "_sBOOT_SECTOR.MBR_SIGNATURE ", /H, _sBOOT_SECTOR.MBR_SIGNATURE
|
||||
ZERO_SECTOR_OF_BPB_END:
|
||||
ZERO_SECTOR_OF_BPB.Size EQU ZERO_SECTOR_OF_BPB_END - ZERO_SECTOR_OF_BPB
|
||||
//// //// //// //// //// //// //// //// ////
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
; A - File attribute
|
||||
; OUTPUT: A - FM
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
CREATE: ;!TEST Current Dir ;[x] 15/10/23
|
||||
CREATE: ;!TEST Current Dir ;[x] 15/10/23 ;CREATE_FN:
|
||||
PUSH HL
|
||||
LD C,A
|
||||
PUSH BC
|
||||
|
||||
@ -562,6 +562,9 @@ LEAVE: LD A,B
|
||||
LD (EXSTACK),SP
|
||||
LD SP,HL
|
||||
;
|
||||
;!TEST
|
||||
EI
|
||||
;
|
||||
EX DE,HL
|
||||
LD A,(ErrorLevel)
|
||||
;R12
|
||||
@ -573,9 +576,6 @@ LEAVE: LD A,B
|
||||
JP (HL)
|
||||
;
|
||||
.norm_exit: AND A
|
||||
;!TEST
|
||||
EI
|
||||
;
|
||||
JP (HL)
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@ -158,10 +158,10 @@ SEARCH:
|
||||
OR A
|
||||
JR Z,.error_file_not_found
|
||||
CP #E5 ;!HARDCODE #E5 - § ¯¨áì ¢ ¤¨à¥ªâ®à¨¨ ᢮¡®¤ , â ª ª ª ä ©«/¤¨à¥ªâ®à¨ï ¡ë«¨ 㤠«¥ë
|
||||
JR Z,.next_record_DE
|
||||
JR Z,.next_record
|
||||
LD A,(IX+FAT_DIRECTORY_RECORD.ATTRIBUT)
|
||||
AND C
|
||||
JR NZ,.next_record_DE
|
||||
JR NZ,.next_record
|
||||
LD HL,MASKARE
|
||||
LD D,XH
|
||||
LD E,XL
|
||||
@ -200,7 +200,6 @@ SEARCH:
|
||||
RET
|
||||
.next_record:
|
||||
LD DE,FAT_DIRECTORY_RECORD
|
||||
.next_record_DE:
|
||||
;!TEST 9/11/23 record index
|
||||
; EXX
|
||||
; INC DE
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 314ff5dbefe8d537655601dde8236957e4ed39a7
|
||||
Subproject commit 378f3fdd49601390b3aacfe51e45c6fceba25022
|
||||
Loading…
Reference in New Issue
Block a user