From e26b0441e4ce13deee31cde26dbb3f2ee5fb4db0 Mon Sep 17 00:00:00 2001 From: Richard Russell Date: Sun, 29 Dec 2024 12:14:37 +0000 Subject: [PATCH] Fixed bugs in GET$# and BPUT# --- bin/acorn/BBCBASIC.COM | Bin 19200 -> 19200 bytes bin/cpm/BBCBASIC.COM | Bin 18944 -> 18944 bytes src/EVAL.Z80 | 8 +++++--- src/EXEC.Z80 | 13 +++++++------ tests/FILETEST.BBC | Bin 1920 -> 2688 bytes 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/bin/acorn/BBCBASIC.COM b/bin/acorn/BBCBASIC.COM index 0a478b98f865b77e14e889e4c8850bbf93e0991c..489df8b54fbe8f590c8f3f975c1eb44bf9e86c19 100644 GIT binary patch delta 9790 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 S`$9|Sh;x6aBaL{yQ}W-&Xy+yX delta 9871 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 diff --git a/bin/cpm/BBCBASIC.COM b/bin/cpm/BBCBASIC.COM index 3ee20feae57c5223c7a73b4bc6f948e84d56da4e..1ad2eab8696fd8c15e8f196ccaf1e800c339c68a 100644 GIT binary patch delta 9644 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 UXp2)@E@xxVE^gV9&k4zY18#VV*#H0l delta 9710 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 diff --git a/src/EVAL.Z80 b/src/EVAL.Z80 index d3eaf2f..c86cdf9 100644 --- a/src/EVAL.Z80 +++ b/src/EVAL.Z80 @@ -11,6 +11,7 @@ ;VERSION 2.3, 07-05-1984 ;VERSION 3.0, 08-03-1987 ;VERSION 5.0, 31-05-2024 +;VERSION 5.1, 28-12-2024 ; ;BINARY FLOATING POINT REPRESENTATION: ; 32 BIT SIGN-MAGNITUDE NORMALIZED MANTISSA @@ -1526,9 +1527,8 @@ GET5: LD D,0 GET6: PUSH BC CALL OSBGET POP BC - JR C,GET9 ;EOF BIT 1,B - JR Z,GET8 + JR Z,GET10 CP C JR Z,GET9 ;NUL (or supplied term) BIT 7,B @@ -1539,9 +1539,11 @@ GET6: PUSH BC JR Z,GET9 ;LF GET7: CP CR JR Z,GET9 ;CR -GET8: LD (HL),A +GET8: OR A +GET10: LD (HL),A INC L DEC D + JR C,GET9 ;EOF JR NZ,GET6 GET9: EX DE,HL LD A,80H diff --git a/src/EXEC.Z80 b/src/EXEC.Z80 index 6264ef1..8b682ba 100644 --- a/src/EXEC.Z80 +++ b/src/EXEC.Z80 @@ -11,6 +11,7 @@ ;VERSION 2.1, 22-01-1984 ;VERSION 3.1, 11-06-1987 ;VERSION 5.0, 12-07-2024 +;VERSION 5.1, 28-12-2024 ; GLOBAL XEQ GLOBAL RUN0 @@ -2020,25 +2021,25 @@ BPUT: CALL CHANEL ;CHANNEL NUMBER EXX LD A,L POP DE - CALL OSBPUT +BPUT1: CALL OSBPUT BPUTX: JR XEQGO1 ; BPUTS: LD A,E POP DE LD D,A LD HL,ACCS + OR A + JR Z,BPUTS0 BPUTS1: LD A,(HL) INC HL CALL OSBPUT DEC D JR NZ,BPUTS1 - CALL NXT +BPUTS0: CALL NXT CP ';' - INC IY - JR Z,BPUTX LD A,LF - CALL OSBPUT - DEC IY + JR NZ,BPUT1 + INC IY JR BPUTX ; ;CALL address[,var[,var...]] diff --git a/tests/FILETEST.BBC b/tests/FILETEST.BBC index 1c1bf62c4d616c526f11621e3186b233ddd3d292..8dfd386cf2dc764b01537d66c7ae2945a3600032 100644 GIT binary patch literal 2688 zcmb7`eP|nH9LFzrmrK*@lfS5r#~k8@6wx9wWr(N@6(>W6$~wf2O@@pj*57llxhw_!FL%$& z@ALhAzt3|C)>F5zP~I~&H9qwu-Z4HghG)j6XQn$kIt0|zOo?Hf!-7&8R64@puz*l2 zH9fv>ECO%45Fe$)+?l8tjv+oxEn+d3#7iicrEcSavLq|8aj8(mrM>}W7>iPGNkBf4 z`W4GCZyu+T=``{Tz`7G5F`Fk#(Fi=9#-E2oc;H9jVNU(&nxd{_8MW@UcHUN&loB2+ zJ@`;bR-{6&fZVgxHz7bkzQgt!fn%`ItE5I$Zdd7Juzme;P#zNFGIE_#cMqJaHO;j^ zT?&bazW`F-)1+R6d74!IGBuJr8%?BQsP(GF)+Y^>iZ(Xi%_^j&TD5rAv8aoWd*J8U zXgZcl;ah|f&*HYOF8m6kTw=JZQWKV z7Y7C8xdQX7Nd68_MkGDAjiMy2?tdJ_niTTa(WE^j(2(mSK7=FQJ=qA_@oNd2$tIV(q}Mo{1M#3Em@&t$}Ztpe-jX(7yhnBo1T4a{e@99BA){ zfL!7Jr;N@0FYWB#)nfPlthJWlCE%XC24E6${Yk(O|2H&IzY#gsXyO_lYc_Gy=F+CE z7TOxtL<_Svv<}vWww|@Mbt7yJ5vP$~pl^gasDRfB`f@fVBJ9H);n8PC36{x$k>nQ}?W~&0$NI{}@!d ztMA9{d-JD2Y>r4pE$3ENx$r+!ULYzj+EiXP@UB*Lj_yNn(B7oGuP~AyBAg11zc?EMW@_Sw52T)p1gQ#j_oz zS?=xB$(nX^qkASNpG}d!ds^z7_G_=w)+_HpZW#-uasdnL#4rjT3WzkF(k7*^MSyZ0&}R*|p53-DQ7_O2`Jc*%>-EnXH?M%@!|2vz2HP zi%CUAq!yK;q9P(vM5KrpqD5>G5$T1f6cP18#Cjp3VvE>frAR4a{LVSMGnp`ZvAgHY z`FXzgeb1asf?NWlb!cT}apgWZu(;HLwa)6=YOz=}=)fScb5H}rvu3?wE|)VX9VV-b zk9BUu-chQX#IBt%?OdMf6><*jS_!Vw%s9CW&6eYOxUf}kfHmFp+F(0VmO=Y%@+-JF z?jtCdDixY+;=JQodwhaTrTekoDzIq=3OT&zU9J;u~Ydr@m@55+kD<1xGTg5ZA!$94H% z^7%8z0)Fn=Mrr%s+Jt{1YAgLy>=pRtSFtds$qF!81&4WAg-V{8pncELvwv*byjh?1 zz;YWfWA}n{IgGINKOX^uR1JL9wo6P6ZHL6`E=hhw$E04}nTF(>C4#iOKDl>az15gC zXwt=TK_us~)r(~E9&GR=v9$IrNz9ru9eP+|?y^8*u1jzf3T2u)EU`Ft6Gzj}_NHzO z;m|ACi;}Tu^7%ZOZ%Dmle!y#qe}?ZgQJ$xk)_bX`GNR zfJ0MzWYmAmKQt{IA$SMxl6~>5c@JGS=yeBVCRX4i9XKd=HLWuKDi)A_Dhe_Ank>{R zRI0a7?Ktj^XW_%Bq46(eq2qV5uj5ZX*Y@)P7uRt^CWihNG>Eam;eR=_@9;HBgo64u z>=lP1kyE;QWs2B|YPtmz55|-1RaniBAU{77w<@fJ)NUmt;1o^~0^V?^;tM!E({SuI z^eor!R(da_)cs1x{WT@z{u4?lokyeCQ!guAT83A^BlS9hIaGU_fl>W^#W(k3pKaS` z0o&vrYjSUZ_H}^vLm2IsFxsDCw11+|5=8B4d2K@FS_(+^P8n1gW_(yhvrBZqRu>K} zFF#slca}Ij15MFY3A)m6s_S4_tvVQnvD41