Dr Jefyll wrote:
I notice the headers attaching to VIA Port A and Port B are only 10 pins each. I'd suggest 14 or even 16 pins each so you can connect a ribbon cable to an external device and supply the device with power, ground and perhaps even an extra signal or two.
[...]
Alternatively, the oscillator could be relocated. Right now the width of the board (from west to east) is consumed by...
- oscillator, CPU, RAM, ROM, VIA. Instead, you could try...
- ROM, RAM, CPU, VIA
The ROM (in its ZIF socket) is comparatively bulky, which is one reason I think it might do well at the edge of the board. Half of that extra width can hang over the edge! Oh, and I was thinking the CPU would be oriented with pin 1 toward the north, whereas the RAM, ROM and VIA would have pin 1 toward the south. This will tend to untangle some of the bus lines, but maybe with the auto-router you won't worry about that. Still, it'd be interesting to see what it would produce if you start by arranging the chips as I suggest.
Whether you do or don't reorient the chips, I would still consider moving the oscillator. With the extra width that's freed up, maybe those two headers for Port A and Port B could snuggle up broadside right next to the VIA instead of being pushed off the end. Just an idea... Good luck with the project, and have fun!
Well, what do ya know - that worked like a charm!
I've already had CPU & VIA turned 180 degrees - that drastically minimized the amount of rat nests. However moving the ZIF socket to the edge actually freed up a LOT of space - I guess I could have crammed an entire ACIA or SID in there!
The new layout is much more optimal, albeit a bit more scattered. In my previous version, I really liked how the power & clock section nicely occupied the leftmost column, and I also liked how chips followed the same order as in schematic, but hey - getting some extra clearance for I/O is more important than that!
Here's my new design. Everything is gravitated a bit too much to the left since I was trying to utilize as much space as I could. I'll increase spacing between the components once I'm satisfied with the overall layout.
Michael - I wish I knew about it in the beginning!
I've already ordered full-width DIP-28 SRAMs, so I guess I'll stick to them for the time being. Still gonna order a bunch of those since they are really cheap!
Garth - thank you for all the tips on ribbon clearance. I've updated my pinout so that it is reverse-tolerant, and also added power rails to each VIA port - that makes a lot of sense.
Dr Jekyll - apologies for the color image of the PCB, it totally flew over my head. No more vividly colored schematics from me!
EDIT: Darn, I forgot to bump the version number to 0.8 on the silkscreen.
EDIT 2: Totally forgot - in case someone's interested, all my stuff is open-source, you can find all schematics & sources here:
https://github.com/and3rson/m6502EDIT 3: I've moved my I/O from $C000-$CFFF to $D000-$DFFF so that in future I can put SID on $D4xx for compatibility with C64.
_________________
/Andrew
deck65 - 6502 slab with screen and keyboard |
ПК-88 - SBC based on KM1810VM88 (Ukrainian i8088 clone) |
leo80 - simple Z80 SBC
nice65 - 6502 assembly linter |
My parts, footprints & 3D models for KiCad/FreeCAD