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

Peter Coghlan cctalk at beyondthepale.ie
Thu Feb 22 04:54:40 CST 2018

Guy Sotomayor Jr wrote:
>> On Feb 21, 2018, at 12:19 PM, Rich Alderson via cctalk <cctalk at classiccmp.org> wrote:
>> From: Guy Sotomayor Jr
>> Sent: Wednesday, February 21, 2018 11:24 AM
>>>> On Feb 21, 2018, at 10:59 AM, Paul Koning via cctalk <cctalk at classiccmp.org>
>>>> wrote:
>>>> Typically you'd emulate the I/O device functionality, regardless of whether
>>>> that is implemented in gates or in co-processor firmware.  That's the
>>>> approach taken with the MSCP I/O device emulation in SIMH, or the disk
>>>> controller emulation in the CDC 6000 emulator DtCyber.
>>> It’s also what’s done in Hercules (S/370, 370/XA, 390, Z simulator) and the
>>> mainframe I/O is complex to say the least.
>> Also the method used by the KLH10 emulator (KS-10, KS-10/ITS microcode, KL-10).
>> There, each device type runs in a separate fork, using System V style memory
>> mapping.  This of course means that it only runs under certain Unix variants.
> I haven’t looked at KLH10 in a long time, but Hercules runs on a lot of different platforms
> including Windows (and I would not call that a Unix variant by any stretch of the imagination).

Hercules uses posix threads, not forks, however, each device does not necessarily
get it's own thread.  It's pretty portable stuff though.  With very few tweaks,
I run it on VMS.

Peter Coghlan.

> TTFN - Guy

More information about the cctalk mailing list