Key = CHR$(Code)
Address = Code + 6800 (points to an entry in the table at 6820)
Offset = PEEK(Address)
Lookup = Offset + 6800 (points to an entry in the table at 6800 or 6880)
Keycode = CHR$(PEEK(Lookup)) (copied to 7FFC)
Routine = address at (Lookup + 1, Lookup + 2)
Code Key Address Offset Lookup Keycode Routine Purpose
0x20 6820 0x00 6800 SPACE 6751
0x21 ! 6821 0x00 6800 SPACE 6751
0x22 " 6822 0x00 6800 SPACE 6751
0x23 # 6823 0x00 6800 SPACE 6751
0x24 $ 6824 0x00 6800 SPACE 6751
0x25 % 6825 0x00 6800 SPACE 6751
0x26 & 6826 0x00 6800 SPACE 6751
0x27 ' 6827 0x00 6800 SPACE 6751
0x28 ( 6828 0x00 6800 SPACE 6751
0x29 ) 6829 0x00 6800 SPACE 6751
0x2A * 682A 0x00 6800 SPACE 6751
0x2B + 682B 0x00 6800 SPACE 6751
0x2C , 682C 0x00 6800 SPACE 6751
0x2D - 682D 0x00 6800 SPACE 6751
0x2E . 682E 0x00 6800 SPACE 6751
0x2F / 682F 0x00 6800 SPACE 6751
0x30 0 6830 0x89 6889 f F46E Fire catapult
0x31 1 6831 0x00 6800 SPACE 6751
0x32 2 6832 0x00 6800 SPACE 6751
0x33 3 6833 0x00 6800 SPACE 6751
0x34 4 6834 0x00 6800 SPACE 6751
0x35 5 6835 0x09 6809 O 6652 Left
0x36 6 6836 0x06 6806 A 657F Down
0x37 7 6837 0x03 6803 Q 65E4 Up
0x38 8 6838 0x0C 680C P 66AA Right
0x39 9 6839 0x00 6800 SPACE 6751
0x3A : 683A 0x00 6800 SPACE 6751
0x3B ; 683B 0x00 6800 SPACE 6751
0x3C < 683C 0x00 6800 SPACE 6751
0x3D = 683D 0x00 6800 SPACE 6751
0x3E > 683E 0x00 6800 SPACE 6751
0x3F ? 683F 0x00 6800 SPACE 6751
0x40 @ 6840 0x00 6800 SPACE 6751
0x41 A 6841 0x06 6806 A 657F Down
0x42 B 6842 0x00 6800 SPACE 6751
0x43 C 6843 0x89 6889 f F46E Fire catapult
0x44 D 6844 0x00 6800 SPACE 6751
0x45 E 6845 0x00 6800 SPACE 6751
0x46 F 6846 0x89 6889 f F46E Fire catapult
0x47 G 6847 0x00 6800 SPACE 6751
0x48 H 6848 0x83 6883 h F492 Hit
0x49 I 6849 0x00 6800 SPACE 6751
0x4A J 684A 0x86 6886 j F499 Jump
0x4B K 684B 0x00 6800 SPACE 6751
0x4C L 684C 0x86 6886 j F499 Jump
0x4D M 684D 0x00 6800 SPACE 6751
0x4E N 684E 0x00 6800 SPACE 6751
0x4F O 684F 0x09 6809 O 6652 Left
0x50 P 6850 0x0C 680C P 66AA Right
0x51 Q 6851 0x03 6803 Q 65E4 Up
0x52 R 6852 0x00 6800 SPACE 6751
0x53 S 6853 0x1B 681B s 6CAF Sit/stand
0x54 T 6854 0x00 6800 SPACE 6751
0x55 U 6855 0x00 6800 SPACE 6751
0x56 V 6856 0x00 6800 SPACE 6751
0x57 W 6857 0x80 6880 w F650 Write
0x58 X 6858 0x00 6800 SPACE 6751
0x59 Y 6859 0x00 6800 SPACE 6751
0x5A Z 685A 0x00 6800 SPACE 6751
0x5B [ 685B 0x00 6800 SPACE 6751
0x5C \ 685C 0x00 6800 SPACE 6751
0x5D ] 685D 0x00 6800 SPACE 6751
0x5E 685E 0x00 6800 SPACE 6751
0x5F _ 685F 0x00 6800 SPACE 6751
0x60 £ 6860 0x00 6800 SPACE 6751
0x61 a 6861 0x12 6812 a 657F Down
0x62 b 6862 0x00 6800 SPACE 6751
0x63 c 6863 0x89 6889 f F46E Fire catapult
0x64 d 6864 0x00 6800 SPACE 6751
0x65 e 6865 0x00 6800 SPACE 6751
0x66 f 6866 0x89 6889 f F46E Fire catapult
0x67 g 6867 0x00 6800 SPACE 6751
0x68 h 6868 0x83 6883 h F492 Hit
0x69 i 6869 0x00 6800 SPACE 6751
0x6A j 686A 0x86 6886 j F499 Jump
0x6B k 686B 0x00 6800 SPACE 6751
0x6C l 686C 0x86 6886 j F499 Jump
0x6D m 686D 0x00 6800 SPACE 6751
0x6E n 686E 0x00 6800 SPACE 6751
0x6F o 686F 0x15 6815 o 6652 Left
0x70 p 6870 0x18 6818 p 66AA Right
0x71 q 6871 0x0F 680F q 65E4 Up
0x72 r 6872 0x00 6800 SPACE 6751
0x73 s 6873 0x1B 681B s 6CAF Sit/stand
0x74 t 6874 0x00 6800 SPACE 6751
0x75 u 6875 0x00 6800 SPACE 6751
0x76 v 6876 0x00 6800 SPACE 6751
0x77 w 6877 0x80 6880 w F650 Write
0x78 x 6878 0x00 6800 SPACE 6751
0x79 y 6879 0x00 6800 SPACE 6751
0x7A z 687A 0x00 6800 SPACE 6751
0x7B { 687B 0x00 6800 SPACE 6751
0x7C | 687C 0x00 6800 SPACE 6751
0x7D } 687D 0x00 6800 SPACE 6751
0x7E ~ 687E 0x00 6800 SPACE 6751
0x7F © 687F 0x00 6800 SPACE 6751