Z80 SIO/2 module

1,034 views
Skip to first unread message

Steve Cousins

unread,
Jun 1, 2018, 5:48:58 PM6/1/18
to RC2014-Z80
Here is the current state of my Z80 SIO/2 module design.

It is not as refined as the CTC design, but getting close.




As with the CTC module:
  • I've gone for tight address decoding with complete freedom of the base address.
  • I have put the connectors on the back edge, mainly due to issues of case design
  • Mode 2 interrupts are supported with external IEI/IEO connections on P4
  • IEI/IEO can be jumpered to bus pins 38 and 39
  • An optional clock module is available so the baud rate is independent of the CPU clock
  • The on-board clock can be jumpered to the bus CLK pin, potentially removing the need for a clock board
  • The board can be built for a standard, rather then enhanced, RC2014 bus with minimal loss of function
You may have noticed the register address order follows the 'normal' Z80 convention, as used by Grant Searle, Dr Baker and others, rather than the odd order used by the official RC2014 SIO module. Why did I do this you ask? Well partly to save a chip, but mainly as there is no point in the fancy DIL switch style address decoding if all you want to do is fix the address for compatibility with the official module. Adopting the 'normal' register order does make the module tidier and also software compatible with Grant (and others) code, but incompatible with most RC2014 specific software. It does of course work with SCMonitor as this already detects which register order is used.

I plan a second version of this module, which swaps out the comparator style address selection for a fixed address via a 74HCT138. This version will be software compatible with official module, but have the other features of this module.

A little voice in my head is saying you guys are going to say there is room for the extra chip, so why not just make one module. Usually that little voice means I already know I've made a suspect decision!

I think because this is a hobby I can afford to go with my heart and create a nice clean board that does what I want.

Again I plan to make the design open to anyone to order their own boards from a PCB manufacturer, but I'm not planning on selling them.

Comment appreciated.

Steve

SC104 - Schematic - v0.1.pdf

Jay Cotton

unread,
Jun 1, 2018, 8:50:31 PM6/1/18
to RC2014-Z80
Do make the SIO compatible with the standard rc2014 sio board.  This will save a lot of work and headache for every one.

jc

ZO...@gladucalled.com

unread,
Jun 2, 2018, 2:53:29 AM6/2/18
to RC2014-Z80
Hi Steve,

Looks awesome.  Love the IEI IEO 38/39 pins.

Two thoughts
1 - How about using the SCC.  It is basically an SIO with programable counters. Doesn't need a CCT. Works with any clock freq.
2 - I see you have brought out some modem signals. I am toying with an SCC design and I decided to not bring the modem signaling off board.  Instead, I am thinking I will blink some LEDs with modem signaling commands. Too, I may do a few push buttons for modem driven inputs (CTS, DSR, etc.).

Some other stuff . . .

Luv the 6 bit address decoding.  

The 682 comparator can be used instead of the 688.  The 682 has internal pull-ups.  In the ZORAk Interocitor thread, Mark T made a clever suggestion to use the IORQ for an address bit. It does cost about $3 compared to $1.  See pic below.

Yes, this is a hobby, so follow your spirit.  Part of my goal is to keep the part count down and stick to 40 pins.  No reason for it, it just seem like fun to do as much as you can with as little as you can.  BTW I am big fan of event-driven systems. I've written a lot of software for them. I even added a HALT LED to the ZORAK Mothership (a.k.a the ZMS).  I hope to run re-entrant CPM w/ three consoles someday.  The very early Altair BASIC was multi-user.  Anyway, that's what floats my boat.

Happy scheming.

-SteveM
CompChip.tiff

karlab

unread,
Jun 2, 2018, 8:41:02 AM6/2/18
to RC2014-Z80
Hi Steve
Great Job!!
I look forward to testing your cards.
I love the integration of a clock on the SIO/2 card so the CPU can run at a different speed.
Karl


Tom Szolyga

unread,
Jun 2, 2018, 3:29:59 PM6/2/18
to RC2014-Z80
Hi SteveM,

