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

    #16
    By the way, that keyboard emulator might be interesting for me. When the design is ready, will it be available for others as well? Will it be an adapter for modern keyboard (AT, PS/2, USB, BT), or will it be connected to another modern PC and to control the M24 via an application?
    <album>

    Comment


      #17
      Originally posted by 1ST1 View Post
      By the way, that keyboard emulator might be interesting for me. When the design is ready, will it be available for others as well? Will it be an adapter for modern keyboard (AT, PS/2, USB, BT), or will it be connected to another modern PC and to control the M24 via an application?
      The software is pretty final now I believe - I may add some refinements such as timeout safeguards on the AT clock line and support for the M24 F13-F18 keys (Keyboard 2 only) later, but it's essentially 99% there I think.

      The hardware design is also fairly final, it's a pretty simple circuit but there are still a couple of things pending:
      - I want to understand why the M24 +5VDC supply is so (relatively) weak at the keyboard connector. It may simply be a case of poor ohmic contact of the 9pin connector, but I haven't had a chance to check
      - as a consequence of the above, I have not added a diode between the M24 +5VDC supply and the rest of the circuit, as I fear the diode forward voltage will cause the power supply voltage to drop too far below 5V for the Arduino or the 74LS07. The drawback of this is that it's unsafe to connect a (switched-on) PC to the keyboard emulator circuit via USB if the emulator circuit is connected to an M24 that is switched off (all other configurations are safe).

      The emulator should work with any AT or PS/2 keyboard (the latter would require a passive AT-to-PS/2 connector adapter if you build the external circuit with an AT socket as I have done), although I should point out that I have tested it with a grand total of just one AT keyboard. It won't work with a USB keyboard unless the keyboard supports the PS/2 protocol (and you must have the correct physical connector adapter). I don't know what a BT keyboard is.

      To clarify - the main purpose of the emulator is to connect a real, physical AT (or PS/2) keyboard to an M24 (or AT&T 6300 or Xerox 6060) without needing a modern PC at all. You CAN, if you want (but you don't have to), also connect a modern PC to the emulator via USB to either a) monitor the scancode traffic between the AT keyboard and the M24, and/or b) use the modern PC to control the M24 via a terminal application like PuTTY as if you had a real physical keyboard connected to the M24. The latter functionality works even without a physical keyboard connected but it's very limited (ASCII characters below 0x7F only, no special functions like cursors, etc).

      As for "available for others", both the software and the hardware design are free for anyone to use (at their own risk) - see the GNU GPL for details. If you mean "will you be making and selling these", I'm afraid not - it's really really not my day job (and I believe I would have a total worldwide market of less than 5 people ). Having said that, I'd like to lay out a PCB for this (physical layout suggestions welcome) when I have time. When I do, the miminum run to get it fabricated will be 10 boards, and I only really need 3, so if anyone wants one of the other 7, pls let me know and I'll post it to you (no charge).
      Last edited by Valerio; October 25, 2018, 12:37 PM. Reason: Typo

      Comment


        #18
        I am interested to have one board, would you also provide a programmed Arfiuno? (I don't think I don't have the equipement to do that)

        Do you also plan to emulate the Olivetti keyboard mouse via a PS/2 mouse? (would be great!)
        <album>

        Comment


          #19
          Originally posted by 1ST1 View Post
          I am interested to have one board, would you also provide a programmed Arfiuno? (I don't think I don't have the equipement to do that)
          Programming an Arduino does not require any special equipment - you only need a USB Mini (not Micro) cable (e.g. this: https://www.ebay.com/itm/222456479832 ), the Arduino IDE (download for free from https://www.arduino.cc/en/Main/Software ) and the drivers for the USB COM interface (a bit trickier - these seem to work ok with the cheap Chinese clones that use the CH340 chip: https://sparks.gogo.co.nz/ch340.html ). Chinese clones cost less than $3: https://www.ebay.com/itm/381374550571 . I have quite a few lying around, I can send an already-programmed one to you, but I'd encourage you to have the setup to program it so you can update / customise the firmware if you want.

          Originally posted by 1ST1 View Post
          Do you also plan to emulate the Olivetti keyboard mouse via a PS/2 mouse? (would be great!)
          I have not gotten there yet! I although I have already bought on eBay a Logitech mouse that should be equivalent to the Olivetti one, so I can start experimenting... Although in reality it's not hard to find a serial (RS-232) mouse that can be connected to the serial port of the M24, that would work just as well in most situations (but won't do the M24 neat trick of emulating cursor key presses when the mouse is moved).

          Comment


            #20
            Using the Olivetti mouse typoe would preserve the RS232 for beeing used for other purposes, like serial data transfer.
            <album>

            Comment


              #21
              The S1, S2 .... key board is most likely a carry over from the Olivetti M20 that came before the M24 was designed. One might look at the M20 users manual for what those keys did for the M20. They are most likely for the same purposes as the M20.
              Dwight

              Comment


                #22
                Great work Valerio. This will be a great help to get my PC 6300 functional. A couple questions: I already have some 2N2222's, would I connect Emitter to ground, Base to the Arduino and Collector to the respective M24 and AT keyboard connections? Your schematic shows Arduino pins D9, D10, D11, and D13 connecting to ground via DIP switches, is this required or for future use?

                Comment


                  #23
                  Originally posted by JWDW View Post
                  Great work Valerio. This will be a great help to get my PC 6300 functional. A couple questions: I already have some 2N2222's, would I connect Emitter to ground, Base to the Arduino and Collector to the respective M24 and AT keyboard connections? Your schematic shows Arduino pins D9, D10, D11, and D13 connecting to ground via DIP switches, is this required or for future use?
                  Thanks. As for using 2N2222s, yes what you write is correct, although pls do put a resistor between the Arduino pin and the transistor base to limit the base current - I think I used 10kOhm but the exact value is not terribly important (I'm guessing anything between 1k and 50k would probably work). The DIP switches are not required with the current version of the software. I am thinking of using them in future versions to make simple configuration changes - like turn USB debug information ON/OFF, or turn keyboard emulation via USB tty ON/OFF - other suggestions welcome.

                  Comment


                    #24
                    Actually one important note - if you use 2N2222s, the software must be edited as the logic levels on the Arduino output pins would have the opposite effect. With the 74LS07 (which is a non-inverting OC buffer) a low level on the Arduino pin causes the M24 / AT lines to be brought LOW. If you use 2N2222s, you need a HIGH level on the Arduino pin to bring the M24 / AT lines LOW - the exact opposite behaviour, equivalent to using inverting buffers. Since the software is written to use a 74LS07, you'd have to change all the relevant digitalWrite()'s - not a huge task but it requires being very familiar with the code structure and it's easy to make a mistake. I would recommend saving yourself time and frustration and getting a 74LS07

                    Comment


                      #25
                      I took your advice and have some 74LS07's on the way. I am excited to get this PC working again. I bought it without the keyboard and thought a simple adapter would due the trick, so much for that! At least the simple video adapter seems to work good on an older HP LCD monitor.

                      Thanks,
                      Will

                      Comment


                        #26
                        Originally posted by JWDW View Post
                        I took your advice and have some 74LS07's on the way. I am excited to get this PC working again. I bought it without the keyboard and thought a simple adapter would due the trick, so much for that!
                        I'm happy that a 6300 is getting a new lease of life! Let me know if you run into problems with the emulator.

                        Originally posted by JWDW View Post
                        At least the simple video adapter seems to work good on an older HP LCD monitor.
                        Can you post here the exact model of the monitor, so we have a record of which monitors are confirmed to work at these frequencies? Thanks!

                        Comment


                          #27
                          I think TFT like NEC Multisybc TFT 1990nxp/sxi will do the job, these ones are amazing in displaying unusual videotimings down to NTSC/PAL-RGB.
                          <album>

                          Comment


                            #28
                            I got it built and it works great! Now that I have a working keyboard, I'm working on using Glitch's XTIDE with a CF adapter. After that, I'll be able to test it out better. The monitor I have working is a HP S2031, it's not as old I thought, 2010 model. It works great with text, I have only tested one color game on it so far. The only quirk is that it seems to sync best if you turn the monitor on after the computer. If you do get a PCB laid out, I would be interested.

                            IMG_0667.jpg

                            Thanks again,

                            Will

                            Comment


                              #29
                              Update: I have laid down a PCB for the keyboard emulator. In the process I have also update the schematics, namely:

                              - removed the DIP switches and replaced them with two jumpers
                              - added a PS/2-style (mini-DIN) keyboard connector in parallel with the AT-style (DIN) connector
                              - added a full set of inspection/test points for debugging
                              - added a break in the 5V line from the M24

                              The 5V line break can be jumpered closed for powering the emulator from the M24, or left open if power is to be supplied via the USB port, or a diode soldered in there once I figure out if there's a voltage problem with that line or not

                              The software does not use the two configuration jumpers yet but I thought it would be handy to have at least two, say one for enabling/disabling debug mode and one to enable/disable the TTY-via-USB feature (not sure about this last one - if you don't want to use the TTY feature, just don't send anything down the USB data line ).

                              The two keyboard connectors are not meant to be used at the same time - their footprints on the PCB overlap, so you can solder one or the other, but not both.

                              The inspection points (J2) are meant to be accessed from the bottom of the PCB - pls ignore the KiCAD rendering of the pin connector row in the middle of the Arduino socket. The signal names are stencilled on the bottom but I don't know if the PCB manufacturer I use supports bottom silkscreens for "prototype" (read: cheap) production runs.

                              The 12V test point (12V is not used anywhere on this board) is strategically positioned so that in an emergency a 7805 can be soldered in place and the emulator powered from the 12V line instead of the 5V line, HOWEVER: the original 5V trace would need to be cut (or the relevant DB9 pin removed), a ground line soldered in place, and it would still be missing at least one capacitor on the 12V side - as I said, it would be a dirty hack, and I hope it won't be needed.

                              Attached are the KiCAD files, updated pdf schematic, and a partial render. Any comments/suggestions welcome.

                              keybem_front.jpg
                              keybem_back.jpg
                              Attached Files

                              Comment


                                #30
                                Originally posted by JWDW View Post
                                I got it built and it works great! Now that I have a working keyboard, I'm working on using Glitch's XTIDE with a CF adapter. After that, I'll be able to test it out better. The monitor I have working is a HP S2031, it's not as old I thought, 2010 model. It works great with text, I have only tested one color game on it so far. The only quirk is that it seems to sync best if you turn the monitor on after the computer. If you do get a PCB laid out, I would be interested.

                                [ATTACH=CONFIG]49286[/ATTACH]

                                Thanks again,

                                Will
                                Nice! Can I ask what keyboard you tested it with? Or did you use the TTY-via-USB feature?

                                Also, did you power it via the USB cable or from the AT&T 6300 keyboard port?

                                Thanks!

                                Comment

                                Working...
                                X