From d5af5d98b8dfec3bd20bec7215fffd856a9f00f8 Mon Sep 17 00:00:00 2001 From: CrazyEttin <> Date: Thu, 22 Sep 2022 00:59:08 +0300 Subject: [PATCH] Modify the behaviour at the buffer end and fix a typo and some terminology in the readme --- gidubba.asm | 4 ++-- readme.md | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/gidubba.asm b/gidubba.asm index 17e2634..97f1c68 100644 --- a/gidubba.asm +++ b/gidubba.asm @@ -1400,8 +1400,8 @@ inloop: load r1, ffff load r2, bfsize brneq r0, r2, chstor - ;Backtrack if at the buffer end - load r2, #8 + ;Ignore the input and print an underscore if at the buffer end + load r2, #5f store ffff, r2 breq r0, r0, inloop diff --git a/readme.md b/readme.md index fc148fd..448589f 100644 --- a/readme.md +++ b/readme.md @@ -11,9 +11,9 @@ System requirements Gidubba requires at least 4 KiB of RAM. It uses an ASCII-compatible terminal with local echo at address FFFF, and optionally a character -printer at address FFFE and a paper tape reader and punch or a casette -drive at FFFD. Do not be afraid to modify the code yourself if your -setup requires it! (And if you do, apologies for the spaghetti.) +printer at address FFFE and a paper tape reader and punch or a cassette +deck at FFFD. Do not be afraid to modify the code yourself if your setup +requires it! (And if you do, apologies for the spaghetti.) Format ------ @@ -51,8 +51,8 @@ Commands with two arguments: Commands with no arguments: * P: Print - * R: Read from the tape reader or casette drive - * W: Write to the tape punch or casette drive + * R: Read from the tape reader or cassette deck + * W: Write to the tape punch or cassette deck A delete (^?) discards the preceding character and outputs an underscore to the terminal. An escape (^[) discards the contents of the current @@ -60,7 +60,9 @@ command or line and outputs a backslash and a newline to the terminal. A carriage return (^M) or a line feed (^J) inputs a newline and commits the current command or line. An end-of-file (^Z) discards the current command and halts the computer or discards the current line and returns -to the command prompt. +to the command prompt. At the end of the input buffer any input other +than those described in this paragraph is ignored and an underscore is +output to the terminal. There are two kinds of error messages: a question mark (?) for an erroneous command and an exclamation mark (!) for lack of RAM.