Hi all,
I'm not much of a blogger or "message poster" but I thought I might introduce myself and show progress on my 6502 project.
My first computer was an Apple 2 Plus back in the 80's. My friends had ZX Spectrum, Comodore 64 and BBC. I learnt a bit of basic and even tried my hand at some machine code. I ended up with a huge collection of Apple 2 machines, parts and software, but gave it all away in the 90's when I moved out of my parents house. In hind sight I should have put it into storage. I ended up studying Electronic Engineering and always had the idea of building a 6502 or Z80 board of some sort. Fast forward nearly 30 years. After watching some of Ben Eater and others videos on 6502 and VGA the bug bit and I started. This is my version 1 CPU board. The goal was just to get the CPU and memory up and running. I'm not a huge fan of breadboard or perf board so I went straight to PCB. (The mods were needed to solve a glitch in video development)
Attachment:
CPU V1.jpg [ 277.04 KiB | Viewed 10055 times ]
The right hand side plug in card is the 65C51 (ACIA)
Attachment:
CPU+65C51.jpg [ 238.44 KiB | Viewed 10055 times ]
The card slot on the left was dedicated to video.
Attachment:
CPU+VIDEO.jpg [ 144.4 KiB | Viewed 10055 times ]
Video development was a combination of breadboard / plugin prototype perf board and a CPLD module. I'm using the Altera MAX7000 discussed in posts on 6502.org. The MAX7000 is obsolete but the Microchip/Atmel part is still available. I highly recommend these parts. Don't struggle with masses of 74 series logic on breadboards unless you have lots of time and like the pain of reworking things when they don't work. It's much easier to redraw, compile and test (or simulate) schematics. I bought the MAX7000 from suppliers on AliExpress. Here are the CPLD modules I made.
Attachment:
CPLD.jpg [ 153.79 KiB | Viewed 10055 times ]
Video card development had gone as far as it could in this manner and it was time for a CPU V2 board.
Attachment:
CPU V2.jpg [ 204.82 KiB | Viewed 10055 times ]
V2 has the following specs
WDC65C02 (clocked at just over 4MHz...should have been 5MHz but used a cycle for the video)
65C51 ACIA (lower left)
lower CPLD does all address decoding
upper CPLD + 2x 6264 8Kbyte SRAM handles video
video is B&W 256 x 240 native VGA running at 10MHz
There are 2 video pages
1. memory mapped
2. updated as a page and can be turned on or off...overlays memory mapped page (overlay done as a hardware OR)
Memory is 40K SRAM,
512K FLASH in 8K blocks for boot
512K SRAM followed by 512K FLASH in 8K blocks
a 65C22 controls 2x AY-3-8910 sound chips
a 14-pin tiny AVR does serial to parallel for a PS2 keyboard and is memory mapped onto the 6502 bus
So far everything is working. I have played YM sound files on the AY chips and I have fonts and bitmaps working.
I'm using a combination of C (CC65) and assembler to program the 6502.
I will probably go through one more iteration as there are only 1 or 2 minor errors in V2. The main change will be to the plugin slots. I may switch to card edge type connectors as opposed the the current pin type ones.
I have seen the Commander X16 project. It's looking great, but I guess for me and others the goal is to design and build it yourself.
That's part of the journey, wanting to know how they did it back in 1970's.
if I only wanted to write 6502 code then I would be lining up to buy one. (or use a simulator or even buy an old machine)
What I would like to know is, are there any 6502 enthusiasts in Brisbane, Australia? I have spotted a few people in Australia on 6502.org.
Are there enough to start a small user group or something like that?
It would be nice to have people to share the journey with. I know that there are all of you on 6502.org, but it's not quite the same when you can meet people face to face. Just a thought.
Anyway that's where I'm at.
Thanks
Andre