User Tools

Site Tools


base:modify_keyboard_decoding

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
base:modify_keyboard_decoding [2022-05-01 20:14] – created wilbase:modify_keyboard_decoding [2022-05-01 20:17] (current) wil
Line 1: Line 1:
 +====== Modify Keyboard Decoding ======
 +
 The Kernal calls a routine for checking the keyboard in the interrupt routine. The mapping of keyboard code to PETSCII character is done via tables, which are stored in ROM at addresses $EB81 for unshifted keys, $EBC2 for shifted keys, $EC03 for keys pressed together with the CBM key, and $EC78 for keys pressed together with the control key. The Kernal calls a routine for checking the keyboard in the interrupt routine. The mapping of keyboard code to PETSCII character is done via tables, which are stored in ROM at addresses $EB81 for unshifted keys, $EBC2 for shifted keys, $EC03 for keys pressed together with the CBM key, and $EC78 for keys pressed together with the control key.
  
Line 5: Line 7:
 For example, to switch Y and Z to emulate the common layout on German keyboards, a minimally invasive approach would be: For example, to switch Y and Z to emulate the common layout on German keyboards, a minimally invasive approach would be:
  
-1. Select some piece of RAM where you want to out your new decoding table. I have chosen the unused area for $2a7-$2ff+1. Select some piece of RAM where you want to out your new decoding table. For the following steps, I have chosen the area of $2a7-$2ff, which is unused by the Kernal and on of the lesser-used addresses of typical programs
  
 2. Copy the decoding table from the Kernal into that area: 2. Copy the decoding table from the Kernal into that area:
base/modify_keyboard_decoding.txt · Last modified: 2022-05-01 20:17 by wil