From: Robert Pengelly <robertapengelly@hotmail.com>
Date: Sat, 24 Aug 2024 15:47:19 +0000 (+0100)
Subject: Backspace fix
X-Git-Url: https://git.candlhat.org/?a=commitdiff_plain;h=91f4a0b6b6a02fa84b0dbcb4bb49483755a32627;p=chimaera.git

Backspace fix
---

diff --git a/build/chimaera.img b/build/chimaera.img
index 2b9ed57..9039871 100644
Binary files a/build/chimaera.img and b/build/chimaera.img differ
diff --git a/build/chimaera.vhd b/build/chimaera.vhd
index b1a091a..15ad404 100644
Binary files a/build/chimaera.vhd and b/build/chimaera.vhd differ
diff --git a/src/apps/pcomm/pcomm.asm b/src/apps/pcomm/pcomm.asm
index 7dfad70..3233876 100644
--- a/src/apps/pcomm/pcomm.asm
+++ b/src/apps/pcomm/pcomm.asm
@@ -774,6 +774,7 @@ _main:
     
     mov     cl,     ch
     xor     ch,     ch
+    push    cx
     
     mov     si,     di
     dec     di
@@ -784,6 +785,65 @@ _main:
     xor     al,     al
     stosb
     
+    xor     ah,     ah
+    mov     al,     cs:[_curr_col]
+    
+    xor     dx,     dx
+    pop     cx
+    add     ax,     cx
+    
+    mov     cx,     80
+    div     cx
+    
+    and     dx,     dx
+    jnz     .L76
+    
+    mov     ax,     HEX (0300)
+    xor     bx,     bx
+    int     HEX (10)
+    
+    dec     dh
+    
+    mov     ax,     HEX (0200)
+    xor     bx,     bx
+    mov     dl,     HEX (50)
+    int     HEX (10)
+    
+    mov     cx,     dx
+    
+    call    _erase_char
+    pop     di
+    dec     di
+    
+    mov     bx,     di
+    call    _writestr
+    
+    mov     ah,     HEX (02)
+    xor     dl,     dl
+    int     HEX (21)
+    
+    mov     dx,     cx
+    
+    mov     ax,     HEX (0200)
+    xor     bx,     bx
+    mov     dl,     HEX (4F)
+    int     HEX (10)
+    
+    pop     si
+    pop     dx
+    
+    pop     cx
+    dec     ch
+    
+    pop     bx
+    pop     ax
+    pop     ds
+    pop     es
+    
+    jmp     .L11
+
+.L76:
+
     call    _erase_char
     pop     di
     dec     di