label works

This commit is contained in:
Tolik 2026-04-17 22:33:11 +10:00
parent fa0375aad3
commit 31c23144df
2 changed files with 30 additions and 58 deletions

View File

@ -1 +1 @@
31 39

View File

@ -1020,41 +1020,40 @@ PARSE_CMD: LD A,(HL)
RET NC RET NC
JP STOP_ERROR JP STOP_ERROR
; ;
.MAIN: PUSH HL .MAIN: LD A,(HL)
LD BC,Dss.EX_Path.GET_ALL INC HL
RST ToDSS AND %1101'1111
JP C,STOP_ERROR
; ­ ¬ ­ã¦­  áâப  ¢ ª®â®à®© ¥áâì ¤à ©¢, ­® ­¥â ¯ãâ¨
AND %0000'1100
XOR %0000'1000
JP NZ,STOP_ERROR
;
POP HL
LD A,(HL)
AND #1101'1111
SUB 'A' SUB 'A'
JP C,STOP_ERROR JP C,STOP_ERROR
CALL .get_drv
; ;
LD (VARIABLES.CurrentDrive),A
LD D,A
LD A,(HL)
INC HL
LD E,A
LD A,(HL)
AND ~' '
ADD A,E
SUB ':'
JP NZ,STOP_ERROR
; ⮫쪮 ¤«ï ⮣®, ç⮡ ®¡­®¢¨âì ¯ à ¬¥âàë ¤à ©¢  (¢¤à㣠¤¨áª¥âã ᬥ­¨«¨?)
PUSH HL
LD A,D
LD C,Dss.ChDisk
RST ToDSS
POP HL
JR NC,.loop
;
CP DSS_Error.drv.UNKNOWN_FORMAT
JP NZ,STOP_ERROR
; ¯¥à¥¡¨à ¥¬ ª«îç¨ "/" ; ¯¥à¥¡¨à ¥¬ ª«îç¨ "/"
.loop: CALL .skip_space .loop: CALL .skip_space
RET Z RET Z
; ;
CP '/' ; CP '/'
JP NZ,STOP_ERROR JP NZ,STOP_ERROR
; ;
; AND A .SET_KEY: ;INC HL
; EX DE,HL
; LD HL,(SECTOR_BUFFER + 1)
; LD BC,-':'
; ADC HL,BC
; EX DE,HL
; JR Z,.get_drv
; JP STOP_ERROR
;
;
.SET_KEY: INC HL
LD A,(HL) LD A,(HL)
EX AF,AF' EX AF,AF'
INC HL INC HL
@ -1090,34 +1089,6 @@ PARSE_CMD: LD A,(HL)
DJNZ .loop_key DJNZ .loop_key
JP STOP_ERROR ; ­¥¯à ¢¨«ì­ë© ª«îç JP STOP_ERROR ; ­¥¯à ¢¨«ì­ë© ª«îç
; ;
.get_drv: ; ¤®áâ ñ¬ ¨¬ï ¤à ©¢  (®­® ¡¥§ ª«îç  "/")
;LD A,(VARIABLES.CurrentDrive)
;INC A
;JP NZ,STOP_ERROR ; ­¥¯à ¢¨«ì­ë© ª«îç
;
;PUSH HL
;LD HL,SECTOR_BUFFER
;LD DE,SECTOR_BUFFER + 3
;LD BC,Dss.EX_Path.GET_DRIVE
;RST ToDSS
;JP C,STOP_ERROR ; ­¥¯à ¢¨«ì­ë© ¤à ©¢
;
PUSH HL
LD (VARIABLES.CurrentDrive),A
;!TODO § ¯®¬¨­ âì ⥪ã騩 ¯ãâì ¨ ¢®ááâ ­ ¢«¨¢ âì ¯®á«¥ ¢ë室 
;
; ⮫쪮 ¤«ï ⮣®, ç⮡ ®¡­®¢¨âì ¯ à ¬¥âàë ¤à ©¢  (¢¤à㣠¤¨áª¥âã ᬥ­¨«¨?)
LD C,Dss.ChDisk
RST ToDSS
POP HL
INC HL
INC HL
RET NC
;
CP DSS_Error.drv.UNKNOWN_FORMAT
RET Z
JP STOP_ERROR ; ­¥¯à ¢¨«ì­ë© ¤à ©¢
;
.skip_space: LD A,(HL) .skip_space: LD A,(HL)
AND A AND A
RET Z RET Z
@ -1129,7 +1100,8 @@ PARSE_CMD: LD A,(HL)
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------
JP_HL: JP (HL) JP_HL: EX DE,HL
JP (HL)
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------
@ -1270,7 +1242,7 @@ SET_LABEL: POP HL
INC HL INC HL
JR .skip_label JR .skip_label
*/ */
SET_LABEL: LD HL,SECTOR_BUFFER SET_LABEL: LD HL,SECTOR_BUFFER ; á®§¤ ñ¬ ¬¥âªã âãâ, ¥á«¨ ᨬ¢®«ë ¢ ¯®à浪¥
EX DE,HL EX DE,HL
; ;
LD A,(HL) LD A,(HL)
@ -1283,7 +1255,7 @@ SET_LABEL: LD HL,SECTOR_BUFFER
CP '"' CP '"'
JR NZ,.skip_label ; ¬¥âª  ­ ç¨­ ¥âáï ­¥ á ª ¢ë窨 JR NZ,.skip_label ; ¬¥âª  ­ ç¨­ ¥âáï ­¥ á ª ¢ë窨
; ;
LD DE,SECTOR_BUFFER ; á®§¤ ñ¬ ¬¥âªã âãâ, ¥á«¨ ᨬ¢®«ë ¢ ¯®à浪¥ ;LD DE,SECTOR_BUFFER ; á®§¤ ñ¬ ¬¥âªã âãâ, ¥á«¨ ᨬ¢®«ë ¢ ¯®à浪¥
LD C,FAT_PARAMETERS.LABEL.Size LD C,FAT_PARAMETERS.LABEL.Size
LD B,C LD B,C
LD A,(HL) LD A,(HL)