mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +03:00
-bug in FREE_PROCESS_FMs
-bug in Check_0_BPB
This commit is contained in:
parent
a93bbd76ad
commit
5f493aec7c
@ -9,14 +9,6 @@
|
||||
ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
||||
LD C,A
|
||||
;
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
; [ ] 10/06/24
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,.old_EXE
|
||||
;
|
||||
ENDIF
|
||||
;
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
CALL DIR_PATH_CHECK
|
||||
|
||||
@ -11,14 +11,6 @@
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
CHDIR_FN:
|
||||
;!TEST Current Dir ;[x] 15/10/23
|
||||
;
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
; [ ] 10/06/24
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,CHDIR
|
||||
;
|
||||
ENDIF
|
||||
;
|
||||
PUSH HL
|
||||
CALL DIR_PATH_CHECK
|
||||
|
||||
@ -7,13 +7,6 @@ CREATE: ;!TEST Current Dir ;[x] 15/10/23 ;CREATE_FN:
|
||||
PUSH HL
|
||||
LD C,A
|
||||
;
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
; [ ] 10/06/24
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,.old_EXE
|
||||
ENDIF
|
||||
;
|
||||
PUSH BC
|
||||
CALL DIR_PATH_CHECK
|
||||
POP BC
|
||||
@ -42,13 +35,6 @@ CREATE: ;!TEST Current Dir ;[x] 15/10/23 ;CREATE_FN:
|
||||
PUSH HL
|
||||
LD C,A
|
||||
;
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
; [ ] 10/06/24
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,.old_EXE
|
||||
ENDIF
|
||||
;
|
||||
PUSH BC
|
||||
CALL DIR_PATH_CHECK
|
||||
POP BC
|
||||
|
||||
@ -2,16 +2,7 @@
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
; INPUT: HL - "c:\dir\filename.ext",#00 without simbols * ?
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
DEL_FN: ;!TEST
|
||||
;!TEST Current Dir ;[x] 15/10/23
|
||||
;
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
; [ ] 10/06/24
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,.old_EXE
|
||||
ENDIF
|
||||
;
|
||||
DEL_FN: ;Current Dir ;[x] 15/10/23
|
||||
PUSH HL
|
||||
CALL DIR_PATH_CHECK
|
||||
POP HL
|
||||
|
||||
@ -309,13 +309,6 @@ _TST_PROC: CALL GETMEM
|
||||
PUSH HL ; +2 EXSTACK size for 1 task
|
||||
PUSH DE ; +2
|
||||
;
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
; [ ] 10/06/24
|
||||
LD A,(EXE_VERSION)
|
||||
PUSH AF ; +2
|
||||
;
|
||||
ENDIF
|
||||
;
|
||||
IN A,(SLOT3)
|
||||
LD D,A
|
||||
IN A,(SLOT2)
|
||||
@ -426,11 +419,6 @@ _TST_PROC_2: LD SP,(CORE_BUFFERS.EXEBUFF.SP_REG)
|
||||
LD HL,CORE_BUFFERS.CurrentPath
|
||||
LD A,(CORE_BUFFERS.EXEBUFF.VERSION)
|
||||
;
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
; [ ] 10/06/24
|
||||
LD (EXE_VERSION),A
|
||||
;
|
||||
ENDIF
|
||||
OR A
|
||||
JR NZ,.set_path
|
||||
CALL DIR_PATH_CHANGE.FullCurrent
|
||||
@ -532,9 +520,6 @@ ENVPATH: DB "PATH=",0
|
||||
EXE_EXT: DB "EXE"
|
||||
TASK: DB #01 ; ã஢¥ì ⥪ã饩 ¯à®£à ¬¬ë
|
||||
;
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
EXE_VERSION: DB #01 ; [ ] 10/06/24
|
||||
ENDIF
|
||||
RAMMAP: DB #00,#00,#00,#00
|
||||
ErrorLevel: DB #00 ; ª®¤ § ¢¥àè¥¨ï ¯à®£à ¬¬ë (¯à®æ¥áá )
|
||||
EXE_FM: DB #00 ; ¤¥áªà. ä ©«
|
||||
@ -575,11 +560,6 @@ LEAVE: LD A,B
|
||||
OUT (SLOT2),A
|
||||
LD A,H
|
||||
OUT (SLOT3),A
|
||||
; [ ] 10/06/24
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
POP AF ; -2
|
||||
LD (EXE_VERSION),A
|
||||
ENDIF
|
||||
;
|
||||
POP DE ; -2
|
||||
POP HL ; -2
|
||||
@ -655,7 +635,9 @@ FREE_PROCESS_FMs:
|
||||
PUSH DE
|
||||
LD A,FMCOUNT+1
|
||||
SUB B
|
||||
PUSH BC
|
||||
CALL CLOSE_FN
|
||||
POP BC
|
||||
POP DE
|
||||
POP IY
|
||||
.skip: POP AF
|
||||
|
||||
@ -16,13 +16,6 @@
|
||||
F_FIRST_FN: CALL F_FIRST.INIT_VARS
|
||||
PUSH HL
|
||||
;!TEST Current Dir ;[x] 15/10/23
|
||||
; [ ] 10/06/24
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,.old_EXE
|
||||
ENDIF
|
||||
;
|
||||
CALL DIR_PATH_CHECK
|
||||
RET C
|
||||
;
|
||||
|
||||
@ -14,14 +14,7 @@ MKDIR:
|
||||
RET
|
||||
;
|
||||
; Entry point ;!TEST Current Dir ;[x] 15/10/23
|
||||
.B: ; [ ] 10/06/24
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,.START
|
||||
ENDIF
|
||||
;
|
||||
PUSH HL
|
||||
.B: PUSH HL
|
||||
CALL DIR_PATH_CHECK
|
||||
POP HL
|
||||
RET C
|
||||
|
||||
@ -15,13 +15,6 @@
|
||||
OPEN_FN: ;!TEST Current Dir ;[x] 15/10/23
|
||||
;AND #7F ; ACCESS_MODE bit7 - ¤«ï ¢ãâ॥£® ¨á¯®«ì§®¢ ¨ï))) ;!TODO
|
||||
LD (.TMP),A
|
||||
; [ ] 10/06/24
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,.old_EXE
|
||||
ENDIF
|
||||
;
|
||||
PUSH HL
|
||||
CALL DIR_PATH_CHECK.forceCheck
|
||||
POP HL
|
||||
|
||||
@ -10,13 +10,6 @@
|
||||
; DE - "new_name.ext",#00 without simbols * ?
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
RENAME: ;!TEST Current Dir ;[x] 15/10/23
|
||||
; [ ] 10/06/24
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,.old_EXE
|
||||
ENDIF
|
||||
;
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
CALL DIR_PATH_CHECK.forceCheck
|
||||
|
||||
@ -9,13 +9,6 @@
|
||||
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
RMDIR: ;!TEST Current Dir ;[x] 15/10/23
|
||||
; [ ] 10/06/24
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,.START
|
||||
ENDIF
|
||||
;
|
||||
PUSH HL
|
||||
CALL DIR_PATH_CHECK
|
||||
POP HL
|
||||
|
||||
@ -36,13 +36,6 @@ SCANDRV:
|
||||
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
|
||||
; 4. ¢á直© á«ãç © ¯¥à¥ç¨âë¢ ¥¬ ¤¨à४â®à¨î
|
||||
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
|
||||
; [ ] 10/06/24
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,.old_EXE
|
||||
ENDIF
|
||||
;
|
||||
LD A,(CORE_BUFFERS.CurrentPath)
|
||||
SUB 'A'
|
||||
CALL OPENDSK.open
|
||||
@ -62,19 +55,6 @@ SCANDRV:
|
||||
RET PO
|
||||
EI
|
||||
RET
|
||||
;
|
||||
; [ ] 10/06/24
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
.old_EXE: LD A,(CORE_BUFFERS.FatBuffer.DRIVE)
|
||||
CALL OPENDSK
|
||||
;
|
||||
LD HL,CORE_BUFFERS.WorkDirectory
|
||||
CALL CHDIR
|
||||
JR NC,.exit
|
||||
LD HL,CORE_BUFFERS.WorkDirectory
|
||||
LD (HL),0
|
||||
JR .exit
|
||||
ENDIF
|
||||
|
||||
.BOOT_DSK_LOST: DZ "Boot drive lost o_O"
|
||||
.BOOT_DSK_LOST.size EQU $-.BOOT_DSK_LOST
|
||||
|
||||
@ -58,11 +58,11 @@ WRITE: ;!TEST ;!TODO 5/12/23 ; [ ]
|
||||
JR C,.ERR3
|
||||
LD C,B
|
||||
LD HL,(.R_POINT)
|
||||
LD DE,#0200 ;!HARDCODE
|
||||
LD DE,#0200 ;!HARDCODE sector size
|
||||
.WOV5: ADD HL,DE
|
||||
DJNZ .WOV5
|
||||
; B=0
|
||||
LD (.R_POINT),HL
|
||||
LD (.R_POINT),HL ;!FIXIT íâ® § 票¥ 㦥 à ácç¨âë¢ ¥âáï ¯¥à¥¤ ¢ë室®¬ ¢ BLOK_WRITE?
|
||||
;LD B,0
|
||||
POP HL
|
||||
ADD HL,BC
|
||||
|
||||
@ -6,14 +6,6 @@
|
||||
; C - ®¬¥à ¯®á«¥¤¥£® ¤¨áª ¢ á¨á⥬¥
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
CURDISK_FN:
|
||||
;
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
; [ ] 10/06/24
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
JR Z,CURDISK
|
||||
;
|
||||
ENDIF
|
||||
LD A,(LDRIVE)
|
||||
LD C,A
|
||||
LD A,(CORE_BUFFERS.CurrentPath)
|
||||
|
||||
@ -130,15 +130,7 @@ DISKINF: LD C,B
|
||||
CP #FF ; !FIXIT WorkDirectory
|
||||
;!TEST !Current Dir
|
||||
;JR Z,CURRDS ;R06
|
||||
.CurrentDisk: ; [ ] 10/06/24
|
||||
IF OLD_DSS_FOR_OLD_EXE
|
||||
LD A,(EXE_VERSION)
|
||||
OR A
|
||||
LD A,(CORE_BUFFERS.FatBuffer.DRIVE)
|
||||
JR Z,.old_EXE
|
||||
ENDIF
|
||||
;
|
||||
LD A,(CORE_BUFFERS.CurrentPath)
|
||||
.CurrentDisk: LD A,(CORE_BUFFERS.CurrentPath)
|
||||
SUB 'A'
|
||||
.old_EXE: LD HL,CORE_BUFFERS.FatBuffer.DRIVE
|
||||
CP (HL)
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
|
||||
;File Manipulator (FM)
|
||||
;[ ] fat32
|
||||
STRUCT _sFM ; 51 bytes
|
||||
STRUCT _sFM ; 54 bytes
|
||||
; from FAT
|
||||
; .NAME: TEXT 8,{". "," "} ;+ #00 +00 NAME
|
||||
; .EXT: TEXT 3,{" "," "} ;+ #08 +08 EXT
|
||||
|
||||
@ -1 +1 @@
|
||||
12
|
||||
15
|
||||
@ -102,8 +102,6 @@ DSS_MAX_DRIVES_AMOUNT EQU 26
|
||||
DEFINE EnoughtOnly_LF 0
|
||||
DEFINE MINIMUM_BIOS_VERSION 2*256 + 55 ; version 2.55
|
||||
DEFINE NON_REMOVABLE_FDD 0
|
||||
;
|
||||
DEFINE OLD_DSS_FOR_OLD_EXE 0 ; !TODO
|
||||
|
||||
;
|
||||
;-------------------[MEMORY]-------------------------;
|
||||
|
||||
@ -752,7 +752,16 @@ DEFINE_PARTITIONS:
|
||||
PUSH AF
|
||||
LD A,SHARED_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,(Init.count) ; [ ] for ZIP disk A:
|
||||
PUSH AF ; [ ] for ZIP disk A:
|
||||
CALL .Start
|
||||
; [ ] for ZIP disk A:
|
||||
LD A,(Init.count)
|
||||
LD B,A
|
||||
POP AF
|
||||
CP B
|
||||
CALL Z,.Check_0_BPB
|
||||
;
|
||||
POP AF
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
@ -945,42 +954,6 @@ DEFINE_PARTITIONS:
|
||||
ADD IY,DE
|
||||
POP BC
|
||||
DJNZ .DOSAGA
|
||||
;
|
||||
.tst_zipNoMBR: ; [ ] zip no MBR
|
||||
; ⮫쪮 ¤«ï Removable media
|
||||
LD A,(CURRENT_DRIVE.Removable)
|
||||
AND %0000'0001
|
||||
RET Z
|
||||
; ⮫쪮 ¤«ï ATAPI
|
||||
LD A,(CURRENT_DRIVE.Number)
|
||||
LD B,A
|
||||
AND #F0
|
||||
CP DRIVE_CODES.SPRINTER.ATAPI
|
||||
JR NZ,.exit
|
||||
;
|
||||
XOR A
|
||||
LD HL,(CURRENT_SECTOR.Low)
|
||||
OR H
|
||||
OR L
|
||||
LD HL,(CURRENT_SECTOR.High)
|
||||
OR H
|
||||
OR L
|
||||
RET NZ
|
||||
;
|
||||
PUSH IY
|
||||
LD A,B
|
||||
LD C,BIOS.DRV_GET_PAR
|
||||
RST ToBIOS
|
||||
POP IY
|
||||
;
|
||||
LD B,XH
|
||||
LD C,XL
|
||||
CALL .set_LOGDRV
|
||||
LD A,(CURRENT_DRIVE.Removable)
|
||||
LD (IX + LOGDRV.MediaParameters),A
|
||||
LD (IX + LOGDRV.PARTITION_RECORD_NUM),#FF
|
||||
CALL .set_drv_tbl
|
||||
;
|
||||
.exit: AND A
|
||||
RET
|
||||
;
|
||||
@ -1019,7 +992,24 @@ DEFINE_PARTITIONS:
|
||||
RST ToBIOS
|
||||
POP IY
|
||||
RET
|
||||
|
||||
;
|
||||
.Check_0_BPB: LD A,(CURRENT_DRIVE.Number)
|
||||
CP DRIVE_CODES.SPRINTER.ATAPI
|
||||
RET C
|
||||
LD C,BIOS.DRV_GET_PAR
|
||||
RST ToBIOS
|
||||
RET C
|
||||
;
|
||||
LD B,XH
|
||||
LD C,XL
|
||||
CALL .set_LOGDRV
|
||||
LD A,(CURRENT_DRIVE.Removable)
|
||||
LD (IX + LOGDRV.MediaParameters),A
|
||||
LD (IX + LOGDRV.PARTITION_RECORD_NUM),#FF
|
||||
CALL .set_drv_tbl
|
||||
JP INC_DRV_COUNT
|
||||
;
|
||||
; ; ;
|
||||
|
||||
GetSectorSize: PUSH IY
|
||||
LD A,(CURRENT_DRIVE.Number)
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit aa0c67b6b30b02b1302145cd4d57b708130e2e0a
|
||||
Subproject commit 2b1e30c6108f0a5c271f84558e1e5f804a6d623a
|
||||
Loading…
Reference in New Issue
Block a user