• Please review our updated Terms and Rules here

Interested in a home brew Z80 computer project?

The V20 runs 8080 code natively. On the 10MHz machine, it runs somewhat faster than a 6MHz Z80 (but the flash disk prob'ly has sum'n to do with that). You should try it on one of your ol' V20 lappies. A Tandy 1400, etc. works well IME (and it's about as portable as you can get, short of one of the harder to find palmies). I'll send you a couple programs if you want to take it for a spin.

--T
 
I mean boot the b@st@rd up under CP/M 2.2, and go to town...
'side....I'm getting to old to use stuff like the Zeos Palmtop (got one) and HP 200LX (want one - had a 95LX YEARS ago...)

What's the minimum requirement for MyZ80? Gonna check....
AT or better, 290kb RAM...

Dang - it woulda' been COOL to run MyZ80 on an HP 200LX!
I think it would make a FABULOUS portable drive, be it for M100/M102/Nec, or for the Epson PX-8, etc...

T
 
I recommend you look at the AT29C040A from Atmel.

I use it with the 6800 and soon the 8800.

It is 512k of parallel flash and has a software program protection to prevent a crashed processor from wiping the flash (a 3 byte command code given before a write will work).

You can use a latch to implement a simple page register to select what part of the flash is accessible. I would recommend then that you make for example 0-4k of the window ALWAYS 0-4k, and the 5-8k of the flash a selectable portion of the flash. Otherwise any monitor running on the flash will be funny.

I forgot about that when I designed the Mini680 board. There are ways to get around that, but they stink!

The flash is organized as 256byte write blocks, so it would work well as a CPM disk too.

Hi Grant,

That is a great idea. I have been considering the trade off between EPROM and FLASH on this design since nearly the beginning. I went with EEPROM on the initial prototype and it worked fine. The current design is going with 1Mx8 EPROM mostly for space reasons (it is the largest 32 pin DIP memory, AFAIK). The plan being is the EPROM is impossible (AFAIK) to change in circuit and also large enough for a fairly complete CP/M suite to run from a ROM drive.

The 512K FLASH part would provide most of the space and allow in circuit reprogramming but my concern was run away CBIOS code trashing the FLASH and killing the SBC. The FLASH protection scheme should dramaticaly reduce the risk of accidental corruption.

Regarding the memory paging scheme, the SBC implements a simple configuration latch approach. The Z80 memory is divided into an upper and lower 32K page. The upper 32K page (8000-FFFF) is always the same on the RAM chip. The default (on boot) lower 32K page is the ROM enabled, page 0. The SBC will stay in that configuration until the ROM is disabled switched out and the RAM replaces it. The ROM can be temporarily reenabled and different 32K pages switched in by manipulating the configuration latches for the ROM block device. Similarily, the 32K RAM pages can be switched in to the lower 32K page by manipulating its own configuration latch. It is a simple scheme but lends itself to a full 64K RAM space (CP/M friendly) and also an easy to implement RAM & ROM block device in the CBIOS.

Where FLASH would be an improvement would allow the ROM device to be modified in circuit (nice) but it comes at the expense of 50% of total memory since it trades off an address line (A19?) for the /WR line. For the initial prototype PCB I am going with the EPROM since it will be more robust and I have some of those around my bench. My CBIOS already exists for the 512K RAM with 32K EEPROM and it should be readily extendable to the 512K RAM & 1M ROM block devices, however, the CBIOS will have to be modified for the new configuration.

At this point, my goal is to get the designed finished enough that I can do a build on the PCB and test it out. I'd like to know if this projectis even feasible! The PCB *looks* good on the screen and the design but we'll just never know until I get one on the bench and built up for testing. My fear is the PCB will contain either logical errors (mine) or manufacturing errors like bridges or broken traces (theirs) due to the software.

Thanks for the insight and have a nice day!

Andrew Lynch

PS; this is an older version http://groups.google.com/group/n8vem
 
Hi,

