1
0
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:
Mark Pizzolato
2015-02-12 14:59:24 -08:00
parent 9accae5905
commit 4c8e1631b5
4 changed files with 274 additions and 93 deletions

View File

@@ -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