Welcome to a new series(hopefully) of posts where I describe the workings of the Kitty, an 8bit homebrew fantasy computer that I've been working on since late last year. Here I will be giving an overview of the system's motherboard and its specs.
Why
This project actually started out as a fantasy console that was geared towards making text-mode/PETSCII games, but then I realized that I knew just enough about electronics to make the idea a physical thing
At the heart of it is a 65c02 cpu (a variant of the cpus used in the Apple II, NES, C64s, and many many others). The custom video and audio features meanwhile, are all done using simple 74logic chips and ROMs
The system is open source, and eventually I'd like for it to be available as a kit (if I can afford to do so). All of the parts here are through-hole (or placed in through-hole sockets) for ease of soldering and are, as time of writing, still in production.
Compared to other new retro computer projects (or old retro computers really), it is really not the most powerful or impressive thing out there, but it also isn't meant to be that, it is first and foremost a set of specs and limitations that I felt would be both easy to understand, and fun and interesting to play with, it is the KITTY, and it does the funny graphics, and you can maybe build it yourself if you want to :)
Brains

As stated before the computer runs on a 8-bit 65c02 cpu @~2.2Mhz[1], it has 28KiB of RAM, and 2 Flexible Cartridge Slots which can be used for any mix of programs, memory expansion or peripherals. The KITTY has built-in bank switching logic that gives each of these 2 slots 128 banks of 32KiB (so a silly 8MiB memory space in total). The empty socket in the picture is for the operating system, mine is currently empty as I'm using the cart slot instead for ease of development, its a spacious 512KiB re-writable flash chip, which could in theory be used as a simple hard drive to store your files and programs.
Video

In the middle of the board lays most of the logic for the custom video circuit, making the titular PETSCII-esque graphics on a field of 32x32 cells and a palette of 16 colors, all output to a tv via SCART[2]. It takes turns accessing memory with the cpu, which is why that only runs at around 2.2Mhz despite the system bus being a full 3Mhz.
Sound

On the other end of the motherboard is the audio circuit, also known as the most self-indulgent part of the whole project. Essentially a 82c54 (aka the ibm pc speaker chip) propped up by external logic. 4 channels which play "wavetables" of 8x1 resolution, each with 4bit+4bit stereo volume control. Along with wanting to avoid using new-old-stock soundchips, i really wanted for this computer to have a unique sound and personality to it.[3]
Case and Keyboard
Finally, all of this is kept inside a custom case with a built-in mechanical keyboard.
Currently the keyboard uses traditional mx-switches and has some minor key spacing mistakes. The keys ended up being too tall for my taste so I'm planning to switch to low-profile switches in the future (redragon most likely).
The case meanwhile is made out of printed circuit boards that are attached to each-other using screws and 6-sided cube nuts[4], this one is red, but of course it can be any of the many silkscreen colors out there.
The result of this approach is honestly suprisingly sturdy considering that it is a) made by a clueless self-taught hobbiyst, b) my first time trying anything like this, and c) I haven't really come across other people doing this (this last one is probably more personal ignorance than anything). It could be improved with a few more screws but, as it stands, its good enough and won't fall apart or wiggle wildly on you. (also its much cheaper than 3d printing and i get to have text on it)
[1] - You may have noticed I'm actually using a 65c816 in the pic, the 16bit sibling used in the SNES, this is because the board has drop-in support for it for anyone who feels like playing with it, and I didn't feel like taking the effort of swapping out the chip just for this one picture, regardless, this is minimum-effort support, so you won't have the fancy native 24bit addressing space and will have to make do with the memory-mapped bank register like everyone else
[2] - There is an alternative VGA option that I haven't populated/tested yet, however, this is 15Khz VGA and won't work on every monitor. Your mileage may vary.
[3] - I'm using a resistor DAC and a simple RC filter on the output and I'm still figuring out the best values to use, which is why only the left dac is populated
[4] - I still don't know the proper name for them, I'm sorry.