I have tried doing a 85C30 board design for RC2014.  The 85C30 does not have an exact Z80 bus connection like the SIO chip.  The there are two issues:
  - No Reset
  - Interrupt acknowledge timing

Attached is a drawing from the Zilog App manual.  Reset is easy to generate by adding one IC.  The Interrupt acknowlege timing is not quite as easy.  

Bottom line: using the 85C30 instead of the SIO chip adds logic to the board.  As long as the SIO chip is available, I plan to stay with it.

Best regards,
Tom 
Z80 to 85C30 Interface.jpg

Jon Langseth

unread,
Jun 2, 2018, 4:22:59 PM6/2/18
to RC2014-Z80
As you changed your other design, the CTC, to have "piano-style" positioned DIL switch at the edge, maybe it would make sense to do that here as well?

Doing the full decode using a '688 is something I'd wish I had taken the effort (and cost) of doing on the LiNC80. Having an RC2014 SIO/2 board with precise decoding allows for a system with a great many serial ports on it :) 

Regarding the odd/even (Grant/RC) style register order, I'm a bit divided. In my opinion, the way that Grant (and I, and the Zilog docs) does is the "correct" way, and as such I prefer that. But at the same time, that means using your SIO/2 board as the primary console will mean people have to make sure they have the correct build of RomWBW, CP/M and/or other system level software. I simply don't know how much of a headache that may lead to.

Steve Cousins

unread,
Jun 3, 2018, 7:35:48 PM6/3/18
to RC2014-Z80
The SIO/2 board is coming along.

I decided I wanted to have both software compatibility with the official SIO/2 module, and also compatibility with the Zilog normal register order.

I have therefore included an inverter to provide compatibility with the official SIO/2 and jumpers to select the Zilog normal register order.

Grant's original design, Dr Baker's SIO module, and Tom's SIO module all use the Zilog normal register order.


Comments welcome.

Steve



SC104 - Schematic - v0.3.pdf

Jay Cotton

unread,
Jun 4, 2018, 12:33:20 AM6/4/18
to RC2014-Z80
Good call, good solution.  I think this will work just fine with current rc software.

Jon Langseth

unread,
Jun 4, 2018, 4:15:33 AM6/4/18
to RC2014-Z80
Looking good there, a well thought out and flexible design. I know the board is quite "full" as is, but could I suggest adding jumpers to disconnect the serial ports from the RX/TX/RX2/TX2 lines of the RC2014 bus? I've been "bitten" by this myself, having two UARTs on the rx/tx signals of the bus, causing neither of them to work. Since your card allows for an arbitrary number of these through it's precise address decoding, it would be a shame to be locked to only be able to use one because of those four signals...

Steve Cousins

unread,
Jun 4, 2018, 5:13:17 AM6/4/18
to RC2014-Z80
Hi Jon

That is a VERY important point, which I had totally overlooked.

Spencer has a partial solution to this issue by having a relatively easy way to isolate signals to different sections of some of his backplanes. However, it still involves cutting tracks and there are only limited options for isolation.

In the CTC topic, Mark T described his solution to isolating signals.

While there are some solutions out there to the problem you raised, I agree it is a growing problem once you have the means to add more serial devices.

So now you've created me a headache  :-) 

How to get four more jumpers on the board???

Ironically, when I started thinking about making some boards I had hoped to keep them simple, as I noticed how many people have problems with all the jumper settings. There seems to be no way to avoid such complications if you want flexibility. I had considered making two sets of boards; one aimed at flexibility and one kept simple with a dedicated function. I guess most people here would go for the flexible board. Choice is a form of complexity too!

Thanks for raising this.

Steve

Jon Langseth

unread,
Jun 4, 2018, 6:02:56 AM6/4/18
to RC2014-Z80
My "instinctive" thought was to suggest four jumpers, possibly located in the area next to JP1/JP2.

Steve Cousins

