Author Topic: Zilog Z180 Single Board Computer project  (Read 34129 times)

0 Members and 1 Guest are viewing this topic.

Offline ron.owensTopic starter

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #75 on: March 30, 2016, 12:26:05 pm »
I'm about 80% along with the build. I want to get all the passive parts and sockets on and then test power before installing and chips. Less chance of smoke that way. I'll post more pictures when I get it assembled.

As for software, I want to use a ROM monitor to help bring up the hardware. This way I can check out stuff a piece at a time. First I want it to say "Hello World" over the Serial port to verify the CPU is running and the serial port is correct. I have an open source ROM monitor that was originally written by R. A. Surwilo in 1985 and maintained by D. R. Gibson through 1988. It was originally released as 18E - Z80/HD64180 Debug Monitor and has a copyright warning. It has a paragraph that follows the warning that says it was released to the public, but the warning was not removed. This monitor was written to work with several different flavors of Z80 and can be configured for different hardware and assemblers. It is written in Z80 assembly language. I have Softools' WindIDE and the monitor assembles without errors. I have to set a lot of assembler directive switches to configure it. I may just copy out the most basic parts as a separate piece of code just to get the board functional. If anyone is interested I can post the source code I have for the monitor.
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 988
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #76 on: March 30, 2016, 01:06:51 pm »
Yes, passives and sockets first then the semi-conductors! ;D

I think I have seen that monitor. It's a simple principle and you could expand the command set to call into test routines for all the peripheral chips you've got on the board. That way you can build a code base that has working IO routines for those chips.

I am planning on doing the same for my Z80 board...
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline ron.owensTopic starter

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #77 on: March 30, 2016, 03:02:48 pm »
I'm about 75% done with the build. I'm waiting on some parts that have to travel 1/2 way around the planet to get to me. :)  So far it is going very well. I really miss this part!

I have a ROM monitor program I found on the web that covers a number of Z80 flavors. It has a number of selections that need to be made to determine which CPU, assembler, etc.. I also have Softools' WinIDE assembler for Z80 I bought when I started this project. The ROM monitor assembles without errors. That was a relief! :phew: It was originally written by Richard A. Surwilo in 1984 and maintained by Damon R. Gibson until 2000. It has a copyright warning followed by a paragraph stating that the warning wasn't removed when the program was posted publicly. Does that mean free??  :-//

I may just take snippets from it to put together a very simple program just to get the Z180 SBC to come up and say "Hello World!".

Let me know if you want me to post the ROM monitor in it's entirety.
 

Offline ron.owensTopic starter

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #78 on: March 30, 2016, 04:27:31 pm »
Sorry for the repeat post. I didn't think it worked the first time. Oh well... all good stuff worth repeating. :D
 

Offline ron.owensTopic starter

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #79 on: March 30, 2016, 04:44:30 pm »
FYI...
Just in case this project wasn't enough of a time drain, I started schematics for a MC6809 version of this board. It will use a 74LS610 Memory Management Unit to expand the address bus to 1MB. It will have a lot of the same good stuff that has gone into the Z180 board and the same footprint/form factor. The end result of that project will be to have a SBC that can run OS/9. I'll create a separate post when I get further along.

It's my hope to have the Z180 SBC run CP/M and maybe do Atari type game stuff. I guess that means the add-on board will be for color graphics and joysticks. Good thing it has a USB port for a large memory stick! :D
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 988
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #80 on: March 30, 2016, 05:06:09 pm »
Why not a 68000 family one...?  :P
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline feilipu

  • Contributor
  • Posts: 10
  • Country: au
    • Stuff I need to write down.
Re: Zilog Z180 Single Board Computer project
« Reply #81 on: May 15, 2016, 02:14:04 pm »
Sorry to join the conversation late.

I'm very interested in this process.

I was just thinking of building something similar, and pretty much all of the design work is similar to what you've done.

I also just noted that the connections for the two parallel ports are not the same. Is that by plan or coincidence?
Pin 6 8 10 and 12 specifically.

Good luck. Will be reading along.
You can flog a dead horse to water, but the grass is always greener on the flip side.
 

Offline ron.owensTopic starter

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #82 on: May 15, 2016, 06:08:42 pm »
Never too late. In fact I'm getting ready to post some more stuff on this board.

To answer your question about the parallel ports, I had originally designed the B port to be a SPI Bus with individual chip select lines. I was going to use the internal shift register of the 6522 VIA to shift SPI data in and out. The design required a separate 3-state buffer to make it work. After cramming more stuff on the board I decided to remove the SPI stuff and make it a TTL port. I never got around to remapping the pins to making it the same as port A.

One little detail that is very embarrassing I forgot to post after I received my boards. Due to some error in the Eagle CAM utility to create the Gerber files did not create the ground plane on an internal layer. This means all of the ground connection are not connected at all. I had to wire all of those connection pin to pin. It should still work, but all of the benefits of a ground plane are gone.

I'm currently working on the GAL for address decoding to get the board up and running. The first goal is to get the board to send a simple "Hello world" message over serial port 1.
 

Offline ron.owensTopic starter

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #83 on: May 15, 2016, 06:10:22 pm »
In fairness and complete disclosure, here's the back side of the board.
 

Offline feilipu

  • Contributor
  • Posts: 10
  • Country: au
    • Stuff I need to write down.
Re: Zilog Z180 Single Board Computer project
« Reply #84 on: May 16, 2016, 02:10:57 am »
It was very fortunate for me to see the progress of your designs.

I am starting to think about doing something similar, and am probably about 12 months behind where you are right now.
Basically, I'm rationalising the right frame to build a solution for myself.
Not too small, and not too big.

I like to work with bare metal solutions, so I think going the full CP/M solution may be missing my point of interest.
Stack180

On the other hand, I do like smaller embedded RTOS and writing with C, so too small is also not right.
Having said that, I've actually already purchased an RC2014 solution, to cut my teeth on Z80 assembler.
RC2014

My view of the perfect starting point is basing the design on the Z8S180.
It has some improvements in power reduction modes over Z80, and is fully static.
Also the clock generation, timers, USARTs and some other messy 1970s things are handled on chip,
making the overall system design more robust (and easier).

I would build the board the maximum compliment of SRAM (1MB), with the lower 64kB Bank 0 comprised of FRAM.
Now that FRAM is available there is no sense to use Flash in kB sizes, with its limited lifespan and slow write speeds.

I would focus on modern interfaces using I2C-Parallel and USB-USART interfaces to expand and access the board.
You can even drive video off I2C, with FTDI EVE, and this works great.

I was thinking of being original and using an FT245R device for programming the FRAM, and avoiding the need for a bootloader by writing direct to FRAM.
But it turns out that Philip Jacob Smith has already done EEPROM programming with USB... there's nothing new left in the world, it seems.

So what I'm looking for, I think you've already built.  :-+

I like the idea of having a RTC on board. It is one thing that I always need on my previous AVR solutions.

I wouldn't bother to take the Z180 address & data bus off the board, as this may cause problems at 33MHz.
Doing this also makes the board very busy, with all of the bus buffer, and interrupt management chips.
Your use of the R6522 to provide parallel I/O interfaces is enough, I think.
If it can't be covered by I2C, USART, or Parallel, then it is out of scope for me.

Anyway, that's my 2C right now. Your starting point is already 90% of where I think I'm heading. So thanks  :-+ :-+ :-+
You can flog a dead horse to water, but the grass is always greener on the flip side.
 

Offline ron.owensTopic starter

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #85 on: May 16, 2016, 08:47:23 am »
feilipu,

I'm glad you like the design. I can't post the Eagle files for the Z180 board due to the blog's file size limitation. Perhaps you can send me your email address in a blog message I can email the project to you. That would let you modify the project to fit your needs. I only have it in Eagle format as I've been using Eagle for the last couple of decades. I like to think I've finally got the hang of it.  ;)

Cranking up the speed to 33MHz will probably require a number of changes. First, the L/O in this design will be very slow for that fast a CPU. That would mean a lot a wait states to talk to I/O. Secondly, I'm fairly sure all of the memory is going to be too slow. And you are right about the external bus not working at that speed.

My plan for serial comm was to use an external USB to serial module to talk to a PC and set the Z180 on-board jumpers to TTL and use the TTL port. I also planned to use the 2nd serial port for debug, mostly spitting out progress statements to a log file as it executed code. I went with 80's vintage serial ports mostly out of nostalgia, which is the primary reason I did this design in the first place.

You can still use a Z8S180, I think they are pin compatible to the Z180 I used. You can also use the Hitachi part, HD64180. All of these chips are readily available on eBay. In fact, everything that goes on this board can be purchased online. I plan to post a list of the vendors I used, along with a real bill of materials as soon as I get it done.

I also plan to post the code for the GALs on board and any Z180 code I get working.
 

Offline feilipu

  • Contributor
  • Posts: 10
  • Country: au
    • Stuff I need to write down.
