Mega 2560 used to debug a 1978 S-100 Z80 system

I thought I would share this little project with you to show how useful the Arduino can be to quickly solve problems.

I picked up this S-100 computer system (Z80 CPU) earlier this year in a non-working state. it comprises the following S-100 cards:

1 x Z80 Master CPU card running at 2Mhz
1 x Video card with composite output (memory mapped)
4 x 16kB SRAM boards for a total of 64kB
1 x VersaFloppy controller card
1 x Cassette interface

The system did not run at all and I was going around in circles trying to find the issue(s). So I stood back and thought if I could test each card individually then that would be more logical, and right I was just about every card had at least one fault!

So my plan was to use a blank S-100 card that I had to build a test CPU to enable testing of the memory cards and video output card. The video output card is memory mapped, so writing to memory locations would create a "test image". Doing so I managed to repair the video card quickly and move onto the 4 SRAM cards, which each had faulty chips. A total of 128 memory chips are used across the four boards so a few dud chips are to be expected considering their age!

Once I had validated the VDU and SRAM cards I removed my test Arduino CPU card and refitted the original Z80 CPU card which was amazingly easy to get going now with all other cards working. Turns out the monitor ROM had been plugged in the wrong way around! Reversing the ROM left me with a working S-100 system and a flood of memories of my early computing years.

I used the Mega 2560 to drive the data and address busses and the various S-100 control signals. The sketch provided a familiar looking monitor program that I knocked up over a couple of evenings. This monitor allows me to read and write memory locations and to test specific blocks of memory using various bit patterns. Simples. If anyone wants the code, I can post it up also.

A few more pics.

Man that takes me back, I love that stuff, those were the days, when men were men (and had to be to lift a computer :)).

I've written a few monitors over the years, even did one for the AVR not that long ago.


Rob

Graynomad:
Man that takes me back, I love that stuff, those were the days, when men were men (and had to be to lift a computer :)).

I've written a few monitors over the years, even did one for the AVR not that long ago.


Rob

Thanks Rob.

The irony is the power of the Arduino Mega compared with this Z80 system.... All in a single chip!

I cut my teeth on Z80 assembler and for years I've though of building a retro board with all my old favourites, CPU, PIO, SIO, CTC, etc. It would be a lot of fun but really, why bother...still the idea appeals all the same.


Rob

Graynomad:
I cut my teeth on Z80 assembler and for years I've though of building a retro board with all my old favourites, CPU, PIO, SIO, CTC, etc. It would be a lot of fun but really, why bother...still the idea appeals all the same.


Rob

Same here, Z80 assembler is how I started out. I designed an all in one embedded board that I used in a few projects. Love the Z80 instruction set. I have written multiply and divide libraries too.

dnar:
Same here, Z80 assembler is how I started out. I designed an all in one embedded board that I used in a few projects. Love the Z80 instruction set. I have written multiply and divide libraries too.

Though I started on the Z80 my favourite CPU has to be the Motorola MC68000

Man I used to drule over the 68k data sheet, and that "aircraft carrier" package, they don't make 'em like that any more :frowning:

I had a product on the market using a Z8, that was a real nice controller. And then another with the 64180, now that was a Z80 on steroids.

Oh well, time passes. I'm currently working with the LPC1549, what a weapon and TBH I can't see myself going back to a Z80 even as a trip down memory lane. The only problem with the new chips is that by the time I get proficient with one it's out of date. :slight_smile:


Rob

dnar, your pics have disappeared (courtesy of the recent forum upgrade I guess), any chance you can repost them?


Rob

Graynomad:
dnar, your pics have disappeared (courtesy of the recent forum upgrade I guess), any chance you can repost them?


Rob

They are visible to me. Fixed?

Thanks, I had a mate who was interested in seeing them.


Rob

Hi Guys,
I have a similar romantic (as I just love those 70-ish things) aspiration to rebuild a SYM-1 (sorry guys, but 6502 is a grandparent of ARM :slight_smile: ). It is a slightly later system than the S-100 bus & 8080 processors (ie one self contained board, good built in software, and plenty of I/O, sort of like an Arduino grand parent really). I have (re-)acquired a SYM-1 board courtesy the Internet and 2 of 32k by 8bit chips to fully populate the memory space. I also intend to use the Arduino products to emulate the audio cassette interface to the original board, as I no longer have a working cassette player/recorder (what a surprise!!). I am tempted to do the TTY interface as well through an Arduino Mega + touch screen etc. Using a modern FTDI chip I will having it with a a USB interface as well. However I am held up with a huge technological hurdle haha, that is 22pin two way connectors at 0.156" spacing to do my memory expansion etc(I have ordered them but they are on a "Slow Boat from China" somewhere). I love the challenge of then having my SYM-1 hand crafted assembler ending up on a 4Gig SD card courtesy Arduino technology.

Great post...dnar

Cheers, Rob

Nice. I have been pondering an emulated cass interface too, by modifying the monitor rom casette read and write handlers to use zmodem....

FYI that S-100 system is based on the DG640 Z80 card, 640 VDU card as designed and built by Applied Technology here in Australia. In fact this board set was the precursor to the first Microbee home computer that is now legendary.

robwlakes:
Hi Guys,
I have a similar romantic (as I just love those 70-ish things) aspiration to rebuild a SYM-1 (sorry guys, but 6502 is a grandparent of ARM :slight_smile: ). It is a slightly later system than the S-100 bus & 8080 processors (ie one self contained board, good built in software, and plenty of I/O, sort of like an Arduino grand parent really). I have (re-)acquired a SYM-1 board courtesy the Internet and 2 of 32k by 8bit chips to fully populate the memory space. I also intend to use the Arduino products to emulate the audio cassette interface to the original board, as I no longer have a working cassette player/recorder (what a surprise!!). I am tempted to do the TTY interface as well through an Arduino Mega + touch screen etc. Using a modern FTDI chip I will having it with a a USB interface as well. However I am held up with a huge technological hurdle haha, that is 22pin two way connectors at 0.156" spacing to do my memory expansion etc(I have ordered them but they are on a "Slow Boat from China" somewhere). I love the challenge of then having my SYM-1 hand crafted assembler ending up on a 4Gig SD card courtesy Arduino technology.

Great post...dnar

Cheers, Rob

I remember AT, and of course the Microbee. I did a commercial product based on the uBee, all in Z80 assembler. and also an extension board with SIO/MAX232 (so it has a real serial port) and PIO plus EPROMs for several programs.

Did you know the Microbee has been resurrected?

http://www.microbeetechnology.com.au/premiumpluskit.htm

Where in Oz are you dnar?


Rob

Thanks for the article and pics dnar, brings back many memories, of the 1Kx 1bit sort :slight_smile:

I couldn't pick what sort of system that was, but I did a bit on Cromenco S100 systems back in the 80's.
Cromemco - Wiki.

Like Rob said, in those days, men were men, and I mention to him the other day that I recall flying into Melbroune with my work colleage to pick up a S100 system built out in Box Hill area in east Melbourne. I mean, we physically needed both of us to carry the darn thing. It sat on the seat next to me on the flight back home, it was considered that precious.

Ah, Microbee's, again, many years these things were part of my staple diet.
I once repaired a Microbee for a chap (Head of Library Services at the Tas Uni, called TSIT in those days) and in return was offered a quality vintage port. That bottle of port has travelled around dusty Australia with me. Two weeks ago I decide to give this 30 year plus botle of vintage port to a family member. I best go round there to try it I guess :-[

Those sure were the days when you could see the pins on chips and count them.
I did a bit of S100 wire-wrapping back then as well, and these things were works of art with dedicated colours for each of the buses, data, address and control. Also some custom Z80 boards during my work at the Australian Maritime College here in Launceston.

Ah, well, back to today's reality I guess.
You did an outstanding job at getting that beast to work dnar.
Yeah, where abouts in Aus are you?


Paul

Hi guys, thanks for your comments.

I am in Perth WA.

BTW I remember looking at this very board set in 1979 when I was just 15, drooling over them and simply not being able to afford them ($800). Hence I jumped when someone on my local hackerspace email group posted it up for salvation or trash. I could not stand by and watch it trashed!

My first computer was a kit from 1977, the SC/MP based Miniscamp with a whopping 256 bytes of SRAM! Electronics Australia Mini-Scamp Microcomputer

I am eyeing off one of several IMSAI 8080 clone kits....

Just like HiFi (with the demise of real HiFi amps, turntables etc.) computing has lost the romance of the early days....

My first real computer was an Exidy Sorcerer

http://oldcomputers.net/sorcerer.html

Get a load of that mother board. I never had an S100 expansion chassis but did make a bank-switched EPROM board that plugged into the cartridge expansion slot so I could load my most used programs without a tape.

Another common hack was to piggy back a second set of DRAM chips on top of the main bank, bend up all the RAS (or was is CAS?) pins. solder a wire to them all and also to a spare output of a '138 decoder. That doubled your RAM.

If I could find one for low $ I reckon I'd buy it just for old-times sake.


Rob

Graynomad:
My first real computer was an Exidy Sorcerer

Exidy Sorcerer computer

Get a load of that mother board. I never had an S100 expansion chassis but did make a bank-switched EPROM board that plugged into the cartridge expansion slot so I could load my most used programs without a tape.

Another common hack was to piggy back a second set of DRAM chips on top of the main bank, bend up all the RAS (or was is CAS?) pins. solder a wire to them all and also to a spare output of a '138 decoder. That doubled your RAM. Mine included the RAM expansion too.

If I could find one for low $ I reckon I'd buy it just for old-times sake.


Rob

I owned an Exidy from around 1988 to 1992. Complete with a huge external chassis with 2 x 8" Ye-Data double sided double density floppy drives and 1 x 5" DSDD Mitsubishi drive! I think I still have the box of floppies with CP/M, Wordstar, Basic etc.

I wrote a n invoicing, ordering and stock management package in Basic to run my first bench tech business. Man, that Scorcerer ran hot! Beast.

I still have in storage a BigBoard single board CP/M system with 2 x 8" drives. The board was designed in Australia and included an EPROM programmer with ZIF socket right there on the board! Its cool, ifmit receives a CR on the first serial port after boot it redirects the console to that serial port.

I remember the Big Board, it was a real weapon in its day.


Rob

Yep, I had a Bigboard (version 2 I think) system myself. I made a special frame for it that rolled about on castor wheels, much like a small 2 draw filling cabinet.
I recall it having a single 8" drive, single sided I think and a single 5.25" Ye-Data drive.
Those were the days of CP/M and 640kB of RAM.


Paul