Image Map Image Map
Results 1 to 8 of 8

Thread: Keyboard Compatibility

  1. #1

    Default Keyboard Compatibility

    I have an Apple II plus with a broken keyboard and an Apple IIe I keep for parts. Can I use the IIe keyboard in the II+ safely without damaging the circuits or will I have to buy a new keyboard?

  2. #2

    Default

    Quote Originally Posted by RHopple View Post
    I have an Apple II plus with a broken keyboard and an Apple IIe I keep for parts. Can I use the IIe keyboard in the II+ safely without damaging the circuits or will I have to buy a new keyboard?
    No, you can't. Compare at least both type of connectors.
    Last edited by george; January 23rd, 2020 at 12:16 PM.

  3. #3

    Default

    As the previous post said, the IIe keyboard will not work in a II Plus. On the II Plus, the keyboard encoder was built into the keyboard, or at the very least the encoder was on an encoder board attached to the keyboard. On the IIe, the encoder is built into the logic board, so the keyboard itself is only a PCB with switches. You would have to somehow pull the encoder chip off the IIe logic board, and then build an encoder board for the IIe keyboard, essentially turning the keyboard into a parallel-based ASCII keyboard. And then you'd have to adapt that encoder board so that it can fit the II Plus 16-pin DIP socket. Not impossible, but it would take quite a lot of work.

    The better solution is to purchase one of many II/II+ to PS/2 adapters, and then use a PS/2 keyboard.

  4. #4

    Default

    If you like to tinker with embedded processors, you can get an arduino or a blue pill and make a ps2 to which ever you output like. You need to dig up the ps2 protocol on the web and then make the needed lookup tables. Do note that not all arduino's have 5V tolerant I/O. That is why I like the blue pill. They are cheap and the A ports are all 5V tolerant. As outputs, you just configure them as open drain and use a pullup resistor. If you get one of the arduino's that is 3.3V I/O, only, you need to add a level shifting buffer. The older arduinos have 5V I/O.
    Dwight

  5. #5

    Default

    Quote Originally Posted by Dwight Elvey View Post
    If you like to tinker with embedded processors, you can get an arduino or a blue pill and make a ps2 to which ever you output like. You need to dig up the ps2 protocol on the web and then make the needed lookup tables. Do note that not all arduino's have 5V tolerant I/O. That is why I like the blue pill. They are cheap and the A ports are all 5V tolerant. As outputs, you just configure them as open drain and use a pullup resistor. If you get one of the arduino's that is 3.3V I/O, only, you need to add a level shifting buffer. The older arduinos have 5V I/O.
    Dwight
    This has already been done by many people. There are solutions on ebay. Here is for example one open source project https://knzl.at/ps2-keyboard-for-apple-ii/

  6. #6

    Default

    Quote Originally Posted by george View Post
    This has already been done by many people. There are solutions on ebay. Here is for example one open source project https://knzl.at/ps2-keyboard-for-apple-ii/
    Of course one can buy it already done for you or just down load the code from gethub. That was not my point. The fun is in the journey, not the end result. It is also about the learning.
    Dwight

  7. #7
    Join Date
    May 2018
    Location
    Lancashire
    Posts
    285

    Default

    Yep, its really easy to interface a PS/2 keyboard via an arduino to an apple II.

    There is a library for the PC keyboard, calculate the required bit pattern then toggle the strobe.

    This is a part of the code I used

    if (keyboard.available()) {

    // read the next key
    char c = keyboard.read();

    char_code = int(c);

    digitalWrite(_B1,HIGH && (char_code & B00000001));
    digitalWrite(_B2,HIGH && (char_code & B00000010));
    digitalWrite(_B3,HIGH && (char_code & B00000100));
    digitalWrite(_B4,HIGH && (char_code & B00001000));
    digitalWrite(_B5,HIGH && (char_code & B00010000));
    digitalWrite(_B6,HIGH && (char_code & B00100000));
    digitalWrite(_B7,HIGH && (char_code & B01000000));

    digitalWrite(Strobe,HIGH);
    digitalWrite(Strobe,LOW);

  8. #8
    Join Date
    May 2018
    Location
    Lancashire
    Posts
    285

    Default

    Does that also mean you have a broken keyboard for sale ?


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •