[Simh] Idle support for the 3B2 emulator

Seth Morabito web at loomcom.com
Sat Nov 18 13:28:26 EST 2017


Hi folks,

I'm currently working on adding CPU idle support for the 3B2 emulator,
but I may need some additional guidance.

The WE32100 CPU has a lovely WAIT instruction that pauses the CPU
until the next interrupt. It also has a main system timer that
interrupts once every 10ms, so idling should be trivial. But there's
one catch: The 10ms main system clock is programmable, and is started
by the UNIX kernel at boot time, not by hardware.  The clock is also
started and stopped with different frequencies a few times by system
tests in the ROM, adding some complexity.

I _think_ that the right thing to do, if hacky, is detect when the
clock is set to 100Hz (0x03e8 in the divider register) and only then
init the calibrated clock. Otherwise I have to deal with
re-initializing it every time it's started, and I don't know if that's
supported.

Is there a better strategy for this?

-Seth
-- 
Seth Morabito
web at loomcom.com


More information about the Simh mailing list