source: projects/bull-anelex-project/trunk/BULL-Druckermapping/mapping-table.h @ 70

Last change on this file since 70 was 70, checked in by heribert-pc, 11 years ago

Veraenderte Mapping-Table am 23.03.2013

File size: 5.1 KB
Line 
1/*
2 * mapping_table.h
3 * $Id$
4 *
5 * Created: 26.01.2013 18:32:56
6 * Updated: 29.01.2013, als Word-Dokument
7 * Aktualisiert: 17.2. Author: Heribert
8 * Aktualisiert: 23.2.   Heribert
9 *  Author: Sven
10 */ 
11
12
13#ifndef _MAPPING_TABLE_H_
14#define _MAPPING_TABLE_H_
15
16// Default-Zeichen fuer Zeichen, die auf Codeurscheibe nicht definiert sind.
17// Nach Mail vom 17.02. soll das das "*" (Asteriks) sein.
18// Der * entspricht dez44 im H-Code (Zielcode)
19#define UNDEFINED_CHARACTER 44
20
21// Letztes Zeichen (Ausgangscode = Index), welches uebersetzt wird. Da der Code
22// nur 6bit breit ist und unser Arraydatentyp 8bit, ist dies 63 = 3f = 0b00111111.
23// Alle Zeichen > 63 (also 64-255) werden automatisch mit UNDEFINED_CHARACTER uebersetzt.
24#define LAST_DEFINED_CHARACTER 63
25
26uint8_t translation_table[] = {
27        // generiert mit gentable.py
28       
29        // Bedeutung der Zahlen in C:
30        //  1,2,3,4,12,13 ohne Praefix sind Dezimalzahlen
31        //  a,b,c,d,ef,dd sind Hexadezimalzahlen, normalerweise 0xa, 0xb, 0xc, 0xef
32        //  01, 02, ... 082 sind Oktalzahlen
33        //  0b00101001, 0b1010000 ... sind Binaerzahlen
34        //    Sie lesen sich so:
35        //    0b00110101 = dez: 128*0 + 64*0 + 32*1 + 16*1 + 8*0 + 4*1 + 2*0 + 1*1 = 53
36
37
38        // Spalten A,B,C: Code von der Urscheibe ("Ausgangscode"), entspricht
39        //                dem Index in diesem Array
40        // Spalte B: Zielcode (Code vom BULL Gamma 10). Ist hier dezimal angegeben
41        // Spalte C: Zeichenbedeutung, gemaess Urscheibe und Zielcode
42        // Spalte D: Ggf. weiterer Kommentar
43
44        //  A =  B = C          //    D, // E     // F
45        /*  0 =  0 = 0b00000000 */    28, // < (nicht sicher!)
46        /*  1 =  1 = 0b00000001 */    1, // 1
47        /*  2 =  2 = 0b00000010 */    2, // 2
48        /*  3 =  3 = 0b00000011 */    3, // 3
49        /*  4 =  4 = 0b00000100 */    4, // 4
50        /*  5 =  5 = 0b00000101 */    5, // 5
51        /*  6 =  6 = 0b00000110 */    6, // 6
52        /*  7 =  7 = 0b00000111 */    7, // 7
53        /*  8 =  8 = 0b00001000 */    8, // 8
54        /*  9 =  9 = 0b00001001 */    9, // 9
55        /* 10 =  a = 0b00001010 */   36, // M
56        /* 11 =  b = 0b00001011 */   37, // N
57        /* 12 =  c = 0b00001100 */   39, // P
58        /* 13 =  d = 0b00001101 */   40, // Q
59        /* 14 =  e = 0b00001110 */   41, // R
60        /* 15 =  f = 0b00001111 */   34, // k
61        /* 16 = 10 = 0b00010000 */   16, // Zahl 0
62        /* 17 = 11 = 0b00010001 */   19, // c
63        /* 18 = 12 = 0b00010010 */   20, // d
64        /* 19 = 13 = 0b00010011 */   21, // e
65        /* 20 = 14 = 0b00010100 */   22, // f
66        /* 21 = 15 = 0b00010101 */   23, // g
67        /* 22 = 16 = 0b00010110 */   24, // h
68        /* 23 = 17 = 0b00010111 */   18, // b
69        /* 24 = 18 = 0b00011000 */   61, // Punkt
70        /* 25 = 19 = 0b00011001 */   33, // j
71        /* 26 = 1a = 0b00011010 */   17, // a
72        /* 27 = 1b = 0b00011011 */   UNDEFINED_CHARACTER, // undef
73        /* 28 = 1c = 0b00011100 */   50, // S
74        /* 29 = 1d = 0b00011101 */   58, // , (Komma)
75        /* 30 = 1e = 0b00011110 */   42, // !
76        /* 31 = 1f = 0b00011111 */   UNDEFINED_CHARACTER, // undef
77        /* 32 = 20 = 0b00100000 */   35, // L
78        /* 33 = 21 = 0b00100001 */   52, // U
79        /* 34 = 22 = 0b00100010 */   53, // V
80        /* 35 = 23 = 0b00100011 */   54, // W
81        /* 36 = 24 = 0b00100100 */   55, // X
82        /* 37 = 25 = 0b00100101 */   56, // Y
83        /* 38 = 26 = 0b00100110 */   57, // Z
84        /* 39 = 27 = 0b00100111 */   51, // T
85        /* 40 = 28 = 0b00101000 */   14, // =
86        /* 41 = 29 = 0b00101001 */   45, // )
87        /* 42 = 2a = 0b00101010 */   32, // - Minus
88        /* 43 = 2b = 0b00101011 */   30, // +
89        /* 44 = 2c = 0b00101100 */   13, // ]  muss mit Dreieck über H gestanzt werden
90        /* 45 = 2d = 0b00101101 */   26, // ? muss mit C-Strich gestanzt werden!
91        /* 46 = 2e = 0b00101110 */   12, // @
92        /* 47 = 2f = 0b00101111 */   29, // (
93        /* 48 = 30 = 0b00110000 */   49, // / (irgendeine art slash)
94        /* 49 = 31 = 0b00110001 */   10, // :
95        /* 50 = 32 = 0b00110010 */   47, // Pfeil nach links, muss mit „nicht“ gestanzt werden
96        /* 51 = 33 = 0b00110011 */   15, // “
97        /* 52 = 34 = 0b00110100 */   60, // %
98        /* 53 = 35 = 0b00110101 */   48, // &
99        /* 54 = 36 = 0b00110110 */   46, // ;
100        /* 55 = 37 = 0b00110111 */   11, // #
101        /* 56 = 38 = 0b00111000 */   44, // * (Stern), wird z.Z. als Apostroph gedruckt
102        /* 57 = 39 = 0b00111001 */   25, // I
103        /* 58 = 3a = 0b00111010 */   38, // Buchstabe O
104        /* 59 = 3b = 0b00111011 */   UNDEFINED_CHARACTER, // undef
105        /* 60 = 3c = 0b00111100 */   13, // Apostroph
106        /* 61 = 3d = 0b00111101 */   62, // >
107        /* 62 = 3e = 0b00111110 */   43, // $
108        /* 63 = 3f = 0b00111111 */   28, // <
109       
110        // Alle Werte > 63 werden automatisch auf UNDEFINED_CHARACTER abgebildet,
111        // siehe LAST_DEFINED_CHARACTER oben.
112};
113
114       
115#endif // _MAPPING_TABLE_H_
116
Note: See TracBrowser for help on using the repository browser.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License