GE-115 Emulator
An Emulator of the General Electrics GE-115 computer
Macros | Functions
signals.h File Reference

Signals. More...

#include <stdint.h>
#include "bit.h"
#include "ge.h"
#include "log.h"

Go to the source code of this file.

Macros

#define SIG(name)   static inline uint8_t name (struct ge *ge)
 
#define NAOR(a, b, c, d)   !(a || b || c || d)
 

Functions

 SIG (RESI)
 
 SIG (RESI1)
 
 SIG (RESIA)
 
 SIG (RIA01)
 
 SIG (RIA2A)
 
 SIG (RIA3A)
 
 SIG (RIUCA)
 
 SIG (RES01)
 
 SIG (RES0)
 Cycle assigned to channel 1.
 
 SIG (RES2)
 Cycle assigned to channel 2.
 
 SIG (RES3)
 Cycle assigned to channel 3.
 
 SIG (RIUC)
 Cycle assigned to CPU.
 
 SIG (RES31)
 
 SIG (verified_condition)
 DC16 - Jump Condition Verified.
 
 SIG (AF10)
 Selected register V4.
 
 SIG (AF20)
 Selected register L3.
 
 SIG (AF21)
 Selected register L1.
 
 SIG (AF30)
 Selected register V3.
 
 SIG (AF31)
 Selected register V1.
 
 SIG (AF32)
 Selected normal operation.
 
 SIG (AF40)
 Selected register R1 - L2.
 
 SIG (AF41)
 Selected register V1 - SCR.
 
 SIG (AF42)
 Selected register PO.
 
 SIG (AF43)
 Selected register SO.
 
 SIG (AF50)
 Selected register V2.
 
 SIG (AF51)
 Selected register V1 - LETT.
 
 SIG (AF52)
 Selected register FI-UR.
 
 SIG (AF53)
 Selected register FO.
 
static uint16_t ge_counting_network_output (struct ge *ge)
 
static uint16_t NO_knot (struct ge *ge)
 Knot driven by P0, V1, V2, V4, L1, R1, V3 and L3.
 
static uint8_t NA_knot (struct ge *ge)
 Knot driven by SO or SI.
 
static uint8_t NI_source (struct ge *ge, enum knot_ni_source source)
 
static uint16_t NI_knot (struct ge *ge)
 NI Knot.
 
 SIG (DI01A)
 
 SIG (DI011)
 
 SIG (DI02A)
 
 SIG (DI021)
 
 SIG (DI03A)
 
 SIG (DI031)
 
 SIG (DI06A)
 
 SIG (DI062)
 
 SIG (DI061)
 
 SIG (DI10A)
 
 SIG (DI101)
 
 SIG (DI11A)
 
 SIG (DI111)
 
 SIG (DI12A)
 
 SIG (DI121)
 
 SIG (DI14A)
 
 SIG (DI141)
 
 SIG (DI15A)
 
 SIG (DI151)
 
 SIG (DI17A)
 
 SIG (DI18A)
 
 SIG (DI181)
 
 SIG (DI18B)
 
 SIG (DI19A)
 
 SIG (DI20A)
 
 SIG (DI201)
 
 SIG (DI13A)
 
 SIG (DI64A)
 
 SIG (DI65A)
 
 SIG (DI66A)
 
 SIG (DI67A)
 
 SIG (DI21A)
 
 SIG (DI211)
 
 SIG (DI22A)
 
 SIG (DI23A)
 
 SIG (DI231)
 
 SIG (DI24A)
 
 SIG (DI25A)
 
 SIG (DI27A)
 
 SIG (DI271)
 
 SIG (DI28A)
 
 SIG (DI281)
 
 SIG (DI28B)
 
 SIG (DI29A)
 
 SIG (DI291)
 
 SIG (DI48A)
 
 SIG (DI481)
 
 SIG (DI58A)
 
 SIG (DI581)
 
 SIG (DI69A)
 
 SIG (DI691)
 
 SIG (DI57A)
 
 SIG (DI572)
 
 SIG (DI57B)
 
 SIG (DI79A)
 
 SIG (DI82A)
 
 SIG (DI83A)
 
 SIG (DI84A)
 
 SIG (DI85A)
 
 SIG (DI86A)
 
 SIG (DI87A)
 
 SIG (DI91A)
 
 SIG (DI931)
 
 SIG (DI93A)
 
 SIG (DI94A)
 
 SIG (DI95A)
 
 SIG (DI971)
 
 SIG (DI97A)
 
 SIG (DO01A)
 
 SIG (DO011)
 
 SIG (DO02A)
 
 SIG (DO021)
 
 SIG (DO04A)
 
 SIG (DO041)
 
 SIG (FUL26)
 
 SIG (FUL36)
 
 SIG (FEL06)
 
 SIG (FEL16)
 
 SIG (INES3)
 
 SIG (INES4)
 
