diff --git a/DSS/API/Write.asm b/DSS/API/Write.asm index e6c2888..4c5a9cf 100644 --- a/DSS/API/Write.asm +++ b/DSS/API/Write.asm @@ -4,7 +4,7 @@ WRITE.ERR2: POP HL WRITE.ERR1: POP BC - SCF + ;SCF RET WRITE.RD_ONLY: POP DE diff --git a/DSS/FS/FAT.asm b/DSS/FS/FAT.asm index 2dde1a3..19bfdf3 100644 --- a/DSS/FS/FAT.asm +++ b/DSS/FS/FAT.asm @@ -2605,6 +2605,7 @@ BLOK_WRITE: LD (READ.PointerOnBuffer),IX LD B,C LD C,Dss.DRV.Write RST ToDSS.DRV + ; LD A,DSS_Error.sys.WRITE_ERROR JR C,.Error_3 POP BC @@ -2626,7 +2627,6 @@ BLOK_WRITE: LD (READ.PointerOnBuffer),IX .Error_3: POP BC ;[x] GET/SAVE CLUSTER NUMBER BEFORE/AFTER READ/WRITE POP BC POP DE - ;LD A,DSS_Error.sys.WRITE_ERROR ;SCF RET ; diff --git a/DSS/KEYINTER.ASM b/DSS/KEYINTER.ASM index f97b49b..b08715e 100644 --- a/DSS/KEYINTER.ASM +++ b/DSS/KEYINTER.ASM @@ -1172,7 +1172,7 @@ BEEP: LD A,#10 JR NZ,BEEP RET ; -.beep_loop: OUT (ZX_Beeper),A +.beep_loop: OUT (SP_SND.Beeper),A LD B,D LD C,E ; diff --git a/DSS/Procedures.asm b/DSS/Procedures.asm index 58b46f9..4638b1f 100644 --- a/DSS/Procedures.asm +++ b/DSS/Procedures.asm @@ -215,11 +215,8 @@ UPPER: CP 'a' ; .CheckRUS: CP 'а' ; русская буква а, код #A0 RET C - CP 'п' ; русская буква п, код #B0 + CP 'п'+1 ; русская буква п, код #AF + 1 JR C,.Dec - ; JR NC,.BGUPPER - ; SUB #20 - ; RET ; .BGUPPER: CP 'р' ; русская буква р, код #E0 RET C @@ -228,7 +225,7 @@ UPPER: CP 'a' SUB #50 RET ; -.HGUPPER: CP 'ё' ; русская буква ё, код #F1 +.HGUPPER: CP 'ё' ; русская буква ё, код #F1 RET NZ DEC A RET diff --git a/DSS/build.txt b/DSS/build.txt index 7003e7f..7c6ba0f 100644 --- a/DSS/build.txt +++ b/DSS/build.txt @@ -1 +1 @@ -51 \ No newline at end of file +55 \ No newline at end of file diff --git a/DSS/drivers/media/ata_atapi-drv.asm b/DSS/drivers/media/ata_atapi-drv.asm index 0ce4512..31c71f1 100644 --- a/DSS/drivers/media/ata_atapi-drv.asm +++ b/DSS/drivers/media/ata_atapi-drv.asm @@ -650,17 +650,19 @@ GetBPB: ; !FIXIT ReadLong: LD C,BIOS.DRV_READ_LONG JP Exec_BIOS - +;!FIXIT debug zip ;HL:IX - SECTOR ; DE - ADDRESS ; B - COUNTER ; A'- PAGE ; A - HDD LOG NUMBER ;WRITE SECTOR +; WriteLong: LD C,BIOS.DRV_WRITE_LONG +; JP Exec_BIOS WriteLong: LD C,BIOS.DRV_WRITE_LONG JP Exec_BIOS - +;!FIXIT debug zip ;HL:IX - SECTOR ; DE - ADDRESS ; B - COUNTER @@ -668,7 +670,31 @@ WriteLong: LD C,BIOS.DRV_WRITE_LONG ;WRITE SECTOR Write: LD C,BIOS.DRV_WRITE JP Exec_BIOS - +; Write: LD C,BIOS.DRV_WRITE +; .loop: PUSH HL +; PUSH IX +; PUSH DE +; PUSH BC +; PUSH AF +; CALL Exec_BIOS +; JR NC,.good +; JR Z,.good +; ; +; POP AF +; POP BC +; POP DE +; POP IX +; POP HL +; JR .loop +; ; +; .good: EXX +; POP DE +; POP DE +; POP DE +; POP DE +; POP DE +; EXX +; RET ;HL:IX - SECTOR @@ -685,15 +711,17 @@ Exec_BIOS: PUSH IY ; .exec: CALL SelectDrive RET C ;!FIXIT переделать номер ошибки с драйвера на дос + PUSH IY RST ToBIOS + POP IY RET NC CP BIOS.Error.ATAPI.UnitAttention SCF RET NZ SET 1,(IY + LOGDRV.MediaParameters) RET + ; - ;------------------------------[ PARTIT ]------------------------------; ; вход: B - bit0=1 removable, bit1=1 drive changed, bit7..2 reserved DEFINE_PARTITIONS: @@ -983,6 +1011,8 @@ INC_DRV_COUNT: LD A,(Init.count) LD (Init.count),A RET +;======================================================================= + ;======================================================================= ; PHISICAL DRIVE NUMBER ; #80/#81 - primary мастер/слейв, #82/#83 - secondary мастер/слейв diff --git a/SHELL/Commands/DIR.ASM b/SHELL/Commands/DIR.ASM index 2a98517..47d0c71 100644 --- a/SHELL/Commands/DIR.ASM +++ b/SHELL/Commands/DIR.ASM @@ -7,6 +7,7 @@ cmd_dir: push de ; зануляем все параметры на старте xor a ld (Buffers.work.buffer2),a + ld (Buffers.work.free),a ld (read_disk_info.full),a ld (.key_p),a ; выполняем/настраиваем все найденные параметры в строке @@ -48,8 +49,9 @@ cmd_dir: push de ld hl,Buffers.work.buffer1 ld bc,Dss.EX_Path.GET_ALL rst ToDSS - ; - and %00001100 ; имя диска и путь + ;!FIXIT сделать поиск по маски без пути в начале + ; сейчас перед маской нужен путь типа dir .\*.asm + and %00001100 ; имя диска и путь ;!FIXIT сделать поиск по маски без пути в начале jr z,.SkipMask ; ld hl,Buffers.work.buffer2+2 diff --git a/SHELL/build.txt b/SHELL/build.txt index 54a584d..c047c4a 100644 --- a/SHELL/build.txt +++ b/SHELL/build.txt @@ -1 +1 @@ -514 \ No newline at end of file +518 \ No newline at end of file diff --git a/Shared_Includes b/Shared_Includes index 8371051..63faf9f 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 8371051031cac61e25740ba6cf9f2acacdc783b7 +Subproject commit 63faf9f0823649cfb52e9fcaad430170a05b31a7