Upcoming changes to the RC2014 bus and ecosystem

1260 views
Skip to first unread message

Spencer Owen

unread,
Jun 16, 2019, 3:39:20 PM6/16/19
to RC201...@googlegroups.com
Almost 4 years ago, when I listed the first RC2014 PCBs on Tindie, I tried to come up with a description of what an RC2014 is, and ended up with this;

RC2014 is a simple 8 bit Z80 based modular computer. It is inspired by the home built computers of the late 70s and computer revolution of the early 80s. It is not a clone of anything specific, but there are suggestions of the ZX81, UK101, S100, Superboard II and Apple I in here. It nominally has 8K ROM, 32K RAM, runs at 7.3728MHz and communicates over serial at 115,200 baud.

Since then, there has been a few questions raised about things like which backplane pins should be used for 3v3, what is the best way to address 16 bit I/O ports, what bus termination is used for really fast CPU, how is SPI or I2C supported on the backplane, how should IEI/IEO be addressed on the bus, what is the finest pitch surface mount parts that can be used, how should the physical bus be changed... etc.  So, with that in mind, the description on all RC2014 products going forward will be;

RC2014 is a simple 8 bit Z80 based modular computer. It is inspired by the home built computers of the late 70s and computer revolution of the early 80s. It is not a clone of anything specific, but there are suggestions of the ZX81, UK101, S100, Superboard II and Apple I in here. It nominally has 8K ROM, 32K RAM, runs at 7.3728MHz and communicates over serial at 115,200 baud.

The RC2014 was never designed to run super fast CPUs with a huge range of exotic peripherals and loads of memory.  It was designed to be simple.  Simple to build, simple to understand, and simple to program.

So, for the various questions people have been asking, it does not have a 3v3 pin on the backplane. It does not have 16 bit I/O ports.  It does not have any bus termination.  SPI or I2C are not supported on the backplane.  The RC2014 bus does not support IEI/IEO modules.  Through-hole components are used. And the physical bus will not be changing.

I appreciate that this might not be the response that a few of you were looking for.  Everybody that has bought an RC2014 kit would have read the description above.  If you read that and expected a Z280 running at 33MHz with 4Mb RAM, SD storage with 16 bit IO peripherals and I2C, then, I'm sorry, but that is not what the RC2014 is.  And not what it is going to be.  Having a pissing competition to see who has the fasted CPU, or the most memory, or the most complex OS is not what the RC2014 is about.  If it comes to an arms race then just jump straight to the finish line and get a Raspberry Pi or some modern thing.  That'll have all the memory, ports, speed and expansion you could possibly want.

There are currently well over 12,000 RC2014 PCBs out there in the wild which work just fine and by definition, totally comply with the RC2014 specification and ethos.  [No RC2014 modules are "Problem Modules" particularly when there's almost a thousand of them out there doing exactly what they were designed to do]  I don't have any figures on how many 3rd party boards "designed for RC2014" have been sold, but I know that a lot have been designed.  Most of these worth within the RC2014 constraints, and there are some really great peripherals or replacement modules.  Some use some of the spare pins for their own use.  It is totally ok to use spare pins for whatever you want.  It's totally ok to use extra pins for whatever you want.  It's even totally ok to reuse existing pins for something totally different.  However, it should be clear that anything which will not plug in to and run on a RC2014 is not compatible with the RC2014.  

I know that a few people on this group are really pushing, and well exceeding the boundaries of what the RC2014 was designed for.  This is great, and I admire the work you guys are putting in to this.  But it must be pointed out that the vast majority of people got their RC2014 because of the simplicity.  Because it was something that they could build themselves.  Because it was reminiscent of what they build as youngsters or saw their parents working with.

Sorry that this email has been quite a bit longer than I expected, and probably a bit rambley in places.

tl;dr RC2014 will not be changing

Thanks

Spencer - putting on his fireproof suit

karlab

unread,
Jun 16, 2019, 4:26:41 PM6/16/19
to RC2014-Z80
Hi Spencer

I appreciate you want to keep the RC2014 system as it is.
The rc2014 is probably one of the best educational platforms for computer design and the brilliant part is the backplane and modular design.

It is important to have in mind that while your system is a good starting platform, users may want to experiment, try new things, new functions, new circuits, new CPUs.
Basically, the users are moving on, and some may be moving away from RC2014. It is not a speed race, but it may be pushing the boundaries.
Users have these projects because it's fun, they want a challenge and it's educationally, and that's not a bad thing.
And the whole RC2014 community is benefiting from this development.

Making extended standards do not threaten the RC2014 platform, but facilitate interoperability between advanced projects.

cheers

Karl
wearing fireproof gloves ;)

