From 50a06bb5de8389b860d3a81e3eefded0ee02cfe1 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sat, 14 Mar 2026 17:08:36 -0400 Subject: Fix "space-puncher" bug in screen 7. cc65 cgetc() was the culprit. --- TODO | 3 --- src/cgetc.s | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 src/cgetc.s diff --git a/TODO b/TODO index cbe3226..3cf1310 100644 --- a/TODO +++ b/TODO @@ -16,9 +16,6 @@ Other stuff: - Bug: *no idea* how this happened. I typed /quit, then reconnected, and got "USER: not enough parameters" from the server. Can't reproduce. -- Bug: if you're in screen 7, and you press start+7, the character - at position (16,0) gets overwritten with a space (which might - be 0x20 or 0x00, they're both "spaces"). - In the config, under SDX, saying "N" to "Settings OK" and then reloading the config causes screen corruption (reported by TheDoctor, not tried it myself). The config tool has changed a diff --git a/src/cgetc.s b/src/cgetc.s new file mode 100644 index 0000000..dd9fe26 --- /dev/null +++ b/src/cgetc.s @@ -0,0 +1,24 @@ +; +; Christian Groessler, November-2002 +; +; get a char from the keyboard +; char cgetc(void) +; + +; Modified version for FujiNetChat. + .include "atari.inc" + .export _cgetc + +_cgetc: +;;; jsr setcursor ; this is unneeded and causes a hole in screen 7 + lda #12 + sta ICAX1Z ; fix problems with direct call to KEYBDV + jsr @1 + ldx #0 + rts + +@1: lda KEYBDV+5 + pha + lda KEYBDV+4 + pha + rts -- cgit v1.2.3