diff --git a/DSS/API/Attribute.asm b/DSS/API/Attribute.asm index 27b8259..32d7e02 100644 --- a/DSS/API/Attribute.asm +++ b/DSS/API/Attribute.asm @@ -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 diff --git a/DSS/API/ChDir.asm b/DSS/API/ChDir.asm index ff2a5a4..68a61d9 100644 --- a/DSS/API/ChDir.asm +++ b/DSS/API/ChDir.asm @@ -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 diff --git a/DSS/API/Create.asm b/DSS/API/Create.asm index 05de412..e978370 100644 --- a/DSS/API/Create.asm +++ b/DSS/API/Create.asm @@ -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 diff --git a/DSS/API/Delete.asm b/DSS/API/Delete.asm index 7f4b863..d11adf1 100644 --- a/DSS/API/Delete.asm +++ b/DSS/API/Delete.asm @@ -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 diff --git a/DSS/API/Execute.ASM b/DSS/API/Execute.ASM index e663ac3..abd4928 100644 --- a/DSS/API/Execute.ASM +++ b/DSS/API/Execute.ASM @@ -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 diff --git a/DSS/API/Find.asm b/DSS/API/Find.asm index 398de00..1b3466e 100644 --- a/DSS/API/Find.asm +++ b/DSS/API/Find.asm @@ -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 ; diff --git a/DSS/API/MkDir.asm b/DSS/API/MkDir.asm index 703b016..f10fdca 100644 --- a/DSS/API/MkDir.asm +++ b/DSS/API/MkDir.asm @@ -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 diff --git a/DSS/API/Open.asm b/DSS/API/Open.asm index 3972010..4d97c24 100644 --- a/DSS/API/Open.asm +++ b/DSS/API/Open.asm @@ -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 diff --git a/DSS/API/Rename.asm b/DSS/API/Rename.asm index 2363f36..00769dd 100644 --- a/DSS/API/Rename.asm +++ b/DSS/API/Rename.asm @@ -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 diff --git a/DSS/API/RmDir.asm b/DSS/API/RmDir.asm index 772e8f3..1c40407 100644 --- a/DSS/API/RmDir.asm +++ b/DSS/API/RmDir.asm @@ -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 diff --git a/DSS/API/ScanDRV.asm b/DSS/API/ScanDRV.asm index b4a7788..fc4b8b2 100644 --- a/DSS/API/ScanDRV.asm +++ b/DSS/API/ScanDRV.asm @@ -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 diff --git a/DSS/API/Write.asm b/DSS/API/Write.asm index 93df482..966b006 100644 --- a/DSS/API/Write.asm +++ b/DSS/API/Write.asm @@ -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 diff --git a/DSS/API/curDisk.asm b/DSS/API/curDisk.asm index a3e9f3b..3eb0638 100644 --- a/DSS/API/curDisk.asm +++ b/DSS/API/curDisk.asm @@ -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) diff --git a/DSS/API/diskINF.asm b/DSS/API/diskINF.asm index e5e2e7a..3e9c421 100644 --- a/DSS/API/diskINF.asm +++ b/DSS/API/diskINF.asm @@ -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) diff --git a/DSS/Structures.inc b/DSS/Structures.inc index 52827e7..7d09fd0 100644 --- a/DSS/Structures.inc +++ b/DSS/Structures.inc @@ -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 diff --git a/DSS/build.txt b/DSS/build.txt index 3cacc0b..3f10ffe 100644 --- a/DSS/build.txt +++ b/DSS/build.txt @@ -1 +1 @@ -12 \ No newline at end of file +15 \ No newline at end of file diff --git a/DSS/defines.inc b/DSS/defines.inc index 761506b..aec6456 100644 --- a/DSS/defines.inc +++ b/DSS/defines.inc @@ -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]-------------------------; diff --git a/DSS/drivers/media/ata_atapi-drv.asm b/DSS/drivers/media/ata_atapi-drv.asm index 59f0fc0..61484db 100644 --- a/DSS/drivers/media/ata_atapi-drv.asm +++ b/DSS/drivers/media/ata_atapi-drv.asm @@ -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) diff --git a/Shared_Includes b/Shared_Includes index aa0c67b..2b1e30c 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit aa0c67b6b30b02b1302145cd4d57b708130e2e0a +Subproject commit 2b1e30c6108f0a5c271f84558e1e5f804a6d623a