Eric Matecki

unread,
Jun 16, 2019, 4:38:52 PM6/16/19
to RC2014-Z80
Hi Spencer,
This is great, as it is an 'official' answer many where waiting for (and for some time for some of the topics).
In all this, *I* am only interested in IEI/IEO, now I know the best way is simply to use flying wires between modules.
Because whatever pins are used on the backplane for IEI/IEO, there will be a conflict in the future with another board.

Eric M.


Alan Cox

unread,
Jun 16, 2019, 5:01:54 PM6/16/19
to rc201...@googlegroups.com
> I appreciate that this might not be the response that a few of you were looking for. Everybody that has bought an RC2014 kit would have read the description above. If you read that and expected a Z280 running at 33MHz with 4Mb RAM, SD storage with 16 bit IO peripherals and I2C, then, I'm sorry, but that is not what the RC2014 is. And not what it is going to be. Having a pissing competition to see who has the fasted CPU, or the most memory, or the most complex OS is not what the RC2014 is about. If it comes to an arms race then just jump straight to the finish line and get a Raspberry Pi or some modern thing. That'll have all the memory, ports, speed and expansion you could possibly want.

36MHz works fine - I have wait states on the CPU but that's because
the RAM isn't quite fast enough 8)

> No RC2014 modules are "Problem Modules"

It would be nice to get the CF module more reliable. IMHO that one
does qualify as a problem module if you are unlucky on your choice of
CF card.

We probably do need a proper 'extended standard' beyond RC2014 just so
the addons interwork, even if it's not a Spencer standard - and we
seem to kind of have that already.

Alan

Derry UK

unread,
Jun 16, 2019, 5:50:29 PM6/16/19
to RC2014-Z80
There is more than one way to skin a cat. That is why I have a dozen or so z80 systems. Th Rc2014 wasn't one of my favourites but I liked the idea of plug in boards and so do a lot of people it seems.

I am now at my happiest with a Teensy running emulated CPM. The DOS formatted SD card makes life a breeze but more importantly it allows me to write Z80 assembler all day long.

Derry.
PS I will get that text editor finished one day ....
PPS I don't read a Teensy forum for my Z80 fix I read this one.

Steve Cousins

unread,
Jun 16, 2019, 5:55:06 PM6/16/19
to RC2014-Z80
Spencer

Thanks for clarifying the official position on the future of RC2014. 

A while back you provided, on this forum, some provisional guidance on the use of additional bus pins:

I've been musing over enhancements to the backplane for a little while now, and whilst nothing is set in stone, the pin layout would follow this;
   Enhanced Standard
A31 1 1 A15
A30 2 2 A14
A29 3 3 A13
A28 4 4 A12
A27 5 5 A11
A26 6 6 A10
A25 7 7 A9
A24 8 8 A8
A23 9 9 A7
A22 10 10 A6
A21 11 11 A5
A20 12 12 A4
A19 13 13 A3
A18 14 14 A2
A17 15 15 A1
A16 16 16 A0
Gnd 17 17 Gnd
5v 18 18 5v
RFSH 19 19 M1
Page 20 20 Reset
Clock2 21 21 Clock
BUSACK 22 22 INT
HALT 23 23 MREQ
BUSRQ 24 24 WR
WAIT 25 25 RD
NMI 26 26 IO


I think some of us have been basing our "designed for RC2014" on this guidance. Are you saying this guidance is not correct?

You say "However, it should be clear that anything which will not plug in to and run on a RC2014 is not compatible with the RC2014.". Does that mean anything that does not work on a backplane Pro can no longer be described as RC2014 compatible?

Steve

Phillip Stevens

unread,
Jun 16, 2019, 10:16:31 PM6/16/19
to RC2014-Z80
+1.

Greg Holdren

unread,
Jun 16, 2019, 10:17:05 PM6/16/19
to RC2014-Z80


Pffftt, Right, people take your MB memory hogging speed demon OS pissing contest elsewhere. It is not needed to support the official RC2014 ca$h cow.

Greg

Richard Lewis

unread,
Jun 16, 2019, 10:24:16 PM6/16/19
to RC2014-Z80
(disclaimer: this will start off slow but I'll get to the point soon enough...) 

I'm only speaking for myself but basically I'm bored. To elaborate, when I first started building my kit a "pull up" to me was something my daughter wore after graduating from nappies. I got my system up and running, booted CP/M, played ZORK, Star Trek and fired up Wordstar for the first time in 30 years, Next I relearned Z80 assembler which I hadn't touched since I was a kid. Then I build pretty much every board available in the RC2014 ecosystem. I studied the schematics to learn about how address decoding works, then Iearned that a pull-up is not something you go to the bathroom in. Fast forward to today and I'm using Kicad to build my own boards. But then what to build? In my mind it's pretty much all been built. The last board I created of my own design was a THT "Bus Monitor" which was so similar to Dr Bakers (probably because we both lifted the idea from Steve Ciarcia) that I was originally going to call it "The Dead Horse" module. However, I learned quite a bit from that exercise. The 2nd board I designed was a Z80, SIO4, PIO, CTC, SRAM, EEPROM, CPLD for glue, all in SMT QFP packages and it fit on one standard 4-layer rc2014 card with room to spare. Never sent off for the boards because it didn't do anything special just was fun to create. An hour ago I finished soldering a QFP-144 with 0.65mm pitch without any issues. A year ago if you threw a QFP in front of me and said: "Solder this!" I would reply: "Are you high? No way..." Before the rc2014 I had built kits (clocks, a stereo, various small things) but had treated them a "paint by number" exercise. The rc2014 was the first kit to actually entice me to learn more. 

OK, sorry for the rambling. Just wanted to provide some context. Even though I'm old enough to have been involved in the "retro era" and have a bit nostalgia from the days when I was first learning how to write a game on a TRS-80, I'm pretty much stuck in the present. The original rc2014 kit that I put together has subsequently been cannibalized for parts and is in a box somewhere. I just recently moved over to the Z180. I like discovering new chips and going blind attempting to solder ridiculously small parts. So I've learned things and have been progressively moving up levels. 

Now I'll get to the point. I see the future of the RC2014 ecosystem as "leveling up" with the user. Received a grab bag of Diligent PMods in the mail the other day: air pressure, ADC, temperature, servo control etc etc etc and all work with SPI or I2C. My thought was: "Wouldn't this be cool to build into the RC2014 world and for example access a motor control module which uses 201X parts from MSBasic written in 1980?"

Richard Lewis

unread,
Jun 16, 2019, 10:48:47 PM6/16/19
to RC2014-Z80
Hi Greg, I am very bad at detecting sarcasm which I assume this is. My interpretation is that maybe we should split off into separate forums or groups? A group for vanilla RC2014: ask questions about the kit, get help if something is not working, announce new products and releases. A group for discussion around RC2014 compatible boards and perhaps a group to talk about anything related to the Z80. I don't think Google Groups allows subgrouping or dividing groups into forums? 

Richard Lewis

unread,
Jun 16, 2019, 11:07:34 PM6/16/19
to RC2014-Z80

Now I'll get to the point. I see the future of the RC2014 ecosystem as "leveling up" with the user. Received a grab bag of Diligent PMods in the mail the other day: air pressure, ADC, temperature, servo control etc etc etc and all work with SPI or I2C. My thought was: "Wouldn't this be cool to build into the RC2014 world and for example access a motor control module which uses 201X parts from MSBasic written in 1980?"


Wanted to expand on this last point. It is ridiculously easy (bordering on trivial) to plug a SPI peripheral into a RaspPI, Arduino or (not as trivial, but still reasonable easy) an FPGA board. Just download the sample code, plugin the wires and "go". I'm already yawning as I type this... What would be more fun is getting it work with retro hardware. 

John Kennedy

unread,
Jun 16, 2019, 11:15:15 PM6/16/19
to RC2014-Z80
Maybe there is a need for some kind of expansion system, that still at the end of the day, can be communicate with the RC system (so you can write Z80 code to interface it) but which opens up in a more powerful buss for lots of different processors, sensors, internet connections etc etc? If that became a standard, there could be an entirely new and modern system for you to play with BUT it would still link to the good old RC..

Phillip Stevens

unread,
Jun 16, 2019, 11:34:39 PM6/16/19
to RC2014-Z80
Richard Lewis wrote:
Now I'll get to the point. I see the future of the RC2014 ecosystem as "leveling up" with the user. Received a grab bag of Diligent PMods in the mail the other day: air pressure, ADC, temperature, servo control etc etc etc and all work with SPI or I2C.

Sometimes, when "leveling up" it is time to move on to new things (without necessarily discarding the old).

This conversation is particularly relevant, IMHO, for things like the Arduino platform too.
In the midst of a raft of new 32-bit MCU (sponsored by companies wanting to get to the maker market), the Arduino UNO soldiers on.

Why is that? Well, I guess because the Uno is simple to use for people starting out, and remains relevant for others too. So the Arduino developer community is becoming fragmented because of the multitude of platforms they're trying to support, but they're forgetting that it is the beginner that is their customer.

For example, I have two RC2014 systems. One of which is an original small low card #256, which lives in my e-memorabilia drawer.
The other updated CP/M RC2014, which lives on my desk alongside my z180 platform.

IMG_2496.JPG


I use them both daily, and love the fact that I can test my code in either z80 or z180 environments with a very simple and robust workflow, just by plugging a USB.

When I started building my z180, I didn't try to fit it into RC2014 format, because I had my own particular goals for "leveling up". Point I'm making is that not everything has to be made to be RC2014 compatible. Strike out on your own, be like the Steve Ciarcia's of the world. ;-)

Rejoice in what is the spirit of the RC2014. "RC2014 is a simple 8 bit Z80 based modular computer. It is inspired by the home built computers of the late 70s and computer revolution of the early 80s." If you, personally, want to do something else challenging then that's great too. Leveling up our knowledge is what this is all about.

Cheers, Phillip

Greg Holdren

unread,
Jun 16, 2019, 11:36:50 PM6/16/19
to RC2014-Z80

Richard,

Yes, very much meant as sarcasm. ;)

Not really digging the tone of the message. Really odd. Spencer could just say the "Official" bus spec will not change or whatever and it is not expanding beyond what it is now. It is almost like that this has been brewing for awhile and it just blew up. Maybe the advanced discussions here are scaring off the beginning/potential Z80-RC2014 users.

Yeah, I was thinking that another group "80-pin bus", or whatever group name, could be created for advanced discussions and the current for supporting kit builders and official use. This happens to political/specification bodies all the time, split and bail. Only Spencer can tell use if that is the case.

Greg

Richard Lewis

unread,
Jun 17, 2019, 12:33:59 AM6/17/19
to RC2014-Z80
Hi Phillip, I get it. Yesterday I used a dusty UNO to program a si5153 clock generator board over SPI because the creator of the board emailed me an Arduino sketch. However jumping back into the Arduino IDE was the electronic equivalent of being castrated. I have moved on. I guess I could sit down,  build out a brand new system and bus around the eZ80 for example, dump it on Tindie and wait for the money to not roll in. I could discuss this new system here and no one would listen and possibly get reprimanded for being off topic. Or I could be part of an established community, try something new, bounce it off of people and see if anyone "buys" into it. 

I don't necessarily include myself in this category but if the "experts" get scared off I have no reason to stick around. Not really interested in helping someone write a very basic algorithm in z80 asm to convert BCD to binary or to help someone with poor soldering skills. I used to but now starting to find it tedious. Would rather talk about if it's possible to bitbang SPI or I2C with a Z80. 

Richard Lewis

unread,
Jun 17, 2019, 12:47:17 AM6/17/19
to RC2014-Z80
80-pin bus would be a good name for a punk rock band.,,,

Phillip Stevens

unread,
Jun 17, 2019, 12:57:10 AM6/17/19
to RC2014-Z80
Richard Lewis wrote:
I don't necessarily include myself in this category but if the "experts" get scared off I have no reason to stick around. Not really interested in helping someone write a very basic algorithm in z80 asm to convert BCD to binary or to help someone with poor soldering skills. I used to but now starting to find it tedious. Would rather talk about if it's possible to bitbang SPI or I2C with a Z80.

The RC2014 community needs to keep the discussion "simple 8 bit Z80 based modular computer" related, but there's strong interest in other topics which keep the place animated.

In the absence of a better solution, perhaps just adding an [off topic] subject tag to general what-if z80 / z180 thought bubble threads would be enough to achieve both outcomes?

But, I don't think that even the BDFL can edit posts or their subject lines to suit. It is a limitation of Google Groups, that there's no hierarchy of topics or post editing, unfortunately.

Cheers, Phillip

Richard Deane

unread,
Jun 17, 2019, 2:30:07 AM6/17/19
to RC2014-Z80
I find the rc2014 group very invigorating, helpful and generally friendly, covering a range of topics from simple to advanced. I would hate that to change. I find it full of info and ideas, a much better vehicle than the unofficial Facebook group which in my view hasn't picked up traction yet. If we all drift off to other groups we will have lost something good.
I think Spencer has maintained a fair level of tolerance for the messages that drift off strict rc2014 and I believe they can strengthen the group, but rightly may require moderation.
Keep up the good work, everyone!
Richard

Mike Strange

unread,
Jun 17, 2019, 5:48:53 AM6/17/19
to RC2014-Z80
Spencer, your definition and clarity in your intentions are exactly what has been needed. There are some extremely clever people here that are able to develop hardware and software that must surely be way beyond even the comprehension of most people who have purchased your RC2014 systems. Indeed, I wonder just how many people have actually taken their initial kit any further than your designs and have no plans to do anything else. 

There is the danger that folk joining the Group before they make a purchase may be put off by the wonderful high-level discussions that now dominate the posts here and decide against a purchase. It would be interesting to get some input from people who are beginners and just want to have a dabble at the basic level.

Perhaps the solution might be to migrate to a proper forum so that the high level activities can be on boards of their own within the forum leaving the conventional RC2014 requests for help and the solutions much more visible and accessible. As it is even the really clever stuff is soon buried in this serial nature of Google Groups that doesn't even have the means of establishing a repository for files and photographs or even sticky posts with links to help and developments.  Yahoo Groups are great for storage but posts are still serial (and their demise is threatened); is there anything that provides both features (message grouping and information storage)?

All the best
Mike

On Sunday, 16 June 2019 20:39:20 UTC+1, Spencer Owen wrote:

Alan Cox

unread,
Jun 17, 2019, 9:30:00 AM6/17/19
to rc201...@googlegroups.com
Some thoughts

- Please don't call any extended bus 80pin bus or 80-bus or stuff like
that because there already is an 80bus. It's what all the old Nascom
and related machines used so it's already a thing.
- SPI is 1985 so at least as legacy as IDE (1986), and way more so
than compact flash (1994) 8)
- I still think SPI and I²C are important to attract people as it
means you could build machines that do interesting stuff more easily -
even if they are bitbang. You simply can't get most of the old old non
SPI or I²C sensors any more, they no longer exist
- SPI is going to matter in time, because compact flash is going away

One approach that strikes me is to define (or more likely borrow) a
completely unrelated SPI/I²C type bus arrangement and then have a
bridge board of some kind that plugs into both busses providing RC2014
on one bus and I²C etc on the other whether it is legacy in design or
modern wouldn't matter (or indeed whether it was a board or a bunch of
wires from a Z80PIO RC2014 card).

Alan

Greg Holdren

unread,
Jun 17, 2019, 12:40:04 PM6/17/19
to RC2014-Z80
Alan,

No, that was an just an example or place holder for some name.
I'm sure a suitable existing bus standard exist that will work if not
the enhanced 80 pin bus.

I2C is good for sensors or infrequent data but data "en mas" it isn't.

Greg

Jay Cotton

unread,
Jun 17, 2019, 12:44:55 PM6/17/19
to RC2014-Z80
I like the ideas of a bus to bus board that implements i2c and spi in one and
provide a bus on the other side.  We already have both i2c and spi designs, seems
to me a merge is called for.


On Monday, June 17, 2019 at 6:30:00 AM UTC-7, Alan Cox wrote:

Michael Stevens

unread,
Jun 17, 2019, 2:07:55 PM6/17/19
to RC2014-Z80
I do feel a little disappointed with the attitude from Spencer.  If not for the people that have jumped on your platform would have had far fewer sales. When you want to use terms like pissing competition tells me you are losing the plot. Your technical ability is much more limited than the ecosystem that sprang up behind this, My boards will be tagged with "Maybe not RC2014 Compatible" Will just give them away so you should not feel any stress on what you claim as your Copyright. Do or can you prove have actually taken out a copyright on the name RC2014? 

Steve Cousins

unread,
Jun 17, 2019, 2:17:42 PM6/17/19
to RC2014-Z80
Hi Michael

Spencer's website states that RC2014 is a registered trademark. See text below.

Steve

If you wish to design your own modules, you are, of course, free to use whatever shape, size or pin arrangement you wish.  However, keeping to the above guidelines should give your modules compatibility with other RC2014 modules.  If your module may be of use to other RC2014 owners, please consider sharing your design or selling them yourself.  I’m happy to help you with this and to spread the word.  Note that “RC2014” is a registered trademark, so you are not allowed to call your module “RC2014 [thingy] Module” or use the RC2014 logo.  However, feel free to mark your modules as “Designed for RC2014”

Alan Cox

unread,
Jun 17, 2019, 2:20:30 PM6/17/19
to rc201...@googlegroups.com
> Do or can you prove have actually taken out a copyright on the name RC2014?


I think you are more than a bit confused. To start with you don't
copyright names, you file trademarks to protect them.

See registration UK00003213928

Alan

Michael Stevens

unread,
Jun 17, 2019, 2:22:46 PM6/17/19
to rc201...@googlegroups.com
Thank-you for the much needed correction. 

Virus-free. www.avast.com

--
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 an email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAK9X0%2BtcD6aPBLtC3DgN3rrAR8P8RfqUi_8J%3DfB4kMnBOUkLNg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Brian Welland

unread,
Jun 17, 2019, 2:52:33 PM6/17/19
to RC2014-Z80
Steve is quite correct but the use of the term "Designed for RC2014" is often taken a little bit too far. It would be better IMHO if it was worded something like "For possible use in a RC2014 System" as many of the 3rd party modules are not fully compatible with the Backplane Pro. Typical examples are some of those excellent designs which use the 2x40 connector which naturally will not fit as the required additional enhanced header pins are simply not present.

I have used the majority of the available "official RC2014" modules for quite a while, all of which will fit the Pro and to me are thus "RC2014 compatible" - all the rest are simply just modules which can or could be used in a RC2014 type of system but are by no means strictly "RC2014 compatible" and should thus not be considered as such.

Whilst I am not against innovation with the use of different types of CPU's etc in RC2014 type systems to me these are not "RC2014 products" and would be better detailed and implemented under a different forum to this one.

Greg Holdren

unread,
Jun 17, 2019, 3:06:52 PM6/17/19
to RC2014-Z80

Cut the pins or no load them or use a shim... Now it is compatible. :)

Greg

Richard Lewis

unread,
Jun 17, 2019, 3:43:55 PM6/17/19
to RC2014-Z80
OK, what about a "certified for RC2014" trademark and logo instead? In order to get this the board has to be proven to work on the original or PRO bus and have documentation in a specific format. Like the moniker "Wishbone Compatible" (for those familiar with the OpenCores concept)


On Monday, June 17, 2019 at 11:52:33 AM UTC-7, Brian Welland wrote:

Marten Feldtmann

unread,
Jun 18, 2019, 2:23:56 AM6/18/19
to RC2014-Z80
What is this discussion all about ? For me personally nothing changes, I develop my modules based on the RC2014 and change them according to my needs ... perhaps considering stuff from karlab or Steve or others ... perhaps leading me to something totally different.

Greg Holdren

unread,
Jun 18, 2019, 2:51:47 AM6/18/19
to RC2014-Z80

Marten,

Spencer is pissed because Bill showed everyone how to turn a $88 RC2014 Mini into a bootable $199 CP/M system without the $88 Full Monty kit. tehehehehehehe :)

...or not.

Greg

Steve Cousins

unread,<