6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Apr 27, 2024 5:12 pm

All times are UTC




Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: the KITTY Computer
PostPosted: Thu Nov 09, 2023 12:37 pm 
Offline

Joined: Sun Sep 17, 2023 10:23 am
Posts: 8
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
computer.jpg [ 997.73 KiB | Viewed 8098 times ]
Attachment:
File comment: The output of the computer's test rom on a lcd tv
display.jpg
display.jpg [ 47.49 KiB | Viewed 8098 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).


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 12:50 pm 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1398
Location: Scotland
Very nice - thanks for sharing.

A quick Q about the keyboard - is it your own design or off-the-shelf? I've been looking for a "traditional" parallel interface keyboard for a while and not found anything I really like - if this is off the shelf I'd appreciate some more info... (Lots of information about 40% keyboards which are similar, but most are USB or PS/2...)

Thanks,

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 12:51 pm 
Offline

Joined: Fri Jul 09, 2021 10:12 pm
Posts: 741
Oh that's very nice, and I love the keyboard!

I'd be interested to hear more details about how you've approached the video system, signal timing generation etc, as well as the audio. My first ones were PAL-based, though apart from some dubious experiments with component video, I only used the luminance part of a composite connector - not RGB through SCART. I considered that using SCART and an HDMI converter box was quite a nice solution for keeping some of the complexity of modern video output off the main circuit.

Are you going to share schematics?


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 12:51 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 703
Location: Texas
smal wrote:
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


That is awesome! Great job on that! I really like the keyboard layout and the board design. Good specs and cool video display.

What do you do to display the video, any particular methods you'd like to share?

Do you have some links to github pages or some such? Want to share things like the schematics? No pressure, just curious to see.

Oh, and welcome to the forum! :) Again, great job!

Chad


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 12:54 pm 
Offline

Joined: Sun Sep 17, 2023 10:23 am
Posts: 8
drogon wrote:
Very nice - thanks for sharing.

A quick Q about the keyboard - is it your own design or off-the-shelf? I've been looking for a "traditional" parallel interface keyboard for a while and not found anything I really like - if this is off the shelf I'd appreciate some more info... (Lots of information about 40% keyboards which are similar, but most are USB or PS/2...)

Thanks,

-Gordon


The keyboard is my own design, I also tried looking for existing solutions before making it but unfortunately couldn't find anything either.


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 12:56 pm 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1398
Location: Scotland
smal wrote:
drogon wrote:
Very nice - thanks for sharing.

A quick Q about the keyboard - is it your own design or off-the-shelf? I've been looking for a "traditional" parallel interface keyboard for a while and not found anything I really like - if this is off the shelf I'd appreciate some more info... (Lots of information about 40% keyboards which are similar, but most are USB or PS/2...)

Thanks,

-Gordon


The keyboard is my own design, I also tried looking for existing solutions before making it but unfortunately couldn't find anything either.


OK, Thanks. I did wonder as it looked like a different colour PCB...

Thanks,

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 1:55 pm 
Offline

Joined: Mon Jan 19, 2004 12:49 pm
Posts: 660
Location: Potsdam, DE
Looks good - but can it Hellorld? https://github.com/Nakazoto/Hellorld/wiki/Homebrew-Computers :mrgreen:

(I too am seeking a parallel keyboard: every time I try and find one, I am believed to be some sort of rabid gamer with far more money than sense!)

Neil


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 3:44 pm 
Offline

Joined: Sun Sep 17, 2023 10:23 am
Posts: 8
Hi, I've just pushed a github repo that includes schematics and other info/files about the system. It's a messy repo at the moment, but I'll be improving that as I continue to work on the project.


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 3:59 pm 
Offline

Joined: Sun Sep 17, 2023 10:23 am
Posts: 8
gfoot wrote:

I'd be interested to hear more details about how you've approached the video system, signal timing generation etc, as well as the audio.



Describing the audio first, as it is somewhat simple, built with just 4 ICs.

The audio uses using time-multiplexed mixing (where 1 channel is played at a time at a very high frequency beyond human hearing):

  • Two 74hc670s (4x4 dual port register) are connected to left/right resistor DACs and hold the volume level for each of the 4 channels
  • A 74hc153 (dual 4 to 1 selector) is used to activate/not the output of these volume registers according to the state of a specific source signal
  • The source signals are 3 square waves generated by a 82c54 (16bit tripple timer used on the ibm pc) and 1 channel whose source I haven't yet decided on (hooked up to A9 on the schematic).

Attachment:
File comment: Audio Circuit Schematic
4.png
4.png [ 313.86 KiB | Viewed 8054 times ]


Beyond that there is some memory mapping logic that's shared with other peripherals of the system and not shown here, to let the CPU write to the different registers of the 82c54/Volume.


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 4:38 pm 
Offline

Joined: Fri Jul 09, 2021 10:12 pm
Posts: 741
Nice! The 82C54 looks very useful - though not cheap! And the mechanism for multiplexing between the volume levels seems simple but clever. Does it work well?


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 5:06 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10793
Location: England
Welcome smal - nice system!


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 5:57 pm 
Offline

Joined: Sun Sep 17, 2023 10:23 am
Posts: 8
gfoot wrote:
Nice! The 82C54 looks very useful - though not cheap! And the mechanism for multiplexing between the volume levels seems simple but clever. Does it work well?


Yeah unfortunately the 82c54 is a somewhat pricey chip (new from reputable sellers, anyways), if you are looking for a chip that performs a similar function but at a lower cost then depending on your design, an option that I've used for a previous wavetable-based soundchip is the Z80 CTC. It is designed to interface with a Z80 cpu in a way that's unfriendly to other architectures, but I found it will talk with a 65c02 if you clock the CTC at a 4x or higher clock rate. Though, note that unlike a 82c54 the CTC only generates short pulses, so you'll need external logic to turn that into a audible square wave (or whichever other waveform you are looking to make).

As for multiplexing volume, it does work well! Its actually a technique that was used by some historical soundchips (several of the Yamaha FM ones, for example)


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Thu Nov 09, 2023 6:40 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10793
Location: England
For possible inspiration on sound, have a look at the Music 5000. It's amazing.
viewtopic.php?f=4&t=4436


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Sat Nov 11, 2023 6:01 pm 
Offline

Joined: Sat Oct 28, 2023 7:57 pm
Posts: 15
Location: Missouri
Neat! I don't have much to add beyond saying it looks cool, and I love the keyboard. I do have a question on the memory thought. I see you're using 28K or RAM, and I'm guessing by what you're saying about cartridges that an additional 32KB is taken by them, which leaves about 4KB left. Is that taken by I/O space and maybe Kernel ROM? Is there a default 32K of ROM that is loaded if there is no cartridge?

Looking forward to seeing more about this, especially the video system!


Top
 Profile  
Reply with quote  
 Post subject: Re: the KITTY Computer
PostPosted: Sat Nov 11, 2023 6:10 pm 
Offline

Joined: Sun Sep 17, 2023 10:23 am
Posts: 8
WCMiller wrote:
Neat! I don't have much to add beyond saying it looks cool, and I love the keyboard. I do have a question on the memory thought. I see you're using 28K or RAM, and I'm guessing by what you're saying about cartridges that an additional 32KB is taken by them, which leaves about 4KB left. Is that taken by I/O space and maybe Kernel ROM? Is there a default 32K of ROM that is loaded if there is no cartridge?

Looking forward to seeing more about this, especially the video system!


Thank you!

And yes, the 4Kb is IO space. In the current design addressing decoding is handled in a simple manner, using a 74hc85 4bit comparator and NAND gates to gate its output with phi2. It is sort of wasteful, since there's only an handful of IO registers, but it works well enough for the purpose and used parts I already had laying around.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 28 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: