eM18 - The Molecular 18 Emulator
Not having a working M18 is a rotten shame, and not getting my act together in the late 1990s, means 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. Sadly on CDC Hawk and CDC Lark disk packs.
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:
Core:
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)
Disk:
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