diff --git a/bin/acorn/BBCBASIC.COM b/bin/acorn/BBCBASIC.COM index 0a478b9..489df8b 100644 Binary files a/bin/acorn/BBCBASIC.COM and b/bin/acorn/BBCBASIC.COM differ diff --git a/bin/cpm/BBCBASIC.COM b/bin/cpm/BBCBASIC.COM index 3ee20fe..1ad2eab 100644 Binary files a/bin/cpm/BBCBASIC.COM and b/bin/cpm/BBCBASIC.COM differ 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 1c1bf62..8dfd386 100644 Binary files a/tests/FILETEST.BBC and b/tests/FILETEST.BBC differ