Hi, I'm someone who's been lurking around here (and other homebrew computer places) for a while but never posted anything, so I wanted to change that and share my latest 65c02 project:
Its a simple home computer nicknamed "
KITTY" that I've been working on since the start of October. It came to be because I was interested in experimenting with making text mode games, and I thought it would be fun to have a little dedicated physical system for the purpose.
Quick Spec List:
- Bus Speed: 3Mhz
- CPU: w65c02s @~2.2Mhz (slower speed as memory access is multiplexed with the video circuit)
- RAM: 28Kb SRAM
- Video: Custom, 256x256pixels, a text mode display using a preset font, 32x32 8x8 pixel characters, 16 color palette
- Sound: Custom, 3 Channels of Square Waves and 1 "percussion" channel whose details haven't been settled on yet. Each channel has its own 4bit+4bit stereo volume control. Overall similar capabilities to a ay-3-8910 or sn76489
- Input: 40-Key Mechanical Keyboard, read directly by the cpu
- Media/Expansion: 2 Cartridge Slots, each with up to 128x32Kb banks. Controlled by an 8-bit register that's set to $00 (cart 0, bank 0) on hardware reset. These contain the program(s) the computer runs, as well as memory expansions or peripherals.
- Interrupts: single /IRQ triggered when the video circuit has drawn the last visible pixels on the frame.
- Output: RGB PAL (50hz), via a SCART connector.
I wanted a simple design that achieved my personal goal of a having a simple system, that's easy to understand and code for All ICs used here are in still in production, and all logic is implemented using only discrete 74hc chips and ROMS (I find this sort of "digital lego" fun to work with)
Currently I only have a messy prototype pcb with a lot of bodge wires that's shown in the attachment, with the only software being a super simple test rom that just displays the colors, font, and lets me test the keyboard matrix.
I still haven't figured what the cartridge port pinouts will be (number of pins, signals). So At the moment I'm running code out of a "test rom" slot on the motherboard that simulates a cartridge from a software POV, which won't be present on the final design. Other details are tuning in the master 12Mhz pierce oscillator (which is divided to lower values to produce the clock signals used by the board), and figuring out the best resistor values to use for the audio DAC.
overall, its still a work in-progress prototype.
Attachment:
File comment: The current prototype board as it stands
computer.jpg [ 997.73 KiB | Viewed 8175 times ]
Attachment:
File comment: The output of the computer's test rom on a lcd tv
display.jpg [ 47.49 KiB | Viewed 8175 times ]
My eventual goal will be to make KITTY an open-source design, and (hopefully) have it available as a diy kit. I'm happy to answer any questions about the system/hardware/etc
(also I'm unsure if this post should go here or in the hardware topic, so I apologize in advance if I posted in the wrong place).