mirror of
https://github.com/simh/simh.git
synced 2026-04-16 00:21:35 +00:00
FRONTPANEL: Cleanup for building as C++. Add initial support for device panels concurrently on a simulator. Added an API to set a register value.
This commit is contained in:
@@ -40,22 +40,19 @@ extern "C" {
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
typedef enum {
|
||||
Halt,
|
||||
Run
|
||||
} OperationalState;
|
||||
|
||||
typedef struct sim_frontpanel PANEL;
|
||||
|
||||
typedef void (*PANEL_DISPLAY_PCALLBACK)(PANEL *panel,
|
||||
void *context);
|
||||
typedef struct PANEL PANEL;
|
||||
|
||||
PANEL *
|
||||
sim_panel_start_simulator (const char *sim_path,
|
||||
const char *sim_config);
|
||||
const char *sim_config,
|
||||
size_t device_panel_count);
|
||||
|
||||
PANEL *
|
||||
sim_panel_add_device_panel (PANEL *simulator_panel,
|
||||
const char *device_name);
|
||||
|
||||
int
|
||||
sim_panel_stop_simulator (PANEL *panel);
|
||||
sim_panel_destroy (PANEL *panel);
|
||||
|
||||
int
|
||||
sim_panel_add_register (PANEL *panel,
|
||||
@@ -66,6 +63,9 @@ sim_panel_add_register (PANEL *panel,
|
||||
int
|
||||
sim_panel_get_registers (PANEL *panel);
|
||||
|
||||
typedef void (*PANEL_DISPLAY_PCALLBACK)(PANEL *panel,
|
||||
void *context);
|
||||
|
||||
int
|
||||
sim_panel_set_display_callback (PANEL *panel,
|
||||
PANEL_DISPLAY_PCALLBACK callback,
|
||||
@@ -84,12 +84,21 @@ sim_panel_exec_run (PANEL *panel);
|
||||
int
|
||||
sim_panel_exec_step (PANEL *panel);
|
||||
|
||||
int
|
||||
sim_panel_set_register_value (PANEL *panel,
|
||||
const char *name,
|
||||
const char *value);
|
||||
|
||||
typedef enum {
|
||||
Halt,
|
||||
Run
|
||||
} OperationalState;
|
||||
|
||||
OperationalState
|
||||
sim_panel_get_state (PANEL *panel);
|
||||
|
||||
const char *sim_panel_get_error (void);
|
||||
void sim_panel_clear_error (void);
|
||||
void sim_panel_set_error (const char *fmt, ...);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
Reference in New Issue
Block a user