6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Oct 06, 2024 1:34 pm

All times are UTC




Post new topic Reply to topic  [ 70 posts ]  Go to page 1, 2, 3, 4, 5  Next
Author Message
PostPosted: Sat Aug 14, 2021 5:55 am 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
Using the lessons from my first 6502 PCB, the F-1 and my ongoing discussion of the RC6502 bus, I put together a design for an SBC with a modified "RC6502" expansion bus. I'll continue to work on revising the F-1 as a board with only 6522 driven expansion, but I wanted to also design a board that offered up the signals for experimentation and even expansion at the CPU-bus-level. This will limit the clock speed, but even 4MHz would make me happy.

The design goals for the system are as follows:
  • Allow folks who have purchased the Ben Eater breadboard kit move their software (and even the ICs) to a more durable PCB.
  • Still leave access to all address, data, and meaningful control lines for "newbie experimentation" (I can imagine an Arduino Mega based "Monitor" expansion card)
  • I would love to sell this as a kit on Tindie (not for meaningful profit, but there's a dearth of modern 65c02 kits available, and this is a hobby I'd love to share). I mention this up front, your knowledge may be productized but in the hopes of teaching to even more people.

Much like the F-1, the design is primarily the Garth "Potpourri" circuit, with the following choices selected from the circuit options:
  • Clock option chosen is the Can Oscillator. Reset circuit chosen is DS1813.
  • Because of these choices, an 74HC00 can be used for address decoding instead of the '132 (chip included in BE kit)
  • Permanently configured for the WDC65c02 processor, 28C256 EEPROM.
  • Simplified IRQ/NMI selector for the onboard 6522 VIA, since both processor lines are always tied up.

Additionally, we've got a Power LED, Reset LED, Sync LED, and CA1 of the 65c22 VIA is connected to an LED. Pull ups on the "Tx/Rx" make them ideal for I2C lines (but there's a pad you can cut to disable). For the CPU signals not on the bus, there is a male pin header to test them or jump them to unassigned bus lines. There's a female pin header for the unassigned bus lines.

Attachment:
3d layout.PNG
3d layout.PNG [ 407.79 KiB | Viewed 2671 times ]

Attachment:
schematic.png
schematic.png [ 140.83 KiB | Viewed 2671 times ]


Definitely still working on the silkscreen (I'd like to make it rather informative), and I'm fine tuning the layout, but I do think that this is approximately the layout I'm hoping for.

Any feedback on the board, design, idea, etc, is very welcome!


Attachments:
schematic.pdf [262.05 KiB]
Downloaded 50 times
layout.pdf [55.74 KiB]
Downloaded 66 times

_________________
https://github.com/Individual-Solid/
Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 14, 2021 8:50 am 
Offline
User avatar

Joined: Sun Dec 27, 2020 11:12 pm
Posts: 94
Location: France
Looks great, but If the female headers on the right hand side are your expansion connectors, they seem very close together. It doesn’t look like the boards could have high components like DIN or audio plugs. Even socketed chips would seem like a tight fit.

_________________
Jonathan Foucher

Take a look at the Planck 6502 computer.


Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 14, 2021 5:21 pm 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
Well, that's a very good point, jfoucher! I was trying to smoosh the board down and went too hard. I'll spread those out. I have an Stephen Cousins RC2014 modular backplane and I can steal dimensions from that.

Garth mentioned in a PM that I should probably switch the RESET LED to be illuminated when RESET is low, not when it's high. I definitely agree.

Thinking about adding another set of pads at the RAM chip to allow for skinny ram without making a converter.

One version of the layout had all the resistors underneath the socketed 65c22 and 65c02s, but the width of the 40-pin connector left plenty of room to put the resistors in their own courtyard.

_________________
https://github.com/Individual-Solid/


Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 14, 2021 5:36 pm 
Offline

Joined: Sat Jan 02, 2016 10:22 am
Posts: 197
On the spacing, here's a side on view of one of my projects, the 0.9" spacing between the boards os just about enough to fit an IDC header and leave room for the cable.

The chips in sockets its just under the half inch from the top of the chip to the very end of the leg on the other side of the board.

Possibly a little over 0.6" for the VGA socket.

Attachment:
File comment: 0.9 inch spacing
9-10ths.jpg
9-10ths.jpg [ 112.42 KiB | Viewed 2620 times ]


Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 14, 2021 6:40 pm 
Offline
User avatar

Joined: Sun Dec 27, 2020 11:12 pm
Posts: 94
Location: France
And here's mine, about 19mm on centers. Most things fit, but sometimes a bit tighter than I'd like. I've actually shorted the back of one board a few times.


Attachments:
IMG_3006.JPG
IMG_3006.JPG [ 672.85 KiB | Viewed 2605 times ]

_________________
Jonathan Foucher

Take a look at the Planck 6502 computer.
Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 15, 2021 8:25 am 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 588
Location: Michigan, USA
May I mention the SST 39SFxxx series Parallel FLASH ROMs in PDIP package as an alternative to the AT28C256 EEPROM? The 128-KiB 39SF010A is $1.47 at Mouser or $1.52 at Digikey while the AT28C256-15PU EEPROM is $10.75 at Mouser or $10.66 at Digikey (15-Aug-2021). Example (untested) designs below.

Cheerful regards, Mike


Attachments:
Beater 08c.png
Beater 08c.png [ 530.02 KiB | Viewed 2572 times ]
Beater 07b.png
Beater 07b.png [ 543.12 KiB | Viewed 2572 times ]
Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 15, 2021 6:12 pm 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
Michael wrote:
May I mention the SST 39SFxxx series Parallel FLASH ROMs in PDIP package as an alternative to the AT28C256 EEPROM? The 128-KiB 39SF010A is $1.47 at Mouser or $1.52 at Digikey while the AT28C256-15PU EEPROM is $10.75 at Mouser or $10.66 at Digikey (15-Aug-2021). Example (untested) designs below.

Cheerful regards, Mike


Neat suggestion. It's not pin compatible with the EEPROM, which makes it not a great solution for this kit where I want to encourage folks to use the hardware they already purchased for a breadboard build. However, it might be worth while to fab a "converter" card that could drop in a ZIF socket that was intended to hold the AT28C256.

I've been meaning to investigate "Multipurpose Flash" devices and other parallel flash roms, thanks for the specific part suggestion!

I'm attaching the latest rendering of the updated layout, with the expansion headers on 15mm centers, which is what I measured off my SCC backplane.

Attachment:
3d layout.PNG
3d layout.PNG [ 354.17 KiB | Viewed 2542 times ]


I'll admit, I'm flirting heavily with the idea of switching to a "z50" inspired bus, which would be a 2x25 (or, maybe actually 2x28 to get some more gnd signals in there) pin header. This is a little more mechanically secure and also could get the board down to 100x100. More discussion about the bus options are going on in the thread I linked in the first post.
I may just fab the board with both header options and see "how it feels".

_________________
https://github.com/Individual-Solid/


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 15, 2021 7:50 pm 
Offline

Joined: Wed Jun 23, 2021 8:02 am
Posts: 166
The SST39SF010 isn't 100% pin compatible with the 28C256, but I reckon it's close enough. If you put a 32 pin DIP socket on the board, you could arrange it so that the 28C256 could plug in with 2 (or possibly even 1) jumpers. The pin layout is as follows:
Code:
NC        1     32      VCC
A16       2     31      WE
A15  A14  3     30 VCC  NC
A12  A12  4     29 WE   A14
A7   A7   5     28 A13  A13
A6   A6   6     27 A8   A8
A5   A5   7     26 A9   A9
A4   A4   8     25 A11  A11
A3   A3   9     24 OE   OE
A2   A2   10    23 A10  A10
A1   A1   11    22 CE   CE
A0   A0   12    21 D7   D7
D0   D0   13    20 D6   D6
D1   D1   14    19 D5   D5
D2   D2   15    18 D4   D4
GND  GND  16    17 D3   D3


The pin numbers are for a 32 pin device. The outer pin designations are for the SST39SF010. The inner pin designations are for the 28C256. If you fit the 28C256, it goes in with pin 28 (VDD) connected to pin 30 of the socket. Pin 30 is NC on the 010, so we can connect it to VDD. Pins 31, 32 only exist on the 010, so can be wired to WE and VDD respectively. Pin 1 doesn't need to be connected and pin 2 can be wired to ground (we only use part of the 010).
That leaves pin 29 and pin 3. Pin 29 is WE on the 28C256 and A14 on the '010, so that definitely needs a jumper to configure it.
Pin 3 is A14 on the 28C256 and A15 on the '010. You could put in a jumper to configure that as well, or alternatively just wire it A14. If you do the latter, when you program the image for the 39SF010, you'll have to program it in two halves. The lower 16K in 0000-03FFF, and the upper 16K in C000-FFFF.


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 15, 2021 8:52 pm 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
Well, when you put it that way... Thanks for mapping out how that could work. It's definitely a very compelling option to keep the BOM price down. I suspect you already know this, but the SST39SF010 is compatible with the xgecu programmer clone most folks have, so that's another win.

Quote:
Pin 30 is NC on the 010, so we can connect it to VDD.

This is a practice that's new to me, I usually religiously leave an NC pin...not connected. But it would be easy enough to put a jumper or solder-short pad. I imagine most folks would go from EEPROM to SST, or start with the SST and not revert to EEPROM. I'll give a shot at drafting this up.

_________________
https://github.com/Individual-Solid/


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 15, 2021 9:12 pm 
Offline

Joined: Wed Jun 23, 2021 8:02 am
Posts: 166
One more thing to consider is that, if you want to be able to program the flash device in situ under the control of the 6502, the 6502 must be able to control A0-A14, and A15 and A16 must either be both low or both high. This is because to initiate erase or program operations you need to perform a specific sequence of writes to the device satisfying those conditions. So I don't think it would work in that case for A14 and A15 to be connected together and you would need a 2nd jumper so that pin 3 could be grounded for the '010 and connected to A14 for the 28C256.


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 15, 2021 10:37 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1112
Location: Albuquerque NM USA
Individual_Solid wrote:
[*] I would love to sell this as a kit on Tindie (not for meaningful profit, but there's a dearth of modern 65c02 kits available, and this is a hobby I'd love to share).

I looked up Tindie thinking there must be plenty of 6502 kits, but you right there are no plain vanilla 6502 kit at all; OTOH there are plenty of Z80 kits. Why is that? You'll think as many designs we have done on this forum, it should be easy to put together a basic 6502 design for $20 pcb & parts and sell it for $40 on Tindie. Right?
Bill


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 15, 2021 11:35 pm 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
plasmo wrote:
Individual_Solid wrote:
[*] I would love to sell this as a kit on Tindie (not for meaningful profit, but there's a dearth of modern 65c02 kits available, and this is a hobby I'd love to share).

I looked up Tindie thinking there must be plenty of 6502 kits, but you right there are no plain vanilla 6502 kit at all; OTOH there are plenty of Z80 kits. Why is that? You'll think as many designs we have done on this forum, it should be easy to put together a basic 6502 design for $20 pcb & parts and sell it for $40 on Tindie. Right?
Bill


There's this kit for a KIM-1 clone (https://www.tindie.com/products/tkoak/p ... puter-kit/). My kit came with a Rockwell NMOS cpu. It's a nice kit, but pretty expensive. I'd definitely like to see something in the market as a "basic getting started 6502".

The z80 definitely got an explosion of kits on Tindie because of the RC2014 ecosystem, making it super easy to get started. There's a very popular monitor named RomWBW that makes it relatively easy to get CP/M running if you've got the right parts. Most of the kits in the RC2014 ecosystem are perfectly compatible, so folks are encouraged to experiment and build new (compatible) peripherals.

We'll see if my BOM gets down to the right price and if folks take me up on this one!

_________________
https://github.com/Individual-Solid/


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 16, 2021 12:28 am 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1112
Location: Albuquerque NM USA
Individual_Solid wrote:
There's this kit for a KIM-1 clone (https://www.tindie.com/products/tkoak/p ... puter-kit/). My kit came with a Rockwell NMOS cpu. It's a nice kit, but pretty expensive.

OK, I see it. You right about it being expensive.

Here is a part I used in several designs that may help driving down your BOM cost. W27C512 EEPROM is an obsoleted part but can be easily acquired on eBay for about $1 each. It is fast, 45nS, so you can use it to build 10MHz 6502 without wait state, it is probably good to 14MHz 0 wait. It can be programmed on TL866 programmer. I bought mine from this guy, but there are many sellers for this part.
https://www.ebay.com/itm/162776471629
Bill


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 16, 2021 12:30 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8414
Location: Midwestern USA
kernelthread wrote:
Pin 30 is NC on the 010, so we can connect it to VDD.

You sure about that? As a fairly general rule, if the data sheet indicates a pin as a no-connect it should not be connected to anything.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 16, 2021 12:38 am 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1112
Location: Albuquerque NM USA
In SST39SF0x0 data sheet it says "unconnected pins" for the NC symbol.
Bill


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 70 posts ]  Go to page 1, 2, 3, 4, 5  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 34 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: