Friday, March 07, 2014

Running Cromemco Cromix inside a Z80 Windows Simulator

In 1981 Cromemco Cromix was the only /UNIX like/ Personal Computer Multi Tasking Operating System around on the planet.

It ran an on a 4Mhz Zilog Z80 Processor !

I had the pleasure of using and developing under Cromix on that auspicious day, now using the remarkable ZEMU Zilog Z80 software and Hardware simulator you too can have the pleasure.

All the versions of Cromix are available on our website however 10.90 and 11.05 have not been made to work with the ZEMU emulator yet.

I recommend that you use the last published and most developed version which is 11.27 and the instructions below use this version.

For the record.  The images you will unpack into C:\emulator\DiskImages\CROMIX, are diskettes 512 to 516 for versions 11.16 11.22 11.24 11.26 11.27 work correctly.

The best way to get started is to follow instructions to the letter.  [If that does not work I will be most embarrassed and should be emailed to fix].

Then when you are comfortable you could experiment further.

Are you sitting comfortably?
Then let us begin

Setup noticed it was about to overwrite some Microsoft libraries with older binaries so I said KEEP existing binaries (i.e. don't overwrite) when prompted.

  • Now the ZEMU code is installed. I am using version 1.0.32
  • Unrar  latest.cromemco.rar file into c:\emulator

All the files you will reference from now on are within c:\emulator

  • Start Emulator Program  i.e. the ZEMU emulator you installed from the Start menu (don't press Run yet)

  • Load Cromemco RDOS (Resident Disk Operating System) monitor, version 03.12 from C:\emulator\RDOS\rdos312.hex

I only have an early RDOS manual.  It is here

  • Load I/O Port ReMap   Cromix.iom

  • File, Load Interrupt Assignment,   FDCTUART.ida

  • File, Load Interrupt Reset values,  Fdc8080TuartZ80.irs

  • Devices, Generic Devices,  CRT TTY0 check

  • Terminal, Abilities, Load, Cromemco

The manual for the Cromemco C3102 Terminal is here From page 32 of the manual you will see that ESCape codes control screen movement functions.  For example if the terminal receives the 2 character sequence ESCape H, the cursor moves to the top left HOME position.

These and other definitions are in the .tab file.

  • Disks B: c:\emulator\DiskImages\CROMIX\516C1127.DSK

Since .dsk is a raw unstructured file containing only sector data we need to map a format onto it.

  • Disk Drive Properties A: , File, Load Format, CLDSDDST.fmt

  • Goto  (C000).  That means start the processor and execute a jump instruction  (C3 of course!) to memory location hexadecimal 0xC000

  • Prompt RDOS 03.12 monitor prompt displayed
We then used the tz command to test that diskette B is really readable and seekable.

  • Now boot the Large 8" diskette in drive B  (fdb) so that is option 1, then another option 1

Cromix should boot!

From 2014, you now jump back to a bright summers day in 1983 or thereabouts.

Try this command

find / -type f -a -print

Finally shutdown the system correctly with a kill -2 1 command


Download the Z80 Cromix Instruction Manual

Read chapter 2: Basic Commands and Utilities.  Startup the emulator again, and try some commands

Thanks for reading.

Z80 Cromix Command Reference
ZEMU Emulator
Cromemco Disks Directory  (use disk 511-520 .DSK)
Master Diskette Catalog File