Retro Challenge 2017/4 – ICE ICE Maybe

I decided the easiest thing to tackle first would be the three ICE (In-Circuit Emulators) as they’re quite bulky things to get out of the way early.  There are two non-identical versions of the same model Adtek ICE Engine BX and a Zax ICD278 – all with manuals!

Although they all have PAT stickers on to indicate they were tested safe in 2001/2002, before plugging anything in I wanted to check inside for bulging capacitors, leaky batteries or any metal debris that might be floating around inside.  Also, I wanted to know what was actually in these machines!

Inside the ICE Engine Bx is quite full.  This unit is not only an ICE but also an EPROM programmer and a UV EPROM eraser too!  The bulk of it is made up of 3 boards with off the shelf logic, all connected to a backplane.  One of them had a 3 slot backplane the other had a 4 slot one, with one empty slot

Everything looked in order on both machines.  Even the rechargable battery on one of the boards was fine and showed no signs of leakage and all the caps were visually ok.

According to the manual, these could be connected to a CP/M machine running their software (which I did not have) or used with a dumb terminal.  The terminal options looked like the easy option, so I figured I’d give it a go with PuTTY running my Linux desktop

Sadly, no combination of serial cables, baud rates, ports, with or without the probe* gave any joy.  The units both powered up and the lights came on, but I just couldn’t get anything coming out of the serial port.

* The probe needs two 60 pin ribbon cables – which I don’t have.  The unit should work without (and should report ‘No probe connected’ if used for debugging.)  If I used 40 way cables, though, the lights came on – but still nothing on the serial port.

I wondered if all of the cables and adapters I had were faulty, but figured that plugging in the Zax ICD278 couldn’t make things any worse

But it turns out that this sprang in to life with some console messages straight away!  I hadn’t opened this one up to check the caps or battery, and I hadn’t looked through the manual at all, but it seemed to work and typing random commands seemed to do things.  Typing a R for example showed the current state of all Z80 registers.  So, it was worth reading the manual and trying things out

One of the first things I learned is that the manual isn’t for a Zax ICD278, but for a Zax ERX 64180 (well, ok, I could have just read what was written on the cover!).  Some of the instructions worked though, so, for example, DI 100,120 would show a disassembly of the code from 0x0100 to 0x0120.  However, a lot of things didn’t work, so I needed to find out what I needed to do.

Luckily, some kind soul had already scanned the manual and uploaded it to Archive.org :-)

So, with a little bit of knowledge, it was time to plug this in to a Z80 machine and test it out.  By an amazing twist of fate, I happened to have a RC2014 to hand, so I whipped the CPU out and plugged in the long dangly attached to the Zax.

It turns out to work great, and in no time at all I was able to type in Z80 assembly code, list it out, and execute just that bit of code!  This is just a tiny fraction of what this machine is capable of though, and the amount of options for break points, tracing, history and register manipulation is probably beyond what I will ever need or understand, but I can already see a lot of instances where this will save me burning many many many ROMs!

However, I had already violated my initial rule – Don’t plug things in until after you’ve taken them apart.  So, time to hit it with screwdrivers to check the innards are visually ok

Apart from a bit of dust and grime, it all looked pretty good inside.  It’s nowhere nearly as complex as the ICE Engine BXs are, but there’s still a lot packed inside.  However, I’m happy that this will be a regular tool in my arsenal against Z80 programming.

As for the ICE Engine BXs – I honestly believe that they both work, but I either don’t have the right cables, or just don’t know what I am doing.  (Probably both actually).  It might even be as easy as leaving them plugged in long enough to recharge the internal battery.  I don’t know.  Yet.  I will revisit them again in the future, but for RC2017/4, I have ticked them off of the list for now.