Forum etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.

Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.

Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.

Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.

"PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.

Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.

Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.

New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.

Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

AT to XT Keyboard Converter

  • Filter
  • Time
  • Show
Clear All
new posts

    Hi! Thanks! Glad you enjoy it! Please tell your friends about the AT2XTKBD.

    Thanks and have a nice day!

    Andrew Lynch


      Hi, I've found a bug, but don't see how to fix it in the way the code is currently constructed. The F7 key does not work.
      According to the key codes I found here: , the AT code for this
      key is >83, not >03 as listed in the XTTRANS.INC file. Also, AT code >03 should be translated to 0x3F, which is key number
      116 or F5. If only 7 bits are being used in the key map translation, it will not be possible to use a value of >83 to correctly map the F7 key.
      Unfortunately, this is quite an important key as it is used in a lot of software on the Geneve 9640. Any ideas on a solution?



        You appear to be correct. It seems that the F7 key is the only key having a scan code above 128 in the SC2 set. My solution would be to map it into an unused code, say 13h. Stay tuned for some corrective code...
        Last edited by Chuck(G); January 16, 2011, 01:19 PM.


          Originally posted by Chuck(G) View Post
          You appear to be correct. It seems that the F7 key is the only key having a scan code above 128 in the SC2 set. My solution would be to map it into an unused code, say 13h. Stay tuned for some corrective code...
          There's also SysRQ, 84h. If it's any help, the AT keyboard controller internally maps 83 to 02 and 84 to 7F before feeding them into its own AT->XT translation routine.

          My personal theory is that this all dates back to the days of terminal keyboards. The 6110344 keyboard has 127 key positions, returning 127 unique scancodes, all in the range 01-7F except for two keys: Print/*/Ident and Space (not the spacebar, a 'Space' key on the numeric pad). Those return 83h and 84h respectively, and I wonder if they have special meaning for the firmware of a 3179 terminal.

          Anyway, the AT keyboard uses the same scancodes as the 6110344, with F7 ending up where Print/*/Ident was and SysRQ where Space was. It's pretty obvious, looking at the diagram, that F7 'ought' to return scancode 02h, and that SysRQ 'ought' to return 7Fh.


            I'm fixing this by extending the table by 16 entries (to scan code 8F), which is a bit less kludgy than special-casing F7.

            SysReq I wouldn't know what to do with it, as it's not on the 5160 83-key keyboard.


              Has anyone ever tried modifying this project to support tandy computers also?



                No--I don't have access to one and no one has expressed much interest. The source code's there, however, so feel free...


                  Originally posted by dabone View Post
                  Has anyone ever tried modifying this project to support tandy computers also?

                  I'd love to, and a PCjr version as well. It is on my todo list, but there are a LOT of things on my todo list and I'm not getting very far on any of them.
                  Aren't the tandy keyboard connectors pretty weird/proprietary? I never really looked too closely at the one I have.


                    Hi! I have plenty (30+) of the AT2XTKBD PCBs if anyone is looking for them or would like to try their hand at either improvements or supporting other platforms. Basically the hardware is the same for whatever you want to do but the PIC and its program does the conversion. Even computers with proprietary and/or weird connectors should be able to use the AT2XTKBD design although they may need to wire in a "pigtail" connector for a special connector.

                    Thanks and have a nice day!

                    Andrew Lynch


                      Okay, here's version 0.94, with the F7 problem fixed. Rather than kludge it, I used a longer translation table. Who knows? this might come in handy for some of the more oddball keyboards.

                      Let me know if anyone has problems with it--it seems to work well for me.
                      Attached Files


                        Thanks for the fix, Chuck. Is there someone here able and willing to program a pic for me (and others)?


                          I suspect i'll have to volunteer for this.
                          I have a dozen or so kits left, so I have some re-programming to do anyway.
                          Send it back to me and I'll drop a new one off.

                          I've found that my crappy programmer sometimes is unable to reprogram devices. How can I test that the new code is installed?


                            Can your programmer read the EEPROM on the PIC? If so, I encode the version of the code in the first few bytes, so it's an easy check.


                              Yeah I believe so. Using whatever generic winPIC program that everyone else uses (I forget the exact name, but it came with the programmer).
                              It's got a hex dump that shows the contents of what it read back from the part, so I'll verify that I at least see data changing.


                                I've never had much luck with WinPIC--I use a JDM programmer on an old P3 system running 2K and IC-PROG 1.06B. I guess YMMV.