From 724b23844c321275998e9b927a3865073bdd9792 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Tue, 31 Jan 2017 18:15:38 -0800 Subject: [PATCH] VAX730, VAX750, VAX780, VAX8600: Fix rounding with interval timer tick rate As discussed in #390 --- VAX/vax730_stddev.c | 2 +- VAX/vax750_stddev.c | 2 +- VAX/vax780_stddev.c | 2 +- VAX/vax860_stddev.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/VAX/vax730_stddev.c b/VAX/vax730_stddev.c index b12f59fa..cf810dc5 100644 --- a/VAX/vax730_stddev.c +++ b/VAX/vax730_stddev.c @@ -762,7 +762,7 @@ void tmr_sched (uint32 nicr) { uint32 usecs = (nicr) ? (~nicr + 1) : 0xFFFFFFFF; -clk_tps = 1000000 / usecs; +clk_tps = (int32)((1000000.0 / usecs) + 0.5); sim_debug (TMR_DB_SCHED, &tmr_dev, "tmr_sched(nicr=0x%08X-usecs=0x%08X) - tps=%d\n", nicr, usecs, clk_tps); tmr_poll = sim_rtcn_calb (clk_tps, TMR_CLK); diff --git a/VAX/vax750_stddev.c b/VAX/vax750_stddev.c index 799765bb..d5715e08 100644 --- a/VAX/vax750_stddev.c +++ b/VAX/vax750_stddev.c @@ -758,7 +758,7 @@ void tmr_sched (uint32 nicr) { uint32 usecs = (nicr) ? (~nicr + 1) : 0xFFFFFFFF; -clk_tps = 1000000 / usecs; +clk_tps = (int32)((1000000.0 / usecs) + 0.5); sim_debug (TMR_DB_SCHED, &tmr_dev, "tmr_sched(nicr=0x%08X-usecs=0x%08X) - tps=%d\n", nicr, usecs, clk_tps); tmr_poll = sim_rtcn_calb (clk_tps, TMR_CLK); diff --git a/VAX/vax780_stddev.c b/VAX/vax780_stddev.c index c610ef7d..6bcc759d 100644 --- a/VAX/vax780_stddev.c +++ b/VAX/vax780_stddev.c @@ -728,7 +728,7 @@ void tmr_sched (uint32 nicr) { uint32 usecs = (nicr) ? (~nicr + 1) : 0xFFFFFFFF; -clk_tps = 1000000 / usecs; +clk_tps = (int32)((1000000.0 / usecs) + 0.5); sim_debug (TMR_DB_SCHED, &tmr_dev, "tmr_sched(nicr=0x%08X-usecs=0x%08X) - tps=%d\n", nicr, usecs, clk_tps); tmr_poll = sim_rtcn_calb (clk_tps, TMR_CLK); diff --git a/VAX/vax860_stddev.c b/VAX/vax860_stddev.c index 7627c7cb..93c6345c 100644 --- a/VAX/vax860_stddev.c +++ b/VAX/vax860_stddev.c @@ -863,7 +863,7 @@ void tmr_sched (uint32 nicr) { uint32 usecs = (nicr) ? (~nicr + 1) : 0xFFFFFFFF; -clk_tps = 1000000 / usecs; +clk_tps = (int32)((1000000.0 / usecs) + 0.5); sim_debug (TMR_DB_SCHED, &tmr_dev, "tmr_sched(nicr=0x%08X-usecs=0x%08X) - tps=%d\n", nicr, usecs, clk_tps); tmr_poll = sim_rtcn_calb (clk_tps, TMR_CLK);