I recently completed enough of a Control Data CDC-3300 / CDC-3500 simulator
that it's now capable of running an old timesharing system we used at
Oregon State up to 1980-something. The simulator is fast enough (on a
Pentium 233, no less) that I actually found a race-condition bug in the
operating system. Seemed that an interrupt was serviced "too quickly" and
caused a locking flag to get unset before the interrupt arming code could
get it set. Bad programming practice, it turned out, but an event that
could "never happen" on the original machine.
This is an important consideration when you develop simulators for old
machines - if the beast is too fast you may find you can't run your trusty
old RSX / ITS / Kronos / etc. It's a good idea (for complete legacy
compatibility) to have the ability to run the machine cycles as closely
as possible to those of the target machine configuration. This is definitely
*not* trivial for most machine architectures, since the timing in
*hardware* can
hard to emulate in *software*.
But it *is* fun to see this OS run at 5 to 10 times the speed we saw on our
$3 million computer system - using a "cheap asian clone" pentium board. The
whole computer costs little more than a few cases of line printer paper
for the original machine...
Of course, I would prefer to have the old 3300, but my garage ain't big
enough... And it's a *lot* cheaper running this simulator on about $5
per month of electricty rather than $x thousand per month Oregon State paid!
Later,
Gary
At 02:01 PM 9/22/98 -0700, you wrote:
We just to joke that Z80EMU on a Pentium was faster
than any Z80 processor
you could actually buy, I wonder if it wouldn't be feasible these days to
create a 38 pin I/O port and build an "ICE" in software...
--Chuck
...snip..