6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 8:58 am

All times are UTC




Post new topic Reply to topic  [ 12 posts ] 
Author Message
PostPosted: Wed Nov 18, 2020 11:07 pm 
Offline

Joined: Wed Nov 18, 2020 10:20 pm
Posts: 3
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!


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 19, 2020 4:36 am 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 730
Location: Tokyo, Japan
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.

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 21, 2020 11:47 pm 
Offline

Joined: Wed Nov 18, 2020 10:20 pm
Posts: 3
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.


A RC6502 bus sounds very intriguing, thanks for the information! That's definitely something I'll look into as from a first glance it seems to do a lot of what I want.

Is there anyone selling PCBs (I'm in the UK) or do most people get them manufactured themselves?


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 22, 2020 4:41 am 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 730
Location: Tokyo, Japan
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.

studio_lowfi wrote:
Is there anyone selling PCBs (I'm in the UK) or do most people get them manufactured themselves?

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:
Attachment:
File comment: RC2014 CrayZee system
CrazeeEighty16-1.jpg
CrazeeEighty16-1.jpg [ 70.46 KiB | Viewed 1708 times ]


Attachments:
File comment: RC6502 backplane top manufactured by fumi_s
rc6502-backplane-top.jpg
rc6502-backplane-top.jpg [ 97.83 KiB | Viewed 1708 times ]
File comment: RC6502 backplane bottom manufactured by fumi_s
rc6502-backplane-bottom.jpg
rc6502-backplane-bottom.jpg [ 79.82 KiB | Viewed 1708 times ]

_________________
Curt J. Sampson - github.com/0cjs
Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 22, 2020 3:46 pm 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
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!


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.

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/


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 22, 2020 4:45 pm 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 730
Location: Tokyo, Japan
drogon wrote:
Unless you're wedded to the RC2014, I think I'd suggest making your own PCB....

That seems to me orthogonal. RC6502 and RC2014 are just bus/backplane specs; one of those doesn't make a computer until you build boards and plug them into it! (And as I mentioned above, which bus it is depends not on the backplane but on the cards.) But if you're talking about building an SBC, that's perfectly compatible with using a bus for expansion. My little Apple 1 clone board runs standalone (it has CPU, clock, reset, address decoding, ROM, RAM and a PIA) but I've used the RC6502 bus pins on the side both directly wired to a breadboard for prototyping and connected to additional peripherals through the backplane. (It also has jumpers to disable clock, ROM, RAM and the PIA in case I want to replace any of those peripherals in some configurations.) It makes for a very nice platform for experimentation.

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.

Well, I should have done a web search for this when I brought up the more general question in my other thread. The answers pop right up. I've put some notes on this into the 6502 on 8080/Z80 Bus and Vice Versa thread.

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 23, 2020 8:20 am 
Offline

Joined: Fri Oct 04, 2019 4:26 am
Posts: 23
Location: Rancho Cordova, CA
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


Attachments:
IMG_2468.JPG
IMG_2468.JPG [ 1.6 MiB | Viewed 1653 times ]
Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 26, 2020 7:52 pm 
Offline
User avatar

Joined: Thu May 14, 2015 9:20 pm
Posts: 155
Location: UK
I’ve bought items from Stephen Cousins. He provides a good service.

Mark


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 27, 2020 12:47 am 
Offline

Joined: Wed Nov 18, 2020 10:20 pm
Posts: 3
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 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.

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:


The mini Cray is astonishing! That's a really fun way to design a computer like that.

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.


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 27, 2020 3:18 am 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 730
Location: Tokyo, Japan
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.

Nothing wrong with this! I myself will be going that direction with video, since if I'm going to be spending time mucking about with things, I'd rather be reading datasheets for and using an oscilloscope on "real" old hardware than tweaking software for a modern chip. (It probably also helps that, for my retrocomputer collection, I already have good multi-standard professional video monitor with both composite and RGB inputs.)

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).

I'd say that starting with pre-designed boards is definitely the way to go. It gets you to the satisfaction of having something up and running a lot quicker, and also lets you study and experiment with an existing design.

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:

Attachment:
IMG_20200722_214210_321.jpg
IMG_20200722_214210_321.jpg [ 196.18 KiB | Viewed 1573 times ]


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:

Attachment:
IMG_20200205_204925.jpg
IMG_20200205_204925.jpg [ 867.32 KiB | Viewed 1573 times ]


I actually used that configuration to develop and test my octal logic probe, seen here on another breadboard below it:

Attachment:
IMG_20200214_155416.jpg
IMG_20200214_155416.jpg [ 916.71 KiB | Viewed 1573 times ]


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.

Attachment:
IMG_20200305_183022.jpg
IMG_20200305_183022.jpg [ 1.73 MiB | Viewed 1573 times ]


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.

Attachment:
P1010098.JPG
P1010098.JPG [ 5.93 MiB | Viewed 1573 times ]


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.

What a co-incidence! I was just the other day prompted (again by my friend's ColecoVision clone) to order some GI AY-3-8910A chips from AliExpress, which should drop into my RC6502 system with almost no work. I'm thinking it wouldn't be too hard to put together a board with four of these, for some beautiful 12-voice symphonies. (And 64 channels of digital I/O! More than a third of the pins on the 8910 are devoted to a pair of 8-bit parallel ports, which I guess could be handy for things like controlling bank switching.)

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 27, 2020 4:18 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
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.)

studio_lowfi, if you're not well-founded in wire-wrap, please see the wire-wrap page of the 6502 primer. You'll also want to see the page about custom PC boards (and all the other pages).

_________________
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?


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 27, 2020 4:38 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
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.

Nothing wrong with this! I myself will be going that direction with video, since if I'm going to be spending time mucking about with things, I'd rather be reading datasheets for and using an oscilloscope on "real" old hardware than tweaking software for a modern chip.

Regarding video, it's wonderful to have modern options (like Propeller) available. But on the topic of old school approaches, let me put a word in for the so-called Cheap Video technique that was first made popular by Don Lancaster back in the days of the KIM-1 and which is still valid today.

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


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 12 posts ] 

All times are UTC


Who is online

Users browsing this forum: jds, Martin A and 11 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: