From 6dad8d491b77e58134ff91355b90de195fb1deb3 Mon Sep 17 00:00:00 2001 From: Paul Gardner-Stephen Date: Mon, 22 Apr 2019 01:35:02 +0930 Subject: [PATCH] fix printing of shifted and vendor modified keys. --- c64/kernal/chrout.s | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/c64/kernal/chrout.s b/c64/kernal/chrout.s index 78a0e6d7..346bd550 100644 --- a/c64/kernal/chrout.s +++ b/c64/kernal/chrout.s @@ -151,11 +151,34 @@ not_13: not_clearscreen: ;; Convert PETSCII to screen code + + ;; Unshifted letters cmp #$40 - bcc chrout_l1 + bcc not_lower cmp #$41+26 - bcs chrout_l1 + bcs not_lower and #$1f + jmp chrout_l1 + +not_lower: + + ;; Shifted letters + cmp #$60 + bcc not_upper + cmp #$60+26 + bcs not_upper + sec + sbc #$20 + + jmp chrout_l1 + +not_upper: + cmp #$a0 + bcc not_vendor + sec + sbc #$40 + +not_vendor: chrout_l1: ;; Write normal character on the screen