1 /*
2  *  This file is part of x48, an emulator of the HP-48sx Calculator.
3  *  Copyright (C) 1994  Eddie C. Dost  (ecd@dressler.de)
4  *
5  *  This program is free software; you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation; either version 2 of the License, or
8  *  (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with this program; if not, write to the Free Software
17  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */
19 
20 /* $Log: hp48char.h,v $
21  * Revision 1.3  1995/01/11  18:20:01  ecd
22  * major update to support HP48 G/GX
23  *
24  * Revision 1.2  1994/12/07  20:16:41  ecd
25  * added comment at top of file
26  *
27  * Revision 1.2  1994/12/07  20:16:41  ecd
28  * added comment at top of file
29  *
30  * Revision 1.1  1994/12/07  10:16:15  ecd
31  * Initial revision
32  *
33  *
34  * $Id: hp48char.h,v 1.3 1995/01/11 18:20:01 ecd Exp ecd $
35  */
36 #ifndef _HP48CHAR_H
37 #define _HP48CHAR_H	1
38 
39 typedef struct trans_tbl_t {
40   unsigned char  hp48_char;
41   char          *trans;
42 } trans_tbl_t;
43 
44 #ifndef DEFINE_TRANS_TABLE
45 extern trans_tbl_t hp48_trans_tbl[256];
46 #else
47 trans_tbl_t hp48_trans_tbl[256] =
48 {
49   { 0, "\\0" },
50   { 1, "\\001" },
51   { 2, "\\002" },
52   { 3, "\\003" },
53   { 4, "\\004" },
54   { 5, "\\005" },
55   { 6, "\\006" },
56   { 7, "\\007" },
57   { 8, "\\b" },
58   { 9, "\\t" },
59   { 10, "\\n" },
60   { 11, "\\011" },
61   { 12, "\\f" },
62   { 13, "\\r" },
63   { 14, "\\014" },
64   { 15, "\\015" },
65   { 16, "\\016" },
66   { 17, "\\017" },
67   { 18, "\\018" },
68   { 19, "\\019" },
69   { 20, "\\020" },
70   { 21, "\\021" },
71   { 22, "\\022" },
72   { 23, "\\023" },
73   { 24, "\\024" },
74   { 25, "\\025" },
75   { 26, "\\026" },
76   { 27, "\\027" },
77   { 28, "\\028" },
78   { 29, "\\029" },
79   { 30, "\\030" },
80   { 31, "\\031" },
81   { ' ', 0 },
82   { '!', 0 },
83   { '"', 0 },
84   { '#', 0 },
85   { '$', 0 },
86   { '%', 0 },
87   { '&', 0 },
88   { '\'', 0 },
89   { '(', 0 },
90   { ')', 0 },
91   { '*', 0 },
92   { '+', 0 },
93   { ',', 0 },
94   { '-', 0 },
95   { '.', 0 },
96   { '/', 0 },
97   { '0', 0 },
98   { '1', 0 },
99   { '2', 0 },
100   { '3', 0 },
101   { '4', 0 },
102   { '5', 0 },
103   { '6', 0 },
104   { '7', 0 },
105   { '8', 0 },
106   { '9', 0 },
107   { ':', 0 },
108   { ';', 0 },
109   { '<', 0 },
110   { '=', 0 },
111   { '>', 0 },
112   { '?', 0 },
113   { '@', 0 },
114   { 'A', 0 },
115   { 'B', 0 },
116   { 'C', 0 },
117   { 'D', 0 },
118   { 'E', 0 },
119   { 'F', 0 },
120   { 'G', 0 },
121   { 'H', 0 },
122   { 'I', 0 },
123   { 'J', 0 },
124   { 'K', 0 },
125   { 'L', 0 },
126   { 'M', 0 },
127   { 'N', 0 },
128   { 'O', 0 },
129   { 'P', 0 },
130   { 'Q', 0 },
131   { 'R', 0 },
132   { 'S', 0 },
133   { 'T', 0 },
134   { 'U', 0 },
135   { 'V', 0 },
136   { 'W', 0 },
137   { 'X', 0 },
138   { 'Y', 0 },
139   { 'Z', 0 },
140   { '[', 0 },
141   { '\\', 0 },
142   { ']', 0 },
143   { '^', 0 },
144   { '_', 0 },
145   { '`', 0 },
146   { 'a', 0 },
147   { 'b', 0 },
148   { 'c', 0 },
149   { 'd', 0 },
150   { 'e', 0 },
151   { 'f', 0 },
152   { 'g', 0 },
153   { 'h', 0 },
154   { 'i', 0 },
155   { 'j', 0 },
156   { 'k', 0 },
157   { 'l', 0 },
158   { 'm', 0 },
159   { 'n', 0 },
160   { 'o', 0 },
161   { 'p', 0 },
162   { 'q', 0 },
163   { 'r', 0 },
164   { 's', 0 },
165   { 't', 0 },
166   { 'u', 0 },
167   { 'v', 0 },
168   { 'w', 0 },
169   { 'x', 0 },
170   { 'y', 0 },
171   { 'z', 0 },
172   { '{', 0 },
173   { '|', 0 },
174   { '}', 0 },
175   { '~', 0 },
176   { 127, "\\127" },
177   { 128, "\\<)" },
178   { 129, "\\x-" },
179   { 130, "\\.V" },
180   { 131, "\\v/" },
181   { 132, "\\.S" },
182   { 133, "\\GS" },
183   { 134, "\\|>" },
184   { 135, "\\pi" },
185   { 136, "\\.d" },
186   { 137, "\\<=" },
187   { 138, "\\>=" },
188   { 139, "\\=/" },
189   { 140, "\\Ga" },
190   { 141, "\\->" },
191   { 142, "\\<-" },
192   { 143, "\\|v" },
193   { 144, "\\|^" },
194   { 145, "\\Gg" },
195   { 146, "\\Gd" },
196   { 147, "\\Ge" },
197   { 148, "\\Gn" },
198   { 149, "\\Gh" },
199   { 150, "\\Gl" },
200   { 151, "\\Gr" },
201   { 152, "\\Gs" },
202   { 153, "\\Gt" },
203   { 154, "\\Gw" },
204   { 155, "\\GD" },
205   { 156, "\\PI" },
206   { 157, "\\GW" },
207   { 158, "\\[]" },
208   { 159, "\\oo" },
209   { 160, "\\160" },
210   { 161, "\\161" },
211   { 162, "\\162" },
212   { 163, "\\163" },
213   { 164, "\\164" },
214   { 165, "\\165" },
215   { 166, "\\166" },
216   { 167, "\\167" },
217   { 168, "\\168" },
218   { 169, "\\169" },
219   { 170, "\\170" },
220   { 171, "\\<<" },
221   { 172, "\\172" },
222   { 173, "\\173" },
223   { 174, "\\174" },
224   { 175, "\\175" },
225   { 176, "\\^o" },
226   { 177, "\\177" },
227   { 178, "\\178" },
228   { 179, "\\179" },
229   { 180, "\\180" },
230   { 181, "\\Gm" },
231   { 182, "\\182" },
232   { 183, "\\183" },
233   { 184, "\\184" },
234   { 185, "\\185" },
235   { 186, "\\186" },
236   { 187, "\\>>" },
237   { 188, "\\188" },
238   { 189, "\\189" },
239   { 190, "\\190" },
240   { 191, "\\191" },
241   { 192, "\\192" },
242   { 193, "\\193" },
243   { 194, "\\194" },
244   { 195, "\\195" },
245   { 196, "\\196" },
246   { 197, "\\197" },
247   { 198, "\\198" },
248   { 199, "\\199" },
249   { 200, "\\200" },
250   { 201, "\\201" },
251   { 202, "\\202" },
252   { 203, "\\203" },
253   { 204, "\\204" },
254   { 205, "\\205" },
255   { 206, "\\206" },
256   { 207, "\\207" },
257   { 208, "\\208" },
258   { 209, "\\209" },
259   { 210, "\\210" },
260   { 211, "\\211" },
261   { 212, "\\212" },
262   { 213, "\\213" },
263   { 214, "\\214" },
264   { 215, "\\.x" },
265   { 216, "\\O/" },
266   { 217, "\\217" },
267   { 218, "\\218" },
268   { 219, "\\219" },
269   { 220, "\\220" },
270   { 221, "\\221" },
271   { 222, "\\222" },
272   { 223, "\\223" },
273   { 224, "\\224" },
274   { 225, "\\225" },
275   { 226, "\\226" },
276   { 227, "\\227" },
277   { 228, "\\228" },
278   { 229, "\\229" },
279   { 230, "\\230" },
280   { 231, "\\231" },
281   { 232, "\\232" },
282   { 233, "\\233" },
283   { 234, "\\234" },
284   { 235, "\\235" },
285   { 236, "\\236" },
286   { 237, "\\237" },
287   { 238, "\\238" },
288   { 239, "\\239" },
289   { 240, "\\240" },
290   { 241, "\\241" },
291   { 242, "\\242" },
292   { 243, "\\243" },
293   { 244, "\\244" },
294   { 245, "\\245" },
295   { 246, "\\246" },
296   { 247, "\\:-" },
297   { 248, "\\248" },
298   { 249, "\\249" },
299   { 250, "\\250" },
300   { 251, "\\251" },
301   { 252, "\\252" },
302   { 253, "\\253" },
303   { 254, "\\254" },
304   { 255, "\\255" }
305 };
306 #endif /* DEFINE_TRANS_TABLE */
307 
308 #endif /* !_HP48CHAR_H */
309