Goals - BCL Molecular 18

BCL Molecular 18
Title
Go to content
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 Emulator

Building processor, 32k core memory, DD1600 disk drive as Unit 70
Loading core image
 Core image read from /home/steve/Documents/mollyimages/coreImage.txt
Loading default disk images
 70 Fixed master27
 70 removeable security26
Creating terminals and printers
 Adding 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/nnnn
 fc nnn        Dump one page to host disk from nnnnnn or nn/nnnn
 ac nnn        Amend  from nnnnnn or nn/nnnn
 cc            Clear  - no warnings
 sc 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 nnn
 fs nnn        Load/Amend sector
 cs nnn        Clear sector nnn
 ssec          Security Copy
Run:
 dp            Display processor state
 s             Display processor stats
 run nnn       Run from PC = nnnnnn or nn/nnnn
 b nnn         Set breakpoint at nnnnnn or nn/nnnn
 step nnn      SingleStep from PC=nnnnnn or nn/nnnn
 b             Boot LOS
 sop           Boot Special OP
 st            Boot single task
 t xxx           Trace On from nnn or nn/nnnn
 . Quit




(C) 2022 Kevin Murrell & The National Museum of Computing
Back to content