1 /**************************************************************************************\ 2 * The Lisa Emulator Project V1.2.6 DEV 2007.12.04 * 3 * * 4 * Copyright (C) 1998, 2007 Ray A. Arachelian * 5 * All Rights Reserved * 6 * * 7 * Default native keystroke to Lisa COPS processor keyboard translation table. * 8 * this is a table of 256 ascii values to strings of upto 10 Lisa keycodes. * 9 \**************************************************************************************/ 10 11 12 // need to recode this for keytronix and non-US keyboards as well 13 char keydecodetable[256][11]= 14 { 15 //SHIFT KEYDN KEYUP SHIFTUP ---SPARE FOR ACCENTS-- HOSTASCII HEX DEC ASCII 16 //KEYDN KEYUP ---SPARE FOR ACCENTS-- HOSTASCII HEX DEC ASCII 17 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x00 0 ^@ */ 18 { 0xff, 0xf0, 0x70, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x01 }, /* 0x01 1 ^A */ 19 { 0xff, 0xee, 0x6e, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x02 }, /* 0x02 2 ^B */ 20 { 0xc6, 0x46, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x03 }, /* 0x03 3 ^C */ 21 { 0xff, 0xfb, 0x7b, 0x7f, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x04 4 ^D */ 22 { 0xff, 0xe0, 0x60, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x05 }, /* 0x05 5 ^E */ 23 { 0xff, 0xe9, 0x69, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x06 }, /* 0x06 6 ^F */ 24 { 0xff, 0xea, 0x6a, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x07 }, /* 0x07 7 ^G */ 25 { 0xc5, 0x45, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x08 }, /* 0x08 8 ^H */ 26 { 0xf8, 0x78, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x09 9 ^I */ 27 { 0xff, 0xd4, 0x54, 0x7f, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x0a 10 ^J */ 28 { 0xff, 0xd5, 0x55, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x0b }, /* 0x0b 11 ^K */ 29 { 0xff, 0xd9, 0x59, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x0c }, /* 0x0c 12 ^L */ 30 { 0xc8, 0x48, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x0d }, /* 0x0d 13 ^M */ 31 { 0xff, 0xef, 0x6f, 0x7f, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x0e 14 ^N */ 32 { 0xff, 0xdf, 0x5f, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x0f }, /* 0x0f 15 ^O */ 33 { 0xff, 0xc4, 0x44, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x10 }, /* 0x10 16 ^P */ 34 { 0xff, 0xf5, 0x75, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x11 }, /* 0x11 17 ^Q */ 35 { 0xff, 0xe5, 0x65, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x12 }, /* 0x12 18 ^R */ 36 { 0xff, 0xf6, 0x76, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x13 }, /* 0x13 19 ^S */ 37 { 0xff, 0xe6, 0x66, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x14 }, /* 0x14 20 ^T */ 38 { 0xff, 0xd2, 0x52, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x15 }, /* 0x15 21 ^U */ 39 { 0xff, 0xec, 0x6c, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x16 }, /* 0x16 22 ^V */ 40 { 0xff, 0xf7, 0x77, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x17 }, /* 0x17 23 ^W */ 41 { 0xff, 0xfa, 0x7a, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x18 }, /* 0x18 24 ^X */ 42 { 0xff, 0xe7, 0x67, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x19 }, /* 0x19 25 ^Y */ 43 { 0xff, 0xf9, 0x79, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x1a }, /* 0x1a 26 ^Z */ 44 { 0xa0, 0x20, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x1b }, /* 0x1b 27 ^[ */ 45 { 0xff, 0xc2, 0x42, 0x7f, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x1c 28 ^\ */ 46 { 0xff, 0xd7, 0x57, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x1d }, /* 0x1d 29 ^] */ 47 { 0xff, 0xe1, 0x61, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x1e }, /* 0x1e 30 ^^ */ 48 { 0xff, 0xc0, 0x40, 0x7f, 0 , 0 , 0 , 0 , 0 , 0x1f }, /* 0x1f 31 ^_ */ 49 { 0xdc, 0x5c, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x20 }, /* 0x20 32 */ 50 { 0xfe, 0xf4, 0x74, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x21 33 ! */ 51 { 0xfe, 0xdb, 0x5b, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x22 }, /* 0x22 34 " */ 52 { 0xfe, 0xf2, 0x72, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x23 35 # */ 53 { 0xfe, 0xf3, 0x73, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x24 }, /* 0x24 36 $ */ 54 { 0xfe, 0xe4, 0x64, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x25 }, /* 0x25 37 % */ 55 { 0xfe, 0xe2, 0x62, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x26 }, /* 0x26 38 & */ 56 { 0xdb, 0x5b, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x27 }, /* 0x27 39 ' */ 57 { 0xfe, 0xd0, 0x50, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x28 40 ( */ 58 { 0xfe, 0xd1, 0x51, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x29 }, /* 0x29 41 ) */ 59 { 0xfe, 0xe3, 0x63, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x2a 42 * */ 60 { 0xfe, 0xc1, 0x41, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x2b }, /* 0x2b 43 + */ 61 { 0xdd, 0x5d, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x2c }, /* 0x2c 44 , */ 62 { 0xc0, 0x40, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x2d 45 - */ 63 { 0xde, 0x5e, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x2e }, /* 0x2e 46 . */ 64 { 0xcc, 0x4c, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x2f }, /* 0x2f 47 / */ 65 { 0xd1, 0x51, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x30 48 0 */ 66 { 0xf4, 0x74, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x31 49 1 */ 67 { 0xf1, 0x71, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x32 }, /* 0x32 50 2 */ 68 { 0xf2, 0x72, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x33 }, /* 0x33 51 3 */ 69 { 0xf3, 0x73, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x34 }, /* 0x34 52 4 */ 70 { 0xe4, 0x64, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x35 }, /* 0x35 53 5 */ 71 { 0xe1, 0x61, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x36 }, /* 0x36 54 6 */ 72 { 0xe2, 0x62, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x37 }, /* 0x37 55 7 */ 73 { 0xe3, 0x63, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x38 }, /* 0x38 56 8 */ 74 { 0xd0, 0x50, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x39 }, /* 0x39 57 9 */ 75 { 0xfe, 0xda, 0x5a, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x3a }, /* 0x3a 58 : */ 76 { 0xda, 0x5a, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x3b 59 ; */ 77 { 0xfe, 0xdd, 0x5d, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x3c }, /* 0x3c 60 < */ 78 { 0xc1, 0x41, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x3d 61 = */ 79 { 0xfe, 0xde, 0x5e, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x3e }, /* 0x3e 62 > */ 80 { 0xfe, 0xcc, 0x4c, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x3f }, /* 0x3f 63 ? */ 81 { 0xfe, 0xf1, 0x71, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x40 64 @ */ 82 { 0xfe, 0xf0, 0x70, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x41 }, /* 0x41 65 A */ 83 { 0xfe, 0xee, 0x6e, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x42 }, /* 0x42 66 B */ 84 { 0xfe, 0xed, 0x6d, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x43 67 C */ 85 { 0xfe, 0xfb, 0x7b, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x44 68 D */ 86 { 0xfe, 0xe0, 0x60, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x45 69 E */ 87 { 0xfe, 0xe9, 0x69, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x46 }, /* 0x46 70 F */ 88 { 0xfe, 0xea, 0x6a, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x47 }, /* 0x47 71 G */ 89 { 0xfe, 0xeb, 0x6b, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x48 }, /* 0x48 72 H */ 90 { 0xfe, 0xd3, 0x53, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x49 73 I */ 91 { 0xfe, 0xd4, 0x54, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x4a }, /* 0x4a 74 J */ 92 { 0xfe, 0xd5, 0x55, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x4b }, /* 0x4b 75 K */ 93 { 0xfe, 0xd9, 0x59, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x4c }, /* 0x4c 76 L */ 94 { 0xfe, 0xd8, 0x58, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x4d }, /* 0x4d 77 M */ 95 { 0xfe, 0xef, 0x6f, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x4e 78 N */ 96 { 0xfe, 0xdf, 0x5f, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x4f 79 O */ 97 { 0xfe, 0xc4, 0x44, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x50 }, /* 0x50 80 P */ 98 { 0xfe, 0xf5, 0x75, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x51 81 Q */ 99 { 0xfe, 0xe5, 0x65, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x52 }, /* 0x52 82 R */ 100 { 0xfe, 0xf6, 0x76, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x53 }, /* 0x53 83 S */ 101 { 0xfe, 0xe6, 0x66, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x54 84 T */ 102 { 0xfe, 0xd2, 0x52, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x55 }, /* 0x55 85 U */ 103 { 0xfe, 0xec, 0x6c, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x56 }, /* 0x56 86 V */ 104 { 0xfe, 0xf7, 0x77, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x57 87 W */ 105 { 0xfe, 0xfa, 0x7a, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x58 }, /* 0x58 88 X */ 106 { 0xfe, 0xe7, 0x67, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x59 89 Y */ 107 { 0xfe, 0xf9, 0x79, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x5a }, /* 0x5a 90 Z */ 108 { 0xd6, 0x56, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x5b 91 [ */ 109 { 0xc2, 0x42, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x5c }, /* 0x5c 92 \ */ 110 { 0xd7, 0x57, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x5d 93 ] */ 111 { 0xfe, 0xe1, 0x61, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x5e 94 ^ */ 112 { 0xfe, 0xc0, 0x40, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x5f }, /* 0x5f 95 _ */ 113 { 0xe8, 0x68, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x60 96 ` */ 114 { 0xf0, 0x70, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x61 }, /* 0x61 97 a */ 115 { 0xee, 0x6e, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x62 }, /* 0x62 98 b */ 116 { 0xed, 0x6d, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x63 99 c */ 117 { 0xfb, 0x7b, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x64 100 d */ 118 { 0xe0, 0x60, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x65 101 e */ 119 { 0xe9, 0x69, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x66 }, /* 0x66 102 f */ 120 { 0xea, 0x6a, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x67 }, /* 0x67 103 g */ 121 { 0xeb, 0x6b, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x68 }, /* 0x68 104 h */ 122 { 0xd3, 0x53, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x69 105 i */ 123 { 0xd4, 0x54, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x6a }, /* 0x6a 106 j */ 124 { 0xd5, 0x55, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x6b }, /* 0x6b 107 k */ 125 { 0xd9, 0x59, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x6c }, /* 0x6c 108 l */ 126 { 0xd8, 0x58, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x6d }, /* 0x6d 109 m */ 127 { 0xef, 0x6f, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x6e 110 n */ 128 { 0xdf, 0x5f, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x6f 111 o */ 129 { 0xc4, 0x44, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x70 }, /* 0x70 112 p */ 130 { 0xf5, 0x75, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x71 113 q */ 131 { 0xe5, 0x65, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x72 }, /* 0x72 114 r */ 132 { 0xf6, 0x76, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x73 }, /* 0x73 115 s */ 133 { 0xe6, 0x66, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x74 116 t */ 134 { 0xd2, 0x52, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x75 }, /* 0x75 117 u */ 135 { 0xec, 0x6c, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x76 }, /* 0x76 118 v */ 136 { 0xf7, 0x77, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x77 119 w */ 137 { 0xfa, 0x7a, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x78 }, /* 0x78 120 x */ 138 { 0xe7, 0x67, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x79 121 y */ 139 { 0xf9, 0x79, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x7a }, /* 0x7a 122 z */ 140 { 0xfe, 0xd6, 0x56, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x7b 123 { */ 141 { 0xfe, 0xcc, 0x4c, 0x7e, 0 , 0 , 0 , 0 , 0 , 0x7c }, /* 0x7c 124 | */ // was 0x42! 142 { 0xfe, 0xd7, 0x57, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x7d 125 } */ 143 { 0xfe, 0xe8, 0x68, 0x7e, 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x7e 126 ~ */ 144 { 0xc5, 0x45, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x7f }, /* 0x7f 127 */ 145 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x80 128 */ 146 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x81 129 */ 147 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x82 130 */ 148 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x83 131 */ 149 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x84 132 */ 150 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x85 133 */ 151 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x86 134 */ 152 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x87 135 */ 153 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x88 136 */ 154 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x89 137 */ 155 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x8a 138 */ 156 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x8b 139 */ 157 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x8c 140 */ 158 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x8d 141 */ 159 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x8e 142 */ 160 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x8f 143 */ 161 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x90 144 */ 162 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x91 145 */ 163 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x92 146 */ 164 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x93 147 */ 165 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x94 148 */ 166 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x95 149 */ 167 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x96 150 */ 168 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x97 151 */ 169 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x98 152 */ 170 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x99 153 */ 171 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x9a 154 */ 172 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x9b 155 */ 173 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x9c 156 */ 174 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x9d 157 */ 175 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x9e 158 */ 176 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0x9f 159 */ 177 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xa0 160 */ 178 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xa1 161 */ 179 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xa2 162 */ 180 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xa3 163 */ 181 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xa4 164 */ 182 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xa5 165 */ 183 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xa6 166 */ 184 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xa7 167 */ 185 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xa8 168 */ 186 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xa9 169 */ 187 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xaa 170 */ 188 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xab 171 */ 189 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xac 172 */ 190 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xad 173 */ 191 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xae 174 */ 192 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xaf 175 */ 193 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xb0 176 */ 194 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xb1 177 */ 195 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xb2 178 */ 196 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xb3 179 */ 197 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xb4 180 */ 198 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xb5 181 */ 199 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xb6 182 */ 200 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xb7 183 */ 201 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xb8 184 */ 202 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xb9 185 */ 203 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xba 186 */ 204 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xbb 187 */ 205 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xbc 188 */ 206 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xbd 189 */ 207 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xbe 190 */ 208 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xbf 191 */ 209 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xc0 192 */ 210 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xc1 193 */ 211 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xc2 194 */ 212 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xc3 195 */ 213 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xc4 196 */ 214 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xc5 197 */ 215 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xc6 198 */ 216 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xc7 199 */ 217 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xc8 200 */ 218 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xc9 201 */ 219 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xca 202 */ 220 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xcb 203 */ 221 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xcc 204 */ 222 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xcd 205 */ 223 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xce 206 */ 224 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xcf 207 */ 225 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xd0 208 */ 226 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xd1 209 */ 227 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xd2 210 */ 228 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xd3 211 */ 229 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xd4 212 */ 230 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xd5 213 */ 231 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xd6 214 */ 232 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xd7 215 */ 233 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xd8 216 */ 234 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xd9 217 */ 235 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xda 218 */ 236 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xdb 219 */ 237 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xdc 220 */ 238 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xdd 221 */ 239 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xde 222 */ 240 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xdf 223 */ 241 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xe0 224 */ 242 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xe1 225 */ 243 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xe2 226 */ 244 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xe3 227 */ 245 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xe4 228 */ 246 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xe5 229 */ 247 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xe6 230 */ 248 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xe7 231 */ 249 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xe8 232 */ 250 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xe9 233 */ 251 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xea 234 */ 252 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xeb 235 */ 253 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xec 236 */ 254 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xed 237 */ 255 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xee 238 */ 256 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xef 239 */ 257 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xf0 240 */ 258 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xf1 241 */ 259 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xf2 242 */ 260 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xf3 243 */ 261 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xf4 244 */ 262 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xf5 245 */ 263 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xf6 246 */ 264 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xf7 247 */ 265 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xf8 248 */ 266 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xf9 249 */ 267 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xfa 250 */ 268 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xfb 251 */ 269 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xfc 252 */ 270 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xfd 253 */ 271 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, /* 0xfe 254 */ 272 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } /* 0xff 255 */ 273 }; 274