From 91f4a0b6b6a02fa84b0dbcb4bb49483755a32627 Mon Sep 17 00:00:00 2001 From: Robert Pengelly Date: Sat, 24 Aug 2024 16:47:19 +0100 Subject: [PATCH] Backspace fix --- build/chimaera.img | Bin 368640 -> 368640 bytes build/chimaera.vhd | Bin 34120704 -> 34120704 bytes src/apps/pcomm/pcomm.asm | 60 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) diff --git a/build/chimaera.img b/build/chimaera.img index 2b9ed57069b0832c5072abb226bc8f96c6baa676..9039871014e447d882f046d0ba0f6a9a358359ad 100644 GIT binary patch delta 3324 zcmb7GZBSEJ8b0@iB)|#;t5HFc8!qxuGU~$JbQOCdYA zI8H0^g5re>mo6w~EOra?YFv%>m=RjCu=w4DOPT)>ABz@S5t?7PY}wp*7clV4pm-(m zaDq&Xyu8Cf_p#|`0PnAebnkq;w-QLn{So`&dyDpfN&)4F90Ci1+m!usgYi?JT!{7t1x&vnF48j7TcX?$fm3 zLvz>(oHLwW5!HKk0Vfb4Ha!5s43NM;2n7iF19%xVCKf>4@Qc7xN%r60Y*)Qt#vAz8Tbe z_@Qqlt&mv0+5L$B~x+H{ZxFSHHBJ*yIYsWS93Bny$mhhTM|h&c+97^(d@HK zSee`39c!os0F4O&lToG{>Af9$w%{oO2u}R?G!v(i#|Qmg-Zq4{Q1HgQw3LQm&XT2(P2zk3> z$d?&pO@F8!xj%bKuZxp=%02VWs#OIbQjLB)JLA$iRcI#?g87PWHHLb&wo7=z&D3mX z*N-o1rqNHg?HZ|#Yrt%+FSSOi1x`KD%QamDT?ph8i^=XuPyngTX6h<8aT3Her3Pz}Slf2e!3fVc zhxiA52YBCMo84h_YK7op8RDCe;@-qG6*pg)t_$Nz2c5$X#FRfXN=gZvARFiU!369} z5?tiMCh#jJ@GB2_}V2kQO#UKruleOLr(4>h6m7@?*&EWK#LalYeR|jSDZO z*>V|TW*R31Ox(U(?8!YWA8cF%FK0DdS%gS#G*=zF0yfX^rfG37%04=5cQ!@_OpMRv zgre0!(aMb$vf^!-Mi-Q+4qv>K7@4RsFLtRyzsHX*jj24VHjD7GS#7q!k4x3N!yHwv z3jKo;Ek(s%2P5@oT$9T=<6N12xeX#8KNl^<)}qpu+GN>)P;V=F%s?%Gqe^Nou#$lc z$S1WHl{QlpZ0^HOd*1=B0nosJkdA7~2hV_nq7f!d;r7?DhGKEp?zS?cw>DY!yxLox z+{-j^u;t0N@cOP;YthMSeEfS8Uk8>tX+Wvf5e}`H1LXCnX$2CSYLi8>L>?^-I_)N( zi-XlHWLXB*2B%WBcxKQLU8Y{*dSW#IBK%%3gQ~+{1;>@vv2fs|56NA}78}G9RcOn( z+H3M2v>D5sc1PKATjVm^HC`5C%h?ItSq( zjR~0G84Z4X06_QRT^)uL%vwlvBIxt#K3%Tt)2d%+mvGX7Z*+`HFBs(SR!4|rC%A;3 zJa_Y{#@K)<@v0SnmvY*Cvyy1kOEsD@(0=OE#F-X|j+fGAgO9U5ntAI1@;I zD3mk+#}y|t94@206{vHd67?^ooLu#^9V}{BY8BAQ+{uQ=p#+#$`Ku>Z^o9QOvr?&|zhQ0*0&B?_>c_jO-r(s_0RJJFez~hsJg;8|7fyfR#0T2(RrFs4TpA37UoJ>1g1q4TEiFf{kAWQJ~EY7hSAI-}Xaa+|@DUDq?B za;8kn$%u(Y&poT@c-mvQv5|U5mvprnp?^jMzD7u+w$vkZBx(hPP-@beKOiK;o!Nm< zR?_iAh{iv*AoO?R!UTkJQ=T0{C_UpdCqgwDj{69`#o?KE*>owLl*KCt@k3CIZjn-@ zn?qa4E2YB8Q7*vWfF?KQyR+wRN~JzRH3b9ta4T&}tuRUj1B->Aay3b98m_^es@zP{ zDJ@Ayy;tQ9k<66Wg%bE$+^M+Lmq1C_+r5;Q(y+6~sFBi2$<+k;T*vR<%9eW{^%zD= zX(AEg!9hj`oI2_j=)TmhUqBVYCDfRALP`sm)=zJi(&PhQ?fqMNZ;ZQN2d&=pUX?dq zzJFcXO&3T>96So+~f zY87guN6XaQ{0KES|AN{^92?4>`#C>C?Q{N3Y8(02sBPp$vJ&J8%es+QsJZcu&{Enh zD6+bRQqr$eWLlR3bn%Fver$}v$bDE!{6K>D5`}@?iVVY;(LpMby=Hb=0M69z-7;b)d zbf}p#+>?9kMeu`>rr7tQw=>+^(5Fm^FH6KeyAqU}pLm9vIdqa4l1;#?%Er^i*+Wf@ bXJTWN#@#WnsbheGFAZPSw;cl!|32_v%^F=R delta 3240 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 diff --git a/build/chimaera.vhd b/build/chimaera.vhd index b1a091a2a30387274520016b98f9385bff3b2ed4..15ad40425181ce80c96ab610c2a4753df79548a7 100644 GIT binary patch delta 5839 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 M!8jBCSF~CF4>t6=;s5{u 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 -- 2.34.1