HBC-56 project (65C02 + TMS9918A on a backplane)

Let's talk about anything related to the 6502 microprocessor.
User avatar
visrealm
Posts: 72
Joined: 18 Aug 2021
Location: South Australia
Contact:

HBC-56 project (65C02 + TMS9918A on a backplane)

Post by visrealm »

Rather than start a new thread for each update on this project, I've decided to create a single thread and update it as required. This is that thread.

Background

This is my second homebrew project after first completing a Ben Eater inspired SAP-1ish on a breadboard. Dipped my toe in 65C02 assembly working on some Commander X16 projects, so decided to do a 65C02 next. Loved the idea of a backplane where I can easily add/replace components of the build at will. I also have a soft spot for the TMS9918A having grown up with a TI-99/4A. So that was my starting point. (Yes, I'm quite a newbie at this - but have a very extensive background in software).

I started out building the project on breadboards, but then designed a backplane and custom proto card to start the build proper. I started out with a graphics LCD:

Image

Then built the TMS9918A card and added support for a NES controller:

Image

It was around this point I started working on the emulator. For this, I wrote my own 65C02 and TMS9918A emulator libraries and built both a desktop and web-based version. You can try the latest web version here (requires keyboard): https://visrealm.github.io/hbc-56/emulator/wasm

Not long after that, I was contacted by PCBWay who were keen to supply me with PCBs in return for mentioning them (nothing more than that). This surprised me as my project / YouTube, etc. has very few followers, but I decided to go ahead anyway. This gave me the perfect opportunity to design custom PCBs to replace the old hand-wired ones.

The brings me to the present day where I've started building out some of these new cards and documenting the process in video form. It's not all smooth-sailing and you might get something out of these. If you're interested in TMS9918A development, I'm planning to do some videos on that specifically soon (probably after the card build series).

Updates

28 May 2022

The new RAM/ROM card. It contains 64KB RAM + 32KB ROM with runtime-configurable selection of RAM or ROM in 4KB pages.

Image

23 May 2022

Video covering the schematic, PCB design, assembly and testing of my new TMS9918A display card

Image

16 May 2022

Video covering the schematic, PCB design, assembly, diagnosis, repair and testing of my new 65C02 CPU card

Image

Project links

GitHub: https://github.com/visrealm/hbc-56

YouTube: https://www.youtube.com/playlist?list=P ... NCxNknMrcR

Emulator (live online instance, requires keyboard) : https://visrealm.github.io/hbc-56/emulator/wasm

Hackaday: https://hackaday.io/project/180904-hbc- ... -backplane
Last edited by visrealm on Sat May 28, 2022 2:01 pm, edited 3 times in total.
Cheers
Troy

[My introduction]
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by BigEd »

Great! Look forward to any further updates.
User avatar
visrealm
Posts: 72
Joined: 18 Aug 2021
Location: South Australia
Contact:

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by visrealm »

All five cards now built. Updates for each to follow in coming weeks.

Image
Cheers
Troy

[My introduction]
User avatar
GARTHWILSON
Forum Moderator
Posts: 8775
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by GARTHWILSON »

The construction is very neat.
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?
Paganini
Posts: 516
Joined: 18 Mar 2022

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by Paganini »

Hey Troy, I think the wiring on the perfboard version looks really nice. Would you mind describing your technique? I had the devil of a time with my LCD board; I ended up using a kind of hybrid wire wrap / solder, and it looks like a bird's nest.
"The key is not to let the hardware sense any fear." - Radical Brad
User avatar
visrealm
Posts: 72
Joined: 18 Aug 2021
Location: South Australia
Contact:

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by visrealm »

Paganini wrote:
Hey Troy, I think the wiring on the perfboard version looks really nice. Would you mind describing your technique?
Thanks!

I use 30AWG wire-wrapping wire which I think helps a lot. I do 100% of the wiring on the back which makes the front look super-tidy, but adds a bit of difficulty (have to reverse everything in my mind).

I like the wire wrapping wire because I can strip the ends with my fingers and can fit multiple wires in a single hole if need be. Stuff it in, a bit of BluTack to hold it. Flip the board, solder, repeat.

Also, my perfboard cards I custom designed. They have some features which improve tidyness.
  • ICs are intended to straddle the power rails, so power is super convenient.
  • There are traces which can jump each IC section vertically which reduces wiring.
Here's a better look at the PCB layout:

Image
Cheers
Troy

[My introduction]
User avatar
visrealm
Posts: 72
Joined: 18 Aug 2021
Location: South Australia
Contact:

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by visrealm »

GARTHWILSON wrote:
The construction is very neat.
Thanks, Garth.

Surprising, really. This is my first project with custom PCBs. A couple of minor bodges on two of these new cards, but all work. Even the backplane is revision 1 from ~12 months ago. I have a few minor mods planned for it, but not enough to re-spin it... yet.

For a complete novice, I'm certainly happy with it.
Cheers
Troy

[My introduction]
Paganini
Posts: 516
Joined: 18 Mar 2022

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by Paganini »

visrealm wrote:
Also, my perfboard cards I custom designed. They have some features which improve tidyness.
  • ICs are intended to straddle the power rails, so power is super convenient.
  • There are traces which can jump each IC section vertically which reduces wiring.
Here's a better look at the PCB layout:
Very cool! Am I right in thinking that the horizontal rows of pairs - like this:

Code: Select all

OOOO
||||
OOOO
make it so you never have to try and solder a wire to an IC (socket) pin?
"The key is not to let the hardware sense any fear." - Radical Brad
User avatar
visrealm
Posts: 72
Joined: 18 Aug 2021
Location: South Australia
Contact:

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by visrealm »

Paganini wrote:
so you never have to try and solder a wire to an IC (socket) pin?
That's the idea, yeah. There have been cases where I've still had to do it, but can usually avoid.
Cheers
Troy

[My introduction]
User avatar
visrealm
Posts: 72
Joined: 18 Aug 2021
Location: South Australia
Contact:

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by visrealm »

The next HBC-56 video is now available. This time covering the new RAM/ROM card. It contains 64KB RAM + 32KB ROM with runtime-configurable selection of RAM or ROM in 4KB pages.

Image
Cheers
Troy

[My introduction]
User avatar
visrealm
Posts: 72
Joined: 18 Aug 2021
Location: South Australia
Contact:

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by visrealm »

A brief montage of mostly unreleased footage covering the first 12 months of my HBC-56. From breadboards to custom protoboards to today.

Image
Cheers
Troy

[My introduction]
User avatar
Sheep64
In Memoriam
Posts: 311
Joined: 11 Aug 2020
Location: A magnetic field

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by Sheep64 »

visrealm on Wed 25 May 2022 wrote:
Stuff it in, a bit of BluTack to hold it. Flip the board, solder, repeat.
I've tried to introduce people to the merit of solder tack but I've had little success. Tack is *particularly* good if you want 5mm LEDs to point in the same direction. Anyhow, if you have more tricks like that, it would explain your tidiness and success.
User avatar
visrealm
Posts: 72
Joined: 18 Aug 2021
Location: South Australia
Contact:

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by visrealm »

Sheep64 wrote:
visrealm on Wed 25 May 2022 wrote:
Stuff it in, a bit of BluTack to hold it. Flip the board, solder, repeat.
Tack is *particularly* good if you want 5mm LEDs to point in the same direction.
For my breadboard CPU which had a bunch of rows-of-8 LEDs, I made a jig out of a piece of old plastic cutting board by drilling 8 holes in it. Shoved 8 LEDs in the jig and soldered them all together with a piece of solid core wire. Worked quite well (for a breadboard build).

Image
Cheers
Troy

[My introduction]
User avatar
Sheep64
In Memoriam
Posts: 311
Joined: 11 Aug 2020
Location: A magnetic field

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by Sheep64 »

In one of your videos, I note that your component boxes are exceptionally tidily labeled to the extent that manufacturer logos or a picture of the component is in a fixed place on each box. That saves time if the boxes are shuffled.

Regarding 5mm LED alignment, it did not occur to me that scrap plastic would be suitable as a jig. Actually, if you are more able than me with plastic and you seek suggestions for an enclosure, I recommend using imitation Lego baseplates. I've been gluing white ones together and adding striped trim. (Warning: it is possible to waste days on decorative trim.) The bright colors match your white prototyping boards and wiring. Baseplates are also available in black and this would match your black cards with the exception of that lovely line curved corners. Anyhow, baseplates are typically available with 16*16 studs (128mm*128mm), 16*32 studs (128mm*256mm), 20*20 studs (160mm*160mm) or 32*32 studs (256mm*256mm) and powers of two are highly suitable for Space Invaders or PacMan bitmaps. Indeed, a PacMan power-up pill would work very well as a power button. Baseplates are also available in gray and beige, although if you want to use smaller imitation Lego pieces around power buttons, MicroSD slots and similar, mid colors have the worst color matching. It is also easy to mix molded and 3D printed pieces.
User avatar
visrealm
Posts: 72
Joined: 18 Aug 2021
Location: South Australia
Contact:

Re: HBC-56 project (65C02 + TMS9918A on a backplane)

Post by visrealm »

Sheep64 wrote:
In one of your videos, I note that your component boxes are exceptionally tidily labeled to the extent that manufacturer logos or a picture of the component is in a fixed place on each box. That saves time if the boxes are shuffled.
Thanks. I tried to do them in Excel, then Word, but it was a pain to set them up right. I ended up making them in paint.net - printed to an sticker A4 sheet and cut out with a ruler and a hobby knife. They turned out quite well I think.

For those who haven't seen them:

Image
Cheers
Troy

[My introduction]
Post Reply