/* (c) 2021 Aaron Taylor <ataylor at subgeniuskitty dot com> */
/* See LICENSE.txt file for copyright and license details. */
#ifndef NEDSIM_SIMULATOR_H
#define NEDSIM_SIMULATOR_H
/* Syllables per word. */
/* Storage definitions. */
#define STACK_LENGTH 65536
#define RAM_LENGTH 67108864
#define RAM_BASE_ADDRESS 0x20000000
uint32_t stack
[STACK_LENGTH
];
/* Although NED is multi-threaded, this screensaver is restricted to a single thread. */
struct NEDthread
* thread
[1];
struct NEDthread
* active_thread
;
struct NEDstate
* init_simulator(char * input_file
);
struct NEDstate
* run_simulator(struct NEDstate
* state
);
uint32_t ram_r_word(struct NEDstate
* state
, uint32_t address
);