Writing emulators (was Re: VCF PNW 2018: Pictures!)

Seth J. Morabito web at loomcom.com
Wed Feb 21 13:32:29 CST 2018

Guy Sotomayor Jr via cctalk writes:

>> On Feb 21, 2018, at 10:59 AM, Paul Koning via cctalk <cctalk at classiccmp.org> wrote:
>> Caching doesn't change user-visible functionality, so I can't imagine
>> wanting to emulate that.  The same goes for certain error handling.
>> I've seen an emulator that included support for bad parity and the
>> instructions that control wrong-parity writing.  So you could run the
>> diagnostic that handles memory parity errors.  But that's a pretty
>> uncommon thing to do and I wouldn't bother.
> I disagree, especially if you’re using an emulator for development.
> Caching is one of those things that can go horribly wrong and not
> having them emulated properly (or at all) can lead to bugs/behaviors
> that are significantly different from real HW.

I'd like to echo this, depending on the caching and the behavior of the
system. In writing the 3B2/400 emulator, I was at first reluctant to
write an accurate emulation of the MMU cache, feeling it unnecessary.  I
very quickly learned that it was not only necessary, but essential to a
correctly running system. Moreover, it had to have the same caching
algorithm as the real hardware to get UNIX SVR3 running happily.

> TTFN - Guy

Seth Morabito
web at loomcom.com

More information about the cctalk mailing list