mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-18 10:50:34 +03:00
+ bat in bat in bat...
This commit is contained in:
parent
6ef97092ad
commit
76825603e1
@ -126,7 +126,7 @@ ECHOKEY: ;R01
|
|||||||
LD A," "
|
LD A," "
|
||||||
JR Z,.CURSKI
|
JR Z,.CURSKI
|
||||||
LD A,"_"
|
LD A,"_"
|
||||||
.CURSKI: CALL PUTCHAR.NO_SCROLL ;R03
|
.CURSKI: CALL PUTCHAR.NO_SCROLL ;R03; [x] -bug with Vasil's version of cursor
|
||||||
|
|
||||||
POP DE
|
POP DE
|
||||||
CALL LOCATE
|
CALL LOCATE
|
||||||
@ -142,7 +142,7 @@ ECHOKEY: ;R01
|
|||||||
PUSH DE
|
PUSH DE
|
||||||
|
|
||||||
LD A," "
|
LD A," "
|
||||||
CALL PUTCHAR.NO_SCROLL ;R03
|
CALL PUTCHAR.NO_SCROLL ;R03; [x] -bug with Vasil's version of cursor
|
||||||
|
|
||||||
;LD A,8 ; BACKSPACE
|
;LD A,8 ; BACKSPACE
|
||||||
;CALL PUTCHAR
|
;CALL PUTCHAR
|
||||||
@ -150,7 +150,7 @@ ECHOKEY: ;R01
|
|||||||
POP AF
|
POP AF
|
||||||
PUSH DE
|
PUSH DE
|
||||||
;R01 [v]
|
;R01 [v]
|
||||||
CALL PUTCHAR.NO_SCROLL
|
CALL PUTCHAR.NO_SCROLL ; [x] -bug with Vasil's version of cursor
|
||||||
|
|
||||||
POP DE
|
POP DE
|
||||||
CALL LOCATE
|
CALL LOCATE
|
||||||
|
|||||||
@ -29,8 +29,8 @@ CLEAR: LD C,BIOS.LP_CLS_WIN2
|
|||||||
;/////////////////////////////////////////////////////////////////////
|
;/////////////////////////////////////////////////////////////////////
|
||||||
; ”ãªæ¨ï #5C. ‚뢮¤ áâப¨ íªà .
|
; ”ãªæ¨ï #5C. ‚뢮¤ áâப¨ íªà .
|
||||||
;
|
;
|
||||||
; ¢å®¤: HL - 㪠§ ⥫ì áâபã ᨬ¢®«®¢
|
; ¢å®¤: HL - 㪠§ ⥫ì áâபã ᨬ¢®«®¢
|
||||||
; ¢ë室: ¥â
|
; ¢ë室: HL - 㪠§ ⥫ì á«¥¤ãîéãî áâபã ᨬ¢®«®¢
|
||||||
; PRINT NULL-TERMINATED CHARS STRING
|
; PRINT NULL-TERMINATED CHARS STRING
|
||||||
;/////////////////////////////////////////////////////////////////////
|
;/////////////////////////////////////////////////////////////////////
|
||||||
PCHARS: LD A,(HL)
|
PCHARS: LD A,(HL)
|
||||||
@ -56,7 +56,7 @@ PUTCHAR:
|
|||||||
CP #08
|
CP #08
|
||||||
JR Z,.BK_
|
JR Z,.BK_
|
||||||
CP #07
|
CP #07
|
||||||
JR Z,.BELL
|
JR Z,.BELL ; [x] Beep in PChars/PUTCHAR
|
||||||
;
|
;
|
||||||
.CHAR: LD BC,1*256 + BIOS.LP_PRINT_SYM
|
.CHAR: LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||||||
;[x] CR+LF+SCROLL
|
;[x] CR+LF+SCROLL
|
||||||
@ -67,7 +67,7 @@ PUTCHAR:
|
|||||||
OR E
|
OR E
|
||||||
RET NZ
|
RET NZ
|
||||||
;
|
;
|
||||||
.LFF: PUSH HL ;!FIXIT á®åà ïâì ⥪ã騥 ¯à¥àë¢ ¨ï
|
.LFF: PUSH HL
|
||||||
LD BC,1*256 + BIOS.LP_SCROLL_UD
|
LD BC,1*256 + BIOS.LP_SCROLL_UD
|
||||||
LD DE,#0020
|
LD DE,#0020
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
@ -110,7 +110,7 @@ PUTCHAR:
|
|||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
LD A,D
|
LD A,D
|
||||||
CP #1F
|
CP #1F
|
||||||
JR NC,.LFF ;!FIXIT áà ¡ âë¢ ¥â ª ª CRLF ¤® áªà®««¨âì á á®åà ¥¨¥¬ Y
|
JR NC,.LFF
|
||||||
INC D
|
INC D
|
||||||
IFN EnoughtOnly_LF
|
IFN EnoughtOnly_LF
|
||||||
JP LOCATE
|
JP LOCATE
|
||||||
@ -122,9 +122,15 @@ PUTCHAR:
|
|||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
LD E,0
|
LD E,0
|
||||||
JP LOCATE
|
JP LOCATE
|
||||||
.BELL: LD DE,1200
|
; [x] Beep in PChars/PUTCHAR
|
||||||
LD HL,4
|
.BELL: LD DE,1200
|
||||||
JP BEEP
|
PUSH HL
|
||||||
|
LD HL,4
|
||||||
|
CALL BEEP
|
||||||
|
POP HL
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
; [x] -bug with Vasil's version of cursor
|
||||||
.NO_SCROLL:
|
.NO_SCROLL:
|
||||||
CP #0D
|
CP #0D
|
||||||
JR Z,.CR_
|
JR Z,.CR_
|
||||||
@ -135,7 +141,7 @@ PUTCHAR:
|
|||||||
CP #08
|
CP #08
|
||||||
JR Z,.BK_
|
JR Z,.BK_
|
||||||
CP #07
|
CP #07
|
||||||
JR Z,.BELL
|
JR Z,.BELL ; [x] Beep in PChars/PUTCHAR
|
||||||
._CHAR: LD BC,1*256 + BIOS.LP_PRINT_SYM
|
._CHAR: LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||||||
JP ToBIOS
|
JP ToBIOS
|
||||||
;-----[]
|
;-----[]
|
||||||
|
|||||||
101
SHELL/BATCH.ASM
101
SHELL/BATCH.ASM
@ -13,7 +13,15 @@ echo_mode:
|
|||||||
;T98B9: ds 256
|
;T98B9: ds 256
|
||||||
|
|
||||||
|
|
||||||
|
IF 0
|
||||||
|
CALL RUN_BAT
|
||||||
|
CALL BATCH
|
||||||
|
CALL MAKE_BATCH_PRM_ARRAY
|
||||||
|
CALL NEWLINE
|
||||||
|
CALL CMDMODE
|
||||||
|
CALL EVALCMD
|
||||||
|
CALL RUN_BAT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
;-------------------------------------------------
|
;-------------------------------------------------
|
||||||
; ‡ ¯ã᪠bat-ä ©«
|
; ‡ ¯ã᪠bat-ä ©«
|
||||||
@ -65,7 +73,14 @@ MAKE_BATCH_PRM_ARRAY:
|
|||||||
; ¢å®¤: hl=¨¬ï ä ©«
|
; ¢å®¤: hl=¨¬ï ä ©«
|
||||||
; ¢ë室: "CF" - ®è¨¡ª ®âªà. ä ©«
|
; ¢ë室: "CF" - ®è¨¡ª ®âªà. ä ©«
|
||||||
;-------------------------------------------------
|
;-------------------------------------------------
|
||||||
BATCH: push hl ; á®åà. ¨¬ï bat-ä ©«
|
BATCH:
|
||||||
|
; [ ] 11/12/23 ¢«®¦¥ë¥ bat
|
||||||
|
ld a,(BAT_FM)
|
||||||
|
or a
|
||||||
|
jr nz,.new_process
|
||||||
|
;
|
||||||
|
|
||||||
|
push hl ; á®åà. ¨¬ï bat-ä ©«
|
||||||
ld de,work_buffer ; 512 ¬¥áâë© ¡ãä¥à
|
ld de,work_buffer ; 512 ¬¥áâë© ¡ãä¥à
|
||||||
call copy_string ; ᪮¯¨à. áâபã (á ã«¥¬)
|
call copy_string ; ᪮¯¨à. áâபã (á ã«¥¬)
|
||||||
ld hl,work_buffer ; 512 ¬¥áâë© ¡ãä¥à
|
ld hl,work_buffer ; 512 ¬¥áâë© ¡ãä¥à
|
||||||
@ -82,42 +97,40 @@ BATCH: push hl ;
|
|||||||
inc hl
|
inc hl
|
||||||
djnz .B_CLR_P
|
djnz .B_CLR_P
|
||||||
ex de,hl
|
ex de,hl
|
||||||
.B_ALL_P:
|
.B_ALL_P:;-
|
||||||
pop hl ; ¢®ááâ. ¨¬ï bat-ä ©«
|
pop hl ; ¢®ááâ. ¨¬ï bat-ä ©«
|
||||||
; [ ] 11/12/23 ¢«®¦¥ë¥ bat
|
|
||||||
ld a,(BAT_FM)
|
|
||||||
or a
|
|
||||||
jr z,1F
|
|
||||||
CALL .new_process
|
|
||||||
xor a
|
|
||||||
ret
|
|
||||||
1: ;
|
|
||||||
ld a,Dss.Open.R ; ç⥨¥
|
ld a,Dss.Open.R ; ç⥨¥
|
||||||
ld c,Dss.Open ; ®âªàëâì ä ©«
|
ld c,Dss.Open ; ®âªàëâì ä ©«
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
push af ; á®åà. ª®¤ ®è¨¡ª¨
|
;push af ; á®åà. ª®¤ ®è¨¡ª¨
|
||||||
call c,restore_disk_path ; ¢®ááâ. ⥪. ¤¨áª ¨ ¯ãâì
|
;call c,restore_disk_path ; ¢®ááâ. ⥪. ¤¨áª ¨ ¯ãâì
|
||||||
;R10
|
;R10
|
||||||
CALL Restore_Screen
|
;CALL Restore_Screen
|
||||||
;R10
|
;R10
|
||||||
pop af
|
;pop af
|
||||||
ret c
|
ret c
|
||||||
ld (BAT_FM),a ; ¤¥áªà. bat-ä ©«
|
ld (BAT_FM),a ; ¤¥áªà. bat-ä ©«
|
||||||
; ¢ë¯®«. ª®¬ ¤ bat-ä ©«
|
; ¢ë¯®«. ª®¬ ¤ bat-ä ©«
|
||||||
call NEWLINE
|
call NEWLINE
|
||||||
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||||
xor a
|
;R10
|
||||||
|
push af
|
||||||
|
CALL Restore_Screen
|
||||||
|
pop af
|
||||||
|
;R10
|
||||||
|
xor a ;!FIXIT
|
||||||
ret
|
ret
|
||||||
; [ ] 11/12/23 ¢«®¦¥ë¥ bat
|
; [ ] 11/12/23 ¢«®¦¥ë¥ bat
|
||||||
.new_process:
|
.new_process:
|
||||||
ld de,work_buffer
|
ld de,work_buffer2
|
||||||
call copy_string
|
call copy_string
|
||||||
;
|
;
|
||||||
ld hl,.shell
|
ld hl,.shell
|
||||||
ld de,struct_input_line+5
|
ld de,struct_input_line+5
|
||||||
call copy_string
|
call copy_string
|
||||||
;
|
;
|
||||||
ld hl,work_buffer
|
ld hl,work_buffer2
|
||||||
ld de,struct_input_line+5 + .shell.size - 1
|
ld de,struct_input_line+5 + .shell.size - 1
|
||||||
call copy_string
|
call copy_string
|
||||||
;
|
;
|
||||||
@ -127,21 +140,27 @@ BATCH: push hl ;
|
|||||||
; ld (.shell),a
|
; ld (.shell),a
|
||||||
;
|
;
|
||||||
ld hl,struct_input_line+5
|
ld hl,struct_input_line+5
|
||||||
ld bc,Dss.Exec;.Here
|
ld bc,Dss.Exec
|
||||||
rst ToDSS
|
RST ToDSS
|
||||||
|
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||||
|
xor a
|
||||||
|
ret
|
||||||
;
|
;
|
||||||
; PUSH AF
|
;rst ToDSS
|
||||||
; LD A
|
;
|
||||||
ret nc
|
; ret nc
|
||||||
CP DSS_Error.sys.FILE_NOT_FOUND
|
; CP DSS_Error.sys.FILE_NOT_FOUND
|
||||||
jp z,A83DD ; ®è¨¡ª ®âªà. ä ©« (cpp.asm)
|
; ret nz
|
||||||
ret
|
|
||||||
|
; jp z,A83DD ; ®è¨¡ª ®âªà. ä ©« (cpp.asm)
|
||||||
|
; ret
|
||||||
|
|
||||||
;.shell: DB '?:\SYSTEM.EXE /C ',0
|
;.shell: DB '?:\SYSTEM.EXE /C ',0
|
||||||
|
|
||||||
.shell: DB 'SYSTEM.EXE /C ',0
|
.shell: DB 'SYSTEM.EXE /C ',0
|
||||||
.shell.size EQU $ - .shell
|
.shell.size EQU $ - .shell
|
||||||
;
|
|
||||||
|
;!TODO
|
||||||
.ErrorEnv: DB 'ERRORLEVEL='
|
.ErrorEnv: DB 'ERRORLEVEL='
|
||||||
.ErrorEnv.Code: DB 'xxx',0
|
.ErrorEnv.Code: DB 'xxx',0
|
||||||
.ErrorEnv.Size EQU $ - .ErrorEnv
|
.ErrorEnv.Size EQU $ - .ErrorEnv
|
||||||
@ -164,11 +183,9 @@ NEWLINE:
|
|||||||
ld a,l
|
ld a,l
|
||||||
ld (struct_input_line+4),a ; ¤«¨ áâப¨
|
ld (struct_input_line+4),a ; ¤«¨ áâப¨
|
||||||
PUSH HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
PUSH HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
||||||
; [ ] 11/12/23 ¢«®¦¥ë¥ bat
|
|
||||||
; ld a,#FF
|
|
||||||
; ld (RUN_BAT.level),a
|
|
||||||
;
|
|
||||||
call CMDMODE ; â¥áâ bat-ª®¬ ¤ë "rem","pause"
|
call CMDMODE ; â¥áâ bat-ª®¬ ¤ë "rem","pause"
|
||||||
|
; ^^^^^^^
|
||||||
|
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||||
POP HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
POP HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
||||||
.exit: ld a,(BAT_FM) ; ¤¥áªà. bat-ä ©«
|
.exit: ld a,(BAT_FM) ; ¤¥áªà. bat-ä ©«
|
||||||
ld c,Dss.Close ; § ªàëâì ä ©«
|
ld c,Dss.Close ; § ªàëâì ä ©«
|
||||||
@ -190,11 +207,9 @@ NEWLINE:
|
|||||||
sbc hl,de
|
sbc hl,de
|
||||||
ld a,l
|
ld a,l
|
||||||
ld (struct_input_line+4),a ; ¤«¨ áâப¨
|
ld (struct_input_line+4),a ; ¤«¨ áâப¨
|
||||||
; [ ] 11/12/23 ¢«®¦¥ë¥ bat
|
|
||||||
; ld a,#FF
|
|
||||||
; ld (RUN_BAT.level),a
|
|
||||||
;
|
|
||||||
call CMDMODE ; â¥áâ bat-ª®¬ ¤ë "rem","pause"
|
call CMDMODE ; â¥áâ bat-ª®¬ ¤ë "rem","pause"
|
||||||
|
; ^^^^^^^
|
||||||
|
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||||
ld de,struct_input_line+5
|
ld de,struct_input_line+5
|
||||||
pop hl
|
pop hl
|
||||||
jr .loop
|
jr .loop
|
||||||
@ -306,7 +321,7 @@ CMDMODE:
|
|||||||
pop bc ; b=¤«¨ áâப¨
|
pop bc ; b=¤«¨ áâப¨
|
||||||
ld a,(width_inpline) ; è¨à¨ ¯®«ï ¢¢®¤ (76..48)
|
ld a,(width_inpline) ; è¨à¨ ¯®«ï ¢¢®¤ (76..48)
|
||||||
sub b
|
sub b
|
||||||
ei
|
;ei
|
||||||
ret z ; ¯à ¢ë© ªà © íªà
|
ret z ; ¯à ¢ë© ªà © íªà
|
||||||
jr c,.A8250; ; áâப ¡®«ìè¥ è¨à¨ë íªà
|
jr c,.A8250; ; áâப ¡®«ìè¥ è¨à¨ë íªà
|
||||||
; § ¯®«¨âì áâப㠤® ª®æ íªà
|
; § ¯®«¨âì áâப㠤® ª®æ íªà
|
||||||
@ -315,7 +330,7 @@ CMDMODE:
|
|||||||
ld a," " ; ᨬ¢®«
|
ld a," " ; ᨬ¢®«
|
||||||
ld c,BIOS.LP_PRINT_SYM ; ¢ë¢®¤ ᨬ¢®« ¡¥§ âਡãâ
|
ld c,BIOS.LP_PRINT_SYM ; ¢ë¢®¤ ᨬ¢®« ¡¥§ âਡãâ
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
ei
|
;ei
|
||||||
;!TEST
|
;!TEST
|
||||||
.A8250: call newline
|
.A8250: call newline
|
||||||
;
|
;
|
||||||
@ -365,17 +380,9 @@ CMDMODE:
|
|||||||
ld hl,BATLIST ; ª®¬ ¤ë "pause","rem" + dos-ª®¬ ¤ë
|
ld hl,BATLIST ; ª®¬ ¤ë "pause","rem" + dos-ª®¬ ¤ë
|
||||||
; de=struct_input_line+5, c=¤«¨ áâப¨ (¡¥§ ª®æ. ¯à®¡¥«®¢)
|
; de=struct_input_line+5, c=¤«¨ áâப¨ (¡¥§ ª®æ. ¯à®¡¥«®¢)
|
||||||
; ¢ë¯®«. ª®¬ ¤ã ¨«¨ § ¯ãáâ¨âì ä ©«
|
; ¢ë¯®«. ª®¬ ¤ã ¨«¨ § ¯ãáâ¨âì ä ©«
|
||||||
; [ ] 11/12/23 ¢«®¦¥ë¥ bat
|
|
||||||
; ld a,#FF
|
|
||||||
; ld (RUN_BAT.level),a
|
|
||||||
;
|
|
||||||
jp COMP005.start
|
jp COMP005.start
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ¤®«¦ ã¡à âì ª®æ. ¯à®¡¥«ë ¨ ãáâ. ¤«¨ã áâப¨, ¥á«¨ ã१ « áì
|
; ¤®«¦ ã¡à âì ª®æ. ¯à®¡¥«ë ¨ ãáâ. ¤«¨ã áâப¨, ¥á«¨ ã१ « áì
|
||||||
EVALCMD: xor a
|
EVALCMD: xor a
|
||||||
ld hl,struct_input_line+4 ;!HARDCODE
|
ld hl,struct_input_line+4 ;!HARDCODE
|
||||||
@ -408,7 +415,9 @@ EVALSTR: ld a,(hl)
|
|||||||
.VARL1: ldi
|
.VARL1: ldi
|
||||||
or a
|
or a
|
||||||
jr nz,EVALSTR
|
jr nz,EVALSTR
|
||||||
ld bc,0
|
; A=0
|
||||||
|
ld b,a
|
||||||
|
ld c,a
|
||||||
ld (.TVAR_PNT),bc
|
ld (.TVAR_PNT),bc
|
||||||
ret
|
ret
|
||||||
;
|
;
|
||||||
|
|||||||
@ -26,7 +26,7 @@ A877B: ld c,Dss.ChDir ; ᬥ
|
|||||||
;call c,print_err_message
|
;call c,print_err_message
|
||||||
jp c,print_err_message ; ¢ë¢®¤ á®®¡é¥¨ï
|
jp c,print_err_message ; ¢ë¢®¤ á®®¡é¥¨ï
|
||||||
; call newline
|
; call newline
|
||||||
jp save_disk_path ; á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
jp Get_Path ; á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||||||
; ; ¢ë¢®¤ á¨áâ. ¯ã⨠íªà
|
; ; ¢ë¢®¤ á¨áâ. ¯ã⨠íªà
|
||||||
; ld c,8Eh ; ã§ âì ¯®«®¦. ªãàá®à
|
; ld c,8Eh ; ã§ âì ¯®«®¦. ªãàá®à
|
||||||
; RST ToBIOS
|
; RST ToBIOS
|
||||||
|
|||||||
@ -58,19 +58,19 @@ COMP005: ex af,af'
|
|||||||
cp "z"+1
|
cp "z"+1
|
||||||
jr nc,NOUP
|
jr nc,NOUP
|
||||||
and #5F ; a..z -> A..Z
|
and #5F ; a..z -> A..Z
|
||||||
;!FIXIT âãâ ¢®ááâ ¢«¨¢ ¥âáï ¤¨à¥ªâ®à¨ï ¨ ¬®£ãâ ¡ëâì £«îª¨ ®¢®¬ ï¤à¥
|
|
||||||
NOUP: sub "A" ; ®¬¥à ¤¨áª
|
NOUP: sub "A" ; ®¬¥à ¤¨áª
|
||||||
ld c,Dss.ChDisk ; ᬥ¨âì ⥪. ¤¨áª
|
ld c,Dss.ChDisk ; ᬥ¨âì ⥪. ¤¨áª
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
jp c,print_err_message ; ¢ë¢®¤ á®®¡é¥¨ï
|
jp c,print_err_message ; ¢ë¢®¤ á®®¡é¥¨ï
|
||||||
|
|
||||||
|
;!FIXIT âãâ ¢®ááâ ¢«¨¢ ¥âáï ¤¨à¥ªâ®à¨ï ¨ ¬®£ãâ ¡ëâì £«îª¨ ®¢®¬ ï¤à¥
|
||||||
;!TODO ¤®áâ ¢ âì system_path ®â¤¥«ì® ¤«ï ª ¦¤®£® ¤¨áª (¨«¨ ¢ ï¤à¥ ᤥ« âì?)
|
;!TODO ¤®áâ ¢ âì system_path ®â¤¥«ì® ¤«ï ª ¦¤®£® ¤¨áª (¨«¨ ¢ ï¤à¥ ᤥ« âì?)
|
||||||
; â¥áâ áãé¥á⢮¢ ¨¥ ¯ ¯ª¨ 楫¥¢®¬ ¤¨áª¥
|
; â¥áâ áãé¥á⢮¢ ¨¥ ¯ ¯ª¨ 楫¥¢®¬ ¤¨áª¥
|
||||||
IFDEF MANY_SYS_PATHES
|
IFDEF MANY_SYS_PATHES
|
||||||
ld hl,system_path ; ¡ãä¥à á¨áâ. ¯ãâ¨
|
ld hl,system_path ; ¡ãä¥à á¨áâ. ¯ãâ¨
|
||||||
ld c,Dss.ChDir ; ãáâ. ⥪. ¯ãâì
|
ld c,Dss.ChDir ; ãáâ. ⥪. ¯ãâì
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
jp nc,save_disk_path ; Ok
|
jp nc,Get_Path ; Ok
|
||||||
ENDIF
|
ENDIF
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ NOUP: sub "A" ;
|
|||||||
jp c,print_err_message ; ¢ë¢®¤ á®®¡é¥¨ï
|
jp c,print_err_message ; ¢ë¢®¤ á®®¡é¥¨ï
|
||||||
ENDIF
|
ENDIF
|
||||||
;
|
;
|
||||||
jp save_disk_path ; Ok
|
jp Get_Path ; Ok
|
||||||
|
|
||||||
; § ¤ ¥ ¤¨áª
|
; § ¤ ¥ ¤¨áª
|
||||||
RUN_EXT: ex de,hl ; ¢®ááâ. ¤à¥á ç « áâப¨
|
RUN_EXT: ex de,hl ; ¢®ááâ. ¤à¥á ç « áâப¨
|
||||||
@ -185,7 +185,7 @@ Ret_New_Line:
|
|||||||
|
|
||||||
RESTORE_ALL:
|
RESTORE_ALL:
|
||||||
;[x] 01/11/23 ;!TEST
|
;[x] 01/11/23 ;!TEST
|
||||||
CALL save_disk_path
|
CALL Get_Path
|
||||||
;
|
;
|
||||||
LD A,(screen_path)
|
LD A,(screen_path)
|
||||||
SUB 'A'
|
SUB 'A'
|
||||||
|
|||||||
@ -23,8 +23,11 @@ MAIN_MSG:
|
|||||||
.CRLF EQU .CRLF_
|
.CRLF EQU .CRLF_
|
||||||
;
|
;
|
||||||
!txtCounter DEFL 0
|
!txtCounter DEFL 0
|
||||||
;
|
; ; ¥ ᤢ¨£ âì____
|
||||||
.TABLE: : db 0
|
.TABLE: : db 0; |
|
||||||
|
stN .CRLF_ : db CR,LF,0; |
|
||||||
|
;________________/
|
||||||
|
;
|
||||||
stN .DIR_1_ : db "Volume in drive %1 %4 %5",CR,LF
|
stN .DIR_1_ : db "Volume in drive %1 %4 %5",CR,LF
|
||||||
db "Volume Serial Number is %2",CR,LF
|
db "Volume Serial Number is %2",CR,LF
|
||||||
db CR,LF,"Directory of %3",CR,LF,LF,0
|
db CR,LF,"Directory of %3",CR,LF,LF,0
|
||||||
@ -48,7 +51,6 @@ MAIN_MSG:
|
|||||||
db "MD | MKDIR TIME ECHO EXIT ",CR,LF
|
db "MD | MKDIR TIME ECHO EXIT ",CR,LF
|
||||||
db "RD | RMDIR DATE CLS REBOOT ",CR,LF,LF,0
|
db "RD | RMDIR DATE CLS REBOOT ",CR,LF,LF,0
|
||||||
stN .CALC_ : db "Calculating free space...",CR,0
|
stN .CALC_ : db "Calculating free space...",CR,0
|
||||||
stN .CRLF_ : db CR,LF,0
|
|
||||||
; ;R11
|
; ;R11
|
||||||
db 0
|
db 0
|
||||||
DZ "Unknown command"
|
DZ "Unknown command"
|
||||||
|
|||||||
@ -101,7 +101,7 @@ shell:
|
|||||||
ld a,(ix-1)
|
ld a,(ix-1)
|
||||||
ld (cmd_exit.TASKX),a
|
ld (cmd_exit.TASKX),a
|
||||||
push ix
|
push ix
|
||||||
call save_disk_path ; á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
call Get_Path ; á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||||||
pop hl ; hl=ix
|
pop hl ; hl=ix
|
||||||
;
|
;
|
||||||
; ’¥áâ ®¯æ¨¨ § ¯ãáª á ¬®£® 襫«
|
; ’¥áâ ®¯æ¨¨ § ¯ãáª á ¬®£® 襫«
|
||||||
@ -118,13 +118,11 @@ shell:
|
|||||||
jr z,back_to_parent_process
|
jr z,back_to_parent_process
|
||||||
; ¢¢®¤¨«¨áì ¤®¯®«. ¯ à ¬¥âàë
|
; ¢¢®¤¨«¨áì ¤®¯®«. ¯ à ¬¥âàë
|
||||||
PUSH HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
PUSH HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
||||||
; [ ] 11/12/23 ¢«®¦¥ë¥ bat
|
|
||||||
; xor a
|
|
||||||
; ld (RUN_BAT.level),a
|
|
||||||
;
|
|
||||||
call CMDMODE ; (batch.asm) ¢ë¯®«. ª®¬ ¤ã ¨«¨ § ¯ãáâ¨âì ä ©«
|
call CMDMODE ; (batch.asm) ¢ë¯®«. ª®¬ ¤ã ¨«¨ § ¯ãáâ¨âì ä ©«
|
||||||
|
; ^^^^^^^
|
||||||
|
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||||
POP HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
POP HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
||||||
call save_disk_path ; ã§ âì ¨ á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
call Get_Path ; ã§ âì ¨ á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||||||
;
|
;
|
||||||
; ‚¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
; ‚¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
||||||
back_to_parent_process:
|
back_to_parent_process:
|
||||||
@ -160,9 +158,12 @@ option_c:
|
|||||||
;ld hl,work_buffer+256;;
|
;ld hl,work_buffer+256;;
|
||||||
ld hl,struct_input_line+5 ; ¨¬ï bat-ä ©«
|
ld hl,struct_input_line+5 ; ¨¬ï bat-ä ©«
|
||||||
call BATCH ; ®¡à ¡®âª bat-ä ©« (batch.asm)
|
call BATCH ; ®¡à ¡®âª bat-ä ©« (batch.asm)
|
||||||
PUSH AF ; [ ] 11/12/23 ¢«®¦¥ë¥ bat, á®åà 塞 ª®¤ ¢®§¢à â
|
|
||||||
call save_disk_path ; ã§ âì ¨ á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
;PUSH AF ; [ ] 11/12/23 ¢«®¦¥ë¥ bat, á®åà 塞 ª®¤ ¢®§¢à â
|
||||||
POP AF ; [ ] 11/12/23 ¢«®¦¥ë¥ bat, á®åà 塞 ª®¤ ¢®§¢à â
|
;call save_disk_path ; ã§ âì ¨ á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||||||
|
;POP AF ; [ ] 11/12/23 ¢«®¦¥ë¥ bat, á®åà 塞 ª®¤ ¢®§¢à â
|
||||||
|
|
||||||
|
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||||
jr back_to_parent_process ; ¢¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
jr back_to_parent_process ; ¢¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
||||||
|
|
||||||
|
|
||||||
@ -187,7 +188,7 @@ run_shell:
|
|||||||
run_shell_loop:
|
run_shell_loop:
|
||||||
;call A82CC ; ã§ âì ¨ ãáâ. ¯®«®¦. ªãàá®à
|
;call A82CC ; ã§ âì ¨ ãáâ. ¯®«®¦. ªãàá®à
|
||||||
; ¢ë¢¥á⨠⥪.á¨áâ. ¯ãâì ¨ ¢®©â¨ ¢ áâபã । ªâ¨à®¢ ¨ï
|
; ¢ë¢¥á⨠⥪.á¨áâ. ¯ãâì ¨ ¢®©â¨ ¢ áâபã । ªâ¨à®¢ ¨ï
|
||||||
call save_disk_path ; ã§ âì ¨ á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
call Get_Path ; ã§ âì ¨ á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||||||
run_shell_loop1:
|
run_shell_loop1:
|
||||||
call input_line
|
call input_line
|
||||||
call newline ; ®¢ãî áâபã
|
call newline ; ®¢ãî áâபã
|
||||||
@ -317,13 +318,12 @@ setopt4: ld a,c
|
|||||||
;!TODO ¯à®¢¥à¨âì 4 ¨¦¥¨¤ã騥 ¯à®æ¥¤ãàë ª®£¤ ¢ DSS ¡ã¤ã⠮ଠ«ì® ¯ã⨠§ ¯®¬¨ âìáï
|
;!TODO ¯à®¢¥à¨âì 4 ¨¦¥¨¤ã騥 ¯à®æ¥¤ãàë ª®£¤ ¢ DSS ¡ã¤ã⠮ଠ«ì® ¯ã⨠§ ¯®¬¨ âìáï
|
||||||
; ‘®åà ¨âì ⥪. ¤¨áª ¨ ¯ãâì
|
; ‘®åà ¨âì ⥪. ¤¨áª ¨ ¯ãâì
|
||||||
;GETPATH:
|
;GETPATH:
|
||||||
save_disk_path:
|
Get_Path:
|
||||||
; ã§ âì ⥪. ª â «®£
|
; ã§ âì ⥪. ª â «®£
|
||||||
ld hl,system_path ; 256 ¡ãä¥à á¨áâ. ¯ãâ¨
|
ld hl,system_path ; 256 ¡ãä¥à á¨áâ. ¯ãâ¨
|
||||||
ld c,Dss.CurDir
|
ld c,Dss.CurDir
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
save_disk:
|
.disk: ; ã§ âì ⥪. ¤¨áª
|
||||||
; ã§ âì ⥪. ¤¨áª
|
|
||||||
ld c,Dss.CurDisk
|
ld c,Dss.CurDisk
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
add a,"A"
|
add a,"A"
|
||||||
@ -336,7 +336,7 @@ restore_disk_path:
|
|||||||
; ãáâ. ⥪. ¤¨áª
|
; ãáâ. ⥪. ¤¨áª
|
||||||
ld a,(screen_path) ; 33 áâப íªà ®£® ¯ãâ¨
|
ld a,(screen_path) ; 33 áâப íªà ®£® ¯ãâ¨
|
||||||
sub "A"
|
sub "A"
|
||||||
ld c,Dss.ChDir
|
ld c,Dss.ChDisk
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
|
|
||||||
;!FIXIT ã¡à âì «¨è¨¥ ¢ë§®¢ë
|
;!FIXIT ã¡à âì «¨è¨¥ ¢ë§®¢ë
|
||||||
@ -348,16 +348,19 @@ restore_path:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ®¢ãî áâபã ;!FIXIT ᤥ« âì ç¥à¥§ .PChars
|
; ®¢ãî áâபã ;!FIXIT ᤥ« âì ç¥à¥§ .PChars
|
||||||
newline: ld a,_cc.cr
|
; newline: ld a,_cc.cr
|
||||||
ld c,Dss.PutChar
|
; ld c,Dss.PutChar
|
||||||
|
; rst ToDSS
|
||||||
|
; ld a,_cc.lf
|
||||||
|
; ld c,Dss.PutChar
|
||||||
|
; jp ToDSS
|
||||||
|
newline: push hl
|
||||||
|
ld hl,MAIN_MSG.TABLE+1 ; "CR,LF,0"
|
||||||
|
ld c,Dss.PChars
|
||||||
rst ToDSS
|
rst ToDSS
|
||||||
ld a,_cc.lf
|
pop hl
|
||||||
ld c,Dss.PutChar
|
ret
|
||||||
jp ToDSS
|
|
||||||
|
|
||||||
|
|
||||||
; ‘à ¢¥¨¥ áâப
|
; ‘à ¢¥¨¥ áâப
|
||||||
; in: de=string1
|
; in: de=string1
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
281
|
285
|
||||||
Loading…
Reference in New Issue
Block a user