mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +03:00
bugs...
This commit is contained in:
parent
1fa6c70b51
commit
29df4ae54f
@ -50,6 +50,7 @@ OPEN_FN: ;!TEST Current Dir ;[x] 15/10/23
|
||||
LD (IY+_sFM.ACCESS_MODE),A
|
||||
LD A,(TASK)
|
||||
LD (IY+_sFM.TASK_NUM),A
|
||||
;!FIXIT ®¯â¨¬¨§ãâì âãâ § ã«¥¨¥
|
||||
XOR A
|
||||
LD (IY+_sFM.OptimizedClusters),A
|
||||
LD (IY+_sFM.KnownCluster_L),A
|
||||
|
||||
@ -1 +1 @@
|
||||
17
|
||||
22
|
||||
@ -322,7 +322,12 @@ Init: PUSH IY
|
||||
; RET NC
|
||||
; LD A,DSS_Error.drv.UNKNOWN_FORMAT
|
||||
; RET
|
||||
;
|
||||
; ¯¥à¥¤¥« âì âã⠯஢¥àªã à §¬¥à ᥪâ®à ?
|
||||
;HL:IX - SECTOR
|
||||
; DE - ADDRESS
|
||||
; B - COUNTER
|
||||
; A - HDD LOG NUMBER
|
||||
SelectDrive: PUSH DE
|
||||
PUSH HL
|
||||
;
|
||||
@ -333,19 +338,21 @@ SelectDrive: PUSH DE
|
||||
;
|
||||
LOGDRV_ENTRY_FIND LOGDRV
|
||||
;
|
||||
; [ ] custom sector size
|
||||
CALL CHECK_IDE_SECTOR_SIZE
|
||||
LD A,DSS_Error.sys.UNKNOWN_FORMAT
|
||||
JR C,.error_pop
|
||||
;
|
||||
;
|
||||
LD E,(IY+LOGDRV.SECTOR_OFFSET)
|
||||
LD D,(IY+LOGDRV.SECTOR_OFFSET+1)
|
||||
ADD IX,DE
|
||||
LD E,(IY+LOGDRV.SECTOR_OFFSET+2)
|
||||
LD D,(IY+LOGDRV.SECTOR_OFFSET+3)
|
||||
; ; [ ] custom sector size
|
||||
; CALL CHECK_IDE_SECTOR_SIZE
|
||||
; LD A,DSS_Error.sys.UNKNOWN_FORMAT
|
||||
; JR C,.error_pop
|
||||
; ;
|
||||
; ;
|
||||
; LD E,(IY+LOGDRV.SECTOR_OFFSET)
|
||||
; LD D,(IY+LOGDRV.SECTOR_OFFSET+1)
|
||||
; ADD IX,DE
|
||||
; LD E,(IY+LOGDRV.SECTOR_OFFSET+2)
|
||||
; LD D,(IY+LOGDRV.SECTOR_OFFSET+3)
|
||||
POP HL
|
||||
ADC HL,DE
|
||||
CALL .get_data
|
||||
JR C,.error_pop2
|
||||
;
|
||||
POP DE
|
||||
LD A,DSS_Error.drv.SECTOR_NOT_FOUND
|
||||
RET C
|
||||
@ -354,8 +361,23 @@ SelectDrive: PUSH DE
|
||||
RET
|
||||
;
|
||||
.error_pop: POP HL
|
||||
POP DE
|
||||
.error_pop2: POP DE
|
||||
RET
|
||||
;
|
||||
.get_data: ; [ ] custom sector size
|
||||
CALL CHECK_IDE_SECTOR_SIZE
|
||||
LD A,DSS_Error.sys.UNKNOWN_FORMAT
|
||||
RET C
|
||||
;
|
||||
LD E,(IY+LOGDRV.SECTOR_OFFSET)
|
||||
LD D,(IY+LOGDRV.SECTOR_OFFSET+1)
|
||||
ADD IX,DE
|
||||
LD E,(IY+LOGDRV.SECTOR_OFFSET+2)
|
||||
LD D,(IY+LOGDRV.SECTOR_OFFSET+3)
|
||||
ADC HL,DE
|
||||
LD A,DSS_Error.sys.SECTOR_NOT_FOUND
|
||||
RET
|
||||
|
||||
|
||||
|
||||
; 00 - GET DEVICE PARAMETERS
|
||||
@ -620,19 +642,29 @@ MediaCheck: PUSH IY
|
||||
;
|
||||
POP AF ; ‚®ááâ ¢«¨¢ ¥¬ CF ¨ ª®¤ ®è¨¡ª¨ UNKNOWN_FORMAT, ¥á«¨ CF=1
|
||||
POP IY
|
||||
RET C
|
||||
RET C
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
.Reinit: LD A,(IY + LOGDRV.PHISICAL_DRV_NUMBER)
|
||||
.Reinit: LD A,DSS_MAX_DRIVES_AMOUNT - 1 ; ®£à ¨ç¨â¥«ì, ç⮡ ¥ ¤¥â¥ªâ¨âì ¡®«ìè¥ 1 à §¤¥«
|
||||
LD (Init.count),A
|
||||
LD A,(IY + LOGDRV.PHISICAL_DRV_NUMBER)
|
||||
LD (CURRENT_DRIVE.Number),A
|
||||
LD (LOGDRV_OFFSET),IY
|
||||
;RES 1,(IY + LOGDRV.MediaParameters) - á¡à áë¢ ¥âáï ¢ DEFINE_PARTITIONS
|
||||
PUSH IY
|
||||
CALL DEFINE_PARTITIONS
|
||||
POP AF
|
||||
POP IY
|
||||
RET C ; ‚®ááâ ¢«¨¢ ¥¬ CF ¨ ª®¤ ®è¨¡ª¨ UNKNOWN_FORMAT, ¥á«¨ CF=1
|
||||
LD A,#FF ;!HARDCODE drive changed
|
||||
POP AF ; ‚®ááâ ¢«¨¢ ¥¬ CF ¨ ª®¤ ®è¨¡ª¨ UNKNOWN_FORMAT, ¥á«¨ CF=1
|
||||
CALL C,SelectDrive.get_data
|
||||
POP IY
|
||||
JR NC,.no_errors
|
||||
;
|
||||
CP DSS_Error.sys.UNKNOWN_FORMAT
|
||||
SCF
|
||||
RET Z
|
||||
;
|
||||
.no_errors: LD A,#FF ;!HARDCODE drive changed
|
||||
OR A
|
||||
RET
|
||||
|
||||
@ -644,8 +676,10 @@ CHECK_IDE_SECTOR_SIZE:
|
||||
; LD HL,DSS_MAX_SECTOR_SIZE
|
||||
; AND A
|
||||
; SBC HL,DE
|
||||
PUSH HL
|
||||
LD HL,-DSS_MAX_SECTOR_SIZE - 1
|
||||
ADD HL,DE
|
||||
POP HL
|
||||
RET
|
||||
;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user