static uint16_t ge_cpu_version_uce (const struct ge *ge)
 Processor version: 466, 467 or 468 (cp06 ch.002 TAB.1).
 
static uint16_t ge_cycle_period_ns (const struct ge *ge)
 Cycle period in nanoseconds for the strapped version.
 
 SIG (VAMC2)
 
 SIG (VEMB6)
 
 SIG (VAMA2)
 
 SIG (VAMA1)
 
 SIG (VAMB1)
 
 SIG (VAMC1)
 
static uint8_t ge_mem_in_bounds (struct ge *ge, uint16_t addr)
 Installed memory, in K.
 
static uint16_t ge_memory_capacity_k (struct ge *ge)
 
 SIG (FUL4G)
 
 SIG (FUL4F)
 
 SIG (FUL2)
 
 SIG (FUL3)
 
 SIG (FUL4)
 
 SIG (CI451)
 
 SIG (CI461)
 
 SIG (CI471)
 
 SIG (CI45D)
 
 SIG (CI46B)
 
 SIG (CI47B)
 
 SIG (UCOA1)
 
 SIG (UCO21)
 
 SIG (UCO2A)
 
 SIG (UCO4A)
 
 SIG (UCO41)
 
 SIG (UCO0A)
 
 SIG (UCO01)
 
 SIG (UCO1A)
 
 SIG (UCO11)
 
 SIG (CI50B)
 
 SIG (UZE71_enabled)
 
 SIG (UZE81_enabled)
 
 SIG (DO07A)
 
 SIG (DO071)
 
 SIG (DO00A)
 
 SIG (DO001)
 
 SIG (DO06A)
 
 SIG (DO061)
 
 SIG (DE00A)
 
 SIG (DE06A)
 
 SIG (DE11A)
 
 SIG (DE13A)
 
 SIG (DE001)
 
 SIG (CM011)
 
 SIG (CM01A)
 
 SIG (CM01A0)
 
 SIG (DE07A)
 
 SIG (DE23A)
 
 SIG (DE231)
 
 SIG (DA25A)
 
 SIG (PC011)
 Channel 1 is selected.
 
 SIG (PC111)
 
 SIG (PC211)
 Integrated printer on channel 2.
 
 SIG (DU161)
 
 SIG (DU18A)
 
 SIG (DU19A)
 
 SIG (DU201)
 
 SIG (EC56A)
 
 SIG (EC69A)
 
 SIG (EC70A)
 
 SIG (ED70A)
 
 SIG (ED75A)
 
 SIG (ED79A)
 
 SIG (ED91A)
 
 SIG (DE00A0)
 
 SIG (DE07A0)
 
 SIG (DE08A0)
 
 SIG (DA25A0)
 
 SIG (DI11A0)
 
 SIG (DI12A0)
 
 SIG (DI13A0)
 
 SIG (DI17A0)
 
 SIG (DI18A0)
 
 SIG (DI18B0)
 
 SIG (DI19A0)
 
 SIG (DI20A0)
 
 SIG (DI21A0)
 
 SIG (DI22A0)
 
 SIG (DI24A0)
 
 SIG (DI25A0)
 
 SIG (DI28A0)
 
 SIG (DI28B0)
 
 SIG (DI29A0)
 
 SIG (DI57A0)
 
 SIG (DI57B0)
 
 SIG (DI60A)
 
 SIG (DI60A0)
 
 SIG (DI64A0)
 
 SIG (DI65A0)
 
 SIG (DI66A0)
 
 SIG (DI67A0)
 
 SIG (DI79A0)
 
 SIG (DI82A0)
 
 SIG (DI83A0)
 
 SIG (DI84A0)
 
 SIG (DI85A0)
 
 SIG (DI86A0)
 
 SIG (DI87A0)
 
 SIG (DI91A0)
 
 SIG (DI93A0)
 
 SIG (DI94A0)
 
 SIG (DI95A0)
 
 SIG (DI97A0)
 
 SIG (EC56A0)
 
 SIG (EC69A0)
 
 SIG (EC70A0)
 
 SIG (ED70A0)
 
 SIG (ED75A0)
 
 SIG (ED79A0)
 
 SIG (ED91A0)
 
 SIG (AITE)
 
 SIG (AITEA)
 
 SIG (LU081)
 
 SIG (LUPO1)
 
 SIG (FINI1)
 
 SIG (FIDE1)
 
 SIG (LURE1)
 
 SIG (LUSE1)
 
 SIG (LENO1)
 
 SIG (BI201)
 
 SIG (POM01)
 
 SIG (PICO1)
 
 SIG (RL1U1)
 
 SIG (FUSE1)
 
 SIG (FINA1)
 
 SIG (MARE3)
 
 SIG (TE103)
 
 SIG (TE203)
 
 SIG (TE303)
 
 SIG (FINE3)
 
 SIG (MARE4)
 
 SIG (TE104)
 
 SIG (TE204)
 
 SIG (TE304)
 
 SIG (FINE4)
 
 SIG (PC131)
 
 SIG (PC141)
 
 SIG (PC121)
 Integrated reader on channel 1.
 
 SIG (PB11A)
 
 SIG (PB13A)
 
 SIG (PB14A)
 
 SIG (RT121)
 
 SIG (RT131)
 
 SIG (RB101)
 
 SIG (RB121)
 
 SIG (RB12A)
 
 SIG (RB01A)
 
 SIG (RB111)
 
 SIG (PF12A)
 
 SIG (PF13A)
 
 SIG (PF14A)
 
 SIG (RF101)
 
 SIG (PC11A)
 
 SIG (PC12A)
 
 SIG (PC13A)
 
 SIG (PC14A)
 
 SIG (RUF11)
 
 SIG (RUF1A)
 
 SIG (RASI1)
 
 SIG (TO501)
 
 SIG (PELEA)
 
 SIG (RELO1)
 
 SIG (PAM4A)
 
 SIG (PM11A)
 
 SIG (PM13A)
 
 SIG (PM14A)
 
 SIG (RM101)
 
 SIG (PAM1A)
 
 SIG (RS011)
 
 SIG (PIM1A)
 
 SIG (PIM11)
 
 SIG (PIC1A)
 
 SIG (PUC11)
 
 SIG (PUC1)
 
 SIG (PC01A)
 
 SIG (PC03A)
 
 SIG (PC031)
 Channel 3 is selected.
 
 SIG (PUC26)
 
 SIG (PUC36)
 
 SIG (PB061)
 
 SIG (PB06A)
 
 SIG (PB071)
 
 SIG (PB07A)
 
 SIG (PB261)
 
 SIG (PB26A)
 
 SIG (PB361)
 
 SIG (PB36A)
 
 SIG (PB371)
 
 SIG (PB37A)
 
 SIG (PUC21)
 
 SIG (PUC2A)
 
 SIG (PUC31)
 
 SIG (PUC3A)
 
 SIG (PC21A)
 
 SIG (PC22A)
 
 SIG (PC31A)
 
 SIG (PC32A)
 
 SIG (PC33A)
 
 SIG (PC34A)
 
 SIG (SEPEI)
 
 SIG (PU002)
 
 SIG (PU003)
 
 SIG (PU004)
 
 SIG (PUB01_d1)
 
 SIG (PUB01_d2)
 
 SIG (PUB01_d3)
 
 SIG (PUB01_d4)
 
 SIG (PUB01)
 Selected connector busy condition.
 
 SIG (PC321)
 
 SIG (PC331)
 
 SIG (PC341)
 
 SIG (DU871)
 
 SIG (DU881)
 
 SIG (DU89A)
 
 SIG (DU90A)
 
 SIG (DU91A)
 
 SIG (DU92)
 Selected channel busy.
 
 SIG (DU93A)
 
 SIG (DU93)
 LPER external operation.
 
 SIG (DU95A)
 
 SIG (DU95)
 
 SIG (DU96A)
 
 SIG (DU96)
 
 SIG (DU97A)
 
 SIG (DU97)
 
 SIG (DU98)
 
 SIG (TU00A)
 
 SIG (FU091)
 
 SIG (PTA3A)
 
 SIG (PTA31)
 
 SIG (PTA4A)
 
 SIG (PTA41)
 
 SIG (PA11A)
 
 SIG (PA12A)
 
 SIG (PA13A)
 
 SIG (PA14A)
 
 SIG (RA101)
 
 SIG (RET21)
 
 SIG (PC221)
 
 SIG (PIB1A)
 
 SIG (PIB11)
 
 SIG (PB12A)
 
 SIG (PB22A)
 
 SIG (PB32A)
 
 SIG (PIB21)
 
 SIG (RB13A)
 
 SIG (RB33A)
 
 SIG (PIB31)
 
 SIG (RB14A)
 
 SIG (RB34A)
 
 SIG (PIB41)
 
static uint16_t NE_knot (struct ge *ge)
 NE Knot.
 
 SIG (RT111)
 
 SIG (RT311)
 
 SIG (RT321)
 
 SIG (RT331)
 
 SIG (RATE1)
 
 SIG (PUOO3)
 
 SIG (RUF31)
 
 SIG (RAVI1)
 
 SIG (TU10C)
 
 SIG (TU20C)
 
 SIG (TU30C)
 
 SIG (AEBEC)
 
 SIG (AECO3)
 
 SIG (FINUC)
 
 SIG (PV13A)
 
 SIG (VICU3)
 

Detailed Description

Signals.

This file implements the combinatorial signals of the machine as inline helpers.

Definition in file signals.h.

Macro Definition Documentation

◆ SIG

#define SIG (   name)    static inline uint8_t name (struct ge *ge)

Definition at line 17 of file signals.h.

Function Documentation

◆ ge_counting_network_output()

static uint16_t ge_counting_network_output ( struct ge ge)
inlinestatic

Definition at line 145 of file signals.h.

◆ SIG() [1/33]

SIG ( DU871  )

Definition at line 1020 of file signals.h.

◆ SIG() [2/33]

SIG ( DU881  )

Definition at line 1023 of file signals.h.

◆ SIG() [3/33]

