• they/them β€’ ΞΈΞ”

scrunkly little yinglet / bat / avali /
nondescript flappy critter
β€”
does the computer
(among other things)
β€”
debilitatingly gay
in an open poly relationship
β€”
frequently NSFW πŸ”ž no minors pls
β€”
@trashbyte on discord
β€”
askbox is open!
α…Ÿβ€”

this user is shorter than averageno binary? no problemreject humanity
this website is gaytake back the webamiga friendly
blendercrouton.net88x31 collection

β€”
cool critters and comics:

zatzhing.mekobold60.com
pont.coolwww.runawaytothestars.com

🌎 web zone
bytebat.zone/
🐘 mastodon
chitter.xyz/@byte

smal
@smal

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.


You must log in to comment.

in reply to @smal's post:

I love it! It's kind of like a PET and MSX had a child together. :) I'd love to help test and having those cartridge slots opens up some fun possibilities for making expansions in the future - sound, capture, and probably even communications.

A good idea for a KITTY2 would be to use a 65C265 for the CPU; it's a 65816 without needing to multiplex address and data lines; it directly provides A16-A23 on their own pins. It also provides a bunch of common peripherals built in, so you can have a lower chip count.

Yea I've looked into it before, its definitely an interesting chip, but it being a pricy smd-only part (the PLCC package is discontinued now) makes me a bit weary of experimenting with it.

Aside from making it less accessible as a kit, it not being a socketed part means that I'd have to get a new one for each board revision I'd make during development, and that sorta cost can quickly add up past what I'd personally be willing to spend on a project like this (especially if i mess up soldering it as I've done with these kinda parts before lol)

Drag soldering is pretty simple after some practice; apply flux to the pads, tack two opposite corners down, then just drag your iron and solder across the pins, letting the flux do the hard work for you. You can always grab some scrap electronics for practice.

Now, de-soldering is still a pain in the arse without having a hot air rework station or that magical ChipQuik material. But, why not design a carrier board that breaks out the pins to normal pin headers? Then you can socket it on your own terms πŸ‘€

this is AWESOME omg i am definitely going to be writing some software for this thing. also i really want to build one!! the custom video circuitry is especially interesting to me since i've been looking for something like that for my own homebrew computer projects