Grant Searle’s z80 Computer

If you’ve searched any portion of the internet for the terms “homemade” and “z80”, there is a high probability that you’ve run across Grant’s Page.  Grant’s work is essentially the Holy Grail for the beginner.  He gives you the tools you need to have in order to understand how to build a generic z80 circuit.  As well as well documented software which can be modified fairly easily.

Grants circuit gives you a very basic (pun intended) serial based computer running Microsoft Basic 4.7b (a variant actually written by another individual who’s name escapes my memory at the moment).  The computer’s I/O is interrupt driven by the 6850 UART, and has enough leftover space in the ROM to place a monitor or any other code that you’d like to use.  The computer’s original speed is 7.3728mhz.  However, the example above has been modified to use a 1.8432mhz oscillator.

Even regulated down to a quarter of the speed of the original, this computer is more than capable of handling most basic programs.  And with 32kb of RAM, you’ll likely not find yourself running out of program space.  And programs can easily be transfer from a PC to the computer by simply typing the programs into a text file and then copying and pasting them into your terminal program.

Added breakout pins around the z80 on my personal computer allow me to prototype circuits and test them with the IN/OUT commands in basic.  A handy feature indeed.

If you’re looking for a simple circuit to build, and you’d like to have your own homemade z80 computer. Might I suggest that you head over to Grant’s website, and give one of his examples a try.

TEASER:  There will likely be another z80 Computer article coming in the following days.  Not to give too much away, but it DOES NOT involve a homemade example.  I’m working out a deal to acquire something special.  I’ll know the full scoop within the next 24 hours.  Until more is known, we will be referring to this as “Operation Speed Racer.”  I’ll let your mind go crazy now…

Lee Hart’s 6502 Badge

Lee Hart, the creator of various DIY Computer Kits (such at the z80 Membership Card, the 1802 Membership Card, and the VCF COSMAC ELF),  has done it again.  This time with his 40th Anniversary MOS 6502 VCF Badge.

Selling for the low price of $5 for a bare board on his website (with free shipping in the US), this board is designed as a complete system.  It sports a 32K of ROM, 32K of RAM, TTL Serial Port, and an LED Display.  On the software side of things, Lee has managed to put not only a machine code monitor onto the system, but also a copy of Enhanced Basic.  This computer is definitely on the list of ones to acquire, and potentially review.

But if you do not want to have to chase down parts, Lee does offer the computer in true kit for, including all of the required components.  Also a Deluxe Kit, which includes all of the components as well as a USB to TTL Serial Adapter, a 3x rechargeable AAA batteries, a battery holder, and a clip for wearing it on your shirt.   These other two options for an increased price, obviously.

I’ve reached out to Lee to get the low down on this computer.  However, I have to wonder if he is still recovering from VCF, as he has not returned my email at this time.  But once I get a copy in hand, and get it built, I will plan on posting and uploading a video demonstrating it’s use.

G80-S Micro: The New z80 Project

During the early part of this year I started working on designing a new computer system based around the Zilog z80 Microprocessor.  I had previously created a computer that was fairly complex and expandable.  This computer I showed off on my YouTube Page.  The video, which you can view here just below, received a fair amount of interest. I continued with a couple of followup videos.  But then I ran into a hitch.  The system, as designed, had a problem.  Expanding I/0 was going to be problematic due to my method of decoding.

So, I sat on the project for a while.  I received several requests for updates, or spin off videos. But I never did anything, and ultimately life got in the way.  I had taken a promising start to a decent YouTube channel, and I had left it to rot in it’s packaging.

But then around the beginning of February  I started toying with the idea of designing this new z80 computer system.  I did not want to wire-wrap a new computer, as it is tedious and time consuming.  Instead, I knew my basic design worked, I just needed to have it manufactured.  So I decided to sit down and come up with my desired specifications.  And thus, the G80 Computer project was born.  G, standing for Gabbard, my last name.  And 80, for the z80 microprocessor. The goal was to create two separate computers based around common themes.

The first would be the G80-S Micro (Gabbard z80 Serial Microcomputer).  The design was intended to be the core of the system.  The specifications were that it contain 32k of ROM (Read-Only Memory) and 32k of RAM (Random Access Memory), two RS-232 Serial ports, a decent amount of GPIO (General Purpose Input/Output), and be of the common 100x100mm size to be cost effective for PCB manufacture.

The intent of this first computer was to be more of a development system, and obviously a fun toy.  The idea being that I could design and manufacture this computer fast, and use it to develop software and hardware concepts used in the second, more capable, computer.