SIG ( DU89A  )

Definition at line 1025 of file signals.h.

◆ SIG() [4/33]

SIG ( DU90A  )

Definition at line 1027 of file signals.h.

◆ SIG() [5/33]

SIG ( DU91A  )

Definition at line 1028 of file signals.h.

◆ SIG() [6/33]

SIG ( DU92  )

Selected channel busy.

Definition at line 1031 of file signals.h.

◆ SIG() [7/33]

SIG ( DU93  )

LPER external operation.

Definition at line 1036 of file signals.h.

◆ SIG() [8/33]

SIG ( DU93A  )

Definition at line 1033 of file signals.h.

◆ SIG() [9/33]

SIG ( DU95  )

Definition at line 1039 of file signals.h.

◆ SIG() [10/33]

SIG ( DU95A  )

Definition at line 1038 of file signals.h.

◆ SIG() [11/33]

SIG ( DU96  )

Definition at line 1042 of file signals.h.

◆ SIG() [12/33]

SIG ( DU96A  )

Definition at line 1041 of file signals.h.

◆ SIG() [13/33]

SIG ( DU97  )

Definition at line 1049 of file signals.h.

◆ SIG() [14/33]

SIG ( DU97A  )

Definition at line 1044 of file signals.h.

◆ SIG() [15/33]

SIG ( DU98  )

Definition at line 1051 of file signals.h.

◆ SIG() [16/33]

SIG ( PB11A  )

Definition at line 894 of file signals.h.

◆ SIG() [17/33]

SIG ( PB13A  )

Definition at line 895 of file signals.h.

◆ SIG() [18/33]

SIG ( PB14A  )

Definition at line 896 of file signals.h.

◆ SIG() [19/33]

SIG ( PF12A  )

Definition at line 907 of file signals.h.

◆ SIG() [20/33]

SIG ( PF13A  )

Definition at line 908 of file signals.h.

◆ SIG() [21/33]

SIG ( PF14A  )

Definition at line 909 of file signals.h.

◆ SIG() [22/33]

SIG ( PUC26  )

Definition at line 960 of file signals.h.

◆ SIG() [23/33]

SIG ( PUC36  )

Definition at line 961 of file signals.h.

◆ SIG() [24/33]

SIG ( RB01A  )

Definition at line 904 of file signals.h.

◆ SIG() [25/33]

SIG ( RB101  )

Definition at line 901 of file signals.h.

◆ SIG() [26/33]

SIG ( RB111  )

Definition at line 905 of file signals.h.

◆ SIG() [27/33]

SIG ( RB121  )

Definition at line 902 of file signals.h.

◆ SIG() [28/33]

SIG ( RB12A  )

Definition at line 903 of file signals.h.

◆ SIG() [29/33]

SIG ( RF101  )

Definition at line 910 of file signals.h.

◆ SIG() [30/33]

SIG ( RT121  )

Definition at line 898 of file signals.h.

◆ SIG() [31/33]

SIG ( RT131  )

Definition at line 899 of file signals.h.

◆ SIG() [32/33]

SIG ( TU00A  )

Definition at line 1054 of file signals.h.

◆ SIG() [33/33]

SIG ( verified_condition  )

DC16 - Jump Condition Verified.

This signal is true when the currently executing jump condition is verified.

Definition at line 75 of file signals.h.