This commit is contained in:
Anatoliy Belyanskiy 2024-05-25 01:00:41 +10:00
parent da7b40b234
commit 6088a447f7
7 changed files with 217 additions and 93 deletions

View File

@ -408,7 +408,7 @@ EVALCMD: xor a
call EVALSTR call EVALSTR
ld hl,work_buffer2 ;work_buffer+256 ld hl,work_buffer2 ;work_buffer+256
ld de,struct_input_line+5 ; ªã¤  ld de,struct_input_line+5 ; ªã¤ 
ld bc,255 ld bc,255 ;!HARDCODE
.loop: ld a,(hl) .loop: ld a,(hl)
ldi ldi
inc b inc b

View File

@ -7,6 +7,7 @@ cmd_dir: push de
;;;; [ ] ¯®¤¤¥à¦ª  ¯ à ¬¥â஢ ;;;; [ ] ¯®¤¤¥à¦ª  ¯ à ¬¥â஢
; § ­ã«ï¥¬ ¢á¥ ¯ à ¬¥âàë ­  áâ à⥠; § ­ã«ï¥¬ ¢á¥ ¯ à ¬¥âàë ­  áâ àâ¥
xor a xor a
ld (work_buffer2),a
ld (read_disk_info.full),a ld (read_disk_info.full),a
ld (.key_p),a ld (.key_p),a
; ¢ë¯®«­ï¥¬/­ áâà ¨¢ ¥¬ ¢á¥ ­ ©¤¥­­ë¥ ¯ à ¬¥âàë ¢ áâப¥ ; ¢ë¯®«­ï¥¬/­ áâà ¨¢ ¥¬ ¢á¥ ­ ©¤¥­­ë¥ ¯ à ¬¥âàë ¢ áâப¥
@ -21,10 +22,10 @@ cmd_dir: push de
jr z,.skip jr z,.skip
LD DE,MAIN_MSG.CALCULATING LD DE,MAIN_MSG.CALCULATING
CALL MESSAGE CALL MESSAGE
; ;!TEST 23/05/24
.skip: ld c,Dss.CurDisk ; ã§­ âì ⥪. ¤¨áª .skip: ;LD C,Dss.CurDisk ; ã§­ âì ⥪. ¤¨áª
RST ToDSS ;RST ToDSS
call read_disk_info ; ¯à®ç¨â âì ¬¥âªã ¨ á¥à¨©­ë© ­®¬¥à ¤¨áª  ;CALL read_disk_info ; ¯à®ç¨â âì ¬¥âªã ¨ á¥à¨©­ë© ­®¬¥à ¤¨áª 
; ;
pop de pop de
xor a xor a
@ -37,7 +38,7 @@ cmd_dir: push de
ld (S_HIGH),a ld (S_HIGH),a
; ;
ex de,hl ex de,hl
ld de,work_buffer1 ; 80 ld de,work_buffer1
ld c,Dss.GSwitch ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬-áâப¨ ld c,Dss.GSwitch ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬-áâப¨
RST ToDSS RST ToDSS
;!TODO âãâ ¢ work_buffer1 «¥¦¨â ¯ãâì ¨/¨«¨/«¨¡® ¬ áª  ä ©«  ;!TODO âãâ ¢ work_buffer1 «¥¦¨â ¯ãâì ¨/¨«¨/«¨¡® ¬ áª  ä ©« 
@ -47,19 +48,82 @@ cmd_dir: push de
; ;
ld a,(work_buffer1) ld a,(work_buffer1)
or a or a
jr nz,.skipMask ; § ¤ ­  ¬ áª  ¨¬ñ­ ;jr nz,.SkipMask ; § ¤ ­  ¬ áª  ¨¬ñ­
jr z,.NoSkipMask ; ­¥ § ¤ ­  ¬ áª  ¨¬ñ­
; á®åà ­¨âì ⥪ã騩 ¯ãâì ¢ work_buffer2
; ˆ§ ¡ãä¥à  DE § ¯®¬­¨âì ¬ áªã (¯¥à¢ë¥ á¯à ¢  ᨬ¢®«ë ¯®á«¥ ¯¥à¢®£® á¯à ¢  '\') ¨ ã¡à âì ¥ñ
; ¥á«¨ ¬ áª¨ ­¥â ¨ ¯®á«¥¤­¨© ¢ áâப¥ '\', â® ¯®â®¬ ¤®¡ ¢¨âì ¬ áªã ª ª ¢ "; ¤®¡ ¢«¥­¨¥ ¬ áª¨"
; ᤥ« âì CD ¢ ¤¨à¥ªâ®à¨î ¨§ ¡ãä¥à  DE
; make_short_path
;
ld hl,work_buffer1
ld bc,Dss.EX_Path.GET_ALL
rst ToDSS
; ;
ld hl,mask_fname ; "*.*" and %00001100 ; ¨¬ï ¤¨áª  ¨ ¯ãâì
jr z,.SkipMask
;
ld hl,work_buffer2+2
ld c,Dss.CurDir
rst ToDSS
ld c,Dss.CurDisk
rst ToDSS
add a,"A"
ld (work_buffer2),a
ld a,":"
ld (work_buffer2+1),a
;
xor a
ld hl,work_buffer1
ld bc,256
cpir
;!FIXIT ¯à®¢¥àª  ­  ®è¨¡ªã ¯® ä« £ã P/V
dec hl
ex de,hl
ld hl,256-1
and a
sbc hl,bc
ld b,h
ld c,l
ld a,'\' ;
ex de,hl
cpdr
;!FIXIT ¯à®¢¥àª  ­  ®è¨¡ªã ¯® ä« £ã P/V
inc hl
ld (hl),0
inc hl
ld de,PRM1
call ncopy_string ; á®å࠭塞 ¬ áªã ä ©« 
;
ld hl,work_buffer1
ld c,Dss.ChDir
rst ToDSS
;
ld hl,PRM1
ld de,work_buffer1
call ncopy_string ; ¢®ááâ ­ ¢«¨¢ ¥¬ ¬ áªã ä ©« 
;
ld a,(PRM1)
or a
jr nz,.SkipMask
;
; ¤®¡ ¢«¥­¨¥ ¬ áª¨
.NoSkipMask: ld hl,mask_fname ; "*.*"
ld de,work_buffer1 ld de,work_buffer1
call copy_string call copy_string
; [ ] 1/10/23 ; !TEST 23/05/24
.skipMask: ld hl,work_buffer1 ; ¨¬ï ä ©«  .SkipMask: LD C,Dss.CurDisk ; ã§­ âì ⥪. ¤¨áª
ld de,work_buffer1 ; 80 ¡ãä¥à RST ToDSS
ld a,FAT_ATTR.NoVolID ;  âਡãâ (¢á¥, ªà®¬¥ ¬¥âª¨ ⮬ ) CALL read_disk_info ; ¯à®ç¨â âì ¬¥âªã ¨ á¥à¨©­ë© ­®¬¥à ¤¨áª 
ld bc,Dss.F_First.FATname ; f_first (ä®à¬ â 11) ;
RST ToDSS CALL Print_Header
JR C,.Dir_Empty ;R14 ; [ ] 01/10/23
CALL Print_Header ld hl,work_buffer1 ; ¨¬ï ä ©« 
ld de,work_buffer1 ; 80 ¡ãä¥à
ld a,FAT_ATTR.NoVolID ;  âਡãâ (¢á¥, ªà®¬¥ ¬¥âª¨ ⮬ )
ld bc,Dss.F_First.FATname ; f_first (ä®à¬ â 11)
RST ToDSS
JR C,.Dir_Empty ;R14
; ;
LD A,32-5 ; ª®«¨ç¥á⢮ áâப ¤® ®¦¨¤ ­¨ï ª« ¢¨è¨ (á ¢ëç¥â®¬ § £®«®¢ª ) ;!HARDCODE LD A,32-5 ; ª®«¨ç¥á⢮ áâப ¤® ®¦¨¤ ­¨ï ª« ¢¨è¨ (á ¢ëç¥â®¬ § £®«®¢ª ) ;!HARDCODE
PUSH AF PUSH AF
@ -110,9 +174,9 @@ cmd_dir: push de
ld (dir_number),hl ld (dir_number),hl
jr .next jr .next
;;R14 ;;R14
.Dir_Empty: push af .Dir_Empty: ;push af
CALL Print_Header ;CALL Print_Header
pop af ;pop af
CALL print_err_message CALL print_err_message
jr .print jr .print
;;R14 ;;R14
@ -156,24 +220,17 @@ cmd_dir: push de
;CALL PRINT_DWORD ;CALL PRINT_DWORD
CALL PRINT_5BYTES CALL PRINT_5BYTES
; ;
; [ ] ¢ë¢®¤ ª®«¨ç¥á⢠ ¯ ¯®ª ; [x] ¢ë¢®¤ ª®«¨ç¥á⢠ ¯ ¯®ª
; [x] ¢ë¢®¤ ®¡é¥£® ª®«¨ç¥á⢠ ᢮¡®¤­®£® ¬¥áâ  ; [x] ¢ë¢®¤ ®¡é¥£® ª®«¨ç¥á⢠ ᢮¡®¤­®£® ¬¥áâ 
ld hl,SIZE_BUFFER.high ; "000 000 000 000" ld hl,SIZE_BUFFER.high ; "000 000 000 000"
ld de,PRM1; + PRM2 ; à §¬¥à ä ©«®¢ ¢ ª â «®£¥ ld de,PRM1; + PRM2 ; à §¬¥à ä ©«®¢ ¢ ª â «®£¥
ld bc,SIZE_BUFFER.bytes ld bc,SIZE_BUFFER.bytes
call ncopy_string.start ; ᪮¯¨à. áâபã (á ­ã«¥¬), ¬ ªá. SIZE_BUFFER.bytes ᨬ¢. call ncopy_string.start ; ᪮¯¨à. áâபã (á ­ã«¥¬), ¬ ªá. SIZE_BUFFER.bytes ᨬ¢.
; ;
;!TEST ; „¥áïâ¨ç­ë© ¢ë¢®¤
;ld hl,(dir_number) ld hl,(dir_number)
;ld de,PRM3 ld ix,PRM4 ; ª®«-¢® ª â «®£®¢ ¢ ª â «®£¥
;call hex2dec_ascii_16bit.n10000 call PDIGIT
; „¥áïâ¨ç­ë© ¢ë¢®¤
ld hl,(dir_number)
ld ix,PRM4 ; ª®«-¢® ª â «®£®¢ ¢ ª â «®£¥
call PDIGIT
;xor a
;ld (de),a
;
; full capacity ; full capacity
ld a,(full_space_high) ld a,(full_space_high)
ld hl,(full_space_medium) ; áâ. à §àï¤ ld hl,(full_space_medium) ; áâ. à §àï¤
@ -184,6 +241,13 @@ cmd_dir: push de
ld de,MAIN_MSG.DIR_2 ; ¨­¤¥ªá " %1 file(s), %2 bytes, %3 Dir(s)" ld de,MAIN_MSG.DIR_2 ; ¨­¤¥ªá " %1 file(s), %2 bytes, %3 Dir(s)"
CALL MESSAGE ; ¢ë¢¥á⨠áâபã CALL MESSAGE ; ¢ë¢¥á⨠áâபã
; ;
; [ ] 23/05/2024
ld hl,work_buffer2
ld c,Dss.ChDir
ld a,(hl)
or a
call nz,ToDSS
;
ld a,(read_disk_info.full) ld a,(read_disk_info.full)
and a and a
;ld de,MAIN_MSG.CRLF ;ld de,MAIN_MSG.CRLF
@ -200,7 +264,9 @@ cmd_dir: push de
; ;
ld de,MAIN_MSG.DIR_4 ; ¨­¤¥ªá " %6 bytes free" ld de,MAIN_MSG.DIR_4 ; ¨­¤¥ªá " %6 bytes free"
jp MESSAGE jp MESSAGE
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PRN_DISK_SIZE: call PRINT_5BYTES PRN_DISK_SIZE: call PRINT_5BYTES
ld hl,SIZE_BUFFER.high ; "000 000 000 000" ld hl,SIZE_BUFFER.high ; "000 000 000 000"
ld de,PRM5 ; and PRM6 ; ªã¤  ld de,PRM5 ; and PRM6 ; ªã¤ 
@ -212,7 +278,7 @@ Print_Header: ; %1
ld a,'"' ld a,'"'
ld (hl),a ld (hl),a
inc hl inc hl
ld a,(screen_path) ; ¤¨áª ld a,(screen_path) ; ¤¨áª ; !TODO ¢®â íâ® § ¬¥­¨âì ­  ¢ë¢®¤ ç¥áâ­®£® ¤¨áª 
ld (hl),a ld (hl),a
inc hl inc hl
ld a,'"' ld a,'"'
@ -224,6 +290,8 @@ Print_Header: ; %1
ld hl,serial_string ; áâப  á¥à¨©­®£® ­®¬¥à  ¤¨áª  ld hl,serial_string ; áâப  á¥à¨©­®£® ­®¬¥à  ¤¨áª 
ld de,PRM2 ; ªã¤  ld de,PRM2 ; ªã¤ 
call ncopy_string ; ᪮¯¨à. áâபã (á ­ã«¥¬) call ncopy_string ; ᪮¯¨à. áâபã (á ­ã«¥¬)
; ¤¨áª ; !TODO ¢®â íâ® § ¬¥­¨âì ­  ¢ë¢®¤ ç¥áâ­®£® ¯ãâ¨
; ¯à¨¬¥à ¢ë¢®¤  ¤«¨­­®© áâப¨ ¯ã⨠¥áâì ¢ print_compath:
; %3 ; %3
ld hl,screen_path ; !FIXIT ¥á«¨ ¢¢¥á⨠"DIR gamez\*.*", â® ®â®¡à ¦ ¥¬ë© ¯ãâì ¢ § £®«®¢ª¥ ¡ã¤¥â ­¥¢¥à­ë¬ ld hl,screen_path ; !FIXIT ¥á«¨ ¢¢¥á⨠"DIR gamez\*.*", â® ®â®¡à ¦ ¥¬ë© ¯ãâì ¢ § £®«®¢ª¥ ¡ã¤¥â ­¥¢¥à­ë¬
ld de,PRM3 ; 16 ¡ãä¥à ld de,PRM3 ; 16 ¡ãä¥à

View File

@ -66,45 +66,9 @@ input_line:
; ‚뢮¤ ¯ã⨠¢ ª®¬-áâப¥ ­  íªà ­ + ­®¢ ï è¨à¨­  ¯®«ï ¢¢®¤  ; ‚뢮¤ ¯ã⨠¢ ª®¬-áâப¥ ­  íªà ­ + ­®¢ ï è¨à¨­  ¯®«ï ¢¢®¤ 
;--------------------------------------------------------------- ;---------------------------------------------------------------
print_compath: print_compath:
; ã§­ âì ¤«¨­ã á¨áâ. ¯ãâ¨
ld hl,system_path ; á¨áâ. ¯ãâì ld hl,system_path ; á¨áâ. ¯ãâì
ld e,l ld de,screen_path+2 ; ¡ãä¥à ¤«ï ª®à®âª®£® ¯ãâ¨
ld d,h call make_short_path
ld bc,max_len_comline ; 254
xor a
ld (print_compath_flag),a ; á¡à. ä« £
cpir
dec hl
push hl ; á®åà. ª®­¥æ ¯ãâ¨
sbc hl,de
ld a,l ; ¤«¨­  áâப¨
cp max_screen_path+1 ; 33
jr c,print_compath__
; ¤«¨­  ¯ã⨠> 32
ld a,max_screen_path ; 32
ld (print_compath_flag),a ; ãáâ. ä« £
print_compath__:
ld c,a ; ¯®«­ ï ¤«¨­  áâப¨
ld b,0
ex af,af' ; á®åà. ¤«¨­ã áâப¨
pop hl ; ¢®ááâ. ª®­¥æ ¯ãâ¨
ld de,screen_path+2 ; ªã¤ 
; ᪮¯¨à®¢ âì áâபã
and a
sbc hl,bc ; hl=­ ç «® ¯¥à¥ª çª¨
ldir
print_compath_flag+1:
ld a,0 ; ä« £ ¯¥à¥¯®«­. áâப¨
or a
jr z,print_compath1__
ld hl,screen_path+2
ld (hl),'\'
inc hl
ld a,"."
ld (hl),a
inc hl
ld (hl),a
print_compath1__:
xor a xor a
ld (de),a ; § ­ã«¥­¨¥ áâப¨ ld (de),a ; § ­ã«¥­¨¥ áâப¨
ex af,af' ; ¢®ááâ. ¤«¨­ã áâப¨ ex af,af' ; ¢®ááâ. ¤«¨­ã áâப¨
@ -164,7 +128,7 @@ print_inpline:
push de push de
ld (de),a ld (de),a
inc de inc de
djnz $-2 djnz $-2 ; !FIXIT
ld a,(iy+0) ld a,(iy+0)
sub (iy+3) sub (iy+3)
cp c cp c
@ -203,6 +167,45 @@ print_inpline:
prne1__:ld (cursor_position),a ; X ¯®«®¦. ªãàá®à  ­  íªà ­¥ prne1__:ld (cursor_position),a ; X ¯®«®¦. ªãàá®à  ­  íªà ­¥
ret ret
; ¢å®¤: HL - ¯®«­ë© ¯ãâì
; DE - ¡ãä¥à ¤«ï ª®à®âª®© áâப¨ ¯ãâ¨
make_short_path:; ã§­ âì ¤«¨­ã á¨áâ. ¯ãâ¨
ld (.bufferAddr),de
ld e,l
ld d,h
ld bc,max_len_comline ; 254
xor a
ld (.flag),a ; á¡à. ä« £
cpir
dec hl
push hl ; á®åà. ª®­¥æ ¯ãâ¨
sbc hl,de
ld a,l ; ¤«¨­  áâப¨
cp max_screen_path+1 ; 33
jr c,.copy
; ¤«¨­  ¯ã⨠> 32
ld a,max_screen_path ; 32
ld (.flag),a ; ãáâ. ä« £
.copy: ld c,a ; ¯®«­ ï ¤«¨­  áâப¨
ld b,0
ex af,af' ; á®åà. ¤«¨­ã áâப¨
pop hl ; ¢®ááâ. ª®­¥æ ¯ãâ¨
.bufferAddr+1: ld de,0 ; ªã¤ 
; ᪮¯¨à®¢ âì áâபã
and a
sbc hl,bc ; hl=­ ç «® ¯¥à¥ª çª¨
ldir
.flag+1: ld a,0 ; ä« £ ¯¥à¥¯®«­. áâப¨
or a
ret z
ld hl,(.bufferAddr)
ld (hl),'\'
inc hl
ld a,"."
ld (hl),a
inc hl
ld (hl),a
ret
; ‚뢮¤ áâப¨ ¯® áç¥â稪ã ; ‚뢮¤ áâப¨ ¯® áç¥â稪ã
;print_inpchar: ;print_inpchar:
@ -988,24 +991,24 @@ screen_path:
system_path: system_path:
BLOCK 256,0 ;!HARDCODE BLOCK 256,0 ;!HARDCODE
; 7 0 ; ; 7 0
; ‘âàãªâãà  áâப¨ ¢¢®¤  ~input line~ ; ; ‘âàãªâãà  áâப¨ ¢¢®¤  ~input line~
struct_input_line: ; struct_input_line:
db max_len_comline ;+0 254 ¬ ªá. ç¨á«® ¢¢®¤. ᨬ¢®«®¢ ; db max_len_comline ;+0 254 ¬ ªá. ç¨á«® ¢¢®¤. ᨬ¢®«®¢
db 0 ;+1 ä« £ ReadyString ; db 0 ;+1 ä« £ ReadyString
db 0 ;+2 X ⥪. ¯®«®¦. ªãàá®à  ¢ ¯à¥¤¥« å áâப¨ ; db 0 ;+2 X ⥪. ¯®«®¦. ªãàá®à  ¢ ¯à¥¤¥« å áâப¨
db 0 ;+3 X ᬥé. áâப¨ §  «¥¢ë© ªà © (¢ ᨬ¢®« å) ; db 0 ;+3 X ᬥé. áâப¨ §  «¥¢ë© ªà © (¢ ᨬ¢®« å)
db 0 ;+4 ç¨á«® ¢¢¥¤¥­­ëå ᨬ¢®«®¢ ; db 0 ;+4 ç¨á«® ¢¢¥¤¥­­ëå ᨬ¢®«®¢
ds max_len_comline+1 ;+5 áâப  ¢¢®¤  ; BLOCK max_len_comline+1,0 ;+5 áâப  ¢¢®¤ 
; 8 0 ; ; 8 0
; <EFBFBD>ãä¥à ¨áâ®à¨¨ ; ; <EFBFBD>ãä¥à ¨áâ®à¨¨
history_buff: ; history_buff:
BLOCK history_size,0 ; 256 ; BLOCK history_size,0 ; 256
; 9 0 ; ; 9 0
; <EFBFBD> ¡®ç¨© ¡ãä¥à ; ; <EFBFBD> ¡®ç¨© ¡ãä¥à
work_buffer: ; work_buffer:
BLOCK 512,0 ; BLOCK 512,0
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
; ;

View File

@ -71,7 +71,7 @@ COMP: call EVALCMD ; (batch.asm)
ld hl,system_path ; ¡ãä¥à á¨áâ. ¯ã⨠ld hl,system_path ; ¡ãä¥à á¨áâ. ¯ãâ¨
ld c,Dss.ChDir ; ãáâ. ⥪. ¯ãâì ld c,Dss.ChDir ; ãáâ. ⥪. ¯ãâì
RST ToDSS RST ToDSS
jp nc,Get_Path ; Ok jp nc,Get_Path ; Ok
ENDIF ENDIF
; ;

View File

@ -43,6 +43,7 @@
include 'shared_includes/constants/dss_equ.inc' include 'shared_includes/constants/dss_equ.inc'
include 'SHELL/version.inc' include 'SHELL/version.inc'
include 'shared_includes/structures/FileSystem.inc' include 'shared_includes/structures/FileSystem.inc'
include 'SHELL/structures.inc'
; ;
; Program EQU section ; Program EQU section
;---------------------------------------------------------------------[] ;---------------------------------------------------------------------[]
@ -54,7 +55,7 @@ false EQU 0
Loader_length EQU 0 Loader_length EQU 0
code_addr EQU shell code_addr EQU shell
program_start EQU shell program_start EQU shell
stack_point EQU #BFFE stack_point EQU #C000
org_addr EQU #8000 + CLP_Buffer org_addr EQU #8000 + CLP_Buffer
;---------------------------------------------------------------------[] ;---------------------------------------------------------------------[]
; ;
@ -555,6 +556,33 @@ T8C24: db "OFF",0
include 'Commands/reboot.asm' ; á®äâ à¥á¥â include 'Commands/reboot.asm' ; á®äâ à¥á¥â
; ;
DISPLAY "Empty space for buffers from ",/H,$ DISPLAY "Empty space for buffers from ",/H,$
CLEAR_ZONE:
Buffers Struc_Buffers = $
; 7 0
; ‘âàãªâãà  áâப¨ ¢¢®¤  ~input line~
struct_input_line:
db max_len_comline ;+0 254 ¬ ªá. ç¨á«® ¢¢®¤. ᨬ¢®«®¢
db 0 ;+1 ä« £ ReadyString
db 0 ;+2 X ⥪. ¯®«®¦. ªãàá®à  ¢ ¯à¥¤¥« å áâப¨
db 0 ;+3 X ᬥé. áâப¨ §  «¥¢ë© ªà © (¢ ᨬ¢®« å)
db 0 ;+4 ç¨á«® ¢¢¥¤¥­­ëå ᨬ¢®«®¢
BLOCK max_len_comline+1,0 ;+5 áâப  ¢¢®¤ 
; 8 0
; <20>ãä¥à ¨áâ®à¨¨
history_buff:
BLOCK history_size,0 ; 256
; 9 0
; <20> ¡®ç¨© ¡ãä¥à
work_buffer:
BLOCK 512,0
work_buffer1 equ $ ; 2-© à ¡. ¡ãä¥à ; 128 bytes work_buffer1 equ $ ; 2-© à ¡. ¡ãä¥à ; 128 bytes
work_buffer2 equ work_buffer1+128 ; 3-© à ¡. ¡ãä¥à ; 256 bytes work_buffer2 equ work_buffer1+128 ; 3-© à ¡. ¡ãä¥à ; 256 bytes
; ;

View File

@ -1 +1 @@
365 370

25
SHELL/structures.inc Normal file
View File

@ -0,0 +1,25 @@
STRUCT Input_Line
.max_Len BYTE 254 ;+0 254 ¬ ªá. ç¨á«® ¢¢®¤. ᨬ¢®«®¢
.ReadyString BYTE 0 ;+1 ä« £ ReadyString
.Cur_X BYTE 0 ;+2 X ⥪. ¯®«®¦. ªãàá®à  ¢ ¯à¥¤¥« å áâப¨
.Left_Shift BYTE 0 ;+3 X ᬥé. áâப¨ §  «¥¢ë© ªà © (¢ ᨬ¢®« å)
.Symbols_Num BYTE 0 ;+4 ç¨á«® ¢¢¥¤¥­­ëå ᨬ¢®«®¢
.Path BLOCK max_len_comline+1,0 ;+5 áâப  ¢¢®¤ 
ENDS
STRUCT History
.cmds BLOCK history_size,0 ; 256
ENDS
STRUCT Work
.work_buffer BLOCK 512,0
.work_buffer1 BLOCK 128,0
.work_buffer2 BLOCK 256,0
.free_buffer BLOCK 3840,0
ENDS
STRUCT Struc_Buffers
.input_line Input_Line
.history History
.work Work
ENDS