The second computer’s envisioned goal was that it contain 32k of ROM, 64K of RAM, two RS-232 Serial ports, video graphics capabiltiy, P/S2 Keyboard Input, audio output, mass storage conforming to the FAT standard, a decent amount of GPIO, and fit on a 100x160mm Eurocard.  As you can imagine, that is a lot to stuff on a small board.  But it is possible.

So, I set out by designing my schematic for the G-80S.  After a day or so I had by basic design figured out.  I began using the EagleCAD to design my PCB layout. And within another 2 days I had my Gerbers generated and the order placed with the board house in Shenzhen.  And after about a month wait, I got a nice package delivered to my door.  But there was a tiny problem…

Thats right, the silkscreen is slightly off.  At first I thought this was a problem with the board house.  But then I discovered when I viewed my gebers with Gerbv the problem is actually with EagleCAD.  For some reason when it exported my gerbers the silkscreen for was too large.  Oh well, you live and learn.  I’ll just have to make sure that the next batch has the silkscreen correct in the gerbers before I order them from the board house.

After I had the board assembled it was time to begin writing software for it.  I toyed around with the software for some time, until I had the bare essentials down for general input/output over serial, and a few commands setup.  Unlike many other DIY z80 computes, this computer uses keywords stored in a buffer.  Rather than simply pressing the ‘M’ key to modify a memory address, or the likes.

Because of this it became very similar to a DOS or CP/M style interface.  Which is something I find to be very aesthetically pleasing.  I continued work on the system until yet again, life happened.  By this time it was April, and my work was increasingly requiring more of my time, my son was getting towards the end of his school year and required more of my attention in both his academics and extracurricular activities, and ultimately I had other things on my mind.  So the project came to a screeching halt (pun intended).

Summer came, and went, my son went back to school, and now I had a little more time to do things other than care for him and work.  He is a teenager, but I am unmarried.  And as a result, a single parent with a occasionally rebellious child.  Just kidding, he is actually a great kid, and doesn’t get into any trouble.  However, I didn’t go back to work on the project.  Instead I felt compelled to watch every episode of the original Battlestar Galactica.  A small price to pay for such an awesome series.

It wasn’t until August that I picked this project back up and decided that I needed get back to work on this project.  It had been a while since I had started the project. I hadn’t even posted a video giving any details of it!

So I got down and dirty in assembly.  Working on getting several things done a week, or at least cleaning up my code.  And by the end of August I had a early working prototype Operating System, though still without file handling capability…

So I sat down to post a video, and realized that I needed to figure out how I was going to do screen capturing.  Now this is where I need to give you a little of the back story.  I do not own a camera.  Instead, I have an iPhone, and use it to shoot videos.  The only camera I do have is a DV camera from about a decade ago, unless you count my Hi-8 Sony Handycam.  Wait… Thats a pretty good idea. I should think about that since this site and my channel are about vintage technology. In any case, I had to get some type of screen capturing software and a microphone.

Once done, I uploaded a video, that you can view below.  And I posted the link onto a few forums and Facebook groups that I am a member of.  I received a little interest, but nothing major.  So then i took it on myself to get back to work with coding.

I needed a way to write software on my PC and upload it to the G80-S.  Pulling the ROM out and programming it every time I needed to check code was getting old.  So I started looking at my options.   I happened upon Bernd Ulmann’s website, and his Tiny z80 Computer. Within his code he had a routine for Intel Hex transfers over serial, which was originally written by Andrew Lynch (I believe Andrew has done work on the Retrobrew Computer / N8VEM project).

Bernd had modified the code, but after looking at the source listed on his page, it became apparent that it was easily adaptable to my own system.  So I sat down and modified the code.  I annotated in my source the originators of the code.  And it was at that time that  I discovered I likely had a problem with my design.  I had left the IEI line on the z80 DART/SIO floating.  It would need to have a resistor tied to VCC in order to be able to use the SIO with interrupts.  A simple modification for this board.  But something I’d need to correct on the second run of boards.  So I sat down and made my modifications in EagleCAD.  And then uploaded another video demonstrating my accomplishment and discovery. See below.

And now you are caught up.  I’m currently working on circuits for a SD card interface and a VDU (TMS9918) interface.  Once they are confirmed working circuits I will begin writing code for those.  And ultimately all of these lessons learned will be combined and adapted to the final goal of the 2nd computer.  But that is still some time down the road.

I am considering selling some of these boards.  If this is something that you’re interested in you should contact me and let me know.  Or just post a link on the one of the videos above.

And if you are interest in more of the videos I have or will be uploading, you should subscribe to my channel.