Skip to content

Commit 7cea6ba

Browse files
committed
Fix input breaking PAUSE
FLAGS var must be preserved entirely.
1 parent d1d73ac commit 7cea6ba

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

src/arch/zx48k/library/input.bas

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,13 @@ FUNCTION input(MaxLen AS UINTEGER) AS STRING
2727
DIM LastK AS UBYTE AT 23560: REM LAST_K System VAR
2828
DIM result$ AS STRING
2929
DIM i as UINTEGER
30+
DIM tmp as UByte
3031

31-
result$ = ""
32+
LET tmp = PEEK 23611
3233
POKE 23611, PEEK 23611 bOR 8 : REM sets FLAGS var to L mode
3334

35+
result$ = ""
36+
3437
DO
3538
PRIVATEInputShowCursor()
3639

@@ -56,7 +59,7 @@ FUNCTION input(MaxLen AS UINTEGER) AS STRING
5659

5760
LOOP UNTIL LastK = 13 : REM "Enter" key code is 13
5861

59-
POKE 23611, PEEK 23611 bAND 0xEF : REM resets FLAGS var
62+
POKE 23611, tmp : REM resets FLAGS var
6063

6164
FOR i = 1 TO LEN(result$):
6265
PRINT OVER 0; CHR$(8) + " " + chr$(8);

src/arch/zxnext/library/input.bas

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,13 @@ FUNCTION input(MaxLen AS UINTEGER) AS STRING
2727
DIM LastK AS UBYTE AT 23560: REM LAST_K System VAR
2828
DIM result$ AS STRING
2929
DIM i as UINTEGER
30+
DIM tmp as UByte
3031

31-
result$ = ""
32+
LET tmp = PEEK 23611
3233
POKE 23611, PEEK 23611 bOR 8 : REM sets FLAGS var to L mode
3334

35+
result$ = ""
36+
3437
DO
3538
PRIVATEInputShowCursor()
3639

@@ -56,7 +59,7 @@ FUNCTION input(MaxLen AS UINTEGER) AS STRING
5659

5760
LOOP UNTIL LastK = 13 : REM "Enter" key code is 13
5861

59-
POKE 23611, PEEK 23611 bAND 0xEF : REM resets FLAGS var
62+
POKE 23611, tmp : REM resets FLAGS var
6063

6164
FOR i = 1 TO LEN(result$):
6265
PRINT OVER 0; CHR$(8) + " " + chr$(8);

0 commit comments

Comments
 (0)