aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2026-03-14 17:08:36 -0400
committerB. Watson <urchlay@slackware.uk>2026-03-14 17:08:36 -0400
commit50a06bb5de8389b860d3a81e3eefded0ee02cfe1 (patch)
treedfb9c1569da8f57b54e2a068773b8568c7335953
parentc71c6f1efbc4366a4fd73e68ec6e4916493b3a72 (diff)
downloadfujinet-chat-50a06bb5de8389b860d3a81e3eefded0ee02cfe1.tar.gz
Fix "space-puncher" bug in screen 7. cc65 cgetc() was the culprit.
-rw-r--r--TODO3
-rw-r--r--src/cgetc.s24
2 files changed, 24 insertions, 3 deletions
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