1
0
mirror of https://github.com/rcornwell/sims.git synced 2026-02-27 00:59:57 +00:00

SCP: Updated to current.

This commit is contained in:
Richard Cornwell
2020-11-19 08:26:08 -05:00
parent 2bbbbade9b
commit 22f7e1e8d0
3 changed files with 14 additions and 5 deletions

10
scp.c
View File

@@ -2996,6 +2996,13 @@ while (stat != SCPE_EXIT) { /* in case exit */
if (stat >= SCPE_BASE) /* error? */
sim_printf ("%s\n", sim_error_text (stat));
}
if ((sim_on_check[sim_do_depth]) &&
(stat != SCPE_OK)) {
if ((stat <= SCPE_MAX_ERR) && sim_on_actions[sim_do_depth][stat])
sim_brk_setact (sim_on_actions[sim_do_depth][stat]);
else
sim_brk_setact (sim_on_actions[sim_do_depth][0]);
}
if (sim_vm_post != NULL)
(*sim_vm_post) (TRUE);
} /* end while */
@@ -4007,8 +4014,7 @@ do {
stat = SCPE_OK; /* so adjust it to SCPE_OK */
if (staying &&
(sim_on_check[sim_do_depth]) &&
(stat != SCPE_OK) &&
(stat != SCPE_STEP)) {
(stat != SCPE_OK)) {
if ((stat <= SCPE_MAX_ERR) && sim_on_actions[sim_do_depth][stat])
sim_brk_setact (sim_on_actions[sim_do_depth][stat]);
else

View File

@@ -3457,10 +3457,12 @@ while (*cmd)
exdep_cmd (EX_D, *(cmd++));
sim_switches = saved_switches;
sim_cancel (&SIM_INTERNAL_UNIT);
sim_activate (&precalib_unit, sim_precalibrate_ips);
start = sim_os_msec();
sim_instr();
end = sim_os_msec();
do {
sim_activate (&precalib_unit, sim_precalibrate_ips);
sim_instr();
end = sim_os_msec();
} while ((end - start) < SIM_PRE_CALIBRATE_MIN_MS);
sim_precalibrate_ips = (int32)(1000.0 * (sim_precalibrate_ips / (double)(end - start)));
for (tmr=0; tmr<=SIM_NTIMERS; tmr++) {

View File

@@ -78,6 +78,7 @@ int clock_gettime(int clock_id, struct timespec *tp);
#define SIM_INITIAL_IPS 5000000 /* uncalibrated assumption */
/* about instructions per second */
#define SIM_PRE_CALIBRATE_MIN_MS 100 /* minimum time to run precalibration activities */
#define SIM_IDLE_CAL 10 /* ms to calibrate */
#define SIM_IDLE_STMIN 2 /* min sec for stability */