Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.os.msdos.programmer > #995
| From | "Rod Pemberton" <dont_use_email@nohavenotit.com> |
|---|---|
| Newsgroups | comp.os.msdos.programmer |
| Subject | Re: How to program my own keyboard driver? |
| Date | 2013-09-20 00:53 -0400 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <op.w3o070kj0e5s1z@localhost> (permalink) |
| References | <027615d4-f6f5-4664-bef1-e1aa1cd5f6bf@googlegroups.com> |
On Thu, 19 Sep 2013 12:26:45 -0400, Ruud Baltissen <rbaltissen@gmail.com> wrote: > I received a Commodore 8032-SK [...] > I attached the original keyboard to the on-board LPT port. From a PET schematic, it appears the keyboard works similarly to the C64. If that's true, then the problem was solved, and more than once: http://symlink.dk/projects/c64key/ http://www.vesalia.de/e_keyrah.htm http://www.waitingforfriday.com/index.php/C64_VICE_Front-End http://www.go4retro.com/products/ckey/ It could be possible for those to work or be adapted to your keyboard. I'm surprised you're not familiar with these Ruud since it appears you've posted a schematics for Commodore C64 like device. I would start by comparing the keyboard connector lines of the C64 and 8032-SK. I.e., do they have the same number of pins? If not, does the C64 have more than enough of both input and output lines? C64 9 rows 0 through 8 9 columns A through I PET 7 (or 8) rows (?) A through H (or J) 10 columns (?) 1 through 10 The C128 seems to be 8x11, so maybe an adapter for it would work. > [keyboard TSR and/device driver for DOS] Are you still interested in a DOS device driver when so many keyboard adapters are available? If so, you could look at : "Chapter 8. Writing an Installable Device Driver" of IBM's "PC DOS 7 Technical Update" manual: http://www.redbooks.ibm.com/redbooks/pdfs/gg244459.pdf FYI, the C64 keyboard is just a matrix of input and output lines, where the input lines are scanned one at a time. I have a bunch packed up in the basement somewhere... If a key is pressed, an output line will be active. This usually requires one chip to decode a binary value to a single line to implement scanning, and another chip with multiple input lines which are read. The first is a demultiplexer, e.g., a BCD to decimal decoder or 1 of 8 decoder, etc. The first chip is usually fed by a few pins on a microprocessor with an incrementing output value. A counter chip can also drive it. The second is usually an addressable latch, i.e., memory or I/O mapped with value readable by a microprocessor. There are also standard logic chips for keyboard scanning for the chip series Commodore used, e.g., 6526. Rod Pemberton
Back to comp.os.msdos.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
How to program my own keyboard driver? Ruud Baltissen <rbaltissen@gmail.com> - 2013-09-19 09:26 -0700
Re: How to program my own keyboard driver? JJ <duh@nah.meh> - 2013-09-20 06:02 +0700
Re: How to program my own keyboard driver? Ruud Baltissen <rbaltissen@gmail.com> - 2013-09-20 03:07 -0700
Re: How to program my own keyboard driver? Ross Ridge <rridge@csclub.uwaterloo.ca> - 2013-09-20 00:03 -0400
Re: How to program my own keyboard driver? Ruud Baltissen <rbaltissen@gmail.com> - 2013-09-20 03:38 -0700
Re: How to program my own keyboard driver? Ross Ridge <rridge@csclub.uwaterloo.ca> - 2013-09-20 09:19 -0400
Re: How to program my own keyboard driver? "Rod Pemberton" <dont_use_email@nohavenotit.com> - 2013-09-20 00:53 -0400
Re: How to program my own keyboard driver? Ruud Baltissen <rbaltissen@gmail.com> - 2013-09-20 03:42 -0700
Re: How to program my own keyboard driver? Ross Ridge <rridge@csclub.uwaterloo.ca> - 2013-09-20 09:31 -0400
Re: How to program my own keyboard driver? "Rod Pemberton" <dont_use_email@nohavenotit.com> - 2013-09-20 15:07 -0400
Re: How to program my own keyboard driver? Ross Ridge <rridge@csclub.uwaterloo.ca> - 2013-09-21 11:56 -0400
Re: How to program my own keyboard driver? "Bill Buckels" <bbuckels@mts.net> - 2013-09-20 20:21 -0500
csiph-web