some work towards extra keys support in MEGA65 mode
This commit is contained in:
1 parent
8b6b470417
commit
e32b3651d2
10 files changed
+77
-25
No files matched your search
@@ -37,7 +37,9 @@ M65_MODE65:
|
||||
lda %01000000 // enable C65 character set
|
||||
sta VIC_CTRLA
|
||||
|
||||
// XXX
|
||||
// XXX enable 48 MHz mode in VIC_CTRLC
|
||||
|
||||
// XXX posibly alter other settings
|
||||
|
||||
// Set screen mode to 80x25
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ __kb_matrix_ctrl:
|
||||
.byte $1F,$19,$07,$9E,$02,$08,$15,$16
|
||||
.byte $12,$09,$0A,$92,$0D,$0B,$0F,$0E
|
||||
#if CONFIG_EDIT_TABULATORS
|
||||
.byte $00,$10,$0C,$00,KEY_TAB_FW,$1B,$00,KEY_TAB_BW
|
||||
.byte $00,$10,$0C,$00,KEY_C64_TAB_FW,$1B,$00,KEY_C64_TAB_BW
|
||||
#else
|
||||
.byte $00,$10,$0C,$00,$00,$1B,$00,$00
|
||||
#endif
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
kb_matrix_128:
|
||||
|
||||
.byte KEY_HELP,$38,$35,KEY_TAB_FW,$32,$34,$37,$31
|
||||
.byte KEY_HELP,$38,$35,KEY_C64_TAB_FW,$32,$34,$37,$31
|
||||
.byte KEY_ESC,$2B,$2D,$8D,$0D,$36,$39,$33
|
||||
.byte $00,$30,$2E,$91,$11,$9D,$1D,$00
|
||||
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
|
||||
kb_matrix_65:
|
||||
|
||||
.byte $00, KEY_TAB_FW, $00, KEY_HELP, KEY_F9, KEY_F11, KEY_F13, KEY_ESC
|
||||
.byte $00, KEY_C64_TAB_FW, $00, KEY_HELP, KEY_F9, KEY_F11, KEY_F13, KEY_ESC
|
||||
|
||||
kb_matrix_65_shifted:
|
||||
|
||||
.byte $00, KEY_TAB_BW, $00, KEY_HELP, KEY_F10, KEY_F12, KEY_F14, KEY_ESC
|
||||
.byte $00, KEY_C64_TAB_BW, $00, KEY_HELP, KEY_F10, KEY_F12, KEY_F14, KEY_ESC
|
||||
|
||||
|
||||
#endif // CONFIG_KEYBOARD_C65 and no CONFIG_LEGACY_SCNKEY
|
||||
@@ -428,12 +428,12 @@ scnkey_got_petscii:
|
||||
// Special handling for SHIFT+TAB; it is easier than creating new matrix
|
||||
|
||||
tax
|
||||
cmp #KEY_TAB_FW
|
||||
cmp #KEY_C64_TAB_FW
|
||||
bne !+
|
||||
lda SHFLAG
|
||||
and #KEY_FLAG_SHIFT
|
||||
beq !+
|
||||
ldx #KEY_TAB_BW
|
||||
ldx #KEY_C64_TAB_BW
|
||||
!:
|
||||
txa
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ chrout_screen_jumptable_codes:
|
||||
|
||||
.byte KEY_CLR
|
||||
.byte KEY_HOME
|
||||
.byte KEY_SHIFT_OFF
|
||||
.byte KEY_SHIFT_ON
|
||||
.byte KEY_C64_SHIFT_OFF
|
||||
.byte KEY_C64_SHIFT_ON
|
||||
.byte KEY_TXT
|
||||
.byte KEY_GFX
|
||||
.byte KEY_RVS_OFF
|
||||
@@ -31,8 +31,8 @@ __chrout_screen_jumptable_quote_guard:
|
||||
.byte KEY_STOP
|
||||
#endif
|
||||
#if CONFIG_EDIT_TABULATORS
|
||||
.byte KEY_TAB_BW
|
||||
.byte KEY_TAB_FW
|
||||
.byte KEY_C64_TAB_BW
|
||||
.byte KEY_C64_TAB_FW
|
||||
#endif
|
||||
.byte KEY_DEL
|
||||
.byte KEY_RETURN
|
||||
|
||||
@@ -46,4 +46,40 @@ m65_scrtab_rowoffset_hi: // row offsets - high bytes
|
||||
.byte >(80 * 10), >(80 * 11), >(80 * 12), >(80 * 13), >(80 * 14), >(80 * 15), >(80 * 16), >(80 * 17), >(80 * 18), >(80 * 19)
|
||||
.byte >(80 * 20), >(80 * 21), >(80 * 22), >(80 * 23), >(80 * 24), >(80 * 25), >(80 * 26), >(80 * 27), >(80 * 28), >(80 * 29)
|
||||
.byte >(80 * 30), >(80 * 31), >(80 * 32), >(80 * 33), >(80 * 34), >(80 * 35), >(80 * 36), >(80 * 37), >(80 * 38), >(80 * 39)
|
||||
.byte >(80 * 40), >(80 * 41), >(80 * 42), >(80 * 43), >(80 * 44), >(80 * 45), >(80 * 46), >(80 * 47), >(80 * 48), >(80 * 49)
|
||||
.byte >(80 * 40), >(80 * 41), >(80 * 42), >(80 * 43), >(80 * 44), >(80 * 45), >(80 * 46), >(80 * 47), >(80 * 48), >(80 * 49)
|
||||
|
||||
// Jumptable for screen control codes support. To improve performance, should be sorted
|
||||
// starting from the least probable routine.
|
||||
|
||||
m65_chrout_screen_jumptable_codes:
|
||||
|
||||
.byte KEY_CLR
|
||||
.byte KEY_HOME
|
||||
.byte KEY_C65_SHIFT_OFF
|
||||
.byte KEY_C65_SHIFT_ON
|
||||
.byte KEY_TXT
|
||||
.byte KEY_GFX
|
||||
.byte KEY_RVS_OFF
|
||||
.byte KEY_RVS_ON
|
||||
.byte KEY_CRSR_RIGHT
|
||||
.byte KEY_CRSR_LEFT
|
||||
.byte KEY_CRSR_DOWN
|
||||
.byte KEY_CRSR_UP
|
||||
.byte KEY_INS
|
||||
.byte KEY_TAB
|
||||
.byte KEY_LINE_FEED
|
||||
.byte KEY_UNDERLINE_ON
|
||||
.byte KEY_UNDERLINE_OFF
|
||||
.byte KEY_FLASHING_ON
|
||||
.byte KEY_FLASHING_OFF
|
||||
.byte KEY_TAB_SET_CLR
|
||||
.byte KEY_ESC
|
||||
.byte KEY_BELL
|
||||
|
||||
__m65_chrout_screen_jumptable_quote_guard:
|
||||
|
||||
.byte KEY_STOP
|
||||
.byte KEY_DEL
|
||||
.byte KEY_RETURN
|
||||
|
||||
__m65_chrout_screen_jumptable_codes_end:
|
||||
@@ -52,9 +52,9 @@ m65_scrmodeset_internal: // entry point for M65_MODE65
|
||||
// Set the logical row length to 80
|
||||
|
||||
ldx #$50
|
||||
stx VIC_CHARSTEP+0
|
||||
// stx VIC_CHARSTEP+0
|
||||
ldx #$00
|
||||
stx VIC_CHARSTEP+1
|
||||
// stx VIC_CHARSTEP+1
|
||||
|
||||
// Set the following locations:
|
||||
// - M64_SCRWINMODE - for scroll-console mode
|
||||
|
||||
Reference in new issue
Block a user