6 #ifndef MSL_COMMANDS_INCLUDED_BY_MSL_STATES
7 # error This file should be include by msl-states.c and not compiled directly
10 #define CC { ge_log(LOG_ERR, "implement command %s\n", __FUNCTION__); }
234 uint8_t RECIA = !(CE031 && PC011(
ge));
235 uint8_t RECI1 = !RECIA;
239 if (TO651 && RECI1) {
268 if (TO191 && PC011(
ge)) {
310 uint8_t TU03A = !(RT111 && PC121(
ge));
311 uint8_t TU03 = !TU03A;
351 if (TO801 && RIUC(
ge)) {
358 if (TO801 && RESI(
ge)) {
365 if (TO801 && RES2(
ge)) {
372 if (TO801 && RES3(
ge)) {
Bit manipulation helpers.
static uint16_t NI_knot(struct ge *ge)
NI Knot.
static uint16_t NO_knot(struct ge *ge)
Knot driven by P0, V1, V2, V4, L1, R1, V3 and L3.
static uint16_t NE_knot(struct ge *ge)
NE Knot.
void ge_log(ge_log_type type, const char *format,...)
Log message.
@ LOG_FUTURE
Future state network debug.
@ LOG_PERI
Peripherals IO.
static void CI73(struct ge *ge)
static void CE08(struct ge *ge)
static void CI02(struct ge *ge)
static void CI08(struct ge *ge)
static void CE01(struct ge *ge)
static void CU05(struct ge *ge)
static void CI63(struct ge *ge)
static void CI39(struct ge *ge)
static void CO49(struct ge *ge)
static void CO04(struct ge *ge)
static void CE11(struct ge *ge)
static void CO14(struct ge *ge)
static void CE18(struct ge *ge)
static void CI21(struct ge *ge)
static void CI20(struct ge *ge)
static void CO00(struct ge *ge)
static void CU12(struct ge *ge)
static void CI66(struct ge *ge)
static void CI19(struct ge *ge)
static void CE10(struct ge *ge)
static void CI74(struct ge *ge)
static void CI17(struct ge *ge)
static void CU00(struct ge *ge)
static void CO35(struct ge *ge)
static void CI15(struct ge *ge)
static void CU06(struct ge *ge)
static void CE03(struct ge *ge)
static void CI70(struct ge *ge)
static void CU07(struct ge *ge)
static void CE00(struct ge *ge)
static void CO01(struct ge *ge)
static void CI11(struct ge *ge)
static void CU02(struct ge *ge)
static void CI06(struct ge *ge)
static void CI32(struct ge *ge)
static void CI65(struct ge *ge)
static void CO03(struct ge *ge)
static void CI75(struct ge *ge)
static void CU13(struct ge *ge)
static void CE07(struct ge *ge)
static void CI80(struct ge *ge)
static void CI07(struct ge *ge)
static void CI81(struct ge *ge)
static void CU17(struct ge *ge)
static void CO96(struct ge *ge)
static void CI60(struct ge *ge)
static void CI86(struct ge *ge)
static void CE06(struct ge *ge)
static void CO94(struct ge *ge)
static void CU20(struct ge *ge)
static void CO48(struct ge *ge)
static void CI64(struct ge *ge)
static void CI68(struct ge *ge)
static void CO91(struct ge *ge)
static void CI05(struct ge *ge)
static void CI82(struct ge *ge)
static void CE09(struct ge *ge)
static void CI84(struct ge *ge)
static void CI72(struct ge *ge)
static void CU01(struct ge *ge)
static void CO90(struct ge *ge)
static void CE02(struct ge *ge)
static void CI04(struct ge *ge)
static void CI88(struct ge *ge)
static void CI83(struct ge *ge)
static void CI41(struct ge *ge)
static void CO18(struct ge *ge)
static void CO40(struct ge *ge)
static void CI09(struct ge *ge)
static void CI89(struct ge *ge)
static void CU10(struct ge *ge)
static void CI62(struct ge *ge)
static void CI38(struct ge *ge)
static void CI69(struct ge *ge)
static void CI03(struct ge *ge)
static void CI77(struct ge *ge)
static void CU14(struct ge *ge)
static void CO11(struct ge *ge)
static void CU16(struct ge *ge)
static void CO12(struct ge *ge)
static void CI87(struct ge *ge)
static void CI85(struct ge *ge)
static void CO97(struct ge *ge)
static void CO30(struct ge *ge)
static void CI67(struct ge *ge)
static void CO16(struct ge *ge)
static void CI40(struct ge *ge)
static void CI00(struct ge *ge)
static void CI33(struct ge *ge)
static void CO41(struct ge *ge)
static void CO92(struct ge *ge)
static void CO13(struct ge *ge)
static void CI61(struct ge *ge)
static void CO10(struct ge *ge)
static void CO31(struct ge *ge)
static void CE05(struct ge *ge)
static void CU11(struct ge *ge)
static void CU03(struct ge *ge)
static void CE19(struct ge *ge)
static void CO93(struct ge *ge)
static void CI76(struct ge *ge)
static void CO95(struct ge *ge)
static void CI34(struct ge *ge)
static void CI16(struct ge *ge)
static void CI12(struct ge *ge)
static void CI78(struct ge *ge)
static void CI71(struct ge *ge)
static void CO02(struct ge *ge)
static void CU15(struct ge *ge)
static void CU04(struct ge *ge)
static void CI01(struct ge *ge)
void reader_send_tu10(struct ge *ge)
void connector_send_tu00(struct ge *ge, struct ge_connector *conn)
void reader_send_tu00(struct ge *ge)
uint16_t ACON
Stops on jump condition not verified.
uint16_t ACOV
Stops on jump condition verified.
struct ge_counting_network::cmds cmds
enum ge_knot_no::@0 force_mode
The entire state of the emulated system, including registers, memory, peripherals and timings.
uint8_t ALAM
Operator Call.
uint8_t AINI
Program Loading.
struct ge_connector ST4
The I/O interface for the ST4 connector.
uint8_t ALTO
Stops internal cycles.
uint16_t rPO
Program addresser.
uint8_t PIC1
Selection Channel 1.
uint8_t future_state
Future state.
uint8_t PODI
Slow delay line.
uint16_t rV1
Addresser for the first operand.
uint8_t rSO
Main sequencer.
uint16_t rRO
Multipurpose 8+1 bit register.
struct ge_counting_network counting_network
struct ge_console_switches console_switches
The current state of the console switches.
struct ge_connector ST3
The I/O interface for the ST3 connector.
uint8_t rL2
Auxiliary register.
uint8_t ffFI
Special conditions register 1.
uint8_t RC00
Asynchronous CPU Cycle Request.
uint8_t rRI
Photoprint register 8-bit register used to store the photodisc codes.
uint8_t PB06
Unconditionally stores L106.
uint8_t RC01
Asynchronous Channel 1 Cycle Request.
struct ge_knot_ni kNI
Knot driven by counting network, or by the UA to store the result of the operation.
uint8_t AVER
Jump Condition Verified.
uint8_t RAVI
VICU Support.
uint8_t RACI
Rejected Command.
uint16_t rV4
Addresser for external instructions using channel 2.
uint8_t RASI
Channel 1 in transfer.
uint16_t rL1
Length of the operand.
uint16_t rV2
Addresser for the second operand.
uint8_t RC02
Asynchronous Channel 2 Cycle Request.
uint8_t ADIR
Disable Step By Step.
uint8_t RIG1
End from controller 1.
uint8_t rSI
Peripheral unit sequencer.
uint8_t RC03
Asynchronous Channel 3 Cycle Request.
enum ge::@2 memory_command
uint8_t PB26
Stores L106 if channel 2 is selected.
uint16_t rL3
Length of operands involving channel 3.
uint8_t PB07
Unconditionally stores L106.
uint16_t rV3
Addresser for external instructions using channel 3.
uint8_t TO50_did_CI32_or_CI33
Workaround for pulse TO50.
uint8_t rFO
Current function code.