mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +03:00
555 lines
13 KiB
NASM
555 lines
13 KiB
NASM
; <20>®á«¥¤ïï । ªæ¨ï: 22.10.2006
|
||
;
|
||
|
||
|
||
; - ˆá¯à ¢«¥ ä¨à¬. ¡ £, ¯à¨ ª®â®à®¬ áâப ¢ bat-ä ©«¥, ¤«¨¥¥ è¨à¨ë
|
||
; íªà , ®¡à¥§ « áì ¯® è¨à¨¥ íªà ¨ ®áâ ⮪ áâப¨ ¥ ¢ë¢®¤¨«áï.
|
||
; - ˆá¯à ¢«¥ ä¨à¬. ¡ £, ¯à¨ ª®â®à®¬ ¢ ª®¬ ¤¥ "dir" áâப ¢ë¢®¤¨¬®£®
|
||
; ¯ã⨠¨¬¥« ¬ ªá. 15 ᨬ¢®«®¢.
|
||
; - <20>®ä¨ªá¥® ¥¢¥à®¥ ¨§¬¥¥¨¥ ¤¨áª /¯ã⨠¯®á«¥ ®è¨¡®ª ¢ë¯®«¥¨ï ª®¬ ¤.
|
||
; - „®¡ ¢«¥ ª®¬ ¤ "ECHO." ¤«ï ¢áâ ¢ª¨ ¯ãá⮩ áâப¨.
|
||
; - Š®¬ ¤ DIR ¢ë¢®¤¨â ¬¥âªã ¨ á¥à¨©ë© ®¬¥à ¤¨áª®¢.
|
||
;
|
||
;
|
||
|
||
; SYSTEM.EXE /S /P
|
||
;
|
||
; /P Primary command processor
|
||
; /S Secondary command processor
|
||
; /C Execute batch file
|
||
|
||
;=====================================================================[]
|
||
;Rev. Date Name Description
|
||
;---------------------------------------------------------------------[]
|
||
;R14 22-09-2023 BAO ˆá¯à ¢«¥ ¡ £ "File not found" ¢ ª®¬ ¤¥ DIR ¯ãá⮬ à §¤¥«¥
|
||
;R13 03-08-2023 BAO „®¡ ¢«¥ ¢ë¢®¤ ®¬¥à ¢¥àᨨ Š®á®«¨ ¤«ï ª®¬ ¤ë VERSION
|
||
;R12 23-07-2023 BAO „®¡ ¢«¥ ª®¬ ¤ REBOOT - ¯¥à¥§ £à㧪 á ¯®«®© ®ç¨á⪮© ¯ ¬ïâ¨
|
||
;R11 20-07-2023 BAO <09>®¯à ¢«¥ äãªæ¨ï LCPIR ¤«ï ª®à४⮣® ¢ë¡®à á®®¡é¥¨ï ®¡ ®è¨¡ª¥ ¯à¨ ®¬¥à¥ ®è¨¡ª¨ > § £®â®¢«¥ëå á®®¡é¥¨©
|
||
;R10 16-05-2023 BAO TE•T MODE AND TEXT ARE RESTORED AFTER RETURNING FROM THE APP
|
||
;R08 21-02-2003 DNS FIX BUG IN BAT-PARSER, IT SPLIT STRINGS WHEN LINE BEGAN AT #xx00 OFFSET
|
||
;R07 14-12-2002 DNS PARSING BATCH LINE
|
||
;R06 12-12-2002 DNS ADD %0, %1, %2 ...
|
||
;R05 11-12-2002 DNS IMPLEMENTED %VAR%
|
||
;R04 11-12-2002 DNS ADD 'EVALSTRING' ROUTINE
|
||
;R03 11-12-2002 DNS NEW VERSION
|
||
;R02 19-11-2002 DNS CORRECT SOME ERROR MESSAGES
|
||
;R01 19-11-2002 DNS ADD ENVIRONMENT %VARIABLE% IN ECHO
|
||
;=====================================================================[]
|
||
|
||
includelua 'Shared_includes/lua/Functions.lua'
|
||
include 'shared_includes/constants/bios_equ.inc'
|
||
include 'shared_includes/constants/dss_equ.inc'
|
||
include 'SHELL/version.inc'
|
||
|
||
;
|
||
; Program EQU section
|
||
;---------------------------------------------------------------------[]
|
||
CR EQU 13
|
||
LF EQU 10
|
||
true EQU 1
|
||
false EQU 0
|
||
|
||
Loader_length EQU 0
|
||
code_addr EQU shell
|
||
program_start EQU shell
|
||
stack_point EQU #BFFE
|
||
org_addr EQU #8000 + CLP_Buffer
|
||
;---------------------------------------------------------------------[]
|
||
;
|
||
|
||
|
||
|
||
;work_buffer1 equ entry - (256+128) ; 2-© à ¡. ¡ãä¥à ; 128 bytes
|
||
;work_buffer2 equ entry - 256 ; 3-© à ¡. ¡ãä¥à ; 256 bytes
|
||
|
||
|
||
|
||
|
||
; org 7F00h
|
||
|
||
; db "EX" ; exe ID
|
||
; db 45h ; exe ⨯
|
||
; db 0 ; exe ¢¥àá¨ï
|
||
; dw 512 ; 512, ¬«. ᬥé. ª®¤
|
||
; dw 0 ; áâ. ᬥé. ª®¤
|
||
; dw 0 ; end-beg, ¯¥à¢¨çë© § £àã§ç¨ª
|
||
; dw 0,0,0 ; १¥à¢
|
||
; dw entry ; ¤à¥á § £à㧪¨ ª®¤
|
||
; dw shell ; ¤à¥á ¯¥à¥¤ ç¨ ã¯à ¢«¥¨ï
|
||
; dw #BFFE ; ¤à¥á á⥪
|
||
; ds 490 ; १¥à¢
|
||
|
||
|
||
; ‚¥àá¨ï/Œ®¤¨ä¨ª æ¨ï/<2F>¨«¤ 襫«
|
||
;entry: db "0.01.003" ;!FIXIT ¯¥à¥¥á⨠¢ ª®¥æ
|
||
|
||
INCLUDE 'Shared_Includes/constants/EXE_Header.z80'
|
||
ORG org_addr
|
||
;==============================================================
|
||
; ’®çª ¢å®¤ ¢ ˜¥««
|
||
;==============================================================
|
||
shell:
|
||
;!TODO merge: ªâ¨¢¨à®¢ âì ª®£¤ ¡ãä¥àë ¡ã¤ãâ ç¥à¥§ áâàãªâãàã, ¥ ã«ï¬¨
|
||
;LD HL,WORK_BUFFERS
|
||
;LD DE,WORK_BUFFERS+1
|
||
;LD BC,BUFFERS_STRUCT-1
|
||
;LD (HL),0
|
||
;LDIR
|
||
;
|
||
|
||
; á®åà. ã஢¥ì ⥪. 襫«
|
||
ld a,(ix-1)
|
||
ld (cmd_exit.TASKX),a
|
||
push ix
|
||
call save_disk_path ; á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||
pop hl ; hl=ix
|
||
;
|
||
; ’¥áâ ®¯æ¨¨ § ¯ãáª á ¬®£® 襫«
|
||
call GET_CMD
|
||
ld a,(RUNMODE) ; ¡¨â-ä« £¨ ®¯æ¨©
|
||
bit 7,a ; "P" 7-© ¡¨â (¨¤¥â ¢ë§®¢ ¨§ boot-§ £àã§ç¨ª )
|
||
jr nz,FPRIMAR
|
||
bit 5,a ; "S" 5-© ¡¨â (§ ¯ã᪠2-© ª®¯¨¨ 襫« )
|
||
;jp nz,option_s
|
||
jr nz,run_shell
|
||
bit 4,a ; "C" 4-© ¡¨â (¢ë¯®«¨âì bat-ä ©«)
|
||
jr nz,option_c
|
||
bit 6,a ; 6-© ¡¨â (¢¢®¤¨«¨áì ¤®¯®«. ¯ à ¬¥âàë)
|
||
jr z,back_to_parent_process
|
||
; ¢¢®¤¨«¨áì ¤®¯®«. ¯ à ¬¥âàë
|
||
call CMDMODE ; (batch.asm) ¢ë¯®«. ª®¬ ¤ã ¨«¨ § ¯ãáâ¨âì ä ©«
|
||
call save_disk_path ; ã§ âì ¨ á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||
;
|
||
; ‚¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
||
back_to_parent_process:
|
||
ld bc,0*256 + Dss.Exit
|
||
RST ToDSS
|
||
ret
|
||
|
||
|
||
|
||
|
||
;---------------------------------------------------------------
|
||
; ޝæ¨ï "S". ‡ ¯ã᪠2-© ª®¯¨¨ 襫« . <20>¥§ ®âà ¡®âª¨ AUTOEXEC.BAT.
|
||
; Œ®¦® ¢ë©â¨ ¯® EXIT.
|
||
;---------------------------------------------------------------
|
||
; option_s:
|
||
; call cmd_version ; ¢¥àá¨ï „Ž‘
|
||
; jr run_shell
|
||
|
||
|
||
|
||
;---------------------------------------------------------------
|
||
; ޝæ¨ï "C". ‚믮«¨âì BAT-ä ©«.
|
||
; <20>®á«¥ ¢ë¯®«¥¨ï ä ©« , ¢®§¢à é ¥âáï ¢ த¨â¥«ì᪨© ¯à®æ¥áá.
|
||
;---------------------------------------------------------------
|
||
option_c:
|
||
;ld hl,T96AE ; ¨¬ï bat-ä ©« , 256 ¡ãä¥à (inline.asm)
|
||
;ld hl,work_buffer+256;;
|
||
ld hl,struct_input_line+5 ; ¨¬ï bat-ä ©«
|
||
call BATCH ; ®¡à ¡®âª bat-ä ©« (batch.asm)
|
||
call save_disk_path ; ã§ âì ¨ á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||
jr back_to_parent_process ; ¢¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
||
|
||
|
||
|
||
;---------------------------------------------------------------
|
||
; ޝæ¨ï "P". ‡ ¯ã᪠ª®¯¨¨ 襫« . ‘ ®âà ¡®âª®© AUTOEXEC.BAT.
|
||
; ‘ ¥© ¨¤¥â ¢ë§®¢ 襫« ¨§ boot-§ £àã§ç¨ª .
|
||
; Œ®¦® ¢ë©â¨ ¯® EXIT, ® ¥ ¨§ § ¯ã饮£® boot-§ £àã§ç¨ª®¬.
|
||
;---------------------------------------------------------------
|
||
FPRIMAR:
|
||
ld c,Dss.CTRLKey ; ã§ âì á®áâ. ª« ¢ë ¢ ¤ ë© ¬®¬¥â
|
||
RST ToDSS
|
||
ld hl,autoexec_fname ; ¨¬ï ä ©« "system.bat"
|
||
ld a,b
|
||
and #C0 ; ¦ âë Shift-ë ?
|
||
call z,BATCH ; ¥â, ¢ë¯®«¨âì bat-ä ©« (batch.asm)
|
||
;==============================================================
|
||
; ‡ ¯ã᪠ª®¯¨¨ 襫«
|
||
;==============================================================
|
||
run_shell:
|
||
call newline
|
||
run_shell_loop:
|
||
;call A82CC ; ã§ âì ¨ ãáâ. ¯®«®¦. ªãàá®à
|
||
; ¢ë¢¥á⨠⥪.á¨áâ. ¯ãâì ¨ ¢®©â¨ ¢ áâபã । ªâ¨à®¢ ¨ï
|
||
call save_disk_path ; ã§ âì ¨ á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||
run_shell_loop1:
|
||
call input_line
|
||
call newline ; ®¢ãî áâபã
|
||
ld a,(struct_input_line+4) ; ç¨á«® ¢¢¥¤. ᨬ¢®«®¢
|
||
or a
|
||
jr z,run_shell_loop1 ; ¯ãáâ ï
|
||
; <20> àᨣ ¨ ¢ë¯®«¥¨¥ ª®¬ ¤
|
||
call COMP
|
||
jr run_shell_loop ; § ¤ ¢ 横«
|
||
|
||
|
||
|
||
|
||
|
||
|
||
; ’¥áâ ®¯æ¨© 襫«
|
||
; ¢å®¤: hl= ¤à¥á ª®¬-áâப¨
|
||
GET_CMD:
|
||
ld e,(hl) ; ¤«¨ áâப¨
|
||
inc hl
|
||
ld d,0
|
||
ex de,hl ; hl=¤«¨ áâப¨, de=áâப
|
||
add hl,de
|
||
; ã¡à âì ª®æ¥¢ë¥ ¯à®¡¥«ë
|
||
dec hl
|
||
ld a,(hl)
|
||
cp " "
|
||
jr z,$-4
|
||
inc hl
|
||
ld (hl),0 ; ¢ ª®¥æ ª®¬-áâப¨
|
||
.NEXTPRM:
|
||
ex de,hl ; hl=⥪. ¤à¥á ¢ áâப¥
|
||
.SKIPSP:
|
||
ld a,(hl)
|
||
inc hl
|
||
cp " "
|
||
ret c
|
||
jr z,.SKIPSP
|
||
dec hl
|
||
cp '/' ; ®¯æ¨ï
|
||
jr nz,.PROCESS
|
||
ld de,work_buffer1 ; 128 ¡ãä¥à ¤«ï ¯ à ¬¥âà
|
||
ld c,Dss.GSwitch ; ¢ë¤¥«. ¯ à ¬¥âà ª®¬-áâப¨
|
||
RST ToDSS
|
||
push af
|
||
ex de,hl
|
||
ld hl,work_buffer1 ; 128 ¡ãä¥à ¤«ï ¯ à ¬¥âà
|
||
inc hl
|
||
call set_option_flag ; ãáâ. ¡¨âë ä« £®¢
|
||
pop af
|
||
jr nc,.NEXTPRM
|
||
ret
|
||
; ãáâ. ¡¨â-ä« £
|
||
.PROCESS:
|
||
ld a,(RUNMODE)
|
||
set 6,a ; 6-© ¡¨â (¢¢®¤¨«¨áì ¤®¯®«. ¯ à ¬¥âàë) ;!HARDCODE
|
||
ld (RUNMODE),a
|
||
; ᪮¯¨à. ¯ à ¬¥âà ¨§ ª®¬-áâப¨
|
||
; ¢ ¡ãä¥à áâப¨ । ªâ¨à®¢ ¨ï
|
||
;copy_to_input_line:
|
||
ld iy,struct_input_line ; áâàãªâãà ¡ãä¥à ~input line~
|
||
push hl
|
||
call clear_inpline ; ®¡ã«¨âì áâàãªâãàã "input line"
|
||
pop de ; de=墮áâ áâப¨
|
||
.loop: ld hl,struct_input_line ; áâàãªâãà ¡ãä¥à ~input line~
|
||
ld a,(iy+2) ; X ⥪. ¯®«®¦. ªãàá®à ¢ áâப¥
|
||
add a,(iy+3)
|
||
add a,l
|
||
ld l,a
|
||
jr nc,1F
|
||
inc h
|
||
1: inc hl
|
||
inc hl
|
||
inc hl
|
||
inc hl
|
||
inc hl
|
||
ld a,(de) ; ᨬ¢®« ¨§ áâப¨
|
||
ld (hl),a
|
||
or a
|
||
ret z ; ª®¥æ áâப¨
|
||
inc (iy+4) ; ç¨á«® ¢¢¥¤. ᨬ¢®«®¢
|
||
inc (iy+2) ; X ⥪. ¯®«®¦. ªãàá®à ¢ áâப¥
|
||
ld a,(width_inpline) ; è¨à¨ ¯®«ï ¢¢®¤
|
||
cp (iy+2) ; X ⥪. ¯®«®¦. ªãàá®à ¢ ¯à¥¤¥« å áâப¨
|
||
jr nz,2F
|
||
; ªãàá®à § ¯à ¢ë¬ ªà ¥¬ ¯®«ï ¢¢®¤
|
||
inc (iy+3) ; ᬥé. áâப¨ § «¥¢ë© ªà ©
|
||
dec (iy+2) ; X ⥪. ¯®«®¦. ªãàá®à ¢ ¯à¥¤¥« å áâப¨
|
||
2: ld a,(de) ; ᨬ¢®« ¨§ áâப¨
|
||
inc de ; ¯à®¤¢. ¯®â®ª
|
||
cp " "
|
||
jr nc,.loop
|
||
ret
|
||
|
||
; ’¥áâ ®¯æ¨¨ 襫« ¨ ãáâ. ¡¨â-ä« £®¢
|
||
; ¢å®¤: hl=áâப ®¯æ¨©
|
||
set_option_flag:
|
||
ld a,(RUNMODE) ; ï祩ª ¡¨â-ä« £®¢
|
||
ld c,a
|
||
ld a,(hl)
|
||
cp "a"
|
||
jr c,setopt1
|
||
cp "z"+1
|
||
jr nc,$+4
|
||
and 5Fh ; a..z -> A..Z
|
||
setopt1: cp "P" ; § ¯ã᪠襫« á ®âà ¡. autoexec.bat
|
||
jr nz,setopt2
|
||
set 7,c
|
||
jr setopt4
|
||
;
|
||
setopt2: cp "S" ; § ¯ã᪠2-© ª®¯¨¨ 襫« (¡¥§ ®âà ¡. autoexec.bat)
|
||
jr nz,setopt3
|
||
set 5,c
|
||
jr setopt4
|
||
;
|
||
setopt3:cp "C" ; ¢ë¯®«. bat-ä ©« ¨ ¢¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
||
ret nz
|
||
set 4,c
|
||
setopt4: ld a,c
|
||
ld (RUNMODE),a
|
||
ret
|
||
|
||
|
||
|
||
|
||
|
||
;!TODO ¯à®¢¥à¨âì 4 ¨¦¥¨¤ã騥 ¯à®æ¥¤ãàë ª®£¤ ¢ DSS ¡ã¤ã⠮ଠ«ì® ¯ã⨠§ ¯®¬¨ âìáï
|
||
; ‘®åà ¨âì ⥪. ¤¨áª ¨ ¯ãâì
|
||
;GETPATH:
|
||
save_disk_path:
|
||
; ã§ âì ⥪. ª â «®£
|
||
ld hl,system_path ; 256 ¡ãä¥à á¨áâ. ¯ãâ¨
|
||
ld c,Dss.CurDir
|
||
RST ToDSS
|
||
save_disk:
|
||
; ã§ âì ⥪. ¤¨áª
|
||
ld c,Dss.CurDisk
|
||
RST ToDSS
|
||
add a,"A"
|
||
ld (screen_path),a ; 33 áâப íªà ®£® ¯ãâ¨
|
||
ret
|
||
|
||
;!FIXIT ã¡à âì «¨è¨¥ ¢ë§®¢ë
|
||
; ‚®ááâ ®¢¨âì ⥪. ¤¨áª ¨ ¯ãâì (¯®á«¥ ®è¨¡ª¨)
|
||
restore_disk_path:
|
||
; ãáâ. ⥪. ¤¨áª
|
||
ld a,(screen_path) ; 33 áâப íªà ®£® ¯ãâ¨
|
||
sub "A"
|
||
ld c,Dss.ChDir
|
||
RST ToDSS
|
||
|
||
;!FIXIT ã¡à âì «¨è¨¥ ¢ë§®¢ë
|
||
restore_path:
|
||
; ãáâ. ⥪. ª â «®£
|
||
ld hl,system_path ; 256 ¡ãä¥à á¨áâ. ¯ãâ¨
|
||
ld c,Dss.ChDir
|
||
RST ToDSS
|
||
ret
|
||
|
||
|
||
|
||
|
||
; ®¢ãî áâபã ;!FIXIT ᤥ« âì ç¥à¥§ .PChars
|
||
newline: ld a,_cc.cr
|
||
ld c,Dss.PutChar
|
||
rst ToDSS
|
||
ld a,_cc.lf
|
||
ld c,Dss.PutChar
|
||
jp ToDSS
|
||
|
||
|
||
; ‘à ¢¥¨¥ áâப
|
||
; in: de=string1
|
||
; hl=string2
|
||
; b=¤«¨ áâப¨
|
||
A874E: ld a,(de)
|
||
cp "a"
|
||
jr c,$+8
|
||
cp "z"+1
|
||
jr nc,$+4
|
||
and 5Fh ; a..z -> A..Z
|
||
cp (hl)
|
||
ret nz
|
||
inc hl
|
||
inc de
|
||
djnz A874E
|
||
ret
|
||
|
||
|
||
; ‘ª®¯¨à. áâபã (á ã«¥¬), ¬ ªá. 15 ᨬ¢®«®¢
|
||
; (hl) -> (de)
|
||
ncopy_string:
|
||
ld bc,15 ; ¬ ªá. ¤«¨ áâப¨
|
||
ld a,(hl)
|
||
ldi
|
||
ret po
|
||
or a
|
||
jr nz,$-5
|
||
ret
|
||
|
||
; ‘ª®¯¨à. áâபã (á ã«¥¬)
|
||
; (hl) -> (de)
|
||
copy_string:
|
||
ld a,(hl)
|
||
ldi
|
||
or a
|
||
jr nz,copy_string
|
||
ret
|
||
|
||
|
||
|
||
|
||
|
||
|
||
; „¥áïâ¨çë© ¢ë¢®¤ ¢ ¡ãä¥à
|
||
; ¢å®¤: a=ç¨á«®
|
||
; hl=¡ãä¥à
|
||
A8913: ld c,2Fh
|
||
inc c
|
||
sub 10
|
||
jr nc,$-3
|
||
add a,10
|
||
add a,"0"
|
||
push af
|
||
ld a,c
|
||
ld (hl),a
|
||
inc hl
|
||
pop af
|
||
ld (hl),a
|
||
inc hl
|
||
ret
|
||
|
||
|
||
|
||
A893C: ld hl,0
|
||
A893F: ld a,(de)
|
||
inc de
|
||
or a
|
||
ret z
|
||
cp "." ; à §¤¥«. ¤ âë
|
||
ret z
|
||
cp "-" ; à §¤¥«. ¤ âë
|
||
ret z
|
||
cp ":" ; à §¤¥«. ¢à¥¬¥¨
|
||
ret z
|
||
ld b,h
|
||
ld c,l
|
||
add hl,hl
|
||
add hl,hl
|
||
add hl,bc
|
||
add hl,hl
|
||
call A895A
|
||
ret c
|
||
add a,l
|
||
ld l,a
|
||
jr nc,A893F
|
||
inc h
|
||
jr A893F
|
||
|
||
|
||
; char -> int
|
||
A895A: cp "0"
|
||
ret c
|
||
cp "9"+1
|
||
ccf
|
||
ret c
|
||
sub "0"
|
||
ret
|
||
|
||
;!FIXIT ¥áâì ¤ã¡«
|
||
A8964: ld de,10000
|
||
ld a,#C8 ; ret z
|
||
ld (D8996),a
|
||
call A898E
|
||
ld de,1000
|
||
call A898E
|
||
ld de,100
|
||
call A898E
|
||
ld de,10
|
||
call A898E
|
||
ld a,l
|
||
add a,"0"
|
||
;!TEST
|
||
;ld (ix+0),a
|
||
;inc ix
|
||
;ld (ix+0),0
|
||
LD (IX+0),A
|
||
LD (IX+1),0
|
||
;
|
||
ret
|
||
|
||
|
||
A898E: xor a
|
||
inc a
|
||
sbc hl,de
|
||
jr nc,$-3
|
||
add hl,de
|
||
dec a
|
||
D8996: ret z
|
||
add a,"0"
|
||
ld (ix+0),a
|
||
inc ix
|
||
xor a ; nop
|
||
ld (D8996),a
|
||
ret
|
||
|
||
|
||
|
||
|
||
Restore_Screen:
|
||
PUSH AF
|
||
LD C,Dss.GetVMod
|
||
RST ToDSS
|
||
AND #80
|
||
JR Z,.exit
|
||
LD BC,1 * 256 + Dss.SetVMod
|
||
LD A,Dss.SetVMod.txt80x32
|
||
RST ToDSS
|
||
.exit: POP AF
|
||
RET
|
||
|
||
|
||
|
||
; 梥â íªà 襫«
|
||
color_screen:
|
||
db 07h
|
||
|
||
|
||
; ˆ¬ï ä ©« "autoexec.bat"
|
||
autoexec_fname:
|
||
db "system.bat",0
|
||
|
||
|
||
; ¡¨â-ä« £¨ ®¯æ¨© á ¬®£® 襫«
|
||
RUNMODE: db 0
|
||
|
||
|
||
|
||
; ¡ãä¥à à áè. ä ©«
|
||
T8C1A: ds 3
|
||
db 0
|
||
|
||
T8C1E: db "BAT" ; à áè. bat-ä ©«
|
||
T8C21: db "ON",0
|
||
T8C24: db "OFF",0
|
||
|
||
|
||
include 'edline.asm' ; áâப । ªâ¨à®¢ ¨ï
|
||
include 'batch.asm' ; ¯ àᨣ bat-ä ©«®¢
|
||
include 'exec.asm' ; ¢ë¯®«. ¢¢¥¤. ª®¬ ¤ á ª®á®«¨
|
||
include 'procedures/print.asm' ; äãªæ¨¨ ¢ë¢®¤ á®®¡é¥¨©
|
||
include 'messages/errors.asm' ; á®®¡é¥¨ï ®¡ ®è¨¡ª å
|
||
include 'messages/main.asm' ; á®®¡é¥¨ï
|
||
include 'procedures/parsers.asm' ; äãªæ¨¨ ¯à®ç¥áë¢ ¨ï ¨ ¢ë¡®à
|
||
include 'procedures/math.asm' ; äãªæ¨¨ ¬ ⥬ â¨ç¥áª¨¥
|
||
|
||
;
|
||
include 'Commands/exit.asm' ; ¢ë室 ¢ த¨â. ¯à®æ¥áá
|
||
include 'Commands/pause.asm' ; ¯ ã§
|
||
include 'Commands/rem.asm' ; ª®¬¬¥â ਩
|
||
include 'Commands/ver.asm' ; ¢ë¢®¤ ¢¥àᨨ „Ž‘
|
||
include 'Commands/cls.asm' ; ®ç¨á⪠íªà
|
||
include 'Commands/date.asm' ; ¢ë¢®¤ ¨«¨ ãáâ ®¢ª ¤ âë/¢à¥¬¥¨
|
||
include 'Commands/dir.asm' ; ¢ë¢®¤ ᯨ᪠¤¨à¥ªâ®à¨¨
|
||
include 'Commands/chdir.asm' ; ᬥ ⥪. ª â «®£
|
||
include 'Commands/mkdir.asm' ; á®§¤ ¨¥ ª â «®£
|
||
include 'Commands/rmdir.asm' ; 㤠«¥¨¥ ª â «®£
|
||
include 'Commands/del.asm' ; 㤠«¥¨¥ ä ©«
|
||
include 'Commands/ren.asm' ; ¯¥à¥¨¬¥®¢ ¨¥ ä ©« ¨«¨ ª â «®£
|
||
include 'Commands/echo.asm' ; íå®-०¨¬
|
||
include 'Commands/help.asm' ; ¢ë¢®¤ íªà ¯®¬®é¨
|
||
include 'Commands/path.asm' ; § ¤ âì á¨áâ. ¯ãâì
|
||
include 'Commands/set.asm' ; § ¤ âì ¯¥à¥¬¥ãî ®ªà㦥¨ï
|
||
include 'Commands/reboot.asm' ; á®äâ à¥á¥â
|
||
;
|
||
DISPLAY "Empty space for buffers from ",/H,$
|
||
work_buffer1 equ $ ; 2-© à ¡. ¡ãä¥à ; 128 bytes
|
||
work_buffer2 equ work_buffer1+128 ; 3-© à ¡. ¡ãä¥à ; 256 bytes
|
||
; |