Port of Paul Kimpel's B5500 emulator to Pascal, using threads for the separate subsystems. Master plus shadows for the disk, some of the peripherals replaceable dynamically e.g. the paper tape reader and writer. SPO on Telnet, /lots/ of debugging from the engineering console, and a dump of internal state to logic analyser files if needed.
I'm /very/ slowly zeroing in on a race condition caused by the multithreaded implementation (i.e. probably reflects something that wouldn't happen in Paul's single-threaded Javascript), if I can fix that and tidy up some peripheral weaknesses I'll hopefully learn enough to be able to recompile the MCP and then finish off the FPM so I can cluster several systems.
Part of the significance of this is that it's obviously the machine Wirth used at Stanford. I'd quite like to have it running next to a Hercules-based VM system: that would be a bit of an historical liberty since Stanford ran OS/360 after McCarthy gave Burroughs the boot, but being able to exchange (files representing) tapes etc. would be satisfying and the two OSes- MCP and VM- are probably the most significant ever.
I was assuming you were from the IBM tradition with your file-level naming...
MarkMLl