GE-115 Emulator
An Emulator of the General Electrics GE-115 computer
console.h
Go to the documentation of this file.
1#ifndef CONSOLE
2#define CONSOLE
3
4#include <stdint.h>
5
6#define PACKED __attribute__((packed))
7
24
26 uint16_t RO:9;
27 uint16_t _pad0:3;
28 uint16_t UR:1;
29 uint16_t _pad1:3; /* RO 9 LSbits + UR at bit 12 */
30
31 uint16_t SO:8;
32 uint16_t _pad2:4;
33 uint16_t FA:4; /* SO 8 bits + FA bits 12-15 */
34
35 uint16_t SA:8;
36 uint16_t _pad3:4;
37 uint16_t B:4; /* SA 8 bits + B bits 12-15 */
38
39 uint16_t ADD_reg; /* 4 nibbles ADD REG - front panel */
40 uint16_t OP_reg:8;
41 uint16_t C3:1;
42 uint16_t C2:1;
43 uint16_t C1:1;
44 uint16_t I:1;
45 uint16_t JE:1;
46 uint16_t IM:1;
47 uint16_t NZ:1;
48 uint16_t OF:1;
49
50 uint16_t DC_ALERT:1; /* red */
51 uint16_t POWER_OFF:1; /* yellow */
52 uint16_t STAND_BY:1; /* blue */
53 uint16_t POWER_ON:1; /* yellow */
54 uint16_t MAINTENANCE_ON:1; /* red */
55 uint16_t MEM_CHECK:1; /* red */
56 uint16_t INV_ADD:1; /* red */
57 uint16_t SWITCH_1:1; /* white */
58 uint16_t SWITCH_2:1; /* white */
59 uint16_t STEP_BY_STEP:1; /* white */
60 uint16_t HALT:1; /* white */
61 uint16_t LOAD_1:1; /* white */
62 uint16_t LOAD_2:1; /* white */
63 uint16_t OPERATOR_CALL:1; /* blue */
64};
65
81 uint16_t PAPA:1;
82
89 uint16_t PATE:1;
90
97 uint16_t RICI:1;
98
105 uint16_t ACOV:1;
106
113 uint16_t ACON:1;
114
121 uint16_t INAR:1;
122
126 uint16_t STOC:1;
127
136 uint16_t INCE:1;
137
145 uint16_t SITE:1;
146
147 uint16_t lamps_on:1;
148 uint16_t _pad_0:6;
149
155 uint16_t AM;
156};
157
159 uint16_t AC_ON:1;
160 uint16_t DC_ALERT:1;
161 uint16_t POWER_ON:1;
162 uint16_t MAINTENANCE_ON:1;
163 uint16_t SWITCH_1:1;
164 uint16_t SWITCH_2:1;
165 uint16_t STEP_BY_STEP:1;
166 uint16_t LOAD_1_2:1;
167 uint16_t EMERGEN_OFF:1;
168 uint16_t STANDBY:1;
169 uint16_t _pad_0:1;
170 uint16_t MEM_CHECK:1;
171 uint16_t CLEAR:1;
172 uint16_t LOAD:1;
173 uint16_t HALT_START:1;
174 uint16_t OPER_CALL:1;
175};
176
177
179 struct ge_console_lamps lamps;
180 struct ge_console_switches switches;
181 struct ge_console_buttons buttons;
183};
184
185struct ge;
186
187void ge_fill_console_data(struct ge*, struct ge_console*);
188void ge_set_console_switches(struct ge*, struct ge_console_switches*);
189void ge_set_console_rotary(struct ge *, enum ge_console_rotary);
190
191#endif
void ge_set_console_switches(struct ge *, struct ge_console_switches *)
Definition console.c:66
#define PACKED
Definition console.h:6
void ge_set_console_rotary(struct ge *, enum ge_console_rotary)
Definition console.c:79
void ge_fill_console_data(struct ge *, struct ge_console *)
Definition console.c:7
ge_console_rotary
Definition console.h:8
@ RS_FI_UR
Definition console.h:20
@ RS_V1_SCR
Definition console.h:16
@ RS_SO
Definition console.h:21
@ RS_R1_L2
Definition console.h:12
@ RS_PO
Definition console.h:19
@ RS_V1_LETT
Definition console.h:17
@ RS_V1
Definition console.h:15
@ RS_L1
Definition console.h:14
@ RS_V3
Definition console.h:11
@ RS_NORM
Definition console.h:18
@ RS_L3
Definition console.h:10
@ RS_FO
Definition console.h:22
@ RS_V4
Definition console.h:9
@ RS_V2
Definition console.h:13
uint16_t SWITCH_2
Definition console.h:164
uint16_t DC_ALERT
Definition console.h:160
uint16_t OPER_CALL
Definition console.h:174
uint16_t LOAD_1_2
Definition console.h:166
uint16_t POWER_ON
Definition console.h:161
uint16_t _pad_0
Definition console.h:169
uint16_t MEM_CHECK
Definition console.h:170
uint16_t STEP_BY_STEP
Definition console.h:165
uint16_t STANDBY
Definition console.h:168
uint16_t MAINTENANCE_ON
Definition console.h:162
uint16_t EMERGEN_OFF
Definition console.h:167
uint16_t HALT_START
Definition console.h:173
uint16_t SWITCH_1
Definition console.h:163
uint16_t C1
Definition console.h:43
uint16_t SA
Definition console.h:35
uint16_t I
Definition console.h:44
uint16_t INV_ADD
Definition console.h:56
uint16_t SWITCH_2
Definition console.h:58
uint16_t UR
Definition console.h:28
uint16_t LOAD_1
Definition console.h:61
uint16_t DC_ALERT
Definition console.h:50
uint16_t C2
Definition console.h:42
uint16_t JE
Definition console.h:45
uint16_t FA
Definition console.h:33
uint16_t SO
Definition console.h:31
uint16_t POWER_OFF
Definition console.h:51
uint16_t LOAD_2
Definition console.h:62
uint16_t POWER_ON
Definition console.h:53
uint16_t HALT
Definition console.h:60
uint16_t _pad2
Definition console.h:32
uint16_t _pad1
Definition console.h:29
uint16_t MEM_CHECK
Definition console.h:55
uint16_t STEP_BY_STEP
Definition console.h:59
uint16_t _pad3
Definition console.h:36
uint16_t _pad0
Definition console.h:27
uint16_t RO
Definition console.h:26
uint16_t OF
Definition console.h:48
uint16_t MAINTENANCE_ON
Definition console.h:54
uint16_t STAND_BY
Definition console.h:52
uint16_t IM
Definition console.h:46
uint16_t OP_reg
Definition console.h:40
uint16_t C3
Definition console.h:41
uint16_t B
Definition console.h:37
uint16_t OPERATOR_CALL
Definition console.h:63
uint16_t NZ
Definition console.h:47
uint16_t ADD_reg
Definition console.h:39
uint16_t SWITCH_1
Definition console.h:57
Console switches.
Definition console.h:71
uint16_t SITE
Don't wait for external unit availability.
Definition console.h:145
uint16_t INCE
Do not error-correct external units input.
Definition console.h:136
uint16_t PATE
Stop after a cycle.
Definition console.h:89
uint16_t ACON
Stops on jump condition not verified.
Definition console.h:113
uint16_t RICI
Disables next status.
Definition console.h:97
uint16_t lamps_on
Definition console.h:147
uint16_t AM
Forcing bits.
Definition console.h:155
uint16_t INAR
Do not stop on memory error.
Definition console.h:121
uint16_t ACOV
Stops on jump condition verified.
Definition console.h:105
uint16_t PAPA
Step By Step execution.
Definition console.h:81
enum ge_console_rotary rotary
Definition console.h:182
The entire state of the emulated system, including registers, memory, peripherals and timings.
Definition ge.h:96