From be3ba9989c50bd199c08ed9a314245fc846894b6 Mon Sep 17 00:00:00 2001 From: Robert Pengelly Date: Fri, 27 Sep 2024 22:20:00 +0100 Subject: [PATCH] Search .bat as well as .com --- build/chimaera.img | Bin 368640 -> 368640 bytes build/chimaera.vhd | Bin 34120704 -> 34120704 bytes src/apps/pcomm/pcomm.asm | 84 ++++++++++++++++++++++++++++++++------- 3 files changed, 69 insertions(+), 15 deletions(-) diff --git a/build/chimaera.img b/build/chimaera.img index 0e30930df07fd27292e33a6e4866c42e16f95c07..9a4a3d22bf331905e1a546ab24a0b505adf9d498 100644 GIT binary patch delta 4540 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 diff --git a/src/apps/pcomm/pcomm.asm b/src/apps/pcomm/pcomm.asm index ff12bf4..395aec2 100644 --- a/src/apps/pcomm/pcomm.asm +++ b/src/apps/pcomm/pcomm.asm @@ -2238,20 +2238,26 @@ _process_line: mov word ptr cs:[_need_ext], 1 add bx, ax + mov si, offset _ext_table + mov cx, offset _ext_count + +.L106: + + mov dx, di + push di + push cx - mov al, '.' - stosb + mov ax, cs:[si + 2] + mov cx, cs:[si] - mov al, 'c' - stosb - - mov al, 'o' - stosb + add si, offset _ext_size + push si - mov al, 'm' - stosb + mov si, ax + rep movsb + push dx jmp .L25 .L24: @@ -2274,7 +2280,7 @@ _process_line: mov word ptr cs:[_in_batch], 0 - mov ax, offset _ext_batch + mov ax, offset _ext_bat push ax call _strcmp @@ -2295,6 +2301,14 @@ _process_line: jc .L107 add sp, 4 + + cmp word ptr cs:[_need_ext], 1 + jne .L101 + + pop si + pop cx + pop di + jmp .L101 .L104: @@ -2313,9 +2327,16 @@ _process_line: mov ax, HEX (4B00) int HEX (21) pop bx - jnc .L101 + jc .L103 + + cmp word ptr cs:[_need_ext], 1 + jne .L101 - jmp .L103 + pop si + pop cx + pop di + + jmp .L101 .L107: @@ -2395,6 +2416,13 @@ _process_line: pop bx pop ax + cmp word ptr cs:[_need_ext], 1 + jne .L101 + + pop si + pop cx + pop di + jmp .L101 .L97: @@ -2407,6 +2435,18 @@ _process_line: .L98: + cmp word ptr cs:[_need_ext], 1 + jne .L108 + + pop si + pop cx + pop di + + dec cx + jnz .L106 + +.L108: + mov bx, offset _err_invalid call _writestr @@ -2748,9 +2788,8 @@ _autoexec: db "AUTOEXEC.BAT", HEX (00) _batch_flags: db "r", HEX (00) _in_batch: dw HEX (0000) -_ext_batch: db ".bat", HEX (00) - _ll_scratch: dw HEX (0000) + _fn_wild: db "*.*", HEX (00) _dta_addr: dw HEX (0000) @@ -2787,10 +2826,25 @@ global _curr_drive _curr_drive: db HEX (00) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Commands. +;; Commands and extensions. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; %include "cmdhash.gen" +_ext_com: db ".com", HEX (00) +_ext_bat: db ".bat", HEX (00) + _cmd_size: equ 6 +_ext_size: equ 4 + +align 4 +_ext_table: + + dw HEX (0004) + dw offset _ext_com + + dw HEX (0004) + dw offset _ext_bat + +_ext_count: equ ($ - _ext_table) / _ext_size align 4 _cmd_table: -- 2.34.1