mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 09:21:47 +03:00
-fixed 2 bugs with attributes and directories
This commit is contained in:
parent
cc6ab20c6c
commit
ec7682cf21
@ -1,14 +1,19 @@
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
||||
; A - File attribute
|
||||
; OUTPUT: A - FM
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
CREATE_FN:
|
||||
AND FAT_ATTR.NoVolID ; [x] 2/12/23 ¢à¥¬¥ë© ä¨ªá ¤«ï volume ID
|
||||
CREATE: ;!TEST Current Dir ;[x] 15/10/23
|
||||
PUSH HL
|
||||
LD C,A
|
||||
PUSH BC
|
||||
CALL DIR_PATH_CHECK
|
||||
POP BC
|
||||
POP HL
|
||||
RET C
|
||||
LD A,C
|
||||
;
|
||||
CALL .Prepare
|
||||
RET C
|
||||
@ -20,9 +25,13 @@ CREATE: ;!TEST Current Dir ;[x] 15/10/23
|
||||
AND FAT_ATTR.NoVolID ; [x] 2/12/23 ¢à¥¬¥ë© ä¨ªá ¤«ï volume ID
|
||||
.NEW: ;!TEST Current Dir ;[x] 15/10/23
|
||||
PUSH HL
|
||||
LD C,A
|
||||
PUSH BC
|
||||
CALL DIR_PATH_CHECK
|
||||
POP BC
|
||||
POP HL
|
||||
RET C
|
||||
LD A,C
|
||||
;
|
||||
CALL .Prepare
|
||||
RET C
|
||||
|
||||
@ -15,11 +15,11 @@ OPEN_FN:;!TEST Current Dir ;[x] 15/10/23
|
||||
CALL DIR_PATH_CHECK.forceCheck
|
||||
POP HL
|
||||
RET C
|
||||
JR .start
|
||||
;JR .start
|
||||
;!FIXIT ᤥ« âì ª ª ¢ mkdir ¨«¨ rmdir?
|
||||
;R008 ;
|
||||
;OPEN: ;
|
||||
LD (.TMP),A ; enter point from CREATE
|
||||
;LD (.TMP),A ; enter point from CREATE
|
||||
.start: CALL GETWORD
|
||||
RET C
|
||||
CALL MASK ; enter point from OPEN_FN
|
||||
|
||||
@ -441,7 +441,7 @@ ADRST10: ;DS 512 ;,0
|
||||
;---------------------------------------------------------------------------------------------------------------------------------------------------------------;
|
||||
;[INCLUDE]
|
||||
;!TODO § ¬¥¨âì ¯®-¬ ªá¨¬®¬ã ¢áñ ¢ KEYINTER.ASM ¢ë§®¢ë ¡¨®á
|
||||
INCLUDE "KEYINTER.ASM" ;!FIXIT ¨§-§ ¡ãä¥à á ¢ëà ¢¨¢ ¨¥¬ align 256 ¢ ç «¥ ¯à¨å®¤¨âáï ADRST10 ¤®¡¨¢ âì ã«ï¬¨ ¢ ª®æ¥
|
||||
INCLUDE "KEYINTER.ASM"
|
||||
INCLUDE "VIDEO.ASM"
|
||||
INCLUDE "API.ASM"
|
||||
INCLUDE "DOS_Proc.asm"
|
||||
@ -474,14 +474,9 @@ CurrentDirectory: DB '\'
|
||||
.DEPTH: EQU DIRECTORY_PATH_LENGTH
|
||||
BLOCK CurrentDirectory.DEPTH,0 ; ¥ .DEPTH-1 ç⮡ ¡ë« 0 ¢ ª®æ¥
|
||||
;
|
||||
IF SAVE_PATH_CODE
|
||||
WorkDirectory: DB '\'
|
||||
.DEPTH: EQU DIRECTORY_PATH_LENGTH
|
||||
BLOCK WorkDirectory.DEPTH,0 ; ¥ .DEPTH-1 ç⮡ ¡ë« 0 ¢ ª®æ¥
|
||||
ELSE
|
||||
WorkDirectory EQU CurrentDirectory
|
||||
.DEPTH EQU CurrentDirectory.DEPTH
|
||||
ENDIF
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
;
|
||||
|
||||
@ -388,19 +388,22 @@ LOADDIR:
|
||||
WRT_HND: SET_PAGE_X DIRPAGE
|
||||
EX AF,AF'
|
||||
;
|
||||
LD IX,DIRPAGE.buffer
|
||||
;LD IX,DIRPAGE.buffer
|
||||
LD HL,DIRPAGE.buffer
|
||||
;TEST 9/11/23
|
||||
; EXX
|
||||
; LD DE,0
|
||||
; EXX
|
||||
;
|
||||
.loop: LD A,(IX+00)
|
||||
LD BC,#0020
|
||||
.loop: ;LD A,(IX+00)
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR Z,.WRT_HN2
|
||||
CP #E5
|
||||
JR Z,.WRT_HN2
|
||||
LD BC,#0020
|
||||
ADD IX,BC
|
||||
;ADD IX,BC
|
||||
ADD HL,BC
|
||||
JR NC,.loop
|
||||
;
|
||||
EX AF,AF'
|
||||
@ -409,8 +412,9 @@ WRT_HND: SET_PAGE_X DIRPAGE
|
||||
SCF
|
||||
RET
|
||||
.WRT_HN2:
|
||||
LD D,XH
|
||||
LD E,XL
|
||||
;LD D,XH
|
||||
;LD E,XL
|
||||
EX DE,HL
|
||||
LD HL,HANDBUF
|
||||
LD BC,HANDBUF.SIZE
|
||||
LDIR
|
||||
@ -617,7 +621,7 @@ RD_BPB: LD C,SLOT3
|
||||
LD (FatBuffer.DAT_FRM),HL
|
||||
;!TODO ¥ ¨á¯®«ì§ãîâáï § ç¥¨ï ¢ëç¨á«ï¥¬ë¥ ¨ á®åà ï¥¬ë¥ ¢ FatBuffer
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
IF COMPILE_UNUSED_CODE
|
||||
;IF COMPILE_UNUSED_CODE
|
||||
;LD HL,0
|
||||
|
||||
;LD H,B ; âãâ ¢ B ®«ì ¤®«¦¥ ¡ëâì
|
||||
@ -654,7 +658,7 @@ RD_BPB: LD C,SLOT3
|
||||
SBC HL,DE
|
||||
JR NC,.loop4
|
||||
LD (FatBuffer.C_P_B),A ; A - Clusters per bank (16k)
|
||||
ENDIF
|
||||
;ENDIF
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
LD HL,CORE_BUFFERS.BootSector.ID_FAT ;!!!!! ¥á«¨ IY ¨á¯®«ì§ã¥âáï ¤«ï ¯¥à¥¬¥®£® BootSector, â® ¡ã¤¥â ¡ £
|
||||
@ -688,7 +692,7 @@ RD_BPB: LD C,SLOT3
|
||||
|
||||
;!TODO ¥ ¨á¯®«ì§ãîâáï § ç¥¨ï ¢ëç¨á«ï¥¬ë¥ ¨ á®åà ï¥¬ë¥ ¢ FatBuffer
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
IF COMPILE_UNUSED_CODE
|
||||
;IF COMPILE_UNUSED_CODE
|
||||
|
||||
LD HL,0
|
||||
|
||||
@ -702,7 +706,7 @@ RD_BPB: LD C,SLOT3
|
||||
DEC A
|
||||
JR NZ,.BPB_L1
|
||||
LD (FatBuffer.S_X_H),HL
|
||||
ENDIF
|
||||
;ENDIF
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
LD DE,(FatBuffer.DAT_FRM)
|
||||
|
||||
@ -88,25 +88,6 @@ R_F_FAT:
|
||||
JR Z,R_F_F12
|
||||
; fat16, ¯à®áâ® ç¨â âì á«¥¤. ®¬¥à
|
||||
R_F_F16:
|
||||
; LD A,H
|
||||
; LD B,H
|
||||
; ;AND #0F
|
||||
; AND FAT_CACHE.Size_Mask_16
|
||||
; LD H,A
|
||||
; LD A,B
|
||||
; ; A=A/16 ; A - BLOCK FAT (1 BLOCK = 8192 BYTES)
|
||||
; DUP FAT_CACHE.Degree_16
|
||||
; RRCA
|
||||
; EDUP
|
||||
; ;AND #0F
|
||||
; AND FAT_CACHE.Part_Mask_16
|
||||
; ;
|
||||
; ADD HL,HL ; HL - FAT OFFSET (FROM CASH)
|
||||
; LD BC,(FatCache) ; C - BLOCK FAT IN CASH
|
||||
; CP C
|
||||
; CALL NZ,READ_FAT ; A != C - READ NEW BLOCK FAT
|
||||
; LD DE,FATPAGE.cache ; ç «® ª¥è FAT-
|
||||
; ADD HL,DE ; ï祩ªã FAT
|
||||
CALL GET_FAT16_CELL
|
||||
LD E,(HL) ; ¯à®ç¨â âì ®¬¥à ª« áâ¥à
|
||||
INC HL
|
||||
@ -122,33 +103,6 @@ R_F_F16:
|
||||
;
|
||||
R_F_F12:
|
||||
CALL GET_FAT12_CELL
|
||||
; LD D,H
|
||||
; LD E,L
|
||||
; RR H
|
||||
; RR L ; ᤢ¨£ ¢¯à ¢® ç¥à¥§ CF
|
||||
; PUSH AF ; á®åà. ä« £
|
||||
; ADD HL,DE ; CLUSTER * 1.5
|
||||
; ;
|
||||
; ;!FIXIT ®¯â¨¬¨§¨à®¢ âì
|
||||
; ;IF COMPILE_UNUSED_CODE
|
||||
; LD A,H
|
||||
; LD B,H
|
||||
; AND #1F
|
||||
; LD H,A
|
||||
; LD A,B
|
||||
; RLCA
|
||||
; RLCA
|
||||
; RLCA
|
||||
; AND #07
|
||||
; LD BC,(FatCache) ; C - BLOCK FAT IN CASH
|
||||
; CP C
|
||||
; CALL NZ,READ_FAT ; ¯à®ç¨â âì ¢ ª¥è 16 ᥪâ®à®¢ FAT-
|
||||
; ;ENDIF
|
||||
; ;
|
||||
; LD DE,FATPAGE.cache ; ç «® ª¥è FAT-
|
||||
; ADD HL,DE ; ï祩ªã FAT
|
||||
; POP AF ; ¢®ááâ. ä« £
|
||||
|
||||
LD E,(HL)
|
||||
INC HL
|
||||
LD D,(HL)
|
||||
@ -249,38 +203,6 @@ W_T_F16:
|
||||
; fat12
|
||||
W_T_F12: ;!FIXIT ¯¥à¥¤¥« âì ¯¥à¥¬¥ë¥ FAT_CACHE
|
||||
PUSH DE
|
||||
; LD D,H
|
||||
; LD E,L
|
||||
; ; ADD HL,HL
|
||||
; ; ADD HL,DE
|
||||
; ; RR H
|
||||
; ; RR L ;CLUSTER * 1.5
|
||||
; ; PUSH AF
|
||||
; RR H
|
||||
; RR L ; ᤢ¨£ ¢¯à ¢® ç¥à¥§ CF
|
||||
; PUSH AF ; á®åà. ä« £
|
||||
; ADD HL,DE ; CLUSTER * 1.5
|
||||
; ;
|
||||
; ;!FIXIT ®¯â¨¬¨§¨à®¢ âì
|
||||
; ;IF COMPILE_UNUSED_CODE
|
||||
; LD A,H
|
||||
; LD B,H
|
||||
; AND #1F
|
||||
; LD H,A
|
||||
; LD A,B
|
||||
; RLCA
|
||||
; RLCA
|
||||
; RLCA
|
||||
; AND #07
|
||||
; LD BC,(FatCache) ; C - BLOCK FAT IN CASH
|
||||
; CP C
|
||||
; CALL NZ,READ_FAT ; ¯à®ç¨â âì ¢ ª¥è 16 ᥪâ®à®¢ FAT-
|
||||
; ;ENDIF
|
||||
; ;
|
||||
; LD DE,FATPAGE.cache
|
||||
; ADD HL,DE
|
||||
; POP AF
|
||||
|
||||
CALL GET_FAT12_CELL
|
||||
POP DE
|
||||
JR C,W_T_F01 ; ®¬¥à ¥çñâë©
|
||||
|
||||
@ -909,34 +909,34 @@ REDY+1: LD A,#00
|
||||
LD (REDY),A
|
||||
RET
|
||||
|
||||
MODE_M DB #03
|
||||
MODE_M: DB #03
|
||||
|
||||
PIX_X DW 160
|
||||
PIX_Y DW 128
|
||||
PIX_X: DW 160
|
||||
PIX_Y: DW 128
|
||||
|
||||
MX DB #00
|
||||
MY DB #00
|
||||
MB DB #00
|
||||
MB_OLD DB #00 ; !FIXIT - ¥ 㦮?
|
||||
MIN_X DW 0
|
||||
MAX_X DW 319
|
||||
MIN_Y DW 0
|
||||
MAX_Y DW 255
|
||||
SENSEXY
|
||||
SENSE_X DB 0
|
||||
SENSE_Y DB 0
|
||||
MX: DB #00
|
||||
MY: DB #00
|
||||
MB: DB #00
|
||||
;MB_OLD DB #00 ; !FIXIT - ¥ 㦮?
|
||||
MIN_X: DW 0
|
||||
MAX_X: DW 319
|
||||
MIN_Y: DW 0
|
||||
MAX_Y: DW 255
|
||||
SENSEXY:
|
||||
.X: DB 0
|
||||
.Y: DB 0
|
||||
|
||||
XHOT_SP DW 0
|
||||
YHOT_SP DW 0
|
||||
XHOT_SP: DW 0
|
||||
YHOT_SP: DW 0
|
||||
|
||||
ANDXORS DW #FF00
|
||||
ANDXORA DW #FF77
|
||||
ANDXORS: DW #FF00
|
||||
ANDXORA: DW #FF77
|
||||
|
||||
M_XSIZE DB 10
|
||||
M_YSIZE DB 14
|
||||
SKIPXF DW 0
|
||||
REALXS DW 0
|
||||
REALYS DW 0
|
||||
M_XSIZE: DB 10
|
||||
M_YSIZE: DB 14
|
||||
SKIPXF: DW 0
|
||||
REALXS: DW 0
|
||||
REALYS: DW 0
|
||||
|
||||
; Xx EQU #00
|
||||
; Ww EQU #FE
|
||||
|
||||
@ -163,7 +163,7 @@ BCD2HEX:
|
||||
|
||||
;!TODO hardware
|
||||
;----------------------------------------------------------------------;
|
||||
;!FIXIT ¯¥à¥¤¥« âì ¯® ¤®ª¥ „ «« á ¨ § ¨áì ¢ ï祩ª¨ ç ᮢ
|
||||
;!FIXIT ¯¥à¥¤¥« âì ¯® ¤®ª¥ „ «« á ¨ § ¯¨áì ¢ ï祩ª¨ ç ᮢ
|
||||
; ‡ ¯¨áì ॣ¨áâ஢ CMOS
|
||||
; ¢å®¤: d=®¬¥à ॣ¨áâà
|
||||
WCMOS: CALL HEX2BCD
|
||||
|
||||
@ -1 +1 @@
|
||||
827
|
||||
831
|
||||
@ -47,7 +47,6 @@ DSS_MAX_DRIVES_AMOUNT EQU 26
|
||||
DEFINE TABisSPACES 0
|
||||
DEFINE EnoughtOnly_LF 0
|
||||
DEFINE CLASSIC_CURSOR 0
|
||||
DEFINE SAVE_PATH_CODE 1
|
||||
DEFINE MINIMUM_BIOS_VERSION 2*256 + 55 ; version 2.55
|
||||
DEFINE CHECK_DRIVE_CHANGE 1 ; 1 - â®à¬®§¥¥, ® ¡¥§®¯ ᥥ
|
||||
;
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 54298bfb52826572bda5ccd0609320a9418d08c9
|
||||
Subproject commit a6dee8e17ae12b251f306290793a56a6b0dd5ae3
|
||||
Loading…
Reference in New Issue
Block a user