mirror of
https://github.com/simh/simh.git
synced 2026-02-07 16:52:20 +00:00
FRONTPANEL: sim_frontpanel API version 4 release
Add simulator side register bit sampling with averaged sample values delivered across the API at specified rates.
This commit is contained in:
@@ -59,6 +59,10 @@ const char *sim_config =
|
||||
unsigned int PC, SP, FP, AP, PSL, R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, atPC;
|
||||
unsigned int PCQ[32];
|
||||
|
||||
int PSL_bits[32];
|
||||
int PC_bits[32];
|
||||
int PC_indirect_bits[32];
|
||||
|
||||
int update_display = 1;
|
||||
|
||||
static void
|
||||
@@ -357,6 +361,35 @@ if (sim_panel_break_output_set (panel, "-P \"Device? [XQA0]: \"")) {
|
||||
printf ("Unexpected error establishing an output breakpoint: %s\n", sim_panel_get_error());
|
||||
goto Done;
|
||||
}
|
||||
if (!sim_panel_set_sampling_parameters (panel, 0, 199)) {
|
||||
printf ("Unexpected success setting sampling parameters to 0, 199\n");
|
||||
goto Done;
|
||||
}
|
||||
if (!sim_panel_set_sampling_parameters (panel, 199, 0)) {
|
||||
printf ("Unexpected success setting sampling parameters to 199, 0\n");
|
||||
goto Done;
|
||||
}
|
||||
if (!sim_panel_add_register_bits (panel, "PSL", NULL, 32, PSL_bits)) {
|
||||
printf ("Unexpected success setting PSL bits before setting sampling parameters\n");
|
||||
goto Done;
|
||||
}
|
||||
if (sim_panel_set_sampling_parameters (panel, 500, 100)) {
|
||||
printf ("Unexpected error setting sampling parameters to 200, 100: %s\n", sim_panel_get_error());
|
||||
goto Done;
|
||||
}
|
||||
if (sim_panel_add_register_indirect_bits (panel, "PC", NULL, 32, PC_indirect_bits)) {
|
||||
printf ("Error adding register 'PSL' bits: %s\n", sim_panel_get_error());
|
||||
goto Done;
|
||||
}
|
||||
if (sim_panel_add_register_bits (panel, "PSL", NULL, 32, PSL_bits)) {
|
||||
printf ("Error adding register 'PSL' bits: %s\n", sim_panel_get_error());
|
||||
goto Done;
|
||||
}
|
||||
if (sim_panel_add_register_bits (panel, "PC", NULL, 32, PC_bits)) {
|
||||
printf ("Error adding register 'PSL' bits: %s\n", sim_panel_get_error());
|
||||
goto Done;
|
||||
}
|
||||
|
||||
sim_panel_clear_error ();
|
||||
while (1) {
|
||||
size_t i;
|
||||
|
||||
Reference in New Issue
Block a user