доделка cmd_break

This commit is contained in:
Anatoliy Belyanskiy 2023-12-15 03:23:09 +10:00
parent a4fd704a5c
commit 81595cbb58
11 changed files with 127 additions and 106 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,9 +1,9 @@
FIXED:
+ function WINCOPY & WINREST ­¥ § ¯à¥é îâ ¯à¥à뢠­¨ï ¯¥à¥¤ ¢ë§®¢®¬ BIOS (¨á¯®«ì§ã¥âáï ¢ë¢®¤ á⥪®¬!).
- ¯à¨ ¢ë¢®¤¥ ­  ª®­á®«ì ¤«¨­­®£® ⥪áâ , íªà ­ ­¥ áªà®«¨àã¥âáï. <20>஢¥àïâì ­  ¤®á⨦¥­¨¥ 80 ¯®§¨æ¨¨!
+ ¯à¨ ¢ë¢®¤¥ ­  ª®­á®«ì ¤«¨­­®£® ⥪áâ , íªà ­ ­¥ áªà®«¨àã¥âáï. <20>஢¥àïâì ­  ¤®á⨦¥­¨¥ 80 ¯®§¨æ¨¨!
+ ®è¨¡ª  ¢ ä㭪樨 SCROLL A=0.
? ®è¨¡ª  ¢ ä㭪樨 SCROLL A=0.
+ ®è¨¡ª  ¯à¨ ¯à®á¬®âॠª â «®£  ¢ äã­ªæ¨ïå ãáâ ­®¢ª¨  âਡã⮢ ¯à®¯ã᪠îâáï á¨á⥬­ë¥ ä ©«ë. ¯/¯ SEARCH MASK=#23

View File

@ -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

View File

@ -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

View File

@ -3,5 +3,8 @@
; REM. Š®¬¬¥­â à¨© (¢ bat-ä ©«¥)
;
;///////////////////////////////////////////////////
cmd_rem: ret
cmd_rem:; [ ] 15/12/23 ¬®¦¥â ¨ ­¥ ¯®­ ¤®¡¨âáï
AND A
;
ret
;

View File

@ -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 ; ¢ë¢®¤ á®®¡é¥­¨ï

View File

@ -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:

View File

@ -1 +1 @@
286
288

@ -1 +1 @@
Subproject commit 3bc92f2ea2e0080f243fdeda4e46db545e657ba1
Subproject commit 066f9ee8b6aa8cc9d4ca5a03c8778fe5a075e304