case switch fixes, support missing PETSCII control codes
This commit is contained in:
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.
@@ -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)
|
// Set maximum keyboard buffer size (Compute's Mapping the 64 p215)
|
||||||
ldx #10
|
ldx #10
|
||||||
stx XMAX
|
stx XMAX
|
||||||
|
|
||||||
// Put non-zero value in MODE to enable case switch
|
// Put non-zero value in MODE to enable case switch
|
||||||
|
ldx #$00
|
||||||
stx MODE
|
stx MODE
|
||||||
|
|
||||||
// Set default I/O devices (see SCINIT description at http://sta.c64.org/cbm64krnfunc.html)
|
// Set default I/O devices (see SCINIT description at http://sta.c64.org/cbm64krnfunc.html)
|
||||||
|
|||||||
@@ -367,11 +367,11 @@ next_row:
|
|||||||
beq no_case_toggle
|
beq no_case_toggle
|
||||||
|
|
||||||
lda MODE
|
lda MODE
|
||||||
beq no_case_toggle
|
bne no_case_toggle
|
||||||
|
|
||||||
lda $D018
|
lda VIC_YMCSB
|
||||||
eor #$02
|
eor #$02
|
||||||
sta $d018
|
sta VIC_YMCSB
|
||||||
|
|
||||||
no_case_toggle:
|
no_case_toggle:
|
||||||
|
|
||||||
|
|||||||
@@ -110,17 +110,19 @@ chrout_try_MODE_TXT:
|
|||||||
cmp #$0E
|
cmp #$0E
|
||||||
bne !+
|
bne !+
|
||||||
|
|
||||||
// XXX
|
lda VIC_YMCSB
|
||||||
|
ora #$02 // to lower case
|
||||||
jmp chrout_screen_done
|
bne mode_l1 // branch always
|
||||||
!:
|
!:
|
||||||
chrout_try_MODE_GFX:
|
chrout_try_MODE_GFX:
|
||||||
|
|
||||||
cmp #$8E
|
cmp #$8E
|
||||||
bne !+
|
bne !+
|
||||||
|
|
||||||
// XXX
|
lda VIC_YMCSB
|
||||||
|
and #$02 // to upper case
|
||||||
|
mode_l1:
|
||||||
|
sta VIC_YMCSB
|
||||||
jmp chrout_screen_done
|
jmp chrout_screen_done
|
||||||
!:
|
!:
|
||||||
chrout_try_COLOR:
|
chrout_try_COLOR:
|
||||||
@@ -140,7 +142,8 @@ chrout_try_SHIFT_ENABLE:
|
|||||||
cmp #$09
|
cmp #$09
|
||||||
bne !+
|
bne !+
|
||||||
|
|
||||||
// XXX
|
lda #$00 // enable SHIFT+VENDOR combination
|
||||||
|
sta MODE
|
||||||
|
|
||||||
jmp chrout_screen_done
|
jmp chrout_screen_done
|
||||||
!:
|
!:
|
||||||
@@ -149,7 +152,8 @@ chrout_try_SHIFT_DISABLE:
|
|||||||
cmp #$08
|
cmp #$08
|
||||||
bne !+
|
bne !+
|
||||||
|
|
||||||
// XXX
|
lda #$80 // disable SHIFT+VENDOR combination
|
||||||
|
sta MODE
|
||||||
|
|
||||||
jmp chrout_screen_done
|
jmp chrout_screen_done
|
||||||
!:
|
!:
|
||||||
@@ -167,16 +171,12 @@ chrout_try_CLR:
|
|||||||
bne !+
|
bne !+
|
||||||
|
|
||||||
jsr clear_screen
|
jsr clear_screen
|
||||||
|
clr_l1:
|
||||||
jmp chrout_screen_done
|
jmp chrout_screen_done
|
||||||
!:
|
!:
|
||||||
chrout_try_INS:
|
chrout_try_INS:
|
||||||
|
|
||||||
cmp #$94
|
cmp #$94
|
||||||
bne !+
|
bne clr_l1 // unknown code or key does not need handling
|
||||||
|
|
||||||
jmp chrout_screen_ins
|
jmp chrout_screen_ins
|
||||||
!:
|
|
||||||
chrout_screen_control_done:
|
|
||||||
|
|
||||||
// unknown code or key does not needs
|
|
||||||
jmp chrout_screen_done
|
|
||||||
Reference in new issue
Block a user