Hi all!
Like quite a few people over the last few months I decided to use my new-found lockdown free time to take up some new hobbies, and revive some old ones. I studied electronics engineering at university back in the day, and in the back of my mind I always had plans to design and build my own 8-bit computer of some description.
I grew up with the BBC Micro, so it seemed natural that whatever I built would be 6502 based. I stumbled across Ben Eater's YouTube tutorials and used them to build my first breadboard-based computer. I've made some modifications, designed a keypad interface roughly based on the BBC's keyboard circuit. Completely over-engineered, but it was good fun to build. Throughout the build I have been learning 6502 assembly along the way.
I remember seeing the RC2014 a while back, and was very interested in it, but now I am firmly in the 6502 camp, so put those thoughts to one side. That is until I discovered that somebody had designed a 6502 CPU board for the RC2014! This is definitely something I could get onboard with.
I was wondering if people were able to point me in the right direction with regards to resources about using the 6502 with the RC2014. I know there are quite a few modules for the Z80, and far fewer for a 6502 machine. My assumption is that some of the basic RC2014 boards can work with a 6502 CPU, albeit with some modification, but what about the more complex boards?
Also, is anyone aware of any 'video cards' that have been designed for a 6502-based machine using the RC2014 backplane? While I am happy to connect the machine to my laptop using a serial connection, the dream would be to have it generate its own video signal.
Thanks in advance for any help!
Newbie moving onto second build - RC2014 but using the 6502?
-
studio_lowfi
- Posts: 3
- Joined: 18 Nov 2020
Re: Newbie moving onto second build - RC2014 but using the 6
You may find some hints in the 6502 on 8080/Z80 Bus and Vice Versa thread. My primary question there was, "What's involved in putting a Motorola-style chip onto an Intel-style bus or vice versa, beyond the obvious," but that doesn't seem to have produced any "here's what's not obvious" answers. Perhaps this is because it really is that simple, or perhaps we just need to implement it to find out.
Especially if you're less experienced and planning on sticking with the 6502 (or other Motorola-bus processors), you may want to look at going the other way around by using the RC6502 bus, which is basically a Motorola port of the basic RC2014 bus. (Don't be distracted by the "Apple 1 replica" bit; it's now gone far beyond that.) There are lots of peripherals there, including a TIA-based video board. I also happen to have a pair of 6847s (and 6845s, too) too in my parts box, and would be happy to collaborate on a project to use one of those to build a RC6502 video board.
If you do decide to go with RC2014 instead, whether you decide to do anything with RC6502 or not, the comparison of RC6502 and RC2014 buses in the Bus.md document (which I wrote) may be useful, or at least a quick starting point. (And I would be pleased to update that with any further information on that topic, if you don't want to submit PRs for it yourself.)
I'm tentatively going with using RC6502 bus even for Intel-style CPUs and peripherals myself, since I already have the SBC (on which onboard peripherals can be disabled with jumpers) and backplane as one of my primary 6502 development systems, I have a larger pile of Motorola-style CPUs and peripherals than Intel-style, I think the backplane would be easier to interface to several of my old '80s 8-bit computers to expand them, and I have a huge stack of 40-pin .1" headers. (Though of course those headers could also be used for the simpler form of the RC2014 bus.) So I suppose my next step in that direction, after I get a few more peripherals built, is to try to put a Z80 on that bus.
Especially if you're less experienced and planning on sticking with the 6502 (or other Motorola-bus processors), you may want to look at going the other way around by using the RC6502 bus, which is basically a Motorola port of the basic RC2014 bus. (Don't be distracted by the "Apple 1 replica" bit; it's now gone far beyond that.) There are lots of peripherals there, including a TIA-based video board. I also happen to have a pair of 6847s (and 6845s, too) too in my parts box, and would be happy to collaborate on a project to use one of those to build a RC6502 video board.
If you do decide to go with RC2014 instead, whether you decide to do anything with RC6502 or not, the comparison of RC6502 and RC2014 buses in the Bus.md document (which I wrote) may be useful, or at least a quick starting point. (And I would be pleased to update that with any further information on that topic, if you don't want to submit PRs for it yourself.)
I'm tentatively going with using RC6502 bus even for Intel-style CPUs and peripherals myself, since I already have the SBC (on which onboard peripherals can be disabled with jumpers) and backplane as one of my primary 6502 development systems, I have a larger pile of Motorola-style CPUs and peripherals than Intel-style, I think the backplane would be easier to interface to several of my old '80s 8-bit computers to expand them, and I have a huge stack of 40-pin .1" headers. (Though of course those headers could also be used for the simpler form of the RC2014 bus.) So I suppose my next step in that direction, after I get a few more peripherals built, is to try to put a Z80 on that bus.
Curt J. Sampson - github.com/0cjs
-
studio_lowfi
- Posts: 3
- Joined: 18 Nov 2020
Re: Newbie moving onto second build - RC2014 but using the 6
cjs wrote:
Especially if you're less experienced and planning on sticking with the 6502 (or other Motorola-bus processors), you may want to look at going the other way around by using the RC6502 bus, which is basically a Motorola port of the basic RC2014 bus. (Don't be distracted by the "Apple 1 replica" bit; it's now gone far beyond that.) There are lots of peripherals there, including a TIA-based video board. I also happen to have a pair of 6847s (and 6845s, too) too in my parts box, and would be happy to collaborate on a project to use one of those to build a RC6502 video board.
Is there anyone selling PCBs (I'm in the UK) or do most people get them manufactured themselves?
Re: Newbie moving onto second build - RC2014 but using the 6
The RC6502 bus is essentially just the (non-expanded, i.e., first 40 pins) RC2014 bus with
a few signal assignments changed to account for the differences between Intel and Motorola signalling. (E.g., the /RD line becomes R/W, and the now unnecessary /WR and /IORQ lines are repurposed for READY and SYNC.) Pins 37-40 are all essentially user-assigned anyway (though there are some conventions that can be useful to follow), and if there were ever to be an "expanded" RC6502 bus it would obviously just follow along in a similar way from RC2014's expansion to a second row.
So since the physical layout, a series of .1" female headers at least 36 pins wide, wired straight through, is exactly the same, you can just buy any RC2014 backplane and use that. In fact, that's exactly what the designer of RC2014 first did.
There are at least three different people selling RC2014 backplanes, both bare board and assembled, on Tindie, and happily for you all three are in the U.K. (Sadly, you have to pick through a longish set of search results to find them all.)
I've never bought from any of them myself, but I'm rather partial to Stephen Cousins' modular backplanes because his SC112/SC113 design offers some extra flexability in the use of lines 36-40, and it's very well documented. (He sells boards and kits on Tindie.)
I notice that there's also a guy selling prototyping cards which might save a little bit of soldering when building boards for the system.
I myself went for the "official" RC6502 design, which is not quite so nice, but was easily available here in Japan from seller, fumi_i2 here on Yahoo Auctions Japan. He sells both backplane PCBs and SBC kits that include the SBC board and all parts. I've bought both and I'm very happy with them. I suppose others are too; I see he's sold 5 SBC kits and two backplace PCBs in the last half year, and that seems to be about the same rate I saw when I looked a year ago, too. I've attached images of the backplane PCB he's selling.
But of course the wiring is so simple that you don't even need to bother with a PCB; just stick some headers in a protoboard and solder them up and bingo, you have a backplane.
Or you can get even more creative:
a few signal assignments changed to account for the differences between Intel and Motorola signalling. (E.g., the /RD line becomes R/W, and the now unnecessary /WR and /IORQ lines are repurposed for READY and SYNC.) Pins 37-40 are all essentially user-assigned anyway (though there are some conventions that can be useful to follow), and if there were ever to be an "expanded" RC6502 bus it would obviously just follow along in a similar way from RC2014's expansion to a second row.
So since the physical layout, a series of .1" female headers at least 36 pins wide, wired straight through, is exactly the same, you can just buy any RC2014 backplane and use that. In fact, that's exactly what the designer of RC2014 first did.
studio_lowfi wrote:
Is there anyone selling PCBs (I'm in the UK) or do most people get them manufactured themselves?
I've never bought from any of them myself, but I'm rather partial to Stephen Cousins' modular backplanes because his SC112/SC113 design offers some extra flexability in the use of lines 36-40, and it's very well documented. (He sells boards and kits on Tindie.)
I notice that there's also a guy selling prototyping cards which might save a little bit of soldering when building boards for the system.
I myself went for the "official" RC6502 design, which is not quite so nice, but was easily available here in Japan from seller, fumi_i2 here on Yahoo Auctions Japan. He sells both backplane PCBs and SBC kits that include the SBC board and all parts. I've bought both and I'm very happy with them. I suppose others are too; I see he's sold 5 SBC kits and two backplace PCBs in the last half year, and that seems to be about the same rate I saw when I looked a year ago, too. I've attached images of the backplane PCB he's selling.
But of course the wiring is so simple that you don't even need to bother with a PCB; just stick some headers in a protoboard and solder them up and bingo, you have a backplane.
Or you can get even more creative:
- Attachments
Curt J. Sampson - github.com/0cjs
Re: Newbie moving onto second build - RC2014 but using the 6
studio_lowfi wrote:
Hi all!
Like quite a few people over the last few months I decided to use my new-found lockdown free time to take up some new hobbies, and revive some old ones. I studied electronics engineering at university back in the day, and in the back of my mind I always had plans to design and build my own 8-bit computer of some description.
I grew up with the BBC Micro, so it seemed natural that whatever I built would be 6502 based. I stumbled across Ben Eater's YouTube tutorials and used them to build my first breadboard-based computer. I've made some modifications, designed a keypad interface roughly based on the BBC's keyboard circuit. Completely over-engineered, but it was good fun to build. Throughout the build I have been learning 6502 assembly along the way.
I remember seeing the RC2014 a while back, and was very interested in it, but now I am firmly in the 6502 camp, so put those thoughts to one side. That is until I discovered that somebody had designed a 6502 CPU board for the RC2014! This is definitely something I could get onboard with.
I was wondering if people were able to point me in the right direction with regards to resources about using the 6502 with the RC2014. I know there are quite a few modules for the Z80, and far fewer for a 6502 machine. My assumption is that some of the basic RC2014 boards can work with a 6502 CPU, albeit with some modification, but what about the more complex boards?
Also, is anyone aware of any 'video cards' that have been designed for a 6502-based machine using the RC2014 backplane? While I am happy to connect the machine to my laptop using a serial connection, the dream would be to have it generate its own video signal.
Thanks in advance for any help!
Like quite a few people over the last few months I decided to use my new-found lockdown free time to take up some new hobbies, and revive some old ones. I studied electronics engineering at university back in the day, and in the back of my mind I always had plans to design and build my own 8-bit computer of some description.
I grew up with the BBC Micro, so it seemed natural that whatever I built would be 6502 based. I stumbled across Ben Eater's YouTube tutorials and used them to build my first breadboard-based computer. I've made some modifications, designed a keypad interface roughly based on the BBC's keyboard circuit. Completely over-engineered, but it was good fun to build. Throughout the build I have been learning 6502 assembly along the way.
I remember seeing the RC2014 a while back, and was very interested in it, but now I am firmly in the 6502 camp, so put those thoughts to one side. That is until I discovered that somebody had designed a 6502 CPU board for the RC2014! This is definitely something I could get onboard with.
I was wondering if people were able to point me in the right direction with regards to resources about using the 6502 with the RC2014. I know there are quite a few modules for the Z80, and far fewer for a 6502 machine. My assumption is that some of the basic RC2014 boards can work with a 6502 CPU, albeit with some modification, but what about the more complex boards?
Also, is anyone aware of any 'video cards' that have been designed for a 6502-based machine using the RC2014 backplane? While I am happy to connect the machine to my laptop using a serial connection, the dream would be to have it generate its own video signal.
Thanks in advance for any help!
And yes, video is the challenging part these days - you can go proper old school and try to source some of the old video generators, or make your own and use the odd/even cycle trick that most used back then, or some of the more modern approaches like "bolt on an FPGA or Propellor chip".
I started with an ATmega 1284p generating video - 320x220 pixels, monochrome PAL (or NTSC) video interfaces to my 6502 board, but while that did work well, it took up almost 70% of the cpu cycles on the ATmega which made it slower for other stuff like serial and SD card access, so plan B was hatched which involved essentially making my 6502 (and '816) OS work like the Acorn MOS in the BBC Micro and pass the VDU commands through serial to a "smart" terminal program running on my Linux Desktop which did the right thing like text/characters and keyboard as well as graphics (so PLOT, etc. worked from BBC Basic) as well as extensions for polygons, sprites, etc.
Unless you're wedded to the RC2014, I think I'd suggest making your own PCB - I use Fritzing which I'd probably not recommend, but suggest KiCAD instead. Steep learning curve, but more future proof that Fritzing (right now, at least). PCBs from China (e.g. I use JLCPCB) are cheap and usually take about a week to come.
Cheers
-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
Re: Newbie moving onto second build - RC2014 but using the 6
drogon wrote:
Unless you're wedded to the RC2014, I think I'd suggest making your own PCB....
Quote:
I have seen a 6502 board for the RC2014 system, so there is at least one out there. Hoe it interfaces to memory, etc. boards, I've no idea.
Curt J. Sampson - github.com/0cjs
Re: Newbie moving onto second build - RC2014 but using the 6
On Tindie there are a few boards made by Ancient Computing that are designed around the RC2014 bus. AC Offered a 6502, 6522, ROM/RAM and 165xx boards. The Tindie seller has not stocked boards for a long time but the order info is still there.
The 6502 board maps the R/W signal to the /RD and /WR bus pins. The IO cycles gets translated to $C0xx base so IO ports 0 to $FF is $C000 to $C0FF. So the 6502 is mapped to the Z80/Intel bus. (Possible timing issues aside)
I have a setup with the SC112 RC2014 backplane. With a WDC65C02 CPU card, AC 65C22 card and the AC 32KB RAM / 32KB ROM card setup. The CPU card is a variation of the AC 6502 CPU card created by Alan Cox (Etched Pixels). The big change is the IO base is moved to $FE00.
In the picture below is the Ben Eater Mega 2560 Arduino 6502 analyzer connected to the bus. A 60Hz clock is feeding the CPU from a color burst crystal board.
Greg
The 6502 board maps the R/W signal to the /RD and /WR bus pins. The IO cycles gets translated to $C0xx base so IO ports 0 to $FF is $C000 to $C0FF. So the 6502 is mapped to the Z80/Intel bus. (Possible timing issues aside)
I have a setup with the SC112 RC2014 backplane. With a WDC65C02 CPU card, AC 65C22 card and the AC 32KB RAM / 32KB ROM card setup. The CPU card is a variation of the AC 6502 CPU card created by Alan Cox (Etched Pixels). The big change is the IO base is moved to $FE00.
In the picture below is the Ben Eater Mega 2560 Arduino 6502 analyzer connected to the bus. A 60Hz clock is feeding the CPU from a color burst crystal board.
Greg
Re: Newbie moving onto second build - RC2014 but using the 6
I’ve bought items from Stephen Cousins. He provides a good service.
Mark
Mark
-
studio_lowfi
- Posts: 3
- Joined: 18 Nov 2020
Re: Newbie moving onto second build - RC2014 but using the 6
drogon wrote:
And yes, video is the challenging part these days - you can go proper old school and try to source some of the old video generators, or make your own and use the odd/even cycle trick that most used back then, or some of the more modern approaches like "bolt on an FPGA or Propellor chip".
I started with an ATmega 1284p generating video - 320x220 pixels, monochrome PAL (or NTSC) video interfaces to my 6502 board, but while that did work well, it took up almost 70% of the cpu cycles on the ATmega which made it slower for other stuff like serial and SD card access, so plan B was hatched which involved essentially making my 6502 (and '816) OS work like the Acorn MOS in the BBC Micro and pass the VDU commands through serial to a "smart" terminal program running on my Linux Desktop which did the right thing like text/characters and keyboard as well as graphics (so PLOT, etc. worked from BBC Basic) as well as extensions for polygons, sprites, etc.
Unless you're wedded to the RC2014, I think I'd suggest making your own PCB - I use Fritzing which I'd probably not recommend, but suggest KiCAD instead. Steep learning curve, but more future proof that Fritzing (right now, at least). PCBs from China (e.g. I use JLCPCB) are cheap and usually take about a week to come.
Cheers
-Gordon
I started with an ATmega 1284p generating video - 320x220 pixels, monochrome PAL (or NTSC) video interfaces to my 6502 board, but while that did work well, it took up almost 70% of the cpu cycles on the ATmega which made it slower for other stuff like serial and SD card access, so plan B was hatched which involved essentially making my 6502 (and '816) OS work like the Acorn MOS in the BBC Micro and pass the VDU commands through serial to a "smart" terminal program running on my Linux Desktop which did the right thing like text/characters and keyboard as well as graphics (so PLOT, etc. worked from BBC Basic) as well as extensions for polygons, sprites, etc.
Unless you're wedded to the RC2014, I think I'd suggest making your own PCB - I use Fritzing which I'd probably not recommend, but suggest KiCAD instead. Steep learning curve, but more future proof that Fritzing (right now, at least). PCBs from China (e.g. I use JLCPCB) are cheap and usually take about a week to come.
Cheers
-Gordon
As for making my own PCB, while I have done it in the past, it was quite a while back... I'm tempted to try some of the boards already designed for the RC6502 bus for the purpose of getting started, and eventually then maybe design my own board for the 6522 (or maybe adapt existing 6522 boards that exist for the RC2014 bus).
cjs wrote:
Or you can get even more creative:
I think I will begin out using the RC6502 bus with some kind of backplane in that I'm used to the 6502 and its connections, but know very little about the Z80. That being said, I can see myself trying to maybe begin reverse engineering some of the more useful RC2014 modules to try to adapt them to the RC6502 bus. I would definitely like to play with some vintage sound chips.
Re: Newbie moving onto second build - RC2014 but using the 6
studio_lowfi wrote:
I am tempted to be bloody minded about it and go down the route of using some kind of old school video chip, although I can see the appeal of using a propeller chip or something of that sort.
I have a couple of MC6847s in my parts box exactly for this, but I bought a NEC PC-6001 shortly after purchasing the chips, was immediately and forcefully reminded about how horrible the '47 looks (that green and orange!) and kind of lost motivation to use them. But I've since bought some MSX machines and found the display fairly acceptable with them, so I've ordered some TMS9928 chips which may bring my video ideas back to life. (The programming interface for them is reasonably nice, they need virtually no address space in main system RAM, and people have now figured out how to use SRAM instead of DRAM for their video memory. And it helps that I've got a friend who has actually used one in anger for his ColecoVision clone.)
Quote:
As for making my own PCB, while I have done it in the past, it was quite a while back... I'm tempted to try some of the boards already designed for the RC6502 bus for the purpose of getting started, and eventually then maybe design my own board for the 6522 (or maybe adapt existing 6522 boards that exist for the RC2014 bus).
Also keep in mind that you need not use the backplane and board system for everything just because you're using it for part of the system. I needed to examine a ROM the other day, and the fastest and easiest way was to drop it into my RC6502 system with a smidgen of decoding:
For simple expansion there's not even any need for a backplane board; you can just attach directly to the bus pins on your SBC. Here's a second 6821 PIA attached to my RC6502 SBC, along with a hex display on a few pins of one of its output ports:
I actually used that configuration to develop and test my octal logic probe, seen here on another breadboard below it:
When you do get to doing boards, if you're impatient or just find hours in a CAD program to be tedious, you also have a couple of other options for techniques. Traditional hand-wired protoboard has worked well enough for me, though I discovered the hard way that making it very compact can drastically increase the difficulty of soldering it. (The example below is the bottom side of the octal logic probe prototyped on breadboard above.) One hint to make things easier: use 30 AWG wire-wrap wire, not the more common 24 AWG wire used in breadboards.
Wire wrap is a great technique, and very easy to learn: I was pretty easily getting decent WW connections within a couple of hours of starting out, with no help from anyone; soldering took much longer and I had lots of help. While the tool and wire are dirt cheap, the expensive sockets did put me off, though, but I discovered a trick from JuanGg in this forum of combining protoboard and wire wrap. Basically, you solder standard pin headers adjacent to standard sockets (done pretty easily by dropping a little cutting of component lead between the socket and header pin on the solder side of the board), solder power and ground leads too if you like, and then flip the board over and wire-wrap between the header pins. This not only gives pretty much instant gratification, but also makes it easy to make changes. (So, e.g., rewiring a socket to replace a 27128 EPROM with a 28128 EEPROM should be a few minutes work.)
You can see some examples of this used for a pretty large project in the thread I've linked above, but here's a close-up of a small test example I made, both powering a small chip and bringing its pins out to nearby straight and right-angle headers. Here I was experimenting with bringing power up on headers on the side and using jumpers to bring power and ground to the standard pins for a 74xxx part. If the power/ground pins were not right at the end, I could substitute short wires with crimped female dupont header at each end for the side-by-side jumpers you see there.
Quote:
I think I will begin out using the RC6502 bus with some kind of backplane in that I'm used to the 6502 and its connections, but know very little about the Z80. That being said, I can see myself trying to maybe begin reverse engineering some of the more useful RC2014 modules to try to adapt them to the RC6502 bus. I would definitely like to play with some vintage sound chips.
Curt J. Sampson - github.com/0cjs
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: Newbie moving onto second build - RC2014 but using the 6
cjs wrote:
Wire wrap is a great technique, and very easy to learn: I was pretty easily getting decent WW connections within a couple of hours of starting out, with no help from anyone; soldering took much longer and I had lots of help. While the tool and wire are dirt cheap, the expensive sockets did put me off, though, but I discovered a trick from JuanGg in this forum of combining protoboard and wire wrap. Basically, you solder standard pin headers adjacent to standard sockets (done pretty easily by dropping a little cutting of component lead between the socket and header pin on the solder side of the board), solder power and ground leads too if you like, and then flip the board over and wire-wrap between the header pins. This not only gives pretty much instant gratification, but also makes it easy to make changes. (So, e.g., rewiring a socket to replace a 27128 EPROM with a 28128 EEPROM should be a few minutes work.)
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: Newbie moving onto second build - RC2014 but using the 6
cjs wrote:
studio_lowfi wrote:
I am tempted to be bloody minded about it and go down the route of using some kind of old school video chip, although I can see the appeal of using a propeller chip or something of that sort.
I wrote about Cheap Video here, but let me say briefly that the CPU itself is what generates the addresses used to scan through video memory. On the one hand that means you can't do any normal processing except in the vertical blanking interval, but on the other hand you get a VERY minimal system. Some forumites might find the approach rewarding. Not sure if I'd describe it as bloody minded but you'll definitely get your hands dirty on some "real" old hardware!
I personally have implemented cheap video on three different microcomputers. I found it's not at all necessary to follow Don's recipe exactly. Anyone with a creative bent will find the technique intriguing and highly adaptable.
BTW, thanks for posting, Curt. And good photos -- nice work!
-- Jeff
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html