6502 CPU board for the RC2014

For discussing the 65xx hardware itself or electronics projects.
User avatar
BigDumbDinosaur
Posts: 9428
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: 6502 CPU board for the RC2014

Post by BigDumbDinosaur »

bluesky6 wrote:
So I got around to mucking around with the Western Design Center W65C02 which is rated at 14MHz.

Guess what...

It didn't work. Well, the monitor/debugger started out and then printed rubbish.

After some experimentation that included hard wiring BE (pin 36) to VCC, I found out that the RAM chip was too fast.
I concur with Garth's diagnosis. I'm running 12ns RAM in my POC V1.1 unit and have no problems with any clock speed from 1 MHz to 12.5 MHz (and will boot at 15 MHz with a 45ns OTP ROM).

POC V2 uses the same SRAM Garth uses in his 4MB DIMM. It works fine over the same speed range. This is likely a peculiarity of Alliance's SRAM.

Also, what about that '688?
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
Michael
Posts: 633
Joined: 13 Feb 2013
Location: Michigan, USA

Re: 6502 CPU board for the RC2014

Post by Michael »

Speaking of the '688... I attempted a quick and dirty layout with a slightly different architecture (64K RAM + ClockGen/Loader) and adding address select jumpers to the '688 was probably the easiest part of this 'test' layout.

I believe having the ability to change the I/O address page would be an important feature.

Cheerful regards, Mike
Attachments
65C02 RC2014 Test.png
65C02 RC2014 Foil.png
Last edited by Michael on Sun Jul 09, 2017 9:21 am, edited 7 times in total.
bluesky6
Posts: 39
Joined: 09 Jan 2017
Contact:

Re: 6502 CPU board for the RC2014

Post by bluesky6 »

@Michael: nice! Is that the Kicad feature that allows you to show the board in 3d?

Be careful that the VCC line between VCC and /RST is actually not VCC but the Z80 /M1 signal. This signal is needed to qualify I/O ops vs interrupt ack. I tie that to high/VCC on my non-Z80 CPU boards.

I generally gate RAM OE and WR signals to Phi2 to fully qualify them. That unfortunately adds a '00 to my design.

If you are using other RC2014 memory boards (presumably ROM), you'll want to invert the A15 signal. My long winded blog article have those details http://ancientcomputing.blogspot.com/20 ... art-1.html. If you are going full native 6502, that is unneeded.

I am also now using pin 39 of the RC2014 bus for the R/W signal from the 6502. This is primarily for driving 65xx/68xx-style peripherals that need a Phi2 pre-rising edge setup time for control signals. So the 6522 board uses that as well as my upcoming 6551 board.

Finally, as I suggested to CommodoreJohn, if you looking for versatility for the I/O port mapping, consider putting it and the associated circuitry on its own plug-in board. This is really more aligned with the RC2014 philosophy (which I've freely violated :)) of segmenting distinct sub-functionalities into their own physical "modules".
User avatar
Michael
Posts: 633
Joined: 13 Feb 2013
Location: Michigan, USA

Re: 6502 CPU board for the RC2014

Post by Michael »

bluesky6 wrote:
@Michael: nice! Is that the Kicad feature that allows you to show the board in 3d?
No, that output is from DipTrace.
Quote:
Be careful that the VCC line between VCC and /RST is actually not VCC but the Z80 /M1 signal. This signal is needed to qualify I/O ops vs interrupt ack. I tie that to high/VCC on my non-Z80 CPU boards.
Oops! Thank you. I missed that.
Quote:
I generally gate RAM OE and WR signals to Phi2 to fully qualify them. That unfortunately adds a '00 to my design.
Yes, I understand that's necessary for non-65xx peripherals.
Quote:
If you are using other RC2014 memory boards (presumably ROM), you'll want to invert the A15 signal. My long winded blog article have those details http://ancientcomputing.blogspot.com/20 ... art-1.html. If you are going full native 6502, that is unneeded.
I did read your articles. Very nice write up. Your solutions for overcoming the hurdles imposed by this particular architecture and bus and for using some of the RC2014 peripheral boards were/are very elegant.

I have relatively simple "loader" methods/designs for 65C02 and CDP1802 (Z80 coming soon) so I don't see any advantage using ROM and I shouldn't have to mess with the A15 address line. Also, I suspect that placing a 64K or 128K RAM chip on each CPU board will reduce the need to add missing signals to the bus.
Quote:
I am also now using pin 39 of the RC2014 bus for the R/W signal from the 6502. This is primarily for driving 65xx/68xx-style peripherals that need a Phi2 pre-rising edge setup time for control signals. So the 6522 board uses that as well as my upcoming 6551 board.
Then I will use pin 39 for that signal on my layout, too.
Quote:
Finally, as I suggested to CommodoreJohn, if you looking for versatility for the I/O port mapping, consider putting it and the associated circuitry on its own plug-in board. This is really more aligned with the RC2014 philosophy (which I've freely violated :)) of segmenting distinct sub-functionalities into their own physical "modules".
Yes, I noticed the violations (grin). Most of Grant Searle's "Minimum Z80" computer was broken down into modules on a bus and you've re-integrated the separate clock and decoder modules into your 65C02 board design (grin).

I admit it's tempting to put a whole 4-chip Serial 64K 65C02 computer on a single card (see below) but I'm not sure I could route it...

Cheerful regards, Mike
Attachments
65C02 Flex-Oh-Two.png
bluesky6
Posts: 39
Joined: 09 Jan 2017
Contact:

Re: 6502 CPU board for the RC2014

Post by bluesky6 »

@Mike: looking at your edited post with the PCB layout, it looks you're breaking the other RC2014 rule: no fancy modern ICs like that PIC :)

For folks who don't want to layout/design your own 6502 boards for the RC2014, I got 10 more of my RevB boards in on Tindie.

The main differences of Rev B versus the original are (a) routing R/W to pin 39 of the bus for use with the 6522, 6551 and 6532 boards, (b) an option to invert A14 so that you can use the RC2014 64KB RAM board configured for 48KB (along with the Pageable ROM board configured for 16KB).
DerTrueForce
Posts: 483
Joined: 04 Jun 2016
Location: Australia

Re: 6502 CPU board for the RC2014

Post by DerTrueForce »

bluesky6 wrote:
@Mike: looking at your edited post with the PCB layout, it looks you're breaking the other RC2014 rule: no fancy modern ICs like that PIC :)
Didn't Semach(the designer of the RC2014) blow that one wide open with the Pi Zero Serial Terminal module?
User avatar
Michael
Posts: 633
Joined: 13 Feb 2013
Location: Michigan, USA

Re: 6502 CPU board for the RC2014

Post by Michael »

bluesky6 wrote:
@Mike: looking at your edited post with the PCB layout, it looks you're breaking the other RC2014 rule: no fancy modern ICs like that PIC :)
Huh? What rules?
User avatar
Michael
Posts: 633
Joined: 13 Feb 2013
Location: Michigan, USA

Re: 6502 CPU board for the RC2014

Post by Michael »

I wonder if there would be any interest in the RC2014 community for a 64K RAM/ROM (EEPROM) card design with simpler, more flexible, memory mapping capability to support both Z80 and 65C02 CPU cards? Basically you map ROM and all remaining space goes to RAM, qualified of course by the MREQ signal. Configure ROM in low memory starting at $0000 for Z80 or in high memory ending at $FFFF for 65C02. It's especially easy to setup Grant Searle's original 8K ROM ($0000..$1FFF) and 56K RAM ($2000..$FFFF) memory map.

I've been working on routing a layout (below).

Cheerful regards, Mike, K8LH
Attachments
65C02 Memory Select #2.png
65C02 RC2014 Flex-RAM.png
Last edited by Michael on Thu Jul 27, 2017 3:36 pm, edited 1 time in total.
dwight
Posts: 213
Joined: 08 Jun 2004

Re: 6502 CPU board for the RC2014

Post by dwight »

Why not shadow the ROM and switch it out after boot.
You can even have a two speed clock to deal with slower
EEPROM speeds.
That way you can even update the EEPROM in system.
You have the advantage of the maximum RAM space when needed
or even testing out changes to the monitor or such.
I did this on a computer I modified to do the shadowing ( single speed
clock ). It wasn't much more than a tiny amount of glue logic.
It was quite handy for testing and debugging.
Dwight
Post Reply