6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Sep 20, 2024 6:56 am

All times are UTC




Post new topic Reply to topic  [ 11 posts ] 
Author Message
 Post subject: Keyboard options
PostPosted: Sat Feb 02, 2019 10:37 pm 
Offline

Joined: Sat Mar 11, 2017 1:56 am
Posts: 276
Location: Lynden, WA
Hi all. I'm contemplating keyboard options for my build. Currently Using serial connection to laptop for input. I've recently finished my homebrew VGA text controller, so video is in the bag (all 7400 logic. Details coming if interested)

My current plan is a PS/2 style keyboard interface. Its readily available, and I could do all the decoding in hardware, which is my preference. Can't really think of a con to this plan, except I guess it isn't period accurate. Period accuracy is a plus to me, but not a deal breaker.

Are there other options? I know you can get laptop keyboards easily, but I can't find any info on the interface.

Are there options I don't know about? USB is out, even with a serial interface. Too modern for my sensibilites.


Top
 Profile  
Reply with quote  
 Post subject: Re: Keyboard options
PostPosted: Sat Feb 02, 2019 10:44 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8510
Location: Southern California
Daryl (8BIT) offers a couple of solutions:
http://sbc.rictor.org/pckbavr.html
http://sbc.rictor.org/pckb6522.html

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject: Re: Keyboard options
PostPosted: Sun Feb 03, 2019 3:13 am 
Offline

Joined: Sat Jun 04, 2016 10:22 pm
Posts: 483
Location: Australia
There's also the RC2014 Universal Micro Keyboard, which can interface over serial, USB(with a caveat), or as a raw key matrix(you need to scan this yourself). Its layout is QWERTY-based, but definitely not standard.
I use the serial option, and the ATMega on board can be re-programmed to change the key map, if you so desire(the firmware is open-source).
The main reason I mention it is that kits are available (https://www.tindie.com/stores/Semachthemonkey/).


Top
 Profile  
Reply with quote  
 Post subject: Re: Keyboard options
PostPosted: Sun Feb 03, 2019 6:27 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
You can buy keys and keycaps on aliexpress (search for MX keys) in many different varieties, including blank ones. I have a set at home that I'm planning to use for a project.


Top
 Profile  
Reply with quote  
 Post subject: Re: Keyboard options
PostPosted: Sun Feb 03, 2019 10:11 am 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1466
Location: Scotland
Dan Moos wrote:
Period accuracy is a plus to me, but not a deal breaker.


Which period though :-)

Apple I and Apple II used a commercial keyboard that presented 7-bits + strobe... Before that, the 8-bit stuff was mainly serial terminals and after that, it was a few years before the micro makers started to do their own key matrix scanning by the cpu rather than use an off-the-shelf keyboard decoder chip (mainly to get the prices down AIUI).

I think using a PC ps/2 type keyboard with an ATmega (or PIC) presenting a 7/8-bit port + strobe out (and ack back) is a good compromise though - so you could treat the keyboard + microcontroller as the keyboard in total, so your micro still sees an older parallel interface and doesn't have to worry about the scanning, decoding, etc.

There are microcontrollers (e.g. ATmega 32u4) that have USB interfaces, so could use a usb keyboard and still present the same 8-bit interface back to the micro though - again treating it as a black-box keyboard so your micro only sees the parallel interface.

Actually - hm. an interesting project, maybe, although I'm sure it's already been done - ah yes: http://sbc.rictor.org/pckbavr.html and if you have a big old ps/2 keyboard you might even be able to squeeze that inside the keyboard case somewhere with nothing more than a ribbon cable coming out.

Cheers,

-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: Keyboard options
PostPosted: Sun Feb 03, 2019 1:03 pm 
Offline

Joined: Thu Mar 03, 2011 5:56 pm
Posts: 284
One guy at the retrobrewcomputers forum has a design for a keyboard for an MSX2-style computer: https://www.retrobrewcomputers.org/forum/index.php?t=msg&th=252&goto=5838&#msg_5838. This might be a good option for other designs, too.


Top
 Profile  
Reply with quote  
 Post subject: Re: Keyboard options
PostPosted: Sun Feb 03, 2019 1:07 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
drogon wrote:
I think using a PC ps/2 type keyboard with an ATmega (or PIC) presenting a 7/8-bit port + strobe out (and ack back) is a good compromise though - so you could treat the keyboard + microcontroller as the keyboard in total, so your micro still sees an older parallel interface and doesn't have to worry about the scanning, decoding, etc.


Or use a 2nd 6502 processor.


Top
 Profile  
Reply with quote  
 Post subject: Re: Keyboard options
PostPosted: Sun Feb 03, 2019 4:31 pm 
Offline

Joined: Sat Dec 13, 2003 3:37 pm
Posts: 1004
There's a small subculture of folks building their own keyboards from the boards up.

There's board designs, firmware for microcontrollers, sources for cap and buttons.

I don't know why you can't take $20 keyboard, open it up, cut the traces to the on board controllers, and then wire it up to your project.

They're all matrix keyboards, they all poll their keys, not a lot of new work being done here.

You could use a 6502 to make a keyboard controller. You could use the W65C134S to reduce chip count, since it has a bunch of ports and such. You'd need a *ROM of some kind for the firmware, but 192 bytes of onboard RAM should be enough.

You can bit bang the keyboard protocol for AT keyboards, or do your own thing.

Point being there's opportunity to start at as high or low level as you like.


Top
 Profile  
Reply with quote  
 Post subject: Re: Keyboard options
PostPosted: Sun Feb 03, 2019 7:46 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
A serial interface with a standard connector would be interesting, giving you the option of removing keyboard and using a PC with terminal program instead.


Top
 Profile  
Reply with quote  
 Post subject: Re: Keyboard options
PostPosted: Sun Feb 03, 2019 7:56 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1228
Location: Soddy-Daisy, TN USA
Dan Moos wrote:
I've recently finished my homebrew VGA text controller, so video is in the bag (all 7400 logic. Details coming if interested)


Yes please.

_________________
Cat; the other white meat.


Top
 Profile  
Reply with quote  
 Post subject: Re: Keyboard options
PostPosted: Mon Feb 04, 2019 9:32 am 
Offline
User avatar

Joined: Tue Mar 02, 2004 8:55 am
Posts: 996
Location: Berkshire, UK
The adaptor that comes with PS/2 compatible USB keyboards contains no electronics. Its just passes through the signals and power.

Several USB keyboards test for USB protocol on startup and if they don't find it revert to PS/2 mode.

On one of my boards I used a USB socket rather than a PS/2 DIN to save board space.

Just a thought.

_________________
Andrew Jacobs
6502 & PIC Stuff - http://www.obelisk.me.uk/
Cross-Platform 6502/65C02/65816 Macro Assembler - http://www.obelisk.me.uk/dev65/
Open Source Projects - https://github.com/andrew-jacobs


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 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: