From 1c589030ae29107df9e51a699cfe419eed5eaf1d Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Mon, 23 Mar 2020 07:48:45 -0700 Subject: [PATCH] TIMER: Provide a means for VM to indicate its expected calibration rate As reported and discussed in #817 This allows RUNLIMIT to provide useful results on fast or slow host systems. --- PDP10/kx10_cpu.c | 1 + PDP10/pdp10_cpu.c | 1 + PDP8/pdp8_cpu.c | 9 ++++++--- VAX/vax_cpu.c | 1 + doc/simh.doc | Bin 291328 -> 287744 bytes scp.h | 1 + sim_timer.c | 6 ++++-- 7 files changed, 14 insertions(+), 5 deletions(-) diff --git a/PDP10/kx10_cpu.c b/PDP10/kx10_cpu.c index 0c2f5567..a9f3ec1d 100644 --- a/PDP10/kx10_cpu.c +++ b/PDP10/kx10_cpu.c @@ -10108,6 +10108,7 @@ for(i=0; i < 128; dev_irq[i++] = 0); sim_brk_types = SWMASK('E') | SWMASK('W') | SWMASK('R'); sim_brk_dflt = SWMASK ('E'); sim_clock_precalibrate_commands = pdp10_clock_precalibrate_commands; +sim_vm_initial_ips = 4 * SIM_INITIAL_IPS; sim_rtcn_init_unit (&cpu_unit[0], cpu_unit[0].wait, TMR_RTC); sim_activate(&cpu_unit[0], 10000); #if MPX_DEV diff --git a/PDP10/pdp10_cpu.c b/PDP10/pdp10_cpu.c index a37c8070..667199e2 100644 --- a/PDP10/pdp10_cpu.c +++ b/PDP10/pdp10_cpu.c @@ -2380,6 +2380,7 @@ if (M == NULL) sim_vm_pc_value = &pdp10_pc_value; sim_vm_is_subroutine_call = &cpu_is_pc_a_subroutine_call; sim_clock_precalibrate_commands = pdp10_clock_precalibrate_commands; +sim_vm_initial_ips = 2 * SIM_INITIAL_IPS; pcq_r = find_reg ("PCQ", NULL, dptr); if (pcq_r) pcq_r->qptr = 0; diff --git a/PDP8/pdp8_cpu.c b/PDP8/pdp8_cpu.c index 30782b78..3b1990df 100644 --- a/PDP8/pdp8_cpu.c +++ b/PDP8/pdp8_cpu.c @@ -1378,9 +1378,11 @@ return reason; */ static const char *pdp8_clock_precalibrate_commands[] = { - "-m 100 ISZ 110", - "-m 101 JMP 100", - "-m 102 JMP 100", + "106 100" + "-m 100 MQL MQA" + "-m 101 ISZ 112", + "-m 102 JMP I 106", + "-m 103 JMP I 106", "PC 100", NULL}; @@ -1398,6 +1400,7 @@ if (pcq_r) else return SCPE_IERR; sim_clock_precalibrate_commands = pdp8_clock_precalibrate_commands; +sim_vm_initial_ips = 10 * SIM_INITIAL_IPS; sim_brk_types = SWMASK ('E') | SWMASK('I'); sim_brk_dflt = SWMASK ('E'); return SCPE_OK; diff --git a/VAX/vax_cpu.c b/VAX/vax_cpu.c index 125d8475..b68cc72e 100644 --- a/VAX/vax_cpu.c +++ b/VAX/vax_cpu.c @@ -3319,6 +3319,7 @@ if (M == NULL) { /* first time init? */ sim_brk_types = sim_brk_dflt = SWMASK ('E'); sim_vm_is_subroutine_call = cpu_is_pc_a_subroutine_call; sim_clock_precalibrate_commands = vax_clock_precalibrate_commands; + sim_vm_initial_ips = SIM_INITIAL_IPS; pcq_r = find_reg ("PCQ", NULL, dptr); if (pcq_r == NULL) return SCPE_IERR; diff --git a/doc/simh.doc b/doc/simh.doc index 725ff299869f8aa7b7e9d2bf3d3580ed25498c37..b3aa2fca7e9cf0a1d3e85cce48ede22c8e67dff9 100644 GIT binary patch delta 36481 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 delta 38627 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 prompt */ @@ -3471,7 +3473,7 @@ sim_idle_stable = 0; double sim_host_speed_factor (void) { -if (sim_precalibrate_ips > SIM_INITIAL_IPS) +if (sim_precalibrate_ips > sim_vm_initial_ips) return 1.0; -return (double)SIM_INITIAL_IPS / (double)sim_precalibrate_ips; +return (double)sim_vm_initial_ips / (double)sim_precalibrate_ips; }