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.

Versions
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.


Approach
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 C3102.tab

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



HomeWork

Download the Z80 Cromix Instruction Manual

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


Thanks for reading.




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