This is my first time designing and building a SBC. I originally intended to build this project over the Summer so that I could mention it in my university application, but I didn't have the time to actually start construction up until recently.
My eventual goal for this project is to write a CHIP-8 emulator that can play games on a 128x64 graphical LCD.
Currently, the hardware consists of:
- R65C02P4 CPU
- 128K SRAM (32K addressable)
- 128K EEPROM (16K addressable)
- R65C22P4 VIA
- MC86B50 UART
This is the current state of the project: (sorry for poor image quality)
Attachment:
IMG_0004.JPG [ 371.73 KiB | Viewed 1058 times ]
Attachment:
IMG_0005.JPG [ 247.98 KiB | Viewed 1058 times ]
So far I have the ROM, RAM, VIA and a 20x4 character LCD working. At first, I spent ages trying to diagnose a hardware issue, but It turned out to be just a software error - I had my address byte-order wrong! The clock signal is currently being generated by an arduino, but only because I'm waiting for an oscillator to be delivered. Since WW sockets are fairly hard to come by, I decided to solder SIL headers to the front of the PCB instead, which seems to be working fine so far. You may have noticed sockets for a ZX Spectrum keyboard, which I hope to wire up soon. When the project is finished, I'll probably house it inside the Spectrum's case, although I might 3D print one.
I have a couple of questions:
- Despite what the datasheet says, is the 68B50 likely to run off a 4MHz clock if I put it in ÷16 mode?
- Is implementing memory paging as simple as connecting the spare address lines to an output port on the VIA?
Also, I would like to thank Garth Wilson for his excellent 6502 primer, which I probably wouldn't have managed without.
P.S. Should I have put this in the Newbies' section?