Well, I think the problem is solved on the Z80 SBC design. The issue turned out to be rather subtle. There is a link between the 16550 UART INTR and the Z80 /INT lines. The signal has to be inverted for it to work properly however the Z80's /INT line is "open drain" to allow "wire OR" connections. The problem is I was using a normal TTL inverter rather than an "open collector" and pull up resistor.

The fix is simple; just replace the inverter with a old school open collector inverter single transistor circuit. I am using a 2N2222 (TO18 package) with a couple of resistors to drive the Z80 /INT in the new design. The new PCB is in routing presently on one of Jeff's many big servers. (THANKS JEFF!)

As it was, the circuit probably would have worked as designed as a stand alone SBC however if it were attached to the ECB backplane (more on that later) and a peripheral which used the bus version of /INT would cause the 74LS14 inverter and the peripheral to go into bus contention on the /INT line. Probably the peripheral would have won out but the likelihood is that eventually the inverter and/or the peripheral would have burned out. Not a good thing and especially it is one of those things that need to be fixed early rather than discovering it when the future peripheral is out.

Bad on me for not noticing it earlier but that *is* the point of the exercise... to refresh and learn those technical skills before the disappear entirely. Oh well, I am sure they'll be other problems to fix as we go along. Find em and fix em as we go!

Thanks!

Andrew Lynch
 
Hi All,

I have a completed PCB design and am reviewing it. Noticed a couple of oddities in the routing so making a couple of tweaks and throwing it back into the optimizer to hopefully get the via count down a bit.

Provided no further problems are discovered, I am expecting to order the PCB from the manufacturer this weekend. Of course the first two units will be just experimental ones for my build and test phase. I will keep you posted on the results as it goes.

Thanks!

Andrew Lynch

PS, the optimizer just finished and I sent the design off to to FreeDFM for manufacturing checks. Here are the results:

New! Click to view PLOTS (beta release) for design TestPrototype-FreeDFM-00.zip: https://www.freedfm.com/freedfm/0011697401995800/results/plots.htm

Click to view DFM results for design TestPrototype-FreeDFM-00.zip: https://www.freedfm.com/freedfm/0011697401995800/results/summary2.htm

I ordered the two prototype boards so I expect those will be here in about two weeks or so (5 days to cut the boards and 5 days shipping).

Maybe I'll get lucky and they'll arrive sooner.
 
Last edited:
Andrew,

I am curious as to why you did not used the ZILOG ctc, pio, sio parts ? By using other parts you are seriously limiting the ability to use intelligent interrupt processes provided for in those items.

Almost all designs that I have seen no one uses these ZILOG parts. Perhaps it is due to cost.

Bill.....WB6BNQ
 
Andrew,

I am curious as to why you did not used the ZILOG ctc, pio, sio parts ? By using other parts you are seriously limiting the ability to use intelligent interrupt processes provided for in those items.

Almost all designs that I have seen no one uses these ZILOG parts. Perhaps it is due to cost.

Bill.....WB6BNQ

Hi Bill,

The Z80 peripherals are very nice. I am familiar with them from other projects. Both the KayPro 10 and the WaveMate Bullet used a fairly complete Z80 system with CTC, DART, and PIO chips. The WMB used Z80 DMA too. They work very well and I have a bunch in my junk box.

One of my earlier ideas which I rejected was a kit form of the WaveMate Bullet SBC. I have the schematics and all the parts except for a new PCB and its tiny boot ROM. However, I did not pursue that approach since the PCB was about 6" x 8" resulting in a PCB of about 48 square inches. A large PCB really drives the cost of the project up and precludes a lot of potential hobbyists from the project due to affordability.

I am trying to follow a low cost with incremental building blocks philosophy. The big "all in one" SBC designs were just too elaborate and expensive designs. I investigated the KayPro 10, WaveMate Bullet, and Heath H-89 SBCs but decided to go with the ECB approach instead.

The present core SBC design is one I am familiar with from an earlier project I built with prototype boards. It is similiar to the Thomas Scherrer Z80 SBC design but modified and expanded with various IO devices. Part of the reason I chose the design was many of the parts are common with PCs as to keep costs low and even for cheap reuse of scrap components. The rest is bog common standard TTL chips and cheap parts. Most or all can be purchased online or salvaged from old PCs and/or boards.

Also, I did not want to radically change the design since I got my previous design working fairly well it did not make sense to start over again for similar or marginal improvements. Especially with regards to the software I had already written and debugged (ie the CBIOS and monitor). It all gets down to risk and what my comfort level is with the proven design.

With this design, however, the full Z80 interrupt capability is still present for Z80 peripheral cards if and when those are ever available. You'll notice the ECB connector retains all the signals needed for Z80 peripherals including an "open drain" bus version of /INT and IEI/IEO complete with pull up resistor. All the typical IO address, data, and control lines are buffered and present for use by any future peripheral cards.

All that remains to be done is to design and build the Z80 peripherals card. Certainly the CTC, DART, PIO, and SIOs would work although the DMA probably wouldn't with the current generation (ECB support is pretty much IO only with this version, that may change if and when we get that far).

Once I get the SBC built up and tested, the next device will be the ECB backplane. I have a preliminary design for its PCB already completed but I still have the original one made from prototype boards to use for testing in the meantime.

Thanks! Have a nice day!

Andrew Lynch

PS, I ordered two PCBs on Thursday and spoke with manufacturer last night. Apparently the PCBs have already shipped so now it is just waiting for them to arrive by UPS. Yesterday I ordered the missing parts I needed from Jameco. It was just some common 1K ohm resistors and some other miscellaneous bits and pieces.

The full set of files are available here:

http://groups.google.com/group/n8vem

I will be posting pictures and other stuff as I go.

73 de N8VEM
 
Last edited:
Hello, I found this web page, it might be useful. 3 PCB for $51.00

http://www.expresspcb.com/
Regards from mexico

Hi,

That brings up a good point. Eventually we are going to have to think about manufacturing PCBs. The PCB size is 25.2 sq inches (160 mm x 100 mm). My thinking was to just make the bare bones prototype boards from 4pcb.com but they do not include the silkscreen. The PCB board size is going to put this out of the range of the really good deals for miniboards -- typically around 3" x 2" or so.

That'll probably be alright for my build, integrate and test but for some people it might cause problems. Buying in bulk is really the only way to drive the per unit price down to a reasonable level.

I'll check with the folks at 4pcb.com to see what they can do. If you could also check around for good deals, that would certainly help.

Thanks!

Andrew Lynch
 
Most places that supply you with design software, like, for example, the one I use, make sure that it's proprietary and you can't output it to anything else. I tried importing Andrew's design into it, without success (you think they'd make that part easy)

Fortunately, the one I use is pretty damn good and the product they generate is of sufficient quality that I don't mind too much.

The de facto standard for places that don't hand out design software (and sometimes ones that do) are Gerber files. With them, you can pretty much shop around, but, some places that have their own software put a surcharge on them.

Doing a quick calculation on the expresspcb cost per board, based on their pricing scheme, for 10 - 25.2 sq in silk-screened, solder masked PCB (10 day turn-around), they come out to 26.59 each plus whatever shipping would be.
 
Last edited:
Hi Richard,

For some unknown reason, there is a enormous variety of EDA programs with many unique formats. KiCad supports Specctra PCB import and export plus its own unique PCB format. I have seen/heard of some scripts which allow possible importing from Eagle but nothing tangible yet. Definitely this is an area where the EDA software could improve and hopefully it will.

To me, $27 per board plus shipping doesn't sound to bad. However, that is for the lot of 10 right? This is where things get complicated. I think we can get the barebones PCBs even cheaper but they are prototype only PCBs without any silkscreens. That'll make assembly more difficult for some so I like the silkscreen idea. There was recently a mention of a PCB house on CCTALK that was pretty inexpensive:

http://www.pcbcart.com/cart.php

They looked fairly reasonable pricewise. I don't know what is the best approach however this all rather speculative ... I still need to build and test the first boards! According to the manufacturer I should be receiving the PCBs this Thursday and start the inspection and build up process.

