1
0
mirror of https://github.com/simh/simh.git synced 2026-02-15 04:06:59 +00:00

FRONTPANEL: General Enhancements

- added verification of the existence of simulator registers which they are referenced.
- sim_frontpanel API version checking to make sure that the invoking API and the simulator support the same capabilities.
- added the ability for a simulator to reference data in simh register data which is not in the set of registers defined in the default simh device (usually the CPU).
- added a simulator time reference relating to a set of register data which is provided.
- added example automatically creating a console terminal port from a simulator startup (front panel or not).
This commit is contained in:
Mark Pizzolato
2015-02-24 19:49:09 -08:00
parent 26ef9b566a
commit 059a54152a
4 changed files with 272 additions and 81 deletions

View File

@@ -49,9 +49,13 @@ extern "C" {
#include <stdlib.h>
#if !defined(__VAX) /* Supported platform */
#define SIM_FRONTPANEL_VERSION 1
/**
sim_panel_start_simulator A starts a simulatir with a particular
sim_panel_start_simulator A starts a simulator with a particular
configuration
sim_path the path to the simulator binary
@@ -114,18 +118,22 @@ sim_panel_destroy (PANEL *panel);
The registers that a particular frontpanel application mught need
access to are described by the application by calling:
sim_pabel_add_register
sim_panel_add_register
name the name the simulator knows this register by
size the size (in local storage) of the buffer which will
receive the data in the simulator's register
addr a pointer to the location of the buffer which will
be loaded with the data in the simulator's register
name the name the simulator knows this register by
device_name the device this register is part of. Defaults to
the device of the panel (in a device panel) or the
default device in the simulator (usually the CPU).
size the size (in local storage) of the buffer which will
receive the data in the simulator's register
addr a pointer to the location of the buffer which will
be loaded with the data in the simulator's register
*/
int
sim_panel_add_register (PANEL *panel,
const char *name,
const char *device_name,
size_t size,
void *addr);
@@ -150,13 +158,14 @@ sim_panel_add_register (PANEL *panel,
*/
int
sim_panel_get_registers (PANEL *panel);
sim_panel_get_registers (PANEL *panel, unsigned long long *simulation_time);
/**
*/
typedef void (*PANEL_DISPLAY_PCALLBACK)(PANEL *panel,
unsigned long long simulation_time,
void *context);
int
@@ -250,6 +259,8 @@ sim_panel_set_debug_mode (PANEL *panel, int debug_bits);
void
sim_panel_flush_debug (PANEL *panel);
#endif /* !defined(__VAX) */
#ifdef __cplusplus
}
#endif