Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!rpi!batcomputer!cornell!vax5.cit.cornell.edu!hh2x From: hh2x@vax5.cit.cornell.edu (Aaron Peromsik) Newsgroups: comp.sys.cbm Subject: Re: Wanna use a PC Keyboard with your C-64? Message-ID: <1991Apr21.211259.4176@vax5.cit.cornell.edu> Date: 22 Apr 91 01:12:58 GMT References: <1991Apr16.035008.5667@spool.cs.wisc.edu> Distribution: comp Organization: CIT, Cornell University Lines: 76 In article <1991Apr16.035008.5667@spool.cs.wisc.edu>, kolstad@jomby.cs.wisc.edu (Joel Kolstad) writes: > From: kolstad@jomby.cs.wisc.edu (Joel Kolstad) > Newsgroups: comp.sys.cbm > Subject: Wanna use a PC keyboard with your C-64? > References: > Sender: > Followup-To: > Distribution: world > Organization: U of Wisconsin CS Dept > Keywords: > > Well, after becoming very frustrated with my always dirty, rarely working > very well original Commodore 64 keyboard, I decided to built myself an > IBM PC to Commodore 64 keyboard interface. > > I finished this little hack this past weekend, and am now happily typing > on a Bondwell PC-XT keyboard going through my circuit to a C-64 (this > was about the cheapest PC keyboard I could find... $25 from Lesko's, in > Wisconsin...). > > The circuit is quite simple... just two chips: An Intel 8748 microcontroller > (yes, ancient, I know) and a (New! :-) ) Dallas Semiconductor's 8x8 Cross > Point switch. (What's rather ironic, here, is that many PC keyboards, > including this one from Bondwell, use 8x48s themselves! :-) ) > > The 8748 just watches the PC keyboard's scan codes, and figures out what to tell > the 8x8 Cross Point switch to do -- that is, what keys to "fake" on the > Commodore 64 keyboard. > > I think I did a decent job on the tiny program that runs the 8748... Caps lock > is supported, Num lock is supported, shifted PC keys function like their 64 > counterparts should, hitting arrow keys on the PC keyboard automatically > adds shifts when needed, etc. Overall, pretty much transparent to the user. > The only place wher there are a few quirks is in "non-standard" characters > such as vertical bars, tildes, etc. I tried to map this characters into > the most standard C-64 keys I could, but by their natur of being non- > standard keys, how perfect the translation is depends on what the program > is looking for. :-) Also, sending "impossible" key combinations (like, > hitting Shift-2 (@) and U and the same time on the PC keyboard) won't > produce useful results. But I wouldn't expect it too... > > Personally, my C-64 and its assorted hardware lives in a big metal box, so it > was no problem to stick in another board. But for people who would want to > keep their original cases, it'd probably be possible to just drill a hole > for the keyboard connnector in the case, anad keep the circuit board inside. > Since this thing uses a crosspoint switch, a simple passthru lets both the > C-64 and PC keyboard work at once -- now there's where we could see > some productivity! But more importantly, this means you can still use the > C-64 keyboard when there isn't a PC keyboard plugged in. > > Sound useful? Good! Since I doubt I could ever generate enough interest > in this to make any money, I'm releasing it as more or less "public domain > hardware." If anybody wants a schematic or more information, you can > mail me at my below e-mail address. Sorry to say that I can only provide > HPGL or Epson printer dump outputs. If you want the code for the 8748, > you can have Intel Hex format, or UUencoded binary. > > I'd appreciate it if anyone sending for schematics and/or 8748 listings > keep the things off of FTP sites, and such, for awhile -- I might just > try to sell this to some magazine. :-) All of you who want more > information, then, are my close personal friends and beta testers. :-) > > That's about it. I hope someone out there finds this as useful as I have -- > I _love_ my new keyboard! > > ---Joel Kolstad > kolstad@jomby.cs.wisc.edu Anyone wanna do this for the 128 (not D) and a 101-key extended IBM keyboard? I'd be impressed. Aaron Peromsik hh2x@crnlvax5.bitnet hh2x@vax5.cit.cornell.edu