From bc6f154b7869215cf7003c10cfd81cd10970012e Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sun, 29 Nov 2020 21:53:56 +0100 Subject: [PATCH] added initial MEGA65 keyboard matrix --- src/aliases/,aliases_petscii_codes.s | 14 +++++++------- src/kernal/keyboard/kb_matrix.s | 26 ++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/aliases/,aliases_petscii_codes.s b/src/aliases/,aliases_petscii_codes.s index 3c4123d7..5393bed5 100644 --- a/src/aliases/,aliases_petscii_codes.s +++ b/src/aliases/,aliases_petscii_codes.s @@ -46,18 +46,18 @@ ; PETSCII codes for certain C128 and C65 functionalities !ifdef _NEED_EXTENDED { - !set KEY_BELL = $07 ; no key, originally CTRL+G ; XXX implement + !set KEY_BELL = $07 ; CTRL+G !set KEY_ESC = $1B } !ifdef _NEED_C65KB { !set KEY_TAB = $09 - !set KEY_LINE_FEED = $0A - !set KEY_TAB_SET_CLR = $18 - !set KEY_UNDERLINE_ON = $02 - !set KEY_UNDERLINE_OFF = $82 - !set KEY_FLASHING_ON = $0F - !set KEY_FLASHING_OFF = $8F + !set KEY_LINE_FEED = $0A ; XXX add to M65 matrix + !set KEY_TAB_SET_CLR = $18 ; XXX add to M65 matrix + !set KEY_UNDERLINE_ON = $02 ; XXX add to M65 matrix + !set KEY_UNDERLINE_OFF = $82 ; XXX add to M65 matrix + !set KEY_FLASHING_ON = $0F ; XXX add to M65 matrix + !set KEY_FLASHING_OFF = $8F ; XXX add to M65 matrix } diff --git a/src/kernal/keyboard/kb_matrix.s b/src/kernal/keyboard/kb_matrix.s index 631dc00d..ca19c243 100644 --- a/src/kernal/keyboard/kb_matrix.s +++ b/src/kernal/keyboard/kb_matrix.s @@ -28,6 +28,9 @@ __kb_matrix_normal: !byte $2B,$50,$4C,$2D,$2E,$3A,$40,$2C !byte $5C,$2A,$3B,$13,$00,$3D,$5E,$2F !byte $31,$5F,$00,$32,$20,$00,$51,$03 +!ifdef CONFIG_MB_M65 { + !byte $00,$09,$00,$84,$10,$16,$19,$1B +} __kb_matrix_shift: !byte $94,$8D,$9D,$8C,$89,$8A,$8B,$91 @@ -38,6 +41,10 @@ __kb_matrix_shift: !byte $DB,$70,$6C,$DD,$3E,$5B,$BA,$3C !byte $A9,$C0,$5D,$93,$00,$3D,$DE,$3F !byte $21,$5F,$00,$22,$A0,$00,$71,$83 +!ifdef CONFIG_MB_M65 { + ; XXX + !byte $00,$00,$00,$00,$15,$17,$1A,$00 ; XXX SHIFT+HELP?, SHIFT+ESC? +} __kb_matrix_vendor: !byte $94,$8D,$9D,$8C,$89,$8A,$8B,$91 @@ -48,6 +55,10 @@ __kb_matrix_vendor: !byte $A6,$AF,$B6,$DC,$3E,$5B,$A4,$3C !byte $A8,$DF,$5D,$93,$00,$3D,$DE,$3F !byte $81,$5F,$00,$95,$a0,$00,$AB,$83 +!ifdef CONFIG_MB_M65 { + ; XXX + !byte $00,$00,$00,$00,$15,$17,$1A,$00 ; XXX VENDOR+HELP?, VENDOR+ESC? +} __kb_matrix_ctrl: !byte $00,$00,$00,$00,$00,$00,$00,$00 @@ -58,3 +69,18 @@ __kb_matrix_ctrl: !byte $00,$10,$0C,$00,$00,$1B,$00,$00 !byte $1C,$00,$1D,$00,$00,$1F,$1E,$00 !byte $90,$06,$00,$05,$00,$00,$11,$00 + +!ifdef CONFIG_MB_M65 { + +__kb_matrix_ctrl_m65: + !byte $00,$00,$00,$00,$00,$00,$00,$00 + !byte $1C,$17,$01,$9F,$1A,$13,$05,$00 + !byte $9C,$12,$04,$1E,$03,$06,$14,$18 + !byte $1F,$19,$07,$9E,$02,$0B,$15,$16 + !byte $12,$0C,$0A,$92,$0D,$0B,$0F,$0E + !byte $00,$10,$0C,$00,$00,$1B,$00,$00 + !byte $1C,$00,$1D,$00,$00,$1F,$1E,$00 + !byte $90,$06,$00,$05,$00,$00,$11,$00 + ; XXX + !byte $00,$00,$00,$00,$00,$00,$00,$00 ; XXX CTRL+HELP?, CTRL+ESC? +}