EEVblog Electronics Community Forum
Electronics => Projects, Designs, and Technical Stuff => Topic started by: visrealm on August 18, 2021, 01:06:02 am
-
Hi all,
Has been a while since my last project (https://www.eevblog.com/forum/projects/snake!-on-my-ttl-breadboard-cpu-(hackaday-article)/msg3132548/#msg3132548). I decided to tackle my first PCB-based project and have always wanted to do a backplane, so I did (both).
Designed and ordered a custom backplane and a bunch of custom proto-cards for it, then got to work building out the cards.
(https://raw.githubusercontent.com/visrealm/hbc-56/master/img/backplane_3d_2021_06_16.PNG)
(https://raw.githubusercontent.com/visrealm/hbc-56/master/img/proto_3d_2021_06_16.PNG)
So far, I've built 6 cards:
- 6502 CPU
- Triple-mode clock
- RAM/ROM (32KB of each)
- LCD card (supports standard character LCDs and Graphics LCDs)
- TMS9918A based video card
- Dual AY-3-8910 sound card
I also have a NES controller board (currently on a breadboard). Enough hardware to start a simple game, so started work on an Invaders clone (6502 assembly).
(https://img.visualrealmsoftware.com/youtube/thumb/Ug6Ppz-NF2Q) (https://youtu.be/Ug6Ppz-NF2Q)
I have all the code and most of the schematics on github (https://github.com/visrealm/hbc-56).
Created a project on Hackaday (https://hackaday.io/project/180904-6502tms9918a-computer-on-a-backplane).
I do plan on creating a few more YT videos on the project (going into more detail) over the coming months.
Cheers
Troy
-
That's so cool! Are you planning to add a RS-232 serial port? Or maybe a Commodore serial port so you can hook up to vintage floppy drives.
-
That's so cool! Are you planning to add a RS-232 serial port? Or maybe a Commodore serial port so you can hook up to vintage floppy drives.
Thanks!
I am planning to add an RS-232 serial port. I have the components (except perhaps a suitable crystal), just need to build it. I haven't considered interfacing with original Commodore hardware (mainly because I don't have any :D)
-
Fair point, I just usually assume everyone has 8 1541s in their closet. :-DD
How about a 9 pin joystick interface?
How do you get your A/V chips, and how do you handle the vagaries of 6502 pinouts and opcodes?
-
Fair point, I just usually assume everyone has 8 1541s in their closet. :-DD
:-DD
How about a 9 pin joystick interface?
Yeah, I could do that easy enough. Easier than the NES controllers I already have really.
How do you get your A/V chips, and how do you handle the vagaries of 6502 pinouts and opcodes?
Most of them I'm sourced from AliExpress. I've actually had reasonable luck with it overall. A couple of duds, but not bad. I'm only using base 6502 assembly (no extended 65C02 opcodes, etc.) so no issue there. The only difference in pinout I'm aware of is Pin 1 which can either be GND or NC. Easy to add a jumper for that.
-
Here's a fun video
https://www.youtube.com/watch?v=mxi5_VhxkJQ (https://www.youtube.com/watch?v=mxi5_VhxkJQ)
I think this would be a challenge, getting Commodore's BASIC to run on your configuration. :box:
Anyhow for the pinout the WDC version has an active output on pin 1. It causes some issues for VIC-20s and my aforementioned 8 1541s in my closet...
I don't really know what a VPB is though.
-
I don't really know what a VPB is though.
Right. I remember now. I have it as NC in my build, but it's used when you've implemented a memory banking system to tell the system the CPU wants to access one of the vector tables (ie. in an interrupt handler) and ensure the memory is configured correctly for that purpose. I'm not doing memory banking at all (yet).
-
Cool project. I was asked to work for Atari many many moons ago...learned so much about the 6502, hardware interfacing and assembly language (Rodnay Zaks book) in high school.
http://www.acornatom.nl/sites/fpga/www.howell1964.freeserve.co.uk/parts/6502_cpu.htm (http://www.acornatom.nl/sites/fpga/www.howell1964.freeserve.co.uk/parts/6502_cpu.htm)
VPB is Vector Pull (output) pin goes low when an interrupt vector is on the address bus.