Re: Zilog Z180 Single Board Computer project
« Reply #86 on: July 14, 2016, 02:00:08 pm »
Well its taken about 2 months to move from ideas to PCB Order, but it has happened.
Yet Another Z180 (YAZ180) Project



Pretty happy that I have one item from each manufacturer of the 70's devices on the board (just missing Motorola).
  • Zilog Z180
  • AMD Am9511A-1
  • Intel 82C55
  • Texas Instruments TIL311

The next step is to assemble the system, and bring it up item by item.
That will probably take another 3 months to 3 years.
Such is the nature of a hobby.
« Last Edit: July 14, 2016, 02:06:42 pm by feilipu »
You can flog a dead horse to water, but the grass is always greener on the flip side.
 

Online Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1671
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #87 on: July 14, 2016, 04:40:40 pm »
Nice layout. What PCB software did you use?
Complexity is the number-one enemy of high-quality code.
 
The following users thanked this post: feilipu

Offline ron.owensTopic starter

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #88 on: July 14, 2016, 08:48:07 pm »
Nice job on the PCB layout. It looks great. I see you used PLCC parts more than I did. Do you have a schematic you can post?

Cheers,
Ron
 
The following users thanked this post: feilipu

Offline feilipu

  • Contributor
  • Posts: 10
  • Country: au
    • Stuff I need to write down.
Re: Zilog Z180 Single Board Computer project
« Reply #89 on: July 15, 2016, 01:19:19 am »
What PCB software did you use?

I used Eagle, Hobby licence. Hence the board size limitation to 16cm x 10cm. Manufacturing limitation by Seeed Studio to 4 layer.
That pretty much defines my decision making on the physical layout, and why I used so much socketed PLCC.

Do you have a schematic you can post?

The schematic is on the Web link. Linked here directly for completeness.
YAZ180 Schematic

Yet Another Z180 (YAZ180) Project

I'd just point out that the CUPL definitions picture for the Address pin input decoding on the ATF16V8 is reversed from what the schematic shows. Swapping the pins ordering meant that I had a clean run for addressing layout, and means changing just one line of CUPL.  :-+
I'll update the CUPL pictures once I'm actually working with the ATF16V8 devices.

I purchased a couple of Am9511A-1 FPUs and 20x TIL311 LED displays, before I finished the layout.
I think TIL311 LED devices are still being manufactured, but the Am9511A-1 FPU certainly is not.

I'm guessing that the Am9511A-1 FPU may still be about 4x faster than C on the Z8S180. The FPU has to run at 1/6th of the CPU clock, and the CPU ALU can run at double the CPU clock. Anecdotally, the FPU was 50x faster than CPU in the 70s, but today I guesstimate it to be about 50/(6x2) =  4. But, optimising floating point code across both platforms (CPU & FPU) will be an interesting experiment.

I put TIL311 LEDs on the Address and Data lines. Data display is blanked unless #WAIT is asserted. But, I left Address display running because a locked up subroutine may uncover itself by locality persistence in the Address space. The 82C55 Port B also has 2x TIL311 LED, which are latched by Port C Bit 1.
« Last Edit: July 15, 2016, 01:35:11 am by feilipu »
You can flog a dead horse to water, but the grass is always greener on the flip side.
 

Offline feilipu

  • Contributor
  • Posts: 10
  • Country: au
    • Stuff I need to write down.
Re: Zilog Z180 Single Board Computer project
« Reply #90 on: January 14, 2017, 12:05:55 pm »
I've reached a key interim milestone in this build of a Z180 SBC.



After having the project being on hold for months waiting for Lattice GALs to arrive from China eBay (because my TL866 programmer won't program Atmel PLDs), I've finally gotten the YAZ180 to the stage it is "useful". Useful in that it can run NASCOM BASIC Ver 4.7, and can read and write a serial console.

The next step is to convert to programming using the FT245 USB to parallel port, and integrate the z88dk C environment.

More progress notes on my YAZ180 Post.
You can flog a dead horse to water, but the grass is always greener on the flip side.
 

Offline rrinker

  • Super Contributor
  • ***
  • Posts: 2046
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #91 on: January 14, 2017, 09:11:22 pm »
 Nice. A lot of old 1802 guys would kill for a pair of those TIL311's.

 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 988
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #92 on: January 16, 2017, 09:11:14 am »
Yeah those TIL311's are hot! (litterally!)
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline feilipu

  • Contributor
  • Posts: 10
  • Country: au
    • Stuff I need to write down.
Re: Zilog Z180 Single Board Computer project
« Reply #93 on: February 26, 2017, 07:21:15 am »
I've finished with YAZ180 v1, and have ordered a revised PCB which addresses the issues I found.



The new PCB for the YAZ180 v2 has been ordered.



« Last Edit: February 27, 2017, 08:53:29 am by feilipu »
You can flog a dead horse to water, but the grass is always greener on the flip side.
 

Offline feilipu

  • Contributor
  • Posts: 10
  • Country: au
    • Stuff I need to write down.
Re: Zilog Z180 Single Board Computer project
« Reply #94 on: May 11, 2017, 05:54:02 am »
I've done another revision of the YAZ180 board,
and have added an IDE interface capability to the 82C55 PIO device.

Still going through testing.

It is now clear that the Am9511A APU needs additional logic, to gate WR with E Clock, to work effectively.
The IDE interface, and I2C interface, are being tested now.
Might take me a few months to generate the drivers for these interfaces, but that's the fun.
You can flog a dead horse to water, but the grass is always greener on the flip side.
 
The following users thanked this post: ron.owens

Offline ron.owensTopic starter

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #95 on: May 11, 2017, 12:20:33 pm »
That is a great looking board. I agree with Obiwan about the TIL911's running very hot. They do look great and are a big help in debugging code.

It would be very nice if you could post the schematic of your board. I'm very interested in seeing your solution  for the Am9511 and the IDE interface.
 
The following users thanked this post: feilipu

Offline feilipu

  • Contributor
  • Posts: 10
  • Country: au
    • Stuff I need to write down.
Re: Zilog Z180 Single Board Computer project
« Reply #96 on: May 11, 2017, 12:52:31 pm »
Sure, I've attached the schematic to this post.

The IDE interface is derived from the work of PJRC, who derived it from Peter Fraasse. I did make some changes to retain generality for the 82C55 interface. Some of the Port C lines are required to be inputs, in Mode 1 and Mode 2. Both Paul and Peter chose to run those lines through inverters, which prevents them being used as inputs. Note I'm still translating Paul's 8051 code, so this is a work in progress.

The Am9511A is sensitive to feed and water. I've gone through three iterations trying to get it to work. On the Z80, the standard configurations work fine, but with Z180 the timing of CS, WR, and the data lines is wrong. I've put some months into getting it running, but now I think I have it right. But, there's still testing to be done.



This image is doing a floating point divide in 179 Clock Cycles - from end of CS to End Interrupt. In the first iteration I was using Phi/6, but that only worked at 9.216MHz. I've now moved to using Phi/8 or 2.304MHz, off the full speed 18.432MHz Phi. Using the E Clock signal to generate a short WR signal provides the Am9511A with the 30ns it needs after WR to latch data. Normally, the Z180 only provides 5ns, which is insufficient.

The Am9511A also runs incredibly hot. Finger dwell time is less than two seconds. I don't know what that converts to in Celcius. Initially I thought I'd done a circuit oops. But, they consume about 70mA of 5V and 70mA of 12V, so there's lots of power being dissipated. In comparison, TIL311s have an infinite finger dwell time. They're hot, but not unbearably so.

I'm looking forward to getting the I2C interfaces running. Then a lot of options open up.
« Last Edit: May 11, 2017, 12:57:55 pm by feilipu »
You can flog a dead horse to water, but the grass is always greener on the flip side.
 

Offline grumpydoc

  • Super Contributor
  • ***
  • Posts: 2905
  • Country: gb
Re: Zilog Z180 Single Board Computer project
« Reply #97 on: May 11, 2017, 05:19:03 pm »
Nice board.

If I ever get my current Z80 project - https://www.eevblog.com/forum/projects/z80-single-(perf)board-computer running I plan on using a Z180 or maybe EZ80 rather than the "plain" Z80 for the next build.
 
The following users thanked this post: feilipu

Offline feilipu

  • Contributor
  • Posts: 10
  • Country: au
    • Stuff I need to write down.
Zilog Z180 Single Board Computer project
« Reply #98 on: March 19, 2018, 05:17:51 am »
To close the loop on this YAZ180 project after nearly two years of work, from my point of view, there is:




I'm continuing to work on applications for the YAZ180 platform now, and I am focusing on FreeRTOS, number crunching with Am9511A, and interfacing to the real world with the I2C interfaces. This work guarantees me at least a few more years of further fun and games.

« Last Edit: March 19, 2018, 05:20:36 am by feilipu »
You can flog a dead horse to water, but the grass is always greener on the flip side.
 
The following users thanked this post: obiwanjacobi, Kappes Buur, dr.diesel


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf