mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 09:21:47 +03:00
доделка cmd_break
This commit is contained in:
parent
a4fd704a5c
commit
81595cbb58
@ -61,8 +61,8 @@ BEGIN: in a,(SLOT3)
|
||||
ld (port+1),a ; á®åà. ¯®àâ
|
||||
push ix
|
||||
call save_path ; á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||||
ld c,0 ; ã§ âì ¢¥àá¨î „Ž‘
|
||||
rst 10h
|
||||
ld c,Dss.Version ; ã§ âì ¢¥àá¨î „Ž‘
|
||||
RST ToDSS
|
||||
ex de,hl ; hl=⥪. ¢¥àá¨ï
|
||||
ld de,#013C ; 1.60 d=¢¥àá¨ï, e=¬®¤¨ä¨ª æ¨ï, bc - ®¬¥à ᡮન. de = #013E, bc = #0064 dos ver 1.62.100
|
||||
and a
|
||||
@ -83,7 +83,7 @@ version_ok: xor a ;
|
||||
ld (disk),a ; § ¤ ë© ®¬¥à ¤¨áª
|
||||
; ã§ âì ®¬¥à boot-¤¨áª á¨á⥬ë
|
||||
ld bc,0009h
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ld (boot_disk),a ; ¤¨áª (A=0,B=1,..)
|
||||
; ¯à®¢¥à¨âì ᮢ¯ ¤¥¨¥ ¤¨áª®¢
|
||||
ld hl,disk
|
||||
@ -99,7 +99,7 @@ version_ok: xor a ;
|
||||
add a,'A'
|
||||
ld (hl),a
|
||||
ld c,1Dh ; ᬥ ª â «®£
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
;--------------------------------------------
|
||||
; —⥨¥ ä ©« system.exe
|
||||
;--------------------------------------------
|
||||
@ -109,7 +109,7 @@ version_ok: xor a ;
|
||||
; ®á¢®¡. ¡«®ª ¯ ¬ïâ¨
|
||||
read_file_err: ld a,(id_blck) ; ¨¤¥â¨ä. ¡«®ª ¯ ¬ïâ¨
|
||||
ld c,3Eh
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ld a,-1 ; ª®¤ ®è¨¡ª¨
|
||||
jp exit
|
||||
|
||||
@ -127,7 +127,7 @@ read_file1_ok: ld hl,file_handle ;
|
||||
; ®á¢®¡. ¡«®ª ¯ ¬ï⨠system.exe
|
||||
file_err1: ld a,(id_mem) ; ¨¤¥â¨ä. ¡«®ª ¯ ¬ïâ¨
|
||||
ld c,3Eh
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
jr read_file_err ; ®á¢®¡. ¡«®ª ¯ ¬ï⨠system.dos
|
||||
|
||||
read_file2_ok:
|
||||
@ -144,7 +144,7 @@ confirm_flag+*: ld a,0
|
||||
ld a,5 ; ¨¤¥ªá áâப¨ "Insert destination disk..."
|
||||
call print_string
|
||||
ld bc,3035h ; ¦¤¥¬ ¦ â¨ï ª« ¢¨è¨
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
no_confirm: ld a,2 ; ¨¤¥ªá áâப¨ "Installing boot loader..."
|
||||
call print_string
|
||||
; “áâ. 楫¥¢®© ¤¨áª/¯ãâì
|
||||
@ -153,7 +153,7 @@ no_confirm: ld a,2 ;
|
||||
add a,'A'
|
||||
ld (hl),a
|
||||
ld c,1Dh ; ᬥ ⥪. ª â «®£
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
;--------------------------------------------
|
||||
; ‡ ¯¨á âì boot-§ £àã§ç¨ª
|
||||
call write_boot_loader
|
||||
@ -170,7 +170,7 @@ no_confirm: ld a,2 ;
|
||||
ok_write1: ; ®á¢®¡®¤¨âì ¯ ¬ïâì
|
||||
ld a,(id_blck) ; ¡«®ª system.dos
|
||||
ld c,3Eh
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
;
|
||||
; § £à. à ¡. ï祩ª¨
|
||||
ld hl,hFile1 ; ®âªã¤
|
||||
@ -184,7 +184,7 @@ ok_write1: ;
|
||||
push af
|
||||
ld a,(id_blck) ; ¡«®ª system.exe
|
||||
ld c,3Eh
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
pop af
|
||||
jr c,exit ; ®è¨¡ª
|
||||
;
|
||||
@ -205,7 +205,7 @@ ok_write1: ;
|
||||
ld a,6 ; ¨¤¥ªá áâப¨ "Insert system disk..."
|
||||
call print_string
|
||||
ld bc,3035h ; ¦¤¥¬ ¦ â¨ï ª« ¢¨è¨
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
xor a ; ª®¤ "Ok"
|
||||
exit: push af
|
||||
call restore_path ; ¢®ááâ. ⥪. ¤¨áª ¨ ¯ãâì
|
||||
@ -214,7 +214,7 @@ port: ld a,-1 ;
|
||||
pop af
|
||||
ld c,41h ; ¢ë室 ¢ „Ž‘
|
||||
ld b,a
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
jr $
|
||||
|
||||
|
||||
@ -356,7 +356,7 @@ get_drive_letter:
|
||||
inc hl ; ¡ãä¥à áâப¨
|
||||
ld de,buffer ; ¡ãä¥à ¤«ï ¢ë¤¥«. ¯ à ¬¥âà
|
||||
ld c,43h ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬. áâப¨
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ld de,buffer
|
||||
ld a,(de)
|
||||
inc de
|
||||
@ -390,11 +390,11 @@ get_drive_err: scf ;
|
||||
; á®åà. ⥪. á¨áâ¥¬ë© ¤¨áª ¨ ¯ãâì
|
||||
;----------------------------------------------------
|
||||
save_path: ld c,2 ; ã§ âì ¤¨áª
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ld (sys_disk),a
|
||||
ld hl,sys_path
|
||||
ld c,1Eh ; ã§ âì ¯ãâì
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ret
|
||||
|
||||
|
||||
@ -403,10 +403,10 @@ save_path: ld c,2 ; 㧭
|
||||
;----------------------------------------------------
|
||||
restore_path: ld a,(sys_disk)
|
||||
ld c,1 ; ᬥ ¤¨áª
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ld hl,sys_path
|
||||
ld c,1Dh ; ᬥ ¯ãâ¨
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ret
|
||||
|
||||
|
||||
@ -483,7 +483,7 @@ endmess: db 0
|
||||
; ¢å®¤: a=¨¤¥ªá áâப¨
|
||||
print_string: call get_string ; ¯®¨áª áâப¨ ¯® ¥¥ ¨¤¥ªáã ¢ 'a'
|
||||
ld c,5Ch ; ¢ë¢®¤ áâப¨
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ret
|
||||
|
||||
|
||||
@ -514,7 +514,7 @@ get_loop: ex af,af'
|
||||
;====================================================
|
||||
read_file: ld a,1 ; ç⥨¥
|
||||
ld c,11h ; ®âªàëâì ä ©«
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
jr nc,ok ; ¡¥§ ®è¨¡®ª
|
||||
ld a,9 ; ¨¤¥ªá "Can't open file"
|
||||
call print_string
|
||||
@ -524,7 +524,7 @@ ok: ld (file_handle),a ;
|
||||
ld hl,0
|
||||
ld ix,0
|
||||
ld bc,0215h ; 㪠§ â¥«ì ª®¥æ ä ©«
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ld (hsize),hl ; áâ.à §àï¤ à §¬¥à ä ©«
|
||||
ld (lsize),ix ; ¬«.à §àï¤
|
||||
call get_memory ; à áç. ¨ ¢ë¤¥«. áâà ¨æë ¯®¤ ä ©«
|
||||
@ -532,7 +532,7 @@ ok: ld (file_handle),a ;
|
||||
call file_to_bank ; § £à. ä ©« ¢ áâà ¨æë
|
||||
close_file: ld a,(file_handle) ; ¤¥áªà. ä ©«
|
||||
ld c,12h ; § ªàëâì ä ©«
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ret
|
||||
;
|
||||
not_enough: call close_file
|
||||
@ -574,7 +574,7 @@ malloc2: or a
|
||||
; ¢ë¤¥«¨âì ¡«®ª ¯ ¬ïâ¨
|
||||
ld b,c ; b=ç¨á«® áâà ¨æ
|
||||
ld c,3Dh
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ld (id_blck),a ; ¨¤¥â¨ä. ¡«®ª
|
||||
ret
|
||||
|
||||
@ -586,7 +586,7 @@ file_to_bank: ld hl,0
|
||||
ld ix,0
|
||||
ld a,(file_handle) ; ¤¥áªà. ä ©«
|
||||
ld bc,0015h ; 㪠§ ⥫ì ç «® ä ©«
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ld a,(id_blck) ; ¨¤¥â¨ä. ¡«®ª ¯ ¬ïâ¨
|
||||
ld b,0 ; «®£. ®¬¥à áâà ¨æë ¢ ¡«®ª¥
|
||||
ld c,0C4h ; ¯®«ãç¨âì 䨧. ®¬¥à áâà ¨æë ¢ ¡«®ª¥
|
||||
@ -598,7 +598,7 @@ loop_to_bank: push af
|
||||
ld de,4000h ; ᪮«ìª®
|
||||
ld a,(file_handle) ; ¤¥áªà. ä ©«
|
||||
ld c,13h ; ç¨â âì ä ©«
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
pop bc
|
||||
jr nc,ok_to_bank
|
||||
ld a,12 ; ¨¤¥ªá "Reading error"
|
||||
@ -626,7 +626,7 @@ ok_to_bank: cp -1 ;
|
||||
;====================================================
|
||||
write_file: ld a,20h ; âਡãâ " à娢ë©"
|
||||
ld c,0Ah ; á®§¤ âì ä ©«
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
jr nc,create_ok ; ¡¥§ ®è¨¡®ª
|
||||
ld a,13 ; ¨¤¥ªá "Can't create file"
|
||||
call print_string
|
||||
@ -662,7 +662,7 @@ write_loop: push af
|
||||
ld de,4000h ; ᪮«ìª®
|
||||
ld a,(file_handle) ; ¤¥áªà. ä ©«
|
||||
ld c,14h ; § ¯¨áì ä ©«
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
pop bc
|
||||
jr nc,write_ok
|
||||
ld a,14 ; ¨¤¥ªá "Writing error"
|
||||
@ -689,7 +689,7 @@ write_end: pop af ;
|
||||
ld hl,page_buffer ; #C000 ®âªã¤
|
||||
ld a,(file_handle) ; ¤¥áªà. ä ©«
|
||||
ld c,14h ; § ¯¨áì ä ©«
|
||||
rst 10h
|
||||
RST ToDSS
|
||||
ret
|
||||
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
[ ] ¯¥à¥¤ ç «®¬ à ¡®âë «î¡®© ¯à®æ¥¤ãàë § ¯¨á¨/çâ¥¨ï ¤à ©¢ ãáâ ¢«¨¢ âì ä« £, ç⮡ ¥ ¡ë«® ¯®¢â®à®£® ¢ë§®¢ (¨§ ¯à¥àë¢ ¨ï, ¯à¨¬¥à)
|
||||
[ ] ¡«®ª¨à®¢ª ä ©«®¢ ¢ ä ©«®¢ëå ¬ ¨¯ã«ïâ®à å (ç⮡ ¥ ®âªàë¢ âì § ¯¨áì 㦥 ®âªàëâë© § ¯¨áì ä ©«, ¯à¨¬¥à)
|
||||
‘।¥¥:
|
||||
[x] ;!TEST ¯¥à¥¤ à¥áª ®¬ ¤à ©¢®¢ ¯à®¢¥àïâì ®âªàëâë¥ åí¤«ë ¨ ¥á«¨ ¡ãª¢ ¤¨áª ¬¥ï¥âáï, â® ¬¥ïâì ¤à ©¢ ¢ åí¤«¥
|
||||
[x] ¯¥à¥¤ à¥áª ®¬ ¤à ©¢®¢ ¯à®¢¥àïâì ®âªàëâë¥ åí¤«ë ¨ ¥á«¨ ¡ãª¢ ¤¨áª ¬¥ï¥âáï, â® ¬¥ïâì ¤à ©¢ ¢ åí¤«¥
|
||||
[ ] ç âì à ¡®â âì á äãªæ¨ï¬¨ REMOVABLE ¨ MEDIA CHECK rst #18. ‚®§¢à é âì § 票¥ #FF, ¥á«¨ ¯®à冷ª ¡ãª¢ ¨§¬¥¨«áï
|
||||
|
||||
‚®®¡é¥ ¥ ¢ ¦®¥:
|
||||
@ -23,7 +23,7 @@
|
||||
DSS 1.70.2
|
||||
ˆ§¬¥¥¨ï ¯®á«¥ ¢¥àᨨ 1.70
|
||||
CORE:
|
||||
[+] ¯à¨ ç⥨¨/§ ¯¨á¨ ä ©« ¥ ¯à®¨á室¨â "宫®á⮥" ¯¥à¥ç¨âë¢ ¨¥ ª« áâ¥à®¢ ®â ç « ä ©«
|
||||
[+] ¯à¨ ç⥨¨/§ ¯¨á¨ ä ©« ¥ ¯à®¨á室¨â "宫®á⮥" ¯¥à¥ç¨âë¢ ¨¥ FAT ®â ç « ä ©«
|
||||
[+] ¯¥à¥ç¨âë¢ ¨¥ BPB ⥯¥àì ¤¥« ¥âáï ¥ ª ¦¤ë© ç¨å, ª®£¤ ¤® (¨ ¡ £ ¯à¨ § £à㧪¥ á ¤¨áª "B:" ¥â :-P )
|
||||
[+] ¨§¬¥¥ à ¡®â á RAM DISK, ⥯¥àì ® ¬®¦¥â ¡ëâì § £àã§®çë¬
|
||||
[+] ¨á¯à ¢«¥ë ¡ £¨ ¢ äãªæ¨ïå: WINCOPY, WINREST, SCROLL, SETVMOD, SELPAGE
|
||||
|
||||
@ -816,20 +816,27 @@ RTAB EX DE,HL
|
||||
|
||||
; `
|
||||
; 0
|
||||
; Esc,"1","2","3","4","5","6","7","8","9","0","-","=",Back
|
||||
; 1 2 3 4 5 6 7 8 9 A B C D E
|
||||
; Tab,"Q","W","E","R","T","Y","U","I","O","P","[","]"
|
||||
; F 10 11 12 13 14 15 16 17 18 19 1A 1B
|
||||
; Cps,"A","S","D","F","G","H","J","K","L",";","'",Enter
|
||||
; 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28
|
||||
; LSh,"Z","X","C","V","B","N","M",",",".","/",RSh,#5C
|
||||
; 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35
|
||||
; LCl,LAt,SPC,Rat,RCl,F01,F02,F03,F04,F05,F06,F07,F08
|
||||
; 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42
|
||||
; F09,F10,F11,F12,prn,scr,num,"/","*","-","+",ent,Del
|
||||
; 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
|
||||
; Ins,End,Dwn,PgD,Lft,"5",Rgh,Hom,Upp,PgU
|
||||
; 50 51 52 53 54 55 56 57 58 59
|
||||
; Esc, "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", Back
|
||||
; 1 2 3 4 5 6 7 8 9 A B C D E
|
||||
|
||||
; Tab, "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "[", "]"
|
||||
; F 10 11 12 13 14 15 16 17 18 19 1A 1B
|
||||
|
||||
; Cps, "A", "S", "D", "F", "G", "H", "J", "K", "L", ";", "'", Enter
|
||||
; 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28
|
||||
|
||||
; LSh, "Z", "X", "C", "V", "B", "N", "M", ",", ".", "/", RSh, #5C
|
||||
; 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35
|
||||
|
||||
; LCl, LAt, SPC, Rat, RCl, F01, F02, F03, F04, F05, F06, F07, F08
|
||||
; 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42
|
||||
|
||||
; F09, F10, F11, F12, prn, scr, num, "/", "*", "-", "+", ent, Del
|
||||
; 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
|
||||
|
||||
; Ins, End, Dwn, PgD, Lft, "5", Rgh, Hom, Upp, PgU
|
||||
; 50 51 52 53 54 55 56 57 58 59
|
||||
;
|
||||
;
|
||||
;================================
|
||||
Esc EQU #1B
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
FIXED:
|
||||
+ function WINCOPY & WINREST ¥ § ¯à¥é îâ ¯à¥àë¢ ¨ï ¯¥à¥¤ ¢ë§®¢®¬ BIOS (¨á¯®«ì§ã¥âáï ¢ë¢®¤ á⥪®¬!).
|
||||
|
||||
- ¯à¨ ¢ë¢®¤¥ ª®á®«ì ¤«¨®£® ⥪áâ , íªà ¥ áªà®«¨àã¥âáï. <20>஢¥àïâì ¤®á⨦¥¨¥ 80 ¯®§¨æ¨¨!
|
||||
+ ¯à¨ ¢ë¢®¤¥ ª®á®«ì ¤«¨®£® ⥪áâ , íªà ¥ áªà®«¨àã¥âáï. <20>஢¥àïâì ¤®á⨦¥¨¥ 80 ¯®§¨æ¨¨!
|
||||
|
||||
+ ®è¨¡ª ¢ äãªæ¨¨ SCROLL A=0.
|
||||
? ®è¨¡ª ¢ äãªæ¨¨ SCROLL A=0.
|
||||
|
||||
+ ®è¨¡ª ¯à¨ ¯à®á¬®âॠª â «®£ ¢ äãªæ¨ïå ãáâ ®¢ª¨ âਡã⮢ ¯à®¯ã᪠îâáï á¨áâ¥¬ë¥ ä ©«ë. ¯/¯ SEARCH MASK=#23
|
||||
|
||||
|
||||
@ -13,27 +13,21 @@ echo_mode:
|
||||
;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
|
||||
; IF 0
|
||||
; CALL RUN_BAT
|
||||
; CALL BATCH
|
||||
; CALL MAKE_BATCH_PRM_ARRAY
|
||||
; CALL NEWLINE
|
||||
; CALL CMDMODE
|
||||
; CALL EVALCMD
|
||||
; CALL RUN_BAT
|
||||
; ENDIF
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‡ ¯ã᪠bat-ä ©«
|
||||
; ¢å®¤: hl=¨¬ï ä ©«
|
||||
;-------------------------------------------------
|
||||
RUN_BAT:
|
||||
; [ ] 11/12/23 ¢«®¦¥ë¥ bat
|
||||
;.level+1:
|
||||
; LD A,(BAT_FM)
|
||||
; OR A
|
||||
; jr nz,.new_process
|
||||
; ;
|
||||
call BATCH
|
||||
jp c,A83DD ; ®è¨¡ª ®âªà. ä ©« (cpp.asm)
|
||||
ret
|
||||
@ -170,30 +164,34 @@ BATCH:
|
||||
; ‚믮«¥¨¥ ª®¬ ¤ BAT-ä ©«
|
||||
;---------------------------------------------------
|
||||
NEWLINE:
|
||||
LD (cmd_break.sp),SP ; [ ] 11/12/23 cmd_break
|
||||
;
|
||||
ld de,struct_input_line+5 ;!HARDCODE
|
||||
.ADDBAT: push de
|
||||
call READBAT ; ¯à®ç¨â âì 128 ¡ ©â ¨§ ä ©« ¢ "work_buffer1"
|
||||
pop de
|
||||
;!TODO ¤®¤¥« âì âã⠮ଠ«ìãî ¯à®¢¥àªã ®¡«®¬ á ç⥨¥¬ ä ©« , ¢ë¢®¤¨âì ®è¨¡ªã
|
||||
jp c,cmd_break.exit
|
||||
or a ; a=ç¨á«® ¯à®ç¨â. ¡ ©â
|
||||
jr nz,.BATLINE
|
||||
;
|
||||
ex de,hl
|
||||
ld de,struct_input_line+5
|
||||
sbc hl,de
|
||||
jr z,.exit; ;[x] <Vasil> ã¡à ¡ £ á ¥§ ªàëâë¬ BAT-ä ©«®¬
|
||||
jp z,cmd_break.exit; ;[x] <Vasil> ã¡à ¡ £ á ¥§ ªàëâë¬ BAT-ä ©«®¬
|
||||
ld a,l
|
||||
ld (struct_input_line+4),a ; ¤«¨ áâப¨
|
||||
PUSH HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
||||
call CMDMODE ; â¥áâ bat-ª®¬ ¤ë "rem","pause"
|
||||
call CMDMODE ; â¥áâ bat-ª®¬ ¤ë
|
||||
; ^^^^^^^
|
||||
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||
POP HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
||||
.exit: ld a,(BAT_FM) ; ¤¥áªà. bat-ä ©«
|
||||
ld c,Dss.Close ; § ªàëâì ä ©«
|
||||
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||
RST ToDSS
|
||||
xor a
|
||||
ld (BAT_FM),a
|
||||
ret
|
||||
JP cmd_break.exit
|
||||
; .exit: ld a,(BAT_FM) ; ¤¥áªà. bat-ä ©«
|
||||
; ld c,Dss.Close ; § ªàëâì ä ©«
|
||||
; ;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||
; RST ToDSS
|
||||
; xor a
|
||||
; ld (BAT_FM),a
|
||||
; ret
|
||||
;
|
||||
.BATLINE:
|
||||
ld hl,work_buffer1
|
||||
@ -207,7 +205,7 @@ NEWLINE:
|
||||
sbc hl,de
|
||||
ld a,l
|
||||
ld (struct_input_line+4),a ; ¤«¨ áâப¨
|
||||
call CMDMODE ; â¥áâ bat-ª®¬ ¤ë "rem","pause"
|
||||
call CMDMODE ; â¥áâ bat-ª®¬ ¤ë
|
||||
; ^^^^^^^
|
||||
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||
ld de,struct_input_line+5
|
||||
@ -223,7 +221,12 @@ NEWLINE:
|
||||
; de=ªã¤
|
||||
;-------------------------------------------------
|
||||
MOVWORD:
|
||||
.count+1: ld a,0 ; (ç¨á«® ¯à®ç¨â. ¡ ©â ¨§ ä ©« )/128
|
||||
.count+1: ld a,0 ; ç¨á«® ¯à®ç¨â. ¡ ©â ¨§ ä ©«
|
||||
; [ ] 15/12/23 exit if 0
|
||||
OR A
|
||||
SCF
|
||||
RET Z
|
||||
;
|
||||
ld b,a
|
||||
.loop: ld a,(hl)
|
||||
ld (de),a
|
||||
@ -243,6 +246,8 @@ MOVWORD:
|
||||
push de
|
||||
call READBAT ; ¯à®ç¨â âì 128 ¡ ©â ¨§ ä ©«
|
||||
pop de
|
||||
;!TODO ¤®¤¥« âì âã⠮ଠ«ìãî ¯à®¢¥àªã ®¡«®¬ á ç⥨¥¬ ä ©« , ¢ë¢®¤¨âì ®è¨¡ªã
|
||||
RET C
|
||||
;ld hl,BATBUFF ; 128 ¡ãä¥à (ccp.asm) "work_buffer1"
|
||||
ld hl,work_buffer1
|
||||
ld b,a ; ç¨á«® ¯à®ç¨â. ¡ ©â
|
||||
@ -262,13 +267,14 @@ READBAT:
|
||||
ld a,e
|
||||
; [x] 28/09/23
|
||||
JR NC,1F
|
||||
XOR A
|
||||
;!TODO ¤®¤¥« âì âã⠮ଠ«ìãî ¯à®¢¥àªã ®¡«®¬ á ç⥨¥¬ ä ©« , á®åà ïâì ®è¨¡ªã
|
||||
LD A,0 ; á®åà 塞 ä« £ CF
|
||||
;
|
||||
1: ld (MOVWORD.count),a ; (ç¨á«® ¯à®ç¨â. ¡ ©â ¨§ ä ©« )/128
|
||||
1: ld (MOVWORD.count),a ; ç¨á«® ¯à®ç¨â. ¡ ©â ¨§ ä ©«
|
||||
ret
|
||||
|
||||
|
||||
; ’¥áâ bat-ª®¬ ¤ë "rem","pause"
|
||||
; ’¥áâ bat-ª®¬ ¤ë
|
||||
; ¤®«¦¥ ᮡ«î¤ âìáï ¡ « á á⥪ ¤«ï cmd_break
|
||||
CMDMODE:
|
||||
;xor a
|
||||
@ -377,11 +383,11 @@ CMDMODE:
|
||||
.A8286: ex af,af'
|
||||
sub c
|
||||
ld c,a ; ¤«¨ á«®¢ ¨«¨ áâப¨ ?
|
||||
ld hl,BATLIST ; ª®¬ ¤ë "pause","rem" + dos-ª®¬ ¤ë
|
||||
ld hl,BATLIST ; ª®¬ ¤ë bat + dos-ª®¬ ¤ë
|
||||
;
|
||||
; de=struct_input_line+5, c=¤«¨ áâப¨ (¡¥§ ª®æ. ¯à®¡¥«®¢)
|
||||
; ¢ë¯®«. ª®¬ ¤ã ¨«¨ § ¯ãáâ¨âì ä ©«
|
||||
jp COMP005.start
|
||||
|
||||
jp COMP.start
|
||||
|
||||
; ¤®«¦ ã¡à âì ª®æ. ¯à®¡¥«ë ¨ ãáâ. ¤«¨ã áâப¨, ¥á«¨ ã१ « áì
|
||||
EVALCMD: xor a
|
||||
|
||||
@ -1,8 +1,15 @@
|
||||
; [ ] 11/12/23
|
||||
cmd_break:
|
||||
pop hl ; ¢®ááâ ®¢«¥¨¥ ¡ « á á⥪
|
||||
pop hl ; ¢®ááâ ®¢«¥¨¥ ¡ « á á⥪
|
||||
XOR A
|
||||
ld (MOVWORD.count),a
|
||||
; pop hl ; ¢®ááâ ®¢«¥¨¥ ¡ « á á⥪
|
||||
; pop hl ; ¢®ááâ ®¢«¥¨¥ ¡ « á á⥪
|
||||
; XOR A
|
||||
; ld (MOVWORD.count),a
|
||||
.sp+1: LD SP,0
|
||||
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||
JP NEWLINE.exit
|
||||
.exit: ld a,(BAT_FM) ; ¤¥áªà. bat-ä ©«
|
||||
ld c,Dss.Close ; § ªàëâì ä ©«
|
||||
RST ToDSS
|
||||
xor a
|
||||
ld (BAT_FM),a
|
||||
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||
ret
|
||||
@ -3,5 +3,8 @@
|
||||
; REM. Š®¬¬¥â ਩ (¢ bat-ä ©«¥)
|
||||
;
|
||||
;///////////////////////////////////////////////////
|
||||
cmd_rem: ret
|
||||
cmd_rem:; [ ] 15/12/23 ¬®¦¥â ¨ ¥ ¯® ¤®¡¨âáï
|
||||
AND A
|
||||
;
|
||||
ret
|
||||
;
|
||||
|
||||
@ -14,13 +14,13 @@ COMP: call EVALCMD ; (batch.asm)
|
||||
inc hl ; struct_input_line+5
|
||||
.loop: ld a,(hl)
|
||||
cp " "
|
||||
jr nz,COMP01
|
||||
jr nz,.COMP01
|
||||
inc hl
|
||||
dec c
|
||||
jr nz,.loop
|
||||
ret
|
||||
;
|
||||
COMP01: ld d,h
|
||||
.COMP01:
|
||||
ld d,h
|
||||
ld e,l
|
||||
add hl,bc
|
||||
ld (hl),0
|
||||
@ -29,16 +29,17 @@ COMP01: ld d,h
|
||||
ex af,af'
|
||||
ld a," "
|
||||
cpir
|
||||
jr nz,COMP005
|
||||
jr nz,.COMP005
|
||||
inc c
|
||||
COMP005: ex af,af'
|
||||
.COMP005:
|
||||
ex af,af'
|
||||
sub c
|
||||
ld c,a
|
||||
ld hl,CMDLIST ; ᯨ᮪ ª®¬ ¤ „Ž‘-
|
||||
.start: call RUN_COMMAND
|
||||
jr nc,.skip ; NC ¥á«¨ ¥ ©¤¥ ª®¬ ¤
|
||||
jp (hl)
|
||||
.skip: ; <20>¥ ¤®á-ª®¬ ¤ë. ’¥áâ § ¤` ¨¥ ¤¨áª ¨ § ¯ãáª ä ©«
|
||||
.skip: ; <20>¥ ¤®á-ª®¬ ¤ë. ’¥áâ § ¤ ¨¥ ¤¨áª ¨ § ¯ãáª ä ©«
|
||||
ld h,d
|
||||
ld l,e
|
||||
; hl=struct_input_line+5
|
||||
@ -54,11 +55,11 @@ COMP005: ex af,af'
|
||||
jr nz,RUN_EXT ; § ¤ ¥ ¤¨áª
|
||||
ld a,b ; 1-© ᨬ¢®«
|
||||
cp "a"
|
||||
jr c,NOUP
|
||||
jr c,.NOUP
|
||||
cp "z"+1
|
||||
jr nc,NOUP
|
||||
jr nc,.NOUP
|
||||
and #5F ; a..z -> A..Z
|
||||
NOUP: sub "A" ; ®¬¥à ¤¨áª
|
||||
.NOUP: sub "A" ; ®¬¥à ¤¨áª
|
||||
ld c,Dss.ChDisk ; ᬥ¨âì ⥪. ¤¨áª
|
||||
RST ToDSS
|
||||
jp c,print_err_message ; ¢ë¢®¤ á®®¡é¥¨ï
|
||||
|
||||
@ -117,25 +117,22 @@ shell:
|
||||
bit 6,a ; 6-© ¡¨â (¢¢®¤¨«¨áì ¤®¯®«. ¯ à ¬¥âàë)
|
||||
jr z,back_to_parent_process
|
||||
; ¢¢®¤¨«¨áì ¤®¯®«. ¯ à ¬¥âàë
|
||||
PUSH HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
||||
call CMDMODE ; (batch.asm) ¢ë¯®«. ª®¬ ¤ã ¨«¨ § ¯ãáâ¨âì ä ©«
|
||||
; ^^^^^^^
|
||||
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||
POP HL ; [ ] 11/12/23 ¤«ï ¡ « á á⥪ ¢ cmd_break
|
||||
call Get_Path ; ã§ âì ¨ á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||||
;
|
||||
; ‚¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
||||
back_to_parent_process:
|
||||
; [ ] 11/12/23 ¢«®¦¥ë¥ bat
|
||||
LD B,0
|
||||
JR NC,1F
|
||||
and a
|
||||
.saveA: LD B,0
|
||||
JR NC,.exit
|
||||
LD B,A
|
||||
1: ld c,Dss.Exit
|
||||
.exit: ld c,Dss.Exit
|
||||
;ld bc,0*256 + Dss.Exit
|
||||
;
|
||||
JP ToDSS
|
||||
;ret
|
||||
|
||||
|
||||
|
||||
|
||||
@ -164,7 +161,7 @@ option_c:
|
||||
;POP AF ; [ ] 11/12/23 ¢«®¦¥ë¥ bat, á®åà 塞 ª®¤ ¢®§¢à â
|
||||
|
||||
;!TODO ¢«®¦¥ë¥ bat. ¯¥à¥¤ ¢ âì ®è¨¡ªã ®¡à â® ¢ ¢ë§ë¢ î騩 bat
|
||||
jr back_to_parent_process ; ¢¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
||||
jr back_to_parent_process.saveA ; ¢¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
||||
|
||||
|
||||
|
||||
@ -213,10 +210,10 @@ GET_CMD:
|
||||
ex de,hl ; hl=¤«¨ áâப¨, de=áâப
|
||||
add hl,de
|
||||
; ã¡à âì ª®æ¥¢ë¥ ¯à®¡¥«ë
|
||||
dec hl
|
||||
.loop1: dec hl
|
||||
ld a,(hl)
|
||||
cp " "
|
||||
jr z,$-4
|
||||
jr z,.loop1
|
||||
inc hl
|
||||
ld (hl),0 ; ¢ ª®¥æ ª®¬-áâப¨
|
||||
.NEXTPRM:
|
||||
|
||||
@ -1 +1 @@
|
||||
286
|
||||
288
|
||||
@ -1 +1 @@
|
||||
Subproject commit 3bc92f2ea2e0080f243fdeda4e46db545e657ba1
|
||||
Subproject commit 066f9ee8b6aa8cc9d4ca5a03c8778fe5a075e304
|
||||
Loading…
Reference in New Issue
Block a user