case switch fixes, support missing PETSCII control codes

This commit is contained in:
FeralChild64 committed 2019-10-10 18:34:28 +02:00
1 parent 4c04cebde6
commit 3e5c80bbf1
9 files changed
+18 -16

No files matched your search

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2
View File
@@ -96,7 +96,9 @@ cint_brk: // entry for BRK and STOP+RESTORE - XXX, where should it start?
// Set maximum keyboard buffer size (Compute's Mapping the 64 p215)
ldx #10
stx XMAX
// Put non-zero value in MODE to enable case switch
ldx #$00
stx MODE
// Set default I/O devices (see SCINIT description at http://sta.c64.org/cbm64krnfunc.html)
+3 -3
View File
@@ -367,11 +367,11 @@ next_row:
beq no_case_toggle
lda MODE
beq no_case_toggle
bne no_case_toggle
lda $D018
lda VIC_YMCSB
eor #$02
sta $d018
sta VIC_YMCSB
no_case_toggle:
+13 -13
View File
@@ -110,17 +110,19 @@ chrout_try_MODE_TXT:
cmp #$0E
bne !+
// XXX
jmp chrout_screen_done
lda VIC_YMCSB
ora #$02 // to lower case
bne mode_l1 // branch always
!:
chrout_try_MODE_GFX:
cmp #$8E
bne !+
// XXX
lda VIC_YMCSB
and #$02 // to upper case
mode_l1:
sta VIC_YMCSB
jmp chrout_screen_done
!:
chrout_try_COLOR:
@@ -140,7 +142,8 @@ chrout_try_SHIFT_ENABLE:
cmp #$09
bne !+
// XXX
lda #$00 // enable SHIFT+VENDOR combination
sta MODE
jmp chrout_screen_done
!:
@@ -149,7 +152,8 @@ chrout_try_SHIFT_DISABLE:
cmp #$08
bne !+
// XXX
lda #$80 // disable SHIFT+VENDOR combination
sta MODE
jmp chrout_screen_done
!:
@@ -167,16 +171,12 @@ chrout_try_CLR:
bne !+
jsr clear_screen
clr_l1:
jmp chrout_screen_done
!:
chrout_try_INS:
cmp #$94
bne !+
bne clr_l1 // unknown code or key does not need handling
jmp chrout_screen_ins
!:
chrout_screen_control_done:
// unknown code or key does not needs
jmp chrout_screen_done