Tuesday, September 20, 2016

Cromemco XPU and Memory Upgrade



Subtitle: Hands On

A friend sent me a hard disk containing

Cromemco UNIX V.

I was very excited.


I should perhaps mention that this was an Operating System released in 1984 and so getting it working was and still is going to be a challenge.  In fact I am in the hands of fellow enthusiasts reading this article.


After connecting up the hard disk it was time to try a boot



First interact with the RDOS boot monitor

This reads a cromix.sys from the hard disk or in this case an 8" floppy disk.

For technical legacy reasons Cromemco Floppy disks contain a first track written in Single Density and the rest of the Floppy is in Double Density.

The Cromemco UNIX distribution is however on disks of Uniform 512 Bytes per sector Double Density.

To make a long story short the usual way to boot UNIX on a Cromemco System  is to boot Cromix  (from Floppy or Hard Disk) then use the boot.bin program to load uboot.sys and that will reboot into UNIX.   Sounds like a palava I know, but in 1984 or thereabouts this was really ahead of the times.

So I got this far and then nothing.

Whilst waiting for feedback from the Cromemco Google Group I thought the probable cause was either the CPU or Memory Sizing


The Memory and CPU Upgrade




Consult the Spare S100 bus cards store at home.



Initial great news is that the DPU card that I was running can be replaced with the faster XPU card. The Cromemco UNIX documentation only makes reference to the XPU processor so surely I need this




Good news #2.  I have a spare Dynamic Memory Card or two.  A number have 'faulty' written onto them so obviously this is not the time to recheck those.

One small issue:

The manual does not give me the Switch settings that I require to configure all the memory cards that I need to insert or reconfigure.


Old Skool Upgrading

It's worth pointing out that back in the day some Computer Skills might be taken for granted

- The ability to do basic Hexadecimal arithmetic
- A knowledge of the different between Bytes, KiloBytes, Megabytes and between Bits and Bytes
- The ability to actually open up a computer and change the necessary parts, without shorting something or blowing it up
- The stepwise methodical ability to take stuff apart, note what you did, & how you did it carefully, so you can reverse it and get everything back together
- The need for patience and beverages, usually coffee




 I made some hex calculations on the Dip Switch settings I would need for the Memory Cards


 Like a professional I thought I would label the base memory address in Hex on each memory card.


 I drank many cups of coffee and checked stuff




 Before



Some time later.  Completed.

Time to reconnect the power, Switch on and go back to Putty.



No Worky


Okay we have a reboot at least

 First the very good news

- It booted up into the Cromix Operating System without issue
- We now have an amazing 1792KB of memory.

This is amazing, because the same chassis and computer when first bought in about 1979 had a mere 16KB of memory installed and a single Z80 processor running at 4Mhz.

Now with the XPU processor card there is a Dual Motorola 68010 and Zilog Z80 B switchable processor pair.



And the memory thanks to cards like this 256KB Dynamic Memory card has lept upto over 1MB.

I think that is pretty amazing.

 On the downside the boot still fails.   I am gutted!

What can be wrong?



Still Wanted


So it transpires that I am still missing a vital XMM Hardware Memory Management Card.
Cromemco's signature Operating System of the day namely Cromix did not use Memory Management.  When you ran a program it loaded the whole program into memory, not just a part of it.  

Now their version of UNIX, obvious in retrospect, like all other UNIX I am aware of (well except IBM PC/IX) uses Hardware Memory Management and this needs the XMM card.

Ah, the benefit of hindsight.

So I can go no further on this UNIX boot until I can find, beg, borrow, buy a working Cromemco XMM card.  Anybody?





Introduction to UNIX for Cromemco Systems