unread,
Jun 4, 2018, 6:08:52 AM6/4/18
to RC2014-Z80
Yes, that's what I was thinking.

I have been trying to include enough info on the board to remind users what the jumpers are for, but I'm running out of space now.

Perhaps I can silk screen the user guide on the back of the board :-)

Steve

Spencer Owen

unread,
Jun 4, 2018, 6:13:02 AM6/4/18
to rc201...@googlegroups.com
On 4 June 2018 at 10:13, Steve Cousins <steve...@gmail.com> wrote:
Ironically, when I started thinking about making some boards I had hoped to keep them simple, as I noticed how many people have problems with all the jumper settings. There seems to be no way to avoid such complications if you want flexibility. I had considered making two sets of boards; one aimed at flexibility and one kept simple with a dedicated function. I guess most people here would go for the flexible board. Choice is a form of complexity too!

He he. Welcome to my world :-)  If you make a jumperless RC2014, people complain about a lack of options.  If you add all the options, people get confused.  It's a fine balance!

Cheers

Spencer 

Steve Cousins

unread,
Jun 4, 2018, 6:46:18 AM6/4/18
to RC2014-Z80
Yes, design is just another word for compromise!

Steve

Nigel Kendrick

unread,
Jun 5, 2018, 4:30:34 PM6/5/18
to RC2014-Z80
Where are you (UK) guys getting your Z80 SIOs from - and what speed? I was chuffed to find I had an SIO/0 in my spares (I'm breadboarding at first so the model doesn't matter), but it's only a 4Mhz part - is it likely to run OK or should I drop some notes for a proper (freq) one - if so, any suiggested suppliers? As a secondary question, do you find there's a differene between 'UTSource' stock and third parties selling through UTSource?

Steve Cousins

unread,
Jun 5, 2018, 4:55:12 PM6/5/18
to RC2014-Z80

Here's a list a drew up recently of Z80 parts in UK pounds excluding VAT.

Z84C0010PEGZ80 CPU 10MHzFarnell10818914.57
Z84C0010PEGZ80 CPU 10MHzMouser692-Z84C0010PEG3.80
Z84C0010PEGZ80 CPU 10MHzRS625-90783.72
Z84C2008PEGZ80 PIO 8MHzFarnellno longer stocked0.00
Z84C2010PEGZ80 PIO 10MHzMouser692-Z84C2010PEG3.80
Z84C2008PEGZ80 PIO 8MHzRS625-89523.72
Z84C3006PEGZ80 CTC 6.17MHzFarnell10818664.93
Z84C3008PEGZ80 CTC 8MHzMouser692-Z84C3008PEG3.80
Z84C3010PEGZ80 CTC 10MHzMouser692-Z84C3010PEG3.80
Z84C3006PEGZ80 CTC 6.17MHzRS625-90903.72
Z84C3008PEGZ80 CTC 8MHzRS625-89963.72
Z84C4006PEGZ80 SIO/0 6MHz (no 8MHz part)Farnell10818678.53
Z84C4010PEGZ80 SIO/0 10MHz (6 and 8MHz available at same price)Mouser692-Z84C4010PEG7.48
Z84C4006PEGZ80 SIO/0 6MHzRS660-07637.47
Z84C4006PEGZ80 SIO/2 6MHz pk 10RS146-12356.98
Z84C4008PEGZ80 SIO/0 8MHzRS625-90408.14
Z84C4008PEGZ80 SIO/2 8MHz pk 10RS165-89428.30
Z84C41xxPEGZ80 SIO/1 Farnellnot listed0.00
Z84C41xxPEGZ80 SIO/1 Mousernot stocked7.48
Z84C41xxPEGZ80 SIO/1 RSnot listed0.00
Z84C4206PEGZ80 SIO/2 6MHz (no 8MHz part)Farnell660-07667.52
Z84C4206PEGZ80 SIO/2 6MHz pk 10 (no 8MHz part)Farnell146-12366.98
Z80C4208PEGZ80 SIO/2 8MHzMouser692-Z84C4208PEG7.48
Z84C4206PEGZ80 SIO/2 6MHz pk 10RS146-12366.92
Z84C4206PEGZ80 SIO/2 6MHzRS660-07667.60

karlab

unread,
Jun 8, 2018, 2:23:51 PM6/8/18
to RC2014-Z80
Hi 

Have just assembled my own SIO/2 module (see picture). Had some problems getting it to work, but after thorough cleansing with ethanol, it started to function.
It doesn't work very reliable so I wonder if the particular chip in the card does not handle the 7.3 Mhz clock speed.
Can anyone advise me which chip to use and what to look for?


Mark T

unread,
Jun 8, 2018, 3:33:09 PM6/8/18
to RC2014-Z80
Hi Karlab,
Maybe the ethanol is cooling the chip and improving the overclocking a little.

I think the Z80A marking indicates a 4MHz nmos part, possibly from 1982. If it is then its doing quite well to function even without reliability. Maybe you could also try dropping the bus clock speed while keeping the 7.328MHz serial clock.

Check the list Steve C posted prior to your post, probably safest to pick an 8MHz part or better.

Mark

Randy Mongenel

unread,
Jun 8, 2018, 3:41:22 PM6/8/18
to rc201...@googlegroups.com
Z8440/1/2 A is indeed a 4MHz part. B is a 6MHz part.

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/02fb29e5-c522-4291-ae92-9618b22dbd8f%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Randy Mongenel

unread,
Jun 8, 2018, 3:48:44 PM6/8/18
to RC2014-Z80
For an 8MHz-capable SIO/2 chip in DIP40 form, you want this Zilog part: Z84C4208PEG. The 08 is the speed. Mouser Electronics carries them.

karlab

unread,
Jun 8, 2018, 4:18:21 PM6/8/18
to RC2014-Z80
Thanks for the help.
Obviously buying cheap at ebay, you get what you pay for.
Karl

Thomas Riesen

unread,
Jun 9, 2018, 11:00:07 AM6/9/18
to RC2014-Z80
Karl,

I don‘t agree, I buy a lot of IC‘s from eBay sellers (China, HK, ...), and also from
utsource.com, mostly I got working stuff. For the non working stuff I got always
a refund.

Thomas

karlab

unread,
Jun 9, 2018, 2:17:52 PM6/9/18
to RC2014-Z80
Hi Thomas
I don't disagree with you.
I am very pleased with buying stuff from China.
My point is when you pay $5 for 3 Z80 SIO/2 you don't get the highest spec. chips. 
In this case, it was my fault, but I don't mind and I look at it as a part of the learning experience.
Karl

Spencer Owen

unread,
Jun 9, 2018, 2:32:44 PM6/9/18
to rc201...@googlegroups.com
FWIW I've done quite a bit of testing with a 6MHz SIO/2, and they will happily run all day long at 7.3268MHz without missing a beat.

Also, 4MHz Z80 CPU will run happily for a few hours at 7.3268MHz, although eventually it will kill them. (About 4 hours in a tent on a warm day iirc).

Cheers

Spencer 

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.

To post to this group, send email to rc201...@googlegroups.com.

Steve Cousins

unread,
Jun 25, 2018, 4:48:47 PM6/25/18
to RC2014-Z80
The Z80 SIO/2 module design is now public.


Schematic and User Guide attached. The user guide includes component sourcing and assembly information. Info also at www.scc.me.uk

You can purchase the printed circuit board from EasyEDA.com or download the Gerber and send it to your preferred PCB fabricator. If you purchase from EasyEDA you can get 10 boards for their minimum price. In UK pounds it should work out at £7.73 (about 10.25 USD)for the PCBs plus delivery. If you want them in about 6 days from order you need to pay about £16.73 (about 22.19 USD) for delivery. Total cost £24.46 (about 32.44 USD). If you want them in green and don't mind waiting a few weeks the price comes right down. Watch out for potential customs duty and taxes which you may have to pay.

Thanks again to all those who contributed to this project.

Steve


SC104 - Z80 SIO2 for RC2014 - Schematic.pdf
SC104-v1-0-SIO2-guide-e1-0-0.pdf

karlab

unread,
Jun 26, 2018, 8:39:58 AM6/26/18
to RC2014-Z80
Hi Steve 
You have been busy! And you have done it again, the presentation and documentation for the SIO/2 board are superb, well done.
Have now placed the CTC and SIO modules on the order list at JLCPCB.

I have also shared my backplane designs on EasyEDA.com for anyone to use.

Karl


 

Daniel Quadros

unread,
Jun 26, 2018, 11:03:54 AM6/26/18
to RC2014-Z80
Not planing to build this (will stay with the 68B50 for some time), but have to say the User Guide is superb!

Daniel

Steve Cousins

unread,
Jun 26, 2018, 11:19:15 AM6/26/18
to RC2014-Z80
Karl and Daniel: Thanks for your kind words.

Karl: I try to maintain a spreadsheet of all available RC2014 hardware, so I'll add your backplane designs.

Steve

Jay Cotton

unread,
Jun 26, 2018, 4:33:21 PM6/26/18
to RC2014-Z80
Once again, well done.

Ordered boards....  I seem to be getting 10 boards for $2.  Really generous discount.  I expect they will
up it in due course.

So, for those interested in less that 10 boards, I may have a few spares.

Thanks for adding the compatibility mode, this makes s/w a snap.

jc

Steve Cousins

unread,
Jun 30, 2018, 4:31:27 PM6/30/18
to RC2014-Z80
For anyone building my SIO/2 module, I recommend soldering the oscillator module directly to the PCB.

Compare the picture below of an SIO module with a soldered in oscillator with a CTC module with the oscillator on a socket.






Using a socket makes the oscillator sit rather high, it looks ugly (to me at least) and it is not as secure.

Also selecting the 14-pin sized oscillator, rather than the 8-pin sized version, covers up the unused holes/socket area, and again looks nicer.

Realistically you are unlikely to want to use a different frequency for the serial port as that changes the baud rates, so the idea of a socket to allow change is probably irrelevant.

The CTC module is more likely to make use of different frequencies, but even here it is probably unlikely.

Steve




Tom Szolyga

unread,
Jul 1, 2018, 2:25:26 PM7/1/18
to RC2014-Z80
Good idea!  I have had issues with the "osc in a socket" touching the back of the board in front of it.  The board tilts a bit in its socket and the system stops working.   

I ordered boards too.  Both the SIO and CTC boards should arrive on Tuesday, 7/3.  Mine will be green.

Best regards,
Tom

Steve Cousins

unread,
Jul 1, 2018, 6:14:15 PM7/1/18
to RC2014-Z80
Hi Tom

I think you are right about sockets and oscillator touching next board. Could insulate it but best avoid the problem completely.

I hope the SIO and CTC work out well for you.

I'm thinking of switching to green too. I did think blue looked nicer, but less sure now. Green is significantly cheaper and makes more sense when experimenting.

Steve

Peter Willard

unread,
Jul 2, 2018, 12:33:38 PM7/2/18
to RC2014-Z80

Mine (green) arrive Thursday.  Looking forward to it.

Jay Cotton

unread,
Jul 3, 2018, 5:53:29 PM7/3/18
to RC2014-Z80
Sio board is running.

Steve Cousins

unread,
Jul 3, 2018, 6:15:30 PM7/3/18
to RC2014-Z80
Glad to hear it. Thanks for letting me know, Jay.

Tom Szolyga

unread,
Jul 4, 2018, 6:24:38 PM7/4/18
to RC2014-Z80
My boards (both SIO and CTC) arrived from EasyEDA.  They look very nice.  Starting the build.
Tom

Peter Willard

unread,
Jul 6, 2018, 6:19:17 AM7/6/18
to RC2014-Z80

Same here...
Reply all
Reply to author
Forward
0 new messages