Announcement

Collapse

Forum Rules and 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.


Rule 1: 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.


Rule 2: 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.



Rule 3: 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.


Rule 4: "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.

Rule 5: 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

Olivetti M24 / AT&T 6300 Keyboard Emulator

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #46
    Instead of an 7805 you can consider using the Texas Instruments LM25017 based buck converter TI PMP8581 which is pin to pin compatible to 7805. Advantage: More power, less heat.

    Here is a german article about it, it shows clearly the advantage: https://www.all-electronics.de/schal...-linearregler/
    Datasheet of the LM25017 http://www.ti.com/product/LM25017
    Datasheet of the PMP8581: http://www.ti.com/tool/PMP8581
    <album>

    Comment


      #47
      The PCBs have arrived!

      ... and here they are!

      The PCBs have arrived, and I have quickly assembled one to test the layout, and it works!

      I have tested it with my Chicony AT keyboard (~150 mA) with both the 5V supply and with the 12V supply regulated down to 5V, and it works in both cases. In the latter case the L7805CV I have installed (with no heatsink) heats up a bit but it's still only mildly warm to the touch (I'd say less than 50C). Anyway, a heatsink can be installed if need be.

      A couple of minor notes -
      - I had envisaged having the option to connect this directly to the keyboard port of the M24, without a cable. So I designed the PCB with the AT or PS/2 keyboard connector facing outwards (ie, if you are facing the front of the M24, right). However I had forgotten that the M24 motherboard is upside down, and hence so is the DB9 keyboard connector! As a consequence the PCB is also upside down if connected directly and the AT or PS/2 keyboard connector then faces inwards (ie left), ie towards the power supply fan housing. I think there is enough clearance to connect a PS/2 keyboard, but probably not an AT one - sorry. I think it's just more practical to connect the emulator to the M24 with a straight male-to-female DB9 cable like this $5 one and not worry about clearances at the back.
      - The PCB holes for the mounting (not signal) pins of the AT (not PS/2) keyboard connector are misaligned - sorry about that. Not a big deal as the AT connector can still be soldered securely by bending the mounting pins inwards.

      Here are some photos:

      keybem_bareboard.jpg

      keybem_front.jpg

      keybem_back.jpg

      keybem_on.jpg

      As you can see both the 74LS07 and the Arduino are socketed, and JP2/JP3 are not soldered in as they are not used yet by the firmware.

      So... if you want one, pls PM me. As I said, no charge, while stocks last.
      Last edited by Valerio; November 29, 2018, 08:10 PM.

      Comment


        #48
        How to connect a mouse for the emulation of the keyboard-mouse?
        <album>

        Comment


          #49
          5V line

          Ok, I think I got to the bottom of the behaviour of the 5V line on the keyboard connector.

          Short version: the problem is with the serial cable I am using to connect the emulator to the AT&T 6300

          Long version:

          So as you recall, the M24 keyboard port has both a 12V pin and a 5V pin. The latter is not used by the original M24 keyboard. When using it to power the keyboard emulator directly (as well as the AT or PS/2 keyboard attached to it) I (as well as JWDW) experienced a drop in voltage on this voltage rail when measured at the emulator.

          A few measurements reveal that the problem is actually with the DB9 extension cable I used. Even with full load on the emulator (ie all 3 lock leds on) measuring the voltage directly at the M24 keyboard connector on the motherboard still yields 5V (5.02V on my machine, to be precise). This voltage does not appreciably move with load on the keyboard port. It also appears that the 5V keyboard port pin is connected directly to the 5V plane of the motherboard (which appears to have at least one internal layer - the 5V power plane).

          I also checked the behaviour of the 12V line and found it to be exactly the same: the voltage as measured on the emulator is up to 200mV lower than when measured on the keyboard connector on the motherboard.

          All of this is consistent with the connection between keyboard port and emulator having a resistance which is sufficiently greater than zero to be causing a ohmic voltage drop.

          To confirm this, I also measured directly the resistance on the 5V line and found it to be around 2 Ohm between the keyboard port (motherboard side) and the emulator (on the PCB, ie after the DB9 connector) (yes I know measurements of low resistance are hard to obtain accurately). Conversely, the resistance between the keyboard port and the 5V "master screw post" on the motherboard was essentially zero. Consistently, the resistance between the keyboard port and the emulator on the GND line was half - around 1 Ohm (which makes sense as there are two ground pins on the keyboard port, and two ground wires). In my mind this left two possible culprits: the DB9 connector(s) and/or the cable itself.

          One obvious counter-experiment is to connect the emulator directly to the keyboard port. Unfortunately this is a bit tricky due to a mistake in my PCB design - the AT keyboard connector ends up clashing with the housing of the power supply fan, as shown in the photo below:

          kbem_clash.jpg

          However, just for the sake of running this experiment, I removed the housing and was then able to connect the emulator directly:

          kbem_nohousing.jpg

          Note that I also had to remove the hex screw posts from the male DB9 connector of the emulator (which also makes the metal d-sub shell fall off...).

          With this configuration I see no voltage drop.

          In light of all this, it seems the culprit is the DB9 serial cable. I guess possible causes are that the wires inside the cable are probably very thin (and not meant to be carrying significant amounts of current) and/or that the cable connector makes poor contact with the motherboard keyboard port. See how the fact that the keyboard port is quite recessed means the cable shell can never be fully inserted:

          kbport_cable.jpg

          (btw the yellow probe is where I measured the 5V on the motherboard keyboard connector)

          So I guess the take-away is that in the next iteration of the PCB layout I will
          - make it possible to connect it directly (possibly mounting the DB9 connector to the bottom of the PCB)
          - leave more space for a wrap-around heatsink (it turns out Dwight was right - you really do need one for any extended use of the voltage regulator)
          - fix a few minor layout glitches (ie mounting pins for the AT connector, and a different Arduino digital pin for JP2)

          Comment


            #50
            Originally posted by 1ST1 View Post
            How to connect a mouse for the emulation of the keyboard-mouse?
            I haven't got that far yet - this is just the PCB for the keyboard-only emulator. When I finish the mouse version it will have two connectors - one for the (AT or PS/2) keyboard and one for the (PS/2) mouse.

            Incidentally I realised I cannot use the Arduino Nano for the combined keyboard+mouse emulator, since the ATmega 328-type chips only have two external hardware interrupts, and I will need three (one for each clock line: M24, AT keyboard, PS/2 mouse). So I guess I will switch to a 32u4-based board.

            Comment


              #51
              For reference, attached is the latest version of the firmware. No major changes, but now JP3 actually has a function:

              - CLOSED (ie tied to GND): debug mode on, ie debug info is sent via USB for each keystroke or other event [default setting]
              - OPEN: debug mode off

              JP2 is still not used.

              JP1 is as on the silkscreen on the back.
              Attached Files

              Comment


                #52
                Originally posted by Valerio View Post
                I haven't got that far yet - this is just the PCB for the keyboard-only emulator. When I finish the mouse version it will have two connectors - one for the (AT or PS/2) keyboard and one for the (PS/2) mouse.

                Incidentally I realised I cannot use the Arduino Nano for the combined keyboard+mouse emulator, since the ATmega 328-type chips only have two external hardware interrupts, and I will need three (one for each clock line: M24, AT keyboard, PS/2 mouse). So I guess I will switch to a 32u4-based board.
                If you can't buy the 32u4 for cheaper than $3 you might consider the blue pill boards. These use the STM32F103 that has plenty of interrupt pins. The F103 has many 5v tolerant pins and shouldn't need the buffer. I'm not sure what you need interrupts for though. Both the keyboard and the mouse can be throttled and polled for data. You can handle all with just polling.
                Dwight

                Comment


                  #53
                  Great work so far. Keep it up! I am going to order some of these boards and give it a go. It would be nice to have a USB option to connect any keyboard to it, but then I am sure the signaling would all be different. I ran across this project and was heading down that direction, but this is a simpler design.

                  Comment


                    #54
                    Mit of April 'll get a keyboard type 4, with the corresponding portable machine. If still required, I can do some tests with it.
                    <album>

                    Comment


                      #55
                      Originally posted by Valerio View Post

                      So I guess the take-away is that in the next iteration of the PCB layout I will
                      - make it possible to connect it directly (possibly mounting the DB9 connector to the bottom of the PCB)
                      - leave more space for a wrap-around heatsink (it turns out Dwight was right - you really do need one for any extended use of the voltage regulator)
                      - fix a few minor layout glitches (ie mounting pins for the AT connector, and a different Arduino digital pin for JP2)
                      Valerio,

                      Did you ever get anywhere with your updates? I was going to hack around on your board to make the suggestions above, but no need if you have already done it.

                      Comment


                        #56
                        Really interesting project! Read it through!

                        I have an Keyboard 2 as well, I have plans to build a simple adapter for the serial port, add power supply for the 12V (I could remove the component so it would work with 5V, but I don't want to change the inside and write a program in Python to communicate through the RS232, we will see if it would work.

                        Comment


                          #57
                          Originally posted by Trixter View Post
                          Great project, great research, great write-up. My only comment is that the type 2 keyboard was either not offered by AT&T (I've never seen one AT&T-branded), or was so uncommon that it isn't worth attempting to emulate as nothing supported it. A scancode conversion of an AT keyboard to the Type 1 keyboard would be 99.9% sufficient.

                          For the M24, that may be a different story, but I've never seen or held a Type 2 keyboard, sorry.
                          And now I get to eat my words, as I just found an auction with KBD 302 keyboards. I ordered one and will test it out. I have some AT&T people in the area that I will ask to try to get more history about this variant; the USA 6300 type 2 version appears customized for a specific call-center application.
                          Offering a bounty for:
                          - A working Sanyo MBC-775 or Logabax 1600
                          - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)

                          Comment

                          Working...
                          X