Unfortunately the parts I ordered from Jameco put the remaining components I need on back order. If they don't ship by this weekend, I will go to the local surplus house to see what I can get. At $3.50 per gallon of gas, that seems like a wasted trip for some 1K resistors and 32 pin ZIF socket. At least it is fun to go there... :)

I'll keep you posted on how it goes. Thanks!

Andrew Lynch

PS, the ZIF socket is not part of the intended "standard" configuration. I am adding it to the "development" board to allow easy swapping of EPROMs while I work out the software tweaks required for the new PCB design. My plan is to make one PCB with "development" features and the other "standard" features for comparison.
 
Hi All,

The PCBs arrived today and I spent tonight inspecting the boards. I started installing the sockets. Already I have seen a few things that need changing before the final PCB.

There are a couple of photos up on the website.

http://groups.google.com/group/n8vem

Thanks!

Andrew Lynch
 
Nice job Andrew!

I can't wait until you get one built, so we can see all of the flashing lights! :)

Hi, Thanks!

I uploaded another photo of my progress tonight. In short, things are going slowly since inspecting the PCB. I have made two major discoveries; first is that the ECB connector is mispositioned by about 50 mils or so. Second, and more importantly, I used the default clearance setting and that is really bad news.

The ECB connector problem is fairly easily fixed with a plain flat file. I can just trim off the extra PCB and the connector will work fine. Of course, it will have to be corrected in the final board spin and that is pretty easy too.

Worse though is that I did not think about the clearance requirement and used the KiCad/FreeRouting defaults... 6.5 mils. That is super tiny and it is making good soldering a real problem. In short, it means solder bridges are a constant threat since the traces are too close to each other and the pads. I am having to solder a pin in pad, then go around with the VOM and inspect each nearby trace or pad to ensure no inadvertent bridging.

I have found several bridges this way and will likely find more. This is a much tougher problem to fix since I went in to KiCad/FreeRouting to respin the board and it was marginal to autoroute with 6.5 mils and it is really struggling for a solution with 13 mil clearance. It is possible there is no solution for 13 mils and I may have to back off to 10 or so. That sucks but there may be no choice. I really don't want to reduce trace width to compensate since TTL chips need some current carrying capacity.

Ordering the first two boards for a trial build is turning out to be a really good idea, unfortunately. I was afraid of ordering boards for people only to have them discover a bunch of problems just like these. I have found there is no substitute for real hardware to find out this stuff. I reviewed the PCB design for weeks and printed it out on paper to compare to the components and these bugs still slipped through.

Anyhow, the fun continues and I'll keep you posted on how it goes.

Thanks!

Andrew Lynch
 
Hi All,

Just a quick update on the PCB respin progress... I tried to change the minimum clearance to 13 mils and it seems like the autorouter could not find a solution. It reached a lower limit of about 80 connections it couldn't complete. Rather than spend a lot of time pursuing what might be a never attainable 13 mil solution, I backed off to 10 mils minimum clearance.

That is 50% better than the default but still not great. 20 mils minimum clearance would be much better but based on what I am seeing now it would require a new PCB layout and a much larger board -- probably twice the area of the EuroCard 160x100 mm format. That drives unit cost up so it is a balancing of cost versus ease of construction. Going with a 4 layer board would probably help too but it quadruples the unit cost so that is not practical either.

The 10 mil autoroute solution is running right now and it seems to be having difficulty getting below the 15-20 remaining open connections. It fixes one connection only to break others in the process. It has run all night and has done over 100 passes. I moved the autorouter job to another PC in the basement and will let it run for a day or two to see if it can solve. If so, this may be the way to go. However, the PCB is marginal to solve with the current FreeRouting.net autorouter, that much is for sure.

I am going to finish the build with the current prototype PCBs to see what other problems are lurking on it. Hopefully the basic circuit is still good but it is hard to tell if sneak circuit solder bridges are undermining it.

More as it develops! Thanks!

Andrew Lynch

PS, maybe someone experienced in these matters could offer some advice as to how to proceed? Grant?
 
Back
Top