mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
SHELL: new command "INFO"& Show FS in DIR.
CORE: Some fixes with F_First
This commit is contained in:
parent
7bda57266b
commit
4cebd03a1a
@ -13,11 +13,7 @@
|
|||||||
;‚ëå®¤ë¥ § 票ï:
|
;‚ëå®¤ë¥ § 票ï:
|
||||||
; A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
; A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
F_FIRST:
|
F_FIRST_FN: CALL F_FIRST.INIT_VARS
|
||||||
LD (.TMP),A
|
|
||||||
LD (.DTABUF),DE
|
|
||||||
LD A,B
|
|
||||||
LD (.FNDMODE),A
|
|
||||||
PUSH HL
|
PUSH HL
|
||||||
;!TEST Current Dir ;[x] 15/10/23
|
;!TEST Current Dir ;[x] 15/10/23
|
||||||
; [ ] 10/06/24
|
; [ ] 10/06/24
|
||||||
@ -30,9 +26,11 @@ F_FIRST:
|
|||||||
CALL DIR_PATH_CHECK
|
CALL DIR_PATH_CHECK
|
||||||
RET C
|
RET C
|
||||||
;
|
;
|
||||||
.old_EXE:
|
.old_EXE: POP HL
|
||||||
POP HL
|
JR F_FIRST.begin
|
||||||
CALL GETWORD
|
;
|
||||||
|
F_FIRST: CALL .INIT_VARS
|
||||||
|
.begin: CALL GETWORD
|
||||||
;CALL LOADDIR
|
;CALL LOADDIR
|
||||||
RET C
|
RET C
|
||||||
CALL MASK
|
CALL MASK
|
||||||
@ -78,7 +76,13 @@ F_FIRST:
|
|||||||
;
|
;
|
||||||
CALL GetName
|
CALL GetName
|
||||||
JR .exit
|
JR .exit
|
||||||
|
;
|
||||||
|
.INIT_VARS:
|
||||||
|
LD (.TMP),A
|
||||||
|
LD (.DTABUF),DE
|
||||||
|
LD A,B
|
||||||
|
LD (.FNDMODE),A
|
||||||
|
RET
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|||||||
@ -247,8 +247,10 @@ FAT_STRING: DB 'FAT12'
|
|||||||
GET_LABEL: PUSH DE
|
GET_LABEL: PUSH DE
|
||||||
LD HL,.LABEL_MASK ; "\*.*" ¨¬ï ¬¥âª¨
|
LD HL,.LABEL_MASK ; "\*.*" ¨¬ï ¬¥âª¨
|
||||||
LD A,FAT_ATTR.VOLUME_ID ; âਡãâ ¬¥âª¨ ⮬
|
LD A,FAT_ATTR.VOLUME_ID ; âਡãâ ¬¥âª¨ ⮬
|
||||||
LD BC,Dss.F_First.FATname ; f_first, ä®à¬ â 11
|
LD B,high Dss.F_First.FATname
|
||||||
RST ToDSS
|
CALL F_FIRST
|
||||||
|
;LD BC,Dss.F_First.FATname ; f_first, ä®à¬ â 11
|
||||||
|
;RST ToDSS
|
||||||
POP DE
|
POP DE
|
||||||
LD HL,CORE_BUFFERS.FatBuffer.BPB_LABEL
|
LD HL,CORE_BUFFERS.FatBuffer.BPB_LABEL
|
||||||
RET C
|
RET C
|
||||||
|
|||||||
@ -338,7 +338,7 @@ ADRST10: ;DS 512 ;,0
|
|||||||
; 0 1 2 3 4 5 6 7 8 9 DEC HEX
|
; 0 1 2 3 4 5 6 7 8 9 DEC HEX
|
||||||
DB low F_START, low CHNDISK_FN, low CURDISK_FN,low DISKINF, low NOPS, low NOPS, low NOPS, low NOPS, low SCANDRV, low BOOTDSK ; 0 00..09
|
DB low F_START, low CHNDISK_FN, low CURDISK_FN,low DISKINF, low NOPS, low NOPS, low NOPS, low NOPS, low SCANDRV, low BOOTDSK ; 0 00..09
|
||||||
DB low CREATE, low CREATE.NEW, low NOPS, low NOPS, low DEL_FN, low NOPS, low RENAME, low OPEN_FN, low CLOSE_FN, low READ ; 1 0A..13
|
DB low CREATE, low CREATE.NEW, low NOPS, low NOPS, low DEL_FN, low NOPS, low RENAME, low OPEN_FN, low CLOSE_FN, low READ ; 1 0A..13
|
||||||
DB low WRITE, low MOVE_FP, low ATTRIB, low GET_D_T, low PUT_D_T, low F_FIRST, low F_NEXT, low MKDIR.B, low RMDIR, low CHDIR_FN ; 2 14..1D
|
DB low WRITE, low MOVE_FP, low ATTRIB, low GET_D_T, low PUT_D_T, low F_FIRST_FN,low F_NEXT, low MKDIR.B, low RMDIR, low CHDIR_FN ; 2 14..1D
|
||||||
DB low CURRDIR_FN,low NOPS, low NOPS, low SYSTIME, low SETTIME, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS ; 3 1E..27
|
DB low CURRDIR_FN,low NOPS, low NOPS, low SYSTIME, low SETTIME, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS ; 3 1E..27
|
||||||
DB low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low WAITKEY, low SCANKEY ; 4 28..31
|
DB low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low WAITKEY, low SCANKEY ; 4 28..31
|
||||||
DB low ECHOKEY, low CTRLKEY, low NOPS, low K_CLEAR, low K_SETUP, low TESTKEY, low SETWIN, low SETWIN1, low SETWIN2, low SETWIN3 ; 5 32..3B
|
DB low ECHOKEY, low CTRLKEY, low NOPS, low K_CLEAR, low K_SETUP, low TESTKEY, low SETWIN, low SETWIN1, low SETWIN2, low SETWIN3 ; 5 32..3B
|
||||||
@ -365,7 +365,7 @@ ADRST10: ;DS 512 ;,0
|
|||||||
;...............................................[HIGH ADDRESS]:
|
;...............................................[HIGH ADDRESS]:
|
||||||
DB high F_START, high CHNDISK_FN,high CURDISK_FN,high DISKINF,high NOPS, high NOPS, high NOPS, high NOPS, high SCANDRV, high BOOTDSK
|
DB high F_START, high CHNDISK_FN,high CURDISK_FN,high DISKINF,high NOPS, high NOPS, high NOPS, high NOPS, high SCANDRV, high BOOTDSK
|
||||||
DB high CREATE, high CREATE.NEW,high NOPS, high NOPS, high DEL_FN, high NOPS, high RENAME, high OPEN_FN,high CLOSE_FN,high READ
|
DB high CREATE, high CREATE.NEW,high NOPS, high NOPS, high DEL_FN, high NOPS, high RENAME, high OPEN_FN,high CLOSE_FN,high READ
|
||||||
DB high WRITE, high MOVE_FP, high ATTRIB, high GET_D_T,high PUT_D_T,high F_FIRST,high F_NEXT, high MKDIR.B,high RMDIR, high CHDIR_FN
|
DB high WRITE, high MOVE_FP, high ATTRIB, high GET_D_T,high PUT_D_T,high F_FIRST_FN,high F_NEXT, high MKDIR.B,high RMDIR, high CHDIR_FN
|
||||||
DB high CURRDIR_FN,high NOPS, high NOPS, high SYSTIME,high SETTIME,high NOPS, high NOPS, high NOPS, high NOPS, high NOPS
|
DB high CURRDIR_FN,high NOPS, high NOPS, high SYSTIME,high SETTIME,high NOPS, high NOPS, high NOPS, high NOPS, high NOPS
|
||||||
DB high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high WAITKEY, high SCANKEY
|
DB high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high WAITKEY, high SCANKEY
|
||||||
DB high ECHOKEY, high CTRLKEY, high NOPS, high K_CLEAR,high K_SETUP,high TESTKEY, high SETWIN, high SETWIN1,high SETWIN2, high SETWIN3
|
DB high ECHOKEY, high CTRLKEY, high NOPS, high K_CLEAR,high K_SETUP,high TESTKEY, high SETWIN, high SETWIN1,high SETWIN2, high SETWIN3
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
992
|
993
|
||||||
@ -493,34 +493,35 @@ EVALSTR: ld a,(hl)
|
|||||||
; !! <09>¥ ¤¥« âì ®¤ã ª®¬ ¤ã > 256 ᨬ¢®«®¢)) !!
|
; !! <09>¥ ¤¥« âì ®¤ã ª®¬ ¤ã > 256 ᨬ¢®«®¢)) !!
|
||||||
;
|
;
|
||||||
; BAT-ª®¬ ¤ë (¥ ®â¤¥«ïâì ®â ¤®á-ª®¬ ¤)
|
; BAT-ª®¬ ¤ë (¥ ®â¤¥«ïâì ®â ¤®á-ª®¬ ¤)
|
||||||
BATLIST: DZ 'PAUSE' : DW cmd_pause ;CPAUSE
|
BATLIST: DZ 'PAUSE' : DW cmd_pause
|
||||||
DZ 'REM' : DW cmd_rem ;CREM
|
DZ 'REM' : DW cmd_rem
|
||||||
DZ 'EXIT' : DW cmd_break ;break
|
DZ 'EXIT' : DW cmd_break
|
||||||
;
|
;
|
||||||
; DSS-ª®¬ ¤ë
|
; DSS-ª®¬ ¤ë
|
||||||
CMDLIST: DZ 'CD' : DW cmd_chdir ;CCHDIR
|
CMDLIST: DZ 'CD' : DW cmd_chdir
|
||||||
DZ 'DIR' : DW cmd_dir ;DIR
|
DZ 'DIR' : DW cmd_dir
|
||||||
DZ 'ECHO' : DW cmd_echo ;CECHO
|
DZ 'ECHO' : DW cmd_echo
|
||||||
DZ 'ECHO.' : DW cmd_echoLN
|
DZ 'ECHO.' : DW cmd_echoLN
|
||||||
DZ 'PATH' : DW cmd_path ;CPATH
|
DZ 'PATH' : DW cmd_path
|
||||||
DZ 'MD' : DW cmd_mkdir ;CMKDIR
|
DZ 'MD' : DW cmd_mkdir
|
||||||
DZ 'REN' : DW cmd_rename ;CRENAM
|
DZ 'REN' : DW cmd_rename
|
||||||
DZ 'DEL' : DW cmd_del ;CDELET
|
DZ 'DEL' : DW cmd_del
|
||||||
DZ 'RD' : DW cmd_rmdir ;CRMDIR
|
DZ 'RD' : DW cmd_rmdir
|
||||||
DZ 'SET' : DW cmd_set ;CSET
|
DZ 'INFO' : DW cmd_info
|
||||||
DZ 'TIME' : DW cmd_time ;CTIME
|
DZ 'SET' : DW cmd_set
|
||||||
DZ 'DATE' : DW cmd_date ;CDATE
|
DZ 'TIME' : DW cmd_time
|
||||||
DZ 'VER' : DW cmd_version ;VERS
|
DZ 'DATE' : DW cmd_date
|
||||||
DZ 'CLS' : DW cmd_cls ;CLS
|
DZ 'VER' : DW cmd_version
|
||||||
DZ 'CHDIR' : DW cmd_chdir ;CCHDIR
|
DZ 'CLS' : DW cmd_cls
|
||||||
DZ 'MKDIR' : DW cmd_mkdir ;CMKDIR
|
DZ 'CHDIR' : DW cmd_chdir
|
||||||
DZ 'RENAME' : DW cmd_rename ;CRENAM
|
DZ 'MKDIR' : DW cmd_mkdir
|
||||||
DZ 'ERASE' : DW cmd_del ;CDELET
|
DZ 'RENAME' : DW cmd_rename
|
||||||
DZ 'RMDIR' : DW cmd_rmdir ;CRMDIR
|
DZ 'ERASE' : DW cmd_del
|
||||||
DZ 'HELP' : DW cmd_help ;HELP
|
DZ 'RMDIR' : DW cmd_rmdir
|
||||||
DZ 'VERSION' : DW cmd_version ;VERS
|
DZ 'HELP' : DW cmd_help
|
||||||
DZ 'EXIT' : DW cmd_exit ;CEXIT
|
DZ 'VERSION' : DW cmd_version
|
||||||
DZ 'REBOOT' : DW cmd_reboot ;REBOOT
|
DZ 'EXIT' : DW cmd_exit
|
||||||
|
DZ 'REBOOT' : DW cmd_reboot
|
||||||
DB #00
|
DB #00
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -106,8 +106,13 @@ cmd_dir: push de
|
|||||||
.SkipMask: LD C,Dss.CurDisk ; ã§ âì ⥪. ¤¨áª
|
.SkipMask: LD C,Dss.CurDisk ; ã§ âì ⥪. ¤¨áª
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
CALL read_disk_info ; ¯à®ç¨â âì ¬¥âªã ¨ á¥à¨©ë© ®¬¥à ¤¨áª
|
CALL read_disk_info ; ¯à®ç¨â âì ¬¥âªã ¨ á¥à¨©ë© ®¬¥à ¤¨áª
|
||||||
|
JR NC,.NeXt
|
||||||
;
|
;
|
||||||
CALL Print_Header
|
CALL print_err_message
|
||||||
|
SCF
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
.NeXt: CALL Print_Header
|
||||||
; [ ] 01/10/23
|
; [ ] 01/10/23
|
||||||
ld hl,Buffers.work.free ; ¨¬ï ä ©«
|
ld hl,Buffers.work.free ; ¨¬ï ä ©«
|
||||||
ld de,Buffers.work.buffer1 ; 80 ¡ãä¥à
|
ld de,Buffers.work.buffer1 ; 80 ¡ãä¥à
|
||||||
@ -566,9 +571,6 @@ S_LOW: WORD 0
|
|||||||
S_MED: WORD 0
|
S_MED: WORD 0
|
||||||
S_HIGH: BYTE 0
|
S_HIGH: BYTE 0
|
||||||
dir_number: WORD 0
|
dir_number: WORD 0
|
||||||
free_space_low: WORD 0
|
|
||||||
free_space_medium: WORD 0
|
|
||||||
free_space_high: BYTE 0
|
|
||||||
;
|
;
|
||||||
full_space_low: WORD 0
|
full_space_low: WORD 0
|
||||||
full_space_medium: WORD 0
|
full_space_medium: WORD 0
|
||||||
@ -589,207 +591,12 @@ SIZE_BUFFER: db " " ;
|
|||||||
.bytes equ SIZE_BUFFER - $
|
.bytes equ SIZE_BUFFER - $
|
||||||
;
|
;
|
||||||
|
|
||||||
; [x] ⥯¥àì ¥ «¥§¥â ¯àï¬ãî, ¤¥« ¥â ç¥à¥§ ®¢ë© ¯ à ¬¥âà äãªæ¨¨ DskInfo
|
|
||||||
; ¨ ï «®£¨ª ¯®«ãç¥¨ï ¬¥âª¨ ⮬ - á ç « ¨é¥âáï ¢ ª®à¥¢®© ¤¨à¥ªâ®à¨¨,
|
|
||||||
; ¥á«¨ â ¬ ¥â, â® ¡¥àñâáï ¨§ BPB
|
|
||||||
read_disk_info: OR #80
|
|
||||||
LD HL,Buffers.work.buffer
|
|
||||||
.full+1: LD B,0
|
|
||||||
LD C,Dss.DskInfo
|
|
||||||
RST ToDSS
|
|
||||||
; ” ©«®¢ ï á¨á⥬
|
|
||||||
; ‘¥à¨©ë© ®¬¥à ¤¨áª
|
|
||||||
; Œ¥âª ¤¨áª ¢ BPB
|
|
||||||
;
|
|
||||||
; HL':HL - ®¡é¥¥ ª®«-¢® ª« áâ¥à®¢
|
|
||||||
; DE':DE - ᢮¡®¤ëå ª« áâ¥à®¢
|
|
||||||
; A - à §¬¥à ª« áâ¥à ¢ ᥪâ®à å
|
|
||||||
; BC - à §¬¥à ᥪâ®à ¢ ¡ ©â å
|
|
||||||
; max sector (LBA28) #0FFF'FFFF
|
|
||||||
;
|
|
||||||
EX AF,AF'
|
|
||||||
LD A,D
|
|
||||||
AND E
|
|
||||||
EXX
|
|
||||||
AND D
|
|
||||||
AND E
|
|
||||||
EXX
|
|
||||||
INC A
|
|
||||||
LD (.full),A
|
|
||||||
EX AF,AF'
|
|
||||||
;
|
|
||||||
; --> (HL':HL)*BC*A, (DE':DE)*BC*A = B':HL'HL, C':DE':DE
|
|
||||||
EXX
|
|
||||||
LD BC,0
|
|
||||||
EXX
|
|
||||||
SRL B
|
|
||||||
RR C
|
|
||||||
RRCA
|
|
||||||
JR C,.loop2
|
|
||||||
;
|
|
||||||
.loop1: SLA L
|
|
||||||
RL H
|
|
||||||
EXX
|
|
||||||
RL L
|
|
||||||
RL H
|
|
||||||
RL B
|
|
||||||
EXX
|
|
||||||
;
|
|
||||||
SLA E
|
|
||||||
RL D
|
|
||||||
EXX
|
|
||||||
RL E
|
|
||||||
RL D
|
|
||||||
RL C
|
|
||||||
EXX
|
|
||||||
;
|
|
||||||
RRCA
|
|
||||||
JP NC,.loop1
|
|
||||||
;
|
|
||||||
.loop2: SLA L
|
|
||||||
RL H
|
|
||||||
EXX
|
|
||||||
RL L
|
|
||||||
RL H
|
|
||||||
RL B
|
|
||||||
EXX
|
|
||||||
;
|
|
||||||
SLA E
|
|
||||||
RL D
|
|
||||||
EXX
|
|
||||||
RL E
|
|
||||||
RL D
|
|
||||||
RL C
|
|
||||||
EXX
|
|
||||||
;
|
|
||||||
SRL B
|
|
||||||
RR C
|
|
||||||
JP NC,.loop2
|
|
||||||
; <-- B':HL'HL, C':DE':DE
|
|
||||||
EXX
|
|
||||||
LD A,C
|
|
||||||
LD (free_space_high),A
|
|
||||||
LD (free_space_medium),DE
|
|
||||||
;
|
|
||||||
LD A,B
|
|
||||||
LD (full_space_high),A
|
|
||||||
LD (full_space_medium),HL
|
|
||||||
EXX
|
|
||||||
LD (free_space_low),DE
|
|
||||||
LD (full_space_low),HL
|
|
||||||
;
|
|
||||||
.no_full_space_option:
|
|
||||||
; parse
|
|
||||||
LD D,0
|
|
||||||
LD HL,Buffers.work.buffer
|
|
||||||
; âãâ ¢ HL ¤«¨ ¯®«ï "” ©«®¢ ï á¨á⥬ "
|
|
||||||
LD E,(HL)
|
|
||||||
ADD HL,DE
|
|
||||||
INC HL
|
|
||||||
; ¤«¨ ¯®«ï "‘¥à¨©ë© ®¬¥à ¤¨áª "
|
|
||||||
LD A,(HL)
|
|
||||||
LD E,A
|
|
||||||
ADD HL,DE
|
|
||||||
INC HL
|
|
||||||
PUSH HL ; 㪠§ â¥«ì ¤«¨ã ¯®«ï "Œ¥âª ¤¨áª "
|
|
||||||
CP 4 ;!HARDCODE ¤«¨ ¯®«ï á¥à¨©®£® ®¬¥à
|
|
||||||
JR NZ,unknown_serial
|
|
||||||
DEC HL
|
|
||||||
; áâ à襥 á«®¢® á¥à¨©¨ª
|
|
||||||
LD D,(HL)
|
|
||||||
DEC HL
|
|
||||||
LD E,(HL)
|
|
||||||
DEC HL
|
|
||||||
PUSH HL
|
|
||||||
EX DE,HL
|
|
||||||
ld de,serial_string ; xxxx-xxxx
|
|
||||||
call hex16
|
|
||||||
POP HL
|
|
||||||
;
|
|
||||||
ld a,"-"
|
|
||||||
ld (de),a
|
|
||||||
INC DE
|
|
||||||
; ¬« ¤è¥¥ á«®¢® á¥à¨©¨ª
|
|
||||||
LD A,(HL)
|
|
||||||
DEC HL
|
|
||||||
LD L,(HL)
|
|
||||||
LD H,A
|
|
||||||
call hex16
|
|
||||||
;
|
|
||||||
.get_label: ; âãâ ¢ HL ¤«¨ ¯®«ï "Œ¥âª ¤¨áª "
|
|
||||||
POP HL
|
|
||||||
LD A,(HL)
|
|
||||||
INC HL
|
|
||||||
AND A
|
|
||||||
jr z,.no_volume_label ; ¤
|
|
||||||
PUSH HL
|
|
||||||
LD B,A
|
|
||||||
LD A,' '
|
|
||||||
;
|
|
||||||
.loop: CP (HL)
|
|
||||||
JR NZ,.good_label
|
|
||||||
INC HL
|
|
||||||
DJNZ .loop
|
|
||||||
POP HL ; ᨬ ¥¬ «¨è¥¥
|
|
||||||
; ¥â ¬¥âª¨
|
|
||||||
.no_volume_label:; %6
|
|
||||||
ld hl,volume_string_no ; áâப
|
|
||||||
ld de,Buffers.bat_params.PRM6; ªã¤
|
|
||||||
call ncopy_string ; ᪮¯¨à. áâபã (á ã«¥¬)
|
|
||||||
XOR A
|
|
||||||
LD (Buffers.bat_params.PRM7),A
|
|
||||||
ret
|
|
||||||
.good_label: POP HL
|
|
||||||
PUSH HL ; ⮫ª ¥¬ «¨è¥¥
|
|
||||||
; ¥áâì ¬¥âª
|
|
||||||
volume_label: POP DE ; ᨬ ¥¬ «¨è¥¥
|
|
||||||
; %7
|
|
||||||
ld de,Buffers.bat_params.PRM7
|
|
||||||
ld bc,11 ;!HARDCODE ¤«¨ ¬¥âª¨
|
|
||||||
ldir
|
|
||||||
xor a
|
|
||||||
ld (de),a
|
|
||||||
; %6
|
|
||||||
ld hl,volume_string_yes ; áâப
|
|
||||||
ld de,Buffers.bat_params.PRM6; ªã¤
|
|
||||||
call ncopy_string ; ᪮¯¨à. áâபã (á ã«¥¬)
|
|
||||||
ret
|
|
||||||
;
|
|
||||||
; ¥á«¨ ¥ 㤠«®áì ¯à®ç¨â âì á¥à¨©ë© ®¬¥à ¤¨áª ¨«¨ ä®à¬ â ¥¨§¢¥áâ¥
|
|
||||||
unknown_serial: ; á¥à¨©ë© ®¬¥à ¤¨áª - ¥¨§¢¥á⥠;!HARDCODE ¨¦¥
|
|
||||||
LD HL,serial_string
|
|
||||||
LD A,'?'
|
|
||||||
LD B,serial_string.Size
|
|
||||||
.loop: LD (HL),A
|
|
||||||
INC HL
|
|
||||||
DJNZ .loop
|
|
||||||
LD HL,serial_string+4
|
|
||||||
LD (HL),'-'
|
|
||||||
;POP HL ; «¨è¥¥
|
|
||||||
JP read_disk_info.get_label
|
|
||||||
;
|
|
||||||
|
|
||||||
;---------------;
|
;---------------;
|
||||||
SlashMaskFname: db '\' ;
|
SlashMaskFname: db '\' ;
|
||||||
; ¬ áª ä ©«®¢
|
; ¬ áª ä ©«®¢
|
||||||
mask_fname: db "*.*",0
|
mask_fname: db "*.*",0
|
||||||
;---------------;
|
;---------------;
|
||||||
|
|
||||||
; ª®à¥ì ¤¨áª
|
|
||||||
;root_path: db 'X:\',0
|
|
||||||
|
|
||||||
; ‘¥à¨©ë© ®¬¥à ¤¨áª
|
|
||||||
serial_string: db "xxxx-xxxx"
|
|
||||||
.Size equ $-serial_string
|
|
||||||
db 0 ; § ªàë¢ èª
|
|
||||||
|
|
||||||
volume_string_no:
|
|
||||||
db "has no label",0
|
|
||||||
volume_string_yes:
|
|
||||||
db "has label",0
|
|
||||||
; has_not_full_info:
|
|
||||||
; db ' (?)',0
|
|
||||||
;
|
|
||||||
cmd_dir_options:; [x] ¯ à ¬¥âà /F - ¢ë¢®¤ ª®«¨ç¥á⢠᢮¡®¤®£® ¬¥áâ ¤¨áª¥ (â®à¬®§¨â, ¯®í⮬㠯 à ¬¥â஬)
|
cmd_dir_options:; [x] ¯ à ¬¥âà /F - ¢ë¢®¤ ª®«¨ç¥á⢠᢮¡®¤®£® ¬¥áâ ¤¨áª¥ (â®à¬®§¨â, ¯®í⮬㠯 à ¬¥â஬)
|
||||||
DB 'f' : DW cmd_dir_freeSpace
|
DB 'f' : DW cmd_dir_freeSpace
|
||||||
DB 'p' : DW cmd_dir_pause
|
DB 'p' : DW cmd_dir_pause
|
||||||
|
|||||||
75
SHELL/Commands/INFO.ASM
Normal file
75
SHELL/Commands/INFO.ASM
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
;[ ] 24/06/2024
|
||||||
|
cmd_info: LD DE,MAIN_MSG.INFO_1 ; 身丰花 "Drive Label Serial number Size"
|
||||||
|
CALL ECHO_MESSAGE
|
||||||
|
;
|
||||||
|
LD HL,.Collect_Msg
|
||||||
|
LD C,Dss.PChars
|
||||||
|
RST ToDSS
|
||||||
|
;
|
||||||
|
LD A,":"
|
||||||
|
LD (Buffers.bat_params.PRM9+1),A
|
||||||
|
XOR A
|
||||||
|
LD (Buffers.bat_params.PRM9+2),A ; Drive "X:",0
|
||||||
|
LD (read_disk_info.full),A
|
||||||
|
;
|
||||||
|
LD C,Dss.CurDisk
|
||||||
|
RST ToDSS
|
||||||
|
LD B,C
|
||||||
|
LD C,-1
|
||||||
|
;
|
||||||
|
.loop: INC C
|
||||||
|
PUSH BC
|
||||||
|
LD A,C
|
||||||
|
ADD "A"
|
||||||
|
LD (Buffers.bat_params.PRM9),A
|
||||||
|
LD A,C
|
||||||
|
CALL read_disk_info
|
||||||
|
JR C,.next_drv
|
||||||
|
; %7 - Volume label
|
||||||
|
; serial_string - Volume serial number string
|
||||||
|
; full_space_high \
|
||||||
|
; full_space_medium - Partition size
|
||||||
|
; full_space_low /
|
||||||
|
;
|
||||||
|
LD HL,.Collect_Msg
|
||||||
|
LD C,Dss.PChars
|
||||||
|
RST ToDSS
|
||||||
|
;
|
||||||
|
LD HL,serial_string
|
||||||
|
LD DE,Buffers.bat_params.PRM4 ; Volume serial number string
|
||||||
|
CALL ncopy_string
|
||||||
|
; full capacity
|
||||||
|
ld a,(full_space_high)
|
||||||
|
ld hl,(full_space_medium) ; 摵. <20>抉鴾
|
||||||
|
exx
|
||||||
|
ld hl,(full_space_low) ; 洮. <20>抉鴾
|
||||||
|
CALL PRN_DISK_SIZE
|
||||||
|
; %5..6 - Full size
|
||||||
|
;
|
||||||
|
; 銈酮罱兒恥<E58592>言 PRM5
|
||||||
|
LD HL,Buffers.bat_params.PRM5 - 1
|
||||||
|
LD DE,Buffers.bat_params.PRM5
|
||||||
|
.clear_spaces: INC HL
|
||||||
|
LD A,(HL)
|
||||||
|
CP " "
|
||||||
|
JR Z,.clear_spaces
|
||||||
|
AND A
|
||||||
|
CALL NZ,copy_string
|
||||||
|
;
|
||||||
|
.print_info_2: LD DE,MAIN_MSG.INFO_2 ; 身丰花 "Drive Label Serial number Size"
|
||||||
|
CALL ECHO_MESSAGE
|
||||||
|
;
|
||||||
|
.next_drv: POP BC
|
||||||
|
DJNZ .loop
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
.Collect_Msg: DZ "Please wait, information is being collected...\r"
|
||||||
|
|
||||||
|
/*
|
||||||
|
0 1 2 3 4 5 6 7
|
||||||
|
01234567890123456789012345678901234567890123456789012345678901234567890123456789;
|
||||||
|
Drive File System Label Serial number Size in bytes
|
||||||
|
C: FAT32 NO NAME xxxx-xxxx 147,102,629,888.
|
||||||
|
D: FAT16 SP_SYS xxxx-xxxx 147,102,629,888.
|
||||||
|
;
|
||||||
|
*/
|
||||||
@ -22,6 +22,8 @@ MAIN_MSG:
|
|||||||
.HELP EQU .HELP_
|
.HELP EQU .HELP_
|
||||||
.CALCULATING EQU .CALC_
|
.CALCULATING EQU .CALC_
|
||||||
.CRLF EQU .CRLF_
|
.CRLF EQU .CRLF_
|
||||||
|
.INFO_1 EQU .INFO_1_
|
||||||
|
.INFO_2 EQU .INFO_2_
|
||||||
;
|
;
|
||||||
!txtCounter DEFL 0
|
!txtCounter DEFL 0
|
||||||
; ; ¥ ᤢ¨£ âì____
|
; ; ¥ ᤢ¨£ âì____
|
||||||
@ -32,7 +34,7 @@ MAIN_MSG:
|
|||||||
; 1 2 3 4 5 6 7
|
; 1 2 3 4 5 6 7
|
||||||
; 01234567890123456789012345678901234567890123456789012345678901234567890123456789;
|
; 01234567890123456789012345678901234567890123456789012345678901234567890123456789;
|
||||||
stN .DIR_1_ : db "Volume in drive %1 %6 %7\r\n"
|
stN .DIR_1_ : db "Volume in drive %1 %6 %7\r\n"
|
||||||
db "Volume Serial Number is %2\r\n"
|
db "Volume Serial Number is %2, file sistem is %8\r\n"
|
||||||
DZ "\r\nDirectory of %3\r\n\n"
|
DZ "\r\nDirectory of %3\r\n\n"
|
||||||
stN .VERS_ : DZ "Estex DSS version %1. Shell version %2.\r\n" ;R13
|
stN .VERS_ : DZ "Estex DSS version %1. Shell version %2.\r\n" ;R13
|
||||||
stN .DATE_ : DZ "Current date: %1, %2\r\n" ; [x] ¢ë¢®¤ ¤ï ¥¤¥«¨ 26/01/2023
|
stN .DATE_ : DZ "Current date: %1, %2\r\n" ; [x] ¢ë¢®¤ ¤ï ¥¤¥«¨ 26/01/2023
|
||||||
@ -48,11 +50,13 @@ MAIN_MSG:
|
|||||||
stN .DIR_4_ : DZ " Free space %5 byte(s)\r\n"
|
stN .DIR_4_ : DZ " Free space %5 byte(s)\r\n"
|
||||||
stN .DIR_3_ : DZ "%4 %5 %3 %1 %2 \r\n" ;DATE TIME SIZE FILENAME EXT
|
stN .DIR_3_ : DZ "%4 %5 %3 %1 %2 \r\n" ;DATE TIME SIZE FILENAME EXT
|
||||||
stN .HELP_ : db "COMMANDS:\r\n"
|
stN .HELP_ : db "COMMANDS:\r\n"
|
||||||
db "DIR REN | RENAME PATH HELP \r\n"
|
db "CLS INFO REN = RENAME PATH HELP \r\n"
|
||||||
db "CD | CHDIR DEL | ERASE SET VER | VERSION \r\n"
|
db "CD = CHDIR DEL = ERASE SET VER = VERSION \r\n"
|
||||||
db "MD | MKDIR TIME ECHO EXIT \r\n"
|
db "MD = MKDIR TIME ECHO EXIT \r\n"
|
||||||
DZ "RD | RMDIR DATE CLS REBOOT \r\n\n"
|
DZ "RD = RMDIR DATE REBOOT DIR [path] [/p /f] \r\n\n"
|
||||||
stN .CALC_ : DZ "Calculating free space...\r"
|
stN .CALC_ : DZ "Calculating free space...\r"
|
||||||
|
stN .INFO_1_ : DZ "\r\nDrive File System Label Serial number Size in bytes\r\n"
|
||||||
|
stN .INFO_2_ : DZ " %9 \r\t %8\r\t\t\t %7\r\t\t\t\t\t %4\r\t\t\t\t\t\t\t %5.\r\n"
|
||||||
; ;R11
|
; ;R11
|
||||||
db 0
|
db 0
|
||||||
DZ "Unknown command"
|
DZ "Unknown command"
|
||||||
|
|||||||
@ -1,12 +1,11 @@
|
|||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
; ‚뢮¤ HL ¢ hex-ä®à¬ â¥
|
; ‚뢮¤ HL ¢ hex-ä®à¬ â¥
|
||||||
; de=¡ãä¥à
|
|
||||||
; hl=ç¨á«®
|
; hl=ç¨á«®
|
||||||
hex16: ld a,h
|
; de=¡ãä¥à
|
||||||
call hex8
|
hex16_to_str: ld a,h
|
||||||
|
call hex8_to_str
|
||||||
ld a,l
|
ld a,l
|
||||||
; ¢ë¢®¤ "a"
|
hex8_to_str: push af
|
||||||
hex8: push af
|
|
||||||
rrca
|
rrca
|
||||||
rrca
|
rrca
|
||||||
rrca
|
rrca
|
||||||
|
|||||||
221
SHELL/Procedures/shared.asm
Normal file
221
SHELL/Procedures/shared.asm
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
;----------------------------------------------------------------------;
|
||||||
|
; [x] ⥯¥àì ¥ «¥§¥â ¯àï¬ãî, ¤¥« ¥â ç¥à¥§ ®¢ë© ¯ à ¬¥âà äãªæ¨¨ DskInfo
|
||||||
|
; ¨ ï «®£¨ª ¯®«ãç¥¨ï ¬¥âª¨ ⮬ - á ç « ¨é¥âáï ¢ ª®à¥¢®© ¤¨à¥ªâ®à¨¨,
|
||||||
|
; ¥á«¨ â ¬ ¥â, â® ¡¥àñâáï ¨§ BPB
|
||||||
|
; ‚室: ¢ëáâ ¢¨âì ¯¥à¥¬¥ãî read_disk_info.full:
|
||||||
|
; 0 - ¥ áç¨â âì ᢮¡®¤®¥ ¬¥áâ®, !0 - áç¨â âì
|
||||||
|
; ‚ë室:
|
||||||
|
; %7 - Volume label
|
||||||
|
; serial_string - Volume serial number string
|
||||||
|
; full_space_high \
|
||||||
|
; full_space_medium - Partition size
|
||||||
|
; full_space_low /
|
||||||
|
; %6 - "has no label" or "has label"
|
||||||
|
;
|
||||||
|
read_disk_info: OR #80
|
||||||
|
LD HL,Buffers.work.buffer
|
||||||
|
.full+1: LD B,0
|
||||||
|
LD C,Dss.DskInfo
|
||||||
|
RST ToDSS
|
||||||
|
RET C
|
||||||
|
; ” ©«®¢ ï á¨á⥬
|
||||||
|
; ‘¥à¨©ë© ®¬¥à ¤¨áª
|
||||||
|
; Œ¥âª ¤¨áª ¢ BPB
|
||||||
|
; ”¨§¨ç¥áª¨© ®¬¥à ¤¨áª , ®¬¥à à §¤¥«
|
||||||
|
;
|
||||||
|
; HL':HL - ®¡é¥¥ ª®«-¢® ª« áâ¥à®¢
|
||||||
|
; DE':DE - ᢮¡®¤ëå ª« áâ¥à®¢
|
||||||
|
; A - à §¬¥à ª« áâ¥à ¢ ᥪâ®à å
|
||||||
|
; BC - à §¬¥à ᥪâ®à ¢ ¡ ©â å
|
||||||
|
; max sector (LBA28) #0FFF'FFFF
|
||||||
|
;
|
||||||
|
EX AF,AF'
|
||||||
|
LD A,D
|
||||||
|
AND E
|
||||||
|
EXX
|
||||||
|
AND D
|
||||||
|
AND E
|
||||||
|
EXX
|
||||||
|
INC A
|
||||||
|
LD (.full),A
|
||||||
|
;
|
||||||
|
AND H
|
||||||
|
|
||||||
|
EX AF,AF'
|
||||||
|
;
|
||||||
|
; --> (HL':HL)*BC*A, (DE':DE)*BC*A = B':HL'HL, C':DE':DE
|
||||||
|
EXX
|
||||||
|
LD BC,0
|
||||||
|
EXX
|
||||||
|
SRL B
|
||||||
|
RR C
|
||||||
|
RRCA
|
||||||
|
JR C,.loop2
|
||||||
|
;
|
||||||
|
.loop1: SLA L
|
||||||
|
RL H
|
||||||
|
EXX
|
||||||
|
RL L
|
||||||
|
RL H
|
||||||
|
RL B
|
||||||
|
EXX
|
||||||
|
;
|
||||||
|
SLA E
|
||||||
|
RL D
|
||||||
|
EXX
|
||||||
|
RL E
|
||||||
|
RL D
|
||||||
|
RL C
|
||||||
|
EXX
|
||||||
|
;
|
||||||
|
RRCA
|
||||||
|
JR NC,.loop1
|
||||||
|
;
|
||||||
|
.loop2: SLA L
|
||||||
|
RL H
|
||||||
|
EXX
|
||||||
|
RL L
|
||||||
|
RL H
|
||||||
|
RL B
|
||||||
|
EXX
|
||||||
|
;
|
||||||
|
SLA E
|
||||||
|
RL D
|
||||||
|
EXX
|
||||||
|
RL E
|
||||||
|
RL D
|
||||||
|
RL C
|
||||||
|
EXX
|
||||||
|
;
|
||||||
|
SRL B
|
||||||
|
RR C
|
||||||
|
JR NC,.loop2
|
||||||
|
; <-- B':HL'HL, C':DE':DE
|
||||||
|
EXX
|
||||||
|
LD A,C
|
||||||
|
LD (free_space_high),A
|
||||||
|
LD (free_space_medium),DE
|
||||||
|
;
|
||||||
|
LD A,B
|
||||||
|
LD (full_space_high),A
|
||||||
|
LD (full_space_medium),HL
|
||||||
|
EXX
|
||||||
|
LD (free_space_low),DE
|
||||||
|
LD (full_space_low),HL
|
||||||
|
;
|
||||||
|
.no_full_space_option:
|
||||||
|
; parse
|
||||||
|
; copy FS type
|
||||||
|
LD HL,Buffers.work.buffer
|
||||||
|
LD DE,Buffers.bat_params.PRM8; ªã¤
|
||||||
|
LD B,0
|
||||||
|
LD C,(HL) ; âãâ ¢ HL ¤«¨ ¯®«ï "” ©«®¢ ï á¨á⥬ "
|
||||||
|
INC HL
|
||||||
|
LDIR
|
||||||
|
EX DE,HL
|
||||||
|
LD (HL),0
|
||||||
|
EX DE,HL
|
||||||
|
;
|
||||||
|
LD D,0
|
||||||
|
; ; âãâ ¢ HL ¤«¨ ¯®«ï "” ©«®¢ ï á¨á⥬ "
|
||||||
|
; LD E,(HL)
|
||||||
|
; ADD HL,DE
|
||||||
|
; INC HL
|
||||||
|
; ¤«¨ ¯®«ï "‘¥à¨©ë© ®¬¥à ¤¨áª "
|
||||||
|
LD A,(HL)
|
||||||
|
LD E,A
|
||||||
|
ADD HL,DE
|
||||||
|
INC HL
|
||||||
|
PUSH HL ; 㪠§ â¥«ì ¤«¨ã ¯®«ï "Œ¥âª ¤¨áª "
|
||||||
|
CP 4 ;!HARDCODE ¤«¨ ¯®«ï á¥à¨©®£® ®¬¥à
|
||||||
|
JR NZ,.unknown_serial
|
||||||
|
DEC HL
|
||||||
|
; áâ à襥 á«®¢® á¥à¨©¨ª
|
||||||
|
LD D,(HL)
|
||||||
|
DEC HL
|
||||||
|
LD E,(HL)
|
||||||
|
DEC HL
|
||||||
|
PUSH HL
|
||||||
|
EX DE,HL
|
||||||
|
LD DE,serial_string ; xxxx-xxxx
|
||||||
|
CALL hex16_to_str
|
||||||
|
POP HL
|
||||||
|
;
|
||||||
|
LD A,"-"
|
||||||
|
LD (DE),A
|
||||||
|
INC DE
|
||||||
|
; ¬« ¤è¥¥ á«®¢® á¥à¨©¨ª
|
||||||
|
LD A,(HL)
|
||||||
|
DEC HL
|
||||||
|
LD L,(HL)
|
||||||
|
LD H,A
|
||||||
|
CALL hex16_to_str
|
||||||
|
;
|
||||||
|
.get_label: ; âãâ ¢ HL ¤«¨ ¯®«ï "Œ¥âª ¤¨áª "
|
||||||
|
POP HL
|
||||||
|
LD A,(HL)
|
||||||
|
INC HL
|
||||||
|
AND A
|
||||||
|
JR Z,.no_volume_label ; ¤
|
||||||
|
PUSH HL
|
||||||
|
LD B,A
|
||||||
|
LD A,' '
|
||||||
|
;
|
||||||
|
.loop: CP (HL)
|
||||||
|
JR NZ,.good_label
|
||||||
|
INC HL
|
||||||
|
DJNZ .loop
|
||||||
|
POP HL ; ᨬ ¥¬ «¨è¥¥
|
||||||
|
; ¥â ¬¥âª¨
|
||||||
|
.no_volume_label:; %6
|
||||||
|
LD HL,volume_string_no ; áâப
|
||||||
|
LD DE,Buffers.bat_params.PRM6; ªã¤
|
||||||
|
CALL ncopy_string ; ᪮¯¨à. áâபã (á ã«¥¬)
|
||||||
|
XOR A
|
||||||
|
LD (Buffers.bat_params.PRM7),A
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
.good_label: POP HL
|
||||||
|
PUSH HL ; ⮫ª ¥¬ «¨è¥¥
|
||||||
|
; ¥áâì ¬¥âª
|
||||||
|
.volume_label: POP DE ; ᨬ ¥¬ «¨è¥¥
|
||||||
|
; %7
|
||||||
|
LD DE,Buffers.bat_params.PRM7
|
||||||
|
LD BC,11 ;!HARDCODE ¤«¨ ¬¥âª¨
|
||||||
|
LDIR
|
||||||
|
XOR A
|
||||||
|
LD (DE),A
|
||||||
|
; %6
|
||||||
|
LD HL,volume_string_yes ; áâப
|
||||||
|
LD DE,Buffers.bat_params.PRM6; ªã¤
|
||||||
|
XOR A
|
||||||
|
JP ncopy_string ; ᪮¯¨à. áâபã (á ã«¥¬)
|
||||||
|
;
|
||||||
|
; ¥á«¨ ¥ 㤠«®áì ¯à®ç¨â âì á¥à¨©ë© ®¬¥à ¤¨áª ¨«¨ ä®à¬ â ¥¨§¢¥áâ¥
|
||||||
|
.unknown_serial: ; á¥à¨©ë© ®¬¥à ¤¨áª - ¥¨§¢¥á⥠;!HARDCODE ¨¦¥
|
||||||
|
LD HL,serial_string
|
||||||
|
LD A,'?'
|
||||||
|
LD B,serial_string.Size
|
||||||
|
.loop3: LD (HL),A
|
||||||
|
INC HL
|
||||||
|
DJNZ .loop3
|
||||||
|
LD HL,serial_string+4
|
||||||
|
LD (HL),'-'
|
||||||
|
JR read_disk_info.get_label
|
||||||
|
;
|
||||||
|
///////////////////////////////////////////////////////////////////////
|
||||||
|
free_space_low: WORD 0
|
||||||
|
free_space_medium: WORD 0
|
||||||
|
free_space_high: BYTE 0
|
||||||
|
; ‘¥à¨©ë© ®¬¥à ¤¨áª
|
||||||
|
serial_string: db "xxxx-xxxx"
|
||||||
|
.Size equ $-serial_string
|
||||||
|
db 0 ; § ªàë¢ èª
|
||||||
|
;
|
||||||
|
volume_string_no: db "has no label",0
|
||||||
|
;
|
||||||
|
volume_string_yes: db "has label",0
|
||||||
|
;
|
||||||
|
; has_not_full_info: db ' (?)',0
|
||||||
|
///////////////////////////////////////////////////////////////////////
|
||||||
|
;----------------------------------------------------------------------;
|
||||||
@ -381,7 +381,7 @@ ncopy_string:
|
|||||||
ldi
|
ldi
|
||||||
ret po
|
ret po
|
||||||
or a
|
or a
|
||||||
jr nz,$-5 ;!FIXIT $
|
jr nz,.start
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; ‘ª®¯¨à. áâபã (á ã«¥¬)
|
; ‘ª®¯¨à. áâபã (á ã«¥¬)
|
||||||
@ -532,6 +532,7 @@ T8C24: db "OFF",0
|
|||||||
include 'messages/main_txt.asm' ; á®®¡é¥¨ï
|
include 'messages/main_txt.asm' ; á®®¡é¥¨ï
|
||||||
include 'procedures/parsers.asm' ; äãªæ¨¨ ¯à®ç¥áë¢ ¨ï ¨ ¢ë¡®à
|
include 'procedures/parsers.asm' ; äãªæ¨¨ ¯à®ç¥áë¢ ¨ï ¨ ¢ë¡®à
|
||||||
include 'procedures/math.asm' ; äãªæ¨¨ ¬ ⥬ â¨ç¥áª¨¥
|
include 'procedures/math.asm' ; äãªæ¨¨ ¬ ⥬ â¨ç¥áª¨¥
|
||||||
|
include 'procedures/shared.asm' ; äãªæ¨¨ à §ë¥
|
||||||
;
|
;
|
||||||
include 'Commands/exit.asm' ; ¢ë室 ¢ த¨â. ¯à®æ¥áá
|
include 'Commands/exit.asm' ; ¢ë室 ¢ த¨â. ¯à®æ¥áá
|
||||||
include 'Commands/break.asm' ; ¢ë室 ¨§ ¯ àá¥à bat
|
include 'Commands/break.asm' ; ¢ë室 ¨§ ¯ àá¥à bat
|
||||||
@ -541,6 +542,7 @@ T8C24: db "OFF",0
|
|||||||
include 'Commands/cls.asm' ; ®ç¨á⪠íªà
|
include 'Commands/cls.asm' ; ®ç¨á⪠íªà
|
||||||
include 'Commands/date.asm' ; ¢ë¢®¤ ¨«¨ ãáâ ®¢ª ¤ âë/¢à¥¬¥¨
|
include 'Commands/date.asm' ; ¢ë¢®¤ ¨«¨ ãáâ ®¢ª ¤ âë/¢à¥¬¥¨
|
||||||
include 'Commands/dir.asm' ; ¢ë¢®¤ ᯨ᪠¤¨à¥ªâ®à¨¨
|
include 'Commands/dir.asm' ; ¢ë¢®¤ ᯨ᪠¤¨à¥ªâ®à¨¨
|
||||||
|
include 'Commands/info.asm' ; ¢ë¢®¤ ¨ä®à¬ 樨 ® ¤¨áª å
|
||||||
include 'Commands/chdir.asm' ; ᬥ ⥪. ª â «®£
|
include 'Commands/chdir.asm' ; ᬥ ⥪. ª â «®£
|
||||||
include 'Commands/mkdir.asm' ; á®§¤ ¨¥ ª â «®£
|
include 'Commands/mkdir.asm' ; á®§¤ ¨¥ ª â «®£
|
||||||
include 'Commands/rmdir.asm' ; 㤠«¥¨¥ ª â «®£
|
include 'Commands/rmdir.asm' ; 㤠«¥¨¥ ª â «®£
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
408
|
425
|
||||||
Loading…
Reference in New Issue
Block a user