eM18 - The Molecular 18 Emulator
Not having a working M18 is a rotten shame, and not getting my act together in the late 1990s I didn't hover a few machines up! We do have a Mk V and a Distributor at the museum, and I am hopeful we might get one working. We do have the OS and Application disks thankfully.
So, in the mean time let's write an emulator. (There is a rich history of writing emulators for historic machines - simh being the most famous).
eM18 is written in simple plain C code. I am not sure what it will run on finally, but it runs well on my development machine and on a tiny (and cheap) Raspberry Pi.
On starting the emulator:
Molecular 18 EmulatorBuilding processor, 32k core memory, DD1600 disk drive as Unit 70Loading core imageCore image read from /home/steve/Documents/mollyimages/coreImage.txtLoading default disk images70 Fixed master2770 removeable security26Creating terminals and printersAdding Terminal - /dev/ttyUSB0 - device 50/40... connected>In the settings file, we specify 32K Words of core and a DD1600 drive with two surfaces at dev 70.Again in the settings file, device 50/50 is mapped to a serial port.
This is the help screen:
dc nnn Display core from nnnnnn or nn/nnnnfc nnn Dump one page to host disk from nnnnnn or nn/nnnnac nnn Amend from nnnnnn or nn/nnnncc Clear - no warningssc ad sc Save core from ad (address) to sc (sector)lc ad sc Load core from sc (sector) to ad (address)
ds nnn Display sector nnnfs nnn Load/Amend sectorcs nnn Clear sector nnnssec Security Copy
Run:dp Display processor states Display processor statsrun nnn Run from PC = nnnnnn or nn/nnnnb nnn Set breakpoint at nnnnnn or nn/nnnnstep nnn SingleStep from PC=nnnnnn or nn/nnnnb Boot LOSsop Boot Special OPst Boot single task
t xxx Trace On from nnn or nn/nnnn. Quit