|
|
1.1 root 1: /* Here is a bunch of stuff used for setup mode */
2: #define BRAM ((struct blop *) 0x600000) /* address of battery backed ram */
3:
4: #define BRKKEY 0x80
5: #define FUNC1KEY 0x82
6: #define FUNC2KEY 0x83
7: #define FUNC3KEY 0x84
8: #define FUNC4KEY 0x85
9: #define FUNC5KEY 0x86
10: #define FUNC6KEY 0x87
11: #define FUNC7KEY 0x88
12: #define FUNC8KEY 0x89
13:
14: #define BACKSPCKEY '\b'
15: #define SPACEKEY ' '
16: #define SETUPKEY 0xae
17: #define TABKEY '\t'
18:
19:
20: #define BAUD 0
21: #define RETKEY 1
22: #define NEWLINE 2
23: #define DUPLEX 3
24: #define KEYTONE 4
25: #define SCREENCOLOR 5
26: #define PFKEYS 6
27: #define NUMSETUPS 7
28: #define NUMOPTS 6
29:
30: #define CHECKSUM 2044
31:
32: #define NUMBAUD 6
33: #define NUMRETKEYS 3
34: #define NUMNEWLINE 2
35: #define NUMDUPLEX 2
36: #define NUMKEYTONE 2
37: #define NUMSCREENCOLOR 2
38: #define NUMPFKEYS 8
39: #define PFKEYSIZE 50
40:
41: #define VALBAUD BRAM->opts.opt_array[BAUD].byte
42: #define VALRETKEY BRAM->opts.opt_array[RETKEY].byte
43: #define VALNEWLINE BRAM->opts.opt_array[NEWLINE].byte
44: #define VALDUPLEX BRAM->opts.opt_array[DUPLEX].byte
45: #define VALKEYTONE BRAM->opts.opt_array[KEYTONE].byte
46: #define VALSCREENCOLOR BRAM->opts.opt_array[SCREENCOLOR].byte
47: #define VALCHECK1 BRAM->opts.opt_array[CHECKSUM].byte
48: #define VALCHECK2 BRAM->opts.opt_array[CHECKSUM+1].byte
49: #define VALCHECK3 BRAM->opts.opt_array[CHECKSUM+2].byte
50: #define VALCHECK4 BRAM->opts.opt_array[CHECKSUM+3].byte
51: #define VALCAPS BRAM->capslock.byte
52: #define VALNUM BRAM->numlock.byte
53: #define VALDWNLDFLAG BRAM->dwnldflag.byte
54: #define VALMAXADDR BRAM->bmaxaddr.byte
55:
56: struct bram_mem {
57: int:16; unsigned char byte;
58: int:8;
59: };
60: struct blop {
61: union blip{
62: struct vals {
63: int:16; unsigned char baud;
64: int:8;
65: int:16; unsigned char retkey;
66: int:8;
67: int:16; unsigned char newline;
68: int:8;
69: int:16; unsigned char duplex;
70: int:8;
71: int:16; unsigned char keytone;
72: int:8;
73: int:16; unsigned char screencolor;
74: int:8;
75: } individ;
76: struct bram_mem opt_array[NUMOPTS];
77: } opts;
78: struct bram_mem pfkeys[NUMPFKEYS][PFKEYSIZE+1]; /* can init partly? */
79: struct bram_mem numlock; /* num lock flag */
80: struct bram_mem capslock; /* caps lock flag */
81: struct bram_mem dwnldflag; /* 0 = stand-alone, 1=program loaded */
82: struct bram_mem bmaxaddr; /* 0 = 256K Mem, 1 = 1Meg */
83: } ;
84: #define SETUP_HEADINGS "SPEED CR DEF NL DEF DUPLEX TONE BACKGROUND (Hit pfkey to edit value)"
85:
86: /* next come the displayed values... all default values are first */
87: #ifdef SETUP_OWN
88: long maxaddr[2] = {0x740000, 0x800000}; /* last valid memory address */
89: /*short curpos[NUMSETUPS] = {0, 10, 20, 30, 40, 52, 61}; /* cursor positions: */
90: /* if this simple use formula */
91:
92: char baud_speeds[NUMBAUD] = { (char) BD1200BPS, (char) BD2400BPS, (char) BD4800BPS,
93: (char) BD9600BPS, (char) BD19200BPS, (char) BD300BPS};
94: char *val_baud[NUMBAUD] = {" 1200"," 2400"," 4800"," 9600","19200"," 300"};
95: char *val_retkey[NUMRETKEYS] = { " CR", " LF", "CR/LF" };
96: char *val_newline[NUMNEWLINE] = { "INDEX", " NL " };
97: char *val_duplex[NUMDUPLEX] = { " FULL", " HALF" };
98: char *val_keytone[NUMKEYTONE] = { " ON", "OFF" };
99: char *val_screencolor[NUMSCREENCOLOR] = { " DARK", "LIGHT"};
100:
101: char **val_indx[NUMOPTS] = { val_baud, val_retkey, val_newline, val_duplex,
102: val_keytone, val_screencolor } ;
103:
104: char val_maxes[NUMOPTS] = { (char) NUMBAUD, (char) NUMRETKEYS,
105: (char) NUMNEWLINE, (char) NUMDUPLEX,
106: (char) NUMKEYTONE, (char) NUMSCREENCOLOR };
107: #else
108: extern char baud_speeds[];
109: extern char *val_baud[];
110: extern char *val_retkey[];
111: extern char *val_newline[];
112: extern char *val_duplex[];
113: extern char *val_keytone[];
114: extern char *val_screencolor[];
115: extern char *val_pfkeys[];
116: extern char **val_indx[];
117: extern char val_maxes[];
118: /*extern short curpos[];*/
119: extern long maxaddr[];
120: #endif
121:
122: /* QUESTION???? How do we determine factory default? Is bram pre-setup, or
123: somehow initially invalid? How do we determine this? write a "im ready"
124: pattern somewhere in cmos? */
125:
126: /* Font properties */
127: #define CW 9 /* width of a character */
128: #define NS 14 /* newline size; height of a character */
129:
130: #define XMARGIN 3 /* inset from border */
131: #define YMARGIN 3
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.