#include <stdint.h>
#include <stddef.h>
#include <string.h>
#include <unistd.h>
#include "ge.h"
#include "signals.h"
#include "msl.h"
#include "console_socket.h"
#include "peripherical.h"
#include "log.h"
Go to the source code of this file.
◆ MAX_PROGRAM_STORAGE_WORDS
#define MAX_PROGRAM_STORAGE_WORDS 129 |
Definition at line 12 of file ge.c.
#define X |
( |
|
name | ) |
case name : return #name ; |
◆ connectors_first_clock()
void connectors_first_clock |
( |
struct ge * |
ge | ) |
|
Definition at line 240 of file ge.c.
◆ fsn_last_clock()
void fsn_last_clock |
( |
struct ge * |
ge | ) |
|
Commit the future state.
Transfers the results of the future state network in the various selectors. For now it's an ad hoc behaviour, not described in detail in the currently available docs.
Definition at line 248 of file ge.c.
◆ ge_clear()
void ge_clear |
( |
struct ge * |
ge | ) |
|
Emulate the press of the "clear" button in the console.
Definition at line 25 of file ge.c.
◆ ge_clock_increment()
void ge_clock_increment |
( |
struct ge * |
ge | ) |
|
Definition at line 160 of file ge.c.
◆ ge_clock_is_first()
uint8_t ge_clock_is_first |
( |
struct ge * |
ge | ) |
|
Definition at line 167 of file ge.c.
◆ ge_clock_is_last()
uint8_t ge_clock_is_last |
( |
struct ge * |
ge | ) |
|
Definition at line 172 of file ge.c.
◆ ge_clock_name()
const char* ge_clock_name |
( |
enum clock |
c | ) |
|
The clock period name name.
Returns the string destribing the clock period
Definition at line 120 of file ge.c.
◆ ge_deinit()
int ge_deinit |
( |
struct ge * |
ge | ) |
|
Deinitialize the emulator.
Definition at line 234 of file ge.c.
◆ ge_init()
void ge_init |
( |
struct ge * |
ge | ) |
|
Initialize the emulator.
Definition at line 14 of file ge.c.
◆ ge_load()
void ge_load |
( |
struct ge * |
ge | ) |
|
Emulate the press of the "load" button in the console.
Definition at line 62 of file ge.c.
◆ ge_load_1()
void ge_load_1 |
( |
struct ge * |
ge | ) |
|
Emulate the press of the "load 1" button in the console.
Definition at line 72 of file ge.c.
◆ ge_load_2()
void ge_load_2 |
( |
struct ge * |
ge | ) |
|
Emulate the press of the "load 2" button in the console.
Definition at line 89 of file ge.c.
◆ ge_load_program()
int ge_load_program |
( |
struct ge * |
ge, |
|
|
uint8_t * |
program, |
|
|
uint8_t |
size |
|
) |
| |
Copy a program at the start of memory.
Definition at line 49 of file ge.c.
◆ ge_print_registers_nonverbose()
void ge_print_registers_nonverbose |
( |
struct ge * |
ge | ) |
|
Definition at line 131 of file ge.c.
◆ ge_print_registers_verbose()
void ge_print_registers_verbose |
( |
struct ge * |
ge | ) |
|
Definition at line 143 of file ge.c.
◆ ge_print_well_known_states()
static void ge_print_well_known_states |
( |
uint8_t |
state | ) |
|
|
static |
Definition at line 103 of file ge.c.
◆ ge_run_cycle()
int ge_run_cycle |
( |
struct ge * |
ge | ) |
|
Run all GE "mastri" clock periods until next clock cycle.
Definition at line 223 of file ge.c.
◆ ge_run_pulse()
int ge_run_pulse |
( |
struct ge * |
ge | ) |
|
Run a single pulse (i.e. a single GE "mastri" clock periods)
Definition at line 177 of file ge.c.
◆ ge_start()
void ge_start |
( |
struct ge * |
ge | ) |
|
Emulate the press of the "start" button in the console.
Definition at line 94 of file ge.c.