Backspace fix
authorRobert Pengelly <robertapengelly@hotmail.com>
Sat, 24 Aug 2024 15:47:19 +0000 (16:47 +0100)
committerRobert Pengelly <robertapengelly@hotmail.com>
Sat, 24 Aug 2024 15:47:19 +0000 (16:47 +0100)
build/chimaera.img
build/chimaera.vhd
src/apps/pcomm/pcomm.asm

index 2b9ed57069b0832c5072abb226bc8f96c6baa676..9039871014e447d882f046d0ba0f6a9a358359ad 100644 (file)
Binary files a/build/chimaera.img and b/build/chimaera.img differ
index b1a091a2a30387274520016b98f9385bff3b2ed4..15ad40425181ce80c96ab610c2a4753df79548a7 100644 (file)
Binary files a/build/chimaera.vhd and b/build/chimaera.vhd differ
index 7dfad70ca788039bf90f1a52ebb42d5e1c02c33d..32338761c127c708f3923bb19a3218f3ac38f30d 100644 (file)
@@ -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