So, I'm making progress on my Mimeo 1, and need to wait for parts, so now I'm thinking about the keyboard. I've searched and searched online and right now my mind is a jumble. I just wanted to run this by people here to see if I had things right.
I am mainly interested in adapting an Apple II keyboard for my Mimeo, since I like they way they look, and it will match my Apple II which will be sitting nearby. It seems like remapping the Apple II keyboard to the Mimeo keyboard header is pretty simple, and I've found the documentation to do that. The main questions I have are with implementing RESET, CLEAR SCREEN, and BACKSPACE/RUBOUT. From what I have found, RESET works on the Apple II keyboard when remapped to the Apple 1 header, so it's a non-issue (correct me if this is wrong).
Option 1: Early Apple II keyboard with MM5740/AAE encoder on the keyboard. Mike Willegal found a way to do the backspace by rewiring a key and pressing SHIFT to get the desired result (http://www.willegal.net/blog/?p=3351). No clear instructions seem to be available to do the CLEAR function. I guess since I've got to make a harness to remap the Apple II keyboard header to the Apple 1 pins, I can just rig a momentary pushbutton to short the correct pins directly on the header. Or I could cut traces on the keyboard PCB to use an unused key to make this connection.
Option 2: Later Apple II keyboard with separate encoder board, with a KR3600-type encoder chip. There are clear instructions on Wendell Sander's website for how to modify the "repeat" key to provider CLEAR functionality (http://www.apple1notes.com/old_apple/Notes_files/Using%20Apple%20II%20Keyboard%20for%20Apple%201.pdf). It's not clear to me how to get the BACKSPACE functionality on this type of keyboard. I found IEEE-802 accomplished this by rigging up some logical gates to do it (http://www.applefritter.com/content/how-get-backspace-rubout-working-apple-i-clone-smc-kr3600-keyboard-encoder). I'm not really sure how to do this, but I may be able to work it out since he does go over the theory of this modification.
The MM5740 keyboards seem a bit harder to get and more expensive. I'd feel a bit better about hacking up a less rare piece of hardware. Maybe also I can live without the backspace, since it doesn't seem to be a particularly elegant function anyway (just puts an underscore on screen). I guess there are times it could be useful, but maybe not worth the trouble.
So do I have it basically right? Am I missing any viable options that are out there?
Vintage Micros sells a dongle on eBay, that I designed, that adapts an Apple II keyboard to the Apple 1 connector and adds a clear screen button. Backspace/Rubout isn't solved with this connector, as that is an encolder/Apple software issue. I think it is a pretty clean way to adapt that kind of keyboard to the Apple 1 interface.
Enclosed my schematic for adding the rubout function.
I hope you can read it, it was scanned from a pencil drawing.
My apologies, I should have done it in pen
Well not technically a rubout character. Official ASCII rubout character is 127. Woz used an underscore for rubout. Ironically a rubout is typically shown as an underscore so maybe it was a mistake in wozmon.
You should also check with Mike Willegal if he has any datanetics replica PCBs available.
Interesting topic -- something I'll be confronting one day when I do my Apple replica build (after my TV Typewriter is done). I was holding out for a Microswitch keyboard myself but they seem to be becoming ultra rare unobtanium. There's a few on ebay right now but not quite the right look I wanted.
The Datanetics replica sounds interesting too if PCBs are still available. I still have a couple of spare encoder chips. But I know from experience finding old style Apple II keyboard switches is not easy. I was thinking about adapting Don Lancaster's 'low cost keyboard' project and then casting keycaps from my Apple 2 keyboard in resin (I've experience doing that).
Mike W: Thanks. Yeah, I saw that before. It looks very elegant and does provide the clear button, and doesn't require any modifications to the keyboard itself. One problem is it doesn't look like you can use the button while it's in an enclosure, so I'll have to take this into account. I was thinking I'd like to build the adapter myself, though, because I like wiring stuff up.
IEEE-802: Cool! Thank you very much for doing this. Yes, I can read it. It makes sense, and it's a cool way to make this mod, and seems like the only clear way to do it that I've seen with that keyboard encoder.
Corey: Thanks! I think the Datanetics replica keyboard PCBs are long gone, and I don't think I could find keyswitches for it anyway. I did see it on his website earlier on, and it looked really interesting and if it took commonly available keyswitches (like Cherry switches), I'd probably do it, and go full-custom! But I don't think it's available.
falter: Yeah, I've been combing eBay and looking for some dirty and cheap Apple II Plus to go under the radar (so I can pull out the keyboard), but they never do. You can cast custom keys in resin ???? Wooooah... How would you get the letters on there?
It looks like the above options are the main ones out there for keyboard choices. I played around with the backspace function on my PS/2 adapter, and pressing the backspace key doesn't do anything, but typing "_" does register as a delete. It makes the screen look really ugly. It is useful having a backspace, though. When I'm typing in long strings of data, I get very nervous the longer the line gets.
I wonder if anyone's had any luck adding an individual keyswitch next to the regular keyboard (saving you from modifying the keyboard PCB), and trying to make it blend in so it looks like it's part of the keyboard unit itself (but is really just sitting immediately adjacent to the keyboard in the enclosure). I haven't seen anyone do this. I wonder if there's enough clearance between the top surface of the keyboard PCB and the keyboard enclosure surface to slip a keyswitch in there? Hey, if there isn't enough room, I wonder if a custom keycap (with "flatter" dimensions) and maybe trimming down the keyswitch stem would be able to work for this application?
I have been going through several generations of Apple 1 keyboard options from an Apple II pin remap board to a full custom keyboard. I have a few boards that I made that replace the daughter board on the Apple II keyboards that use a daughter board and that does the following:
1 A keyed IDC header is provided that maps directly to the Apple 1 with a Ribbon Cable
2 The Repeat key on the Apple II keyboard becomes the Clear Screen for the Apple 1
3 The left arrow key on the Apple II becomes the Underscore that is used on the Apple 1 for backspace or Rub Out. Pressing the left arrow key with the Ctrl key pressed outputs the original Apple II code.
4 The board uses the Keyboard encoder chip from the Apple II daughter board so it is simply moved from the Apple II daughter board.
I also have a few sets of custom keycaps (white letters on black keys) that replace the Apple II keys and have the repeat key labeled Clear Screen and the back arrow Rub Out.
Hello Wendell: Are you talking about the board described here: http://cameronscloset.com/2010/06/19/custom-apple-1-keyboard/
If so, I saw that a while ago, and it made me insanely jealous. Are you by chance selling any of those boards / keycap sets? If so, how much would they be? Or do you have schematics you would be willing to post so I could build my own?
It's not advertised in the description, but the Vintage Micro's adapter has a provision for a 2 pin .1" header that can be used to connect a remote key switch for the clear screen function. It could be wired directly to any normally open, momentary switch, including a keyswitch on a keyboard that has been isolated from the decoder.
Because of the scarity of Datanetics keyswitches and caps, I think most people bought my reproduction PCB as speculation, just in case they had the opportunity in the future to find the necessary parts. I haven't heard of many that were actually built.
I started work on a Cherry keyswitch compatible version of the Datanetics that would work for both Apple 1 and Apple II. It was designed to use a modern micro-controller in place of the MM5740 decoder. Cost of building one would have been significant. If I was to offer a kit, I think the price would have limited the market to a few lucky people with an unlimited hobby budget. It has been on the backburner for a long time.
Also note that Cherry Keyswitches are not as tall as Datanetics, so they require different mounting hardware to get the tops of the keys to a good level above the rest of whatever enclosure is used.
At one point, I approached GRI (George Risk Industries) about having a batch of their keyboards made with parallel interfaces. The cost would have been about $200 each. GRI has been around for a very long time and advertised keyboards in some hobby magazines, back in the day.
I've seen a prototype of Wendell's custom keyboard and it is very, very nice.
OK, so the 2-pin header will make it easier to connect a remote key.
I was hoping the Cherry switches were a lot shorter than the Datanetics ones. They certainly look so on all the pictures I've seen.
So there should be room to perch a couple of extra Cherry switches (one for BACKSPACE, and one for CLEAR SCREEN) immediately next to the regular keys on an Apple II keyboard. They will be sitting on top of the keyboard PCB, and ideally I could mount an original Apple II keycap to the Cherry switch (maybe with something to adapt the Cherry keyswitch post to be compatible with the Apple II keycap), and none would be the wiser - until you pressed it. If the keyswitch/keycap is still too short, I could use a patch of Sugru to mount the key base and raise it up to the same level as the other keys, and it should work great. And, it wouldn't change anything on the original keyboard.
Thanks again for posting this. I've been looking at it and trying to figure out how it works. I get the concept of the modification.
Question: did you have to cut any traces/connections to implement this change? If not, how does the wiring around 4066(c) work? Is AY-S-3600/pin 10 still connected directly to keyboard output bit 5 (via the PCB)? Also, I don't quite understand Note #1 - what is "bypass mode"?
I see where pressing the "rubout" key activates the "O" character, and I see how pressing the "rubout" key breaks the connection of AY-S-3600 pin 10 and overrides the output pin 5 to high, but don't see how the regular AY-S-3600 pin signals get through normally (when "rubout" key/switch is open).
Yes you do have to cut one trace. Between pin 10 of the AY-S-3600 and pin 3 of the 7404
In normal mode (rub out key open),
Pin 12 goes high on 4066 (C), switch (C) closes and passes the signal from pin #10 AS-Y-3600 to pin 3 of the 7404. The output line behaves the same as it did before the trace cut.
Pin 6 on 4066 (B) goes high, switch (B) closes, which in turn brings pin 13 of 4066 (D) low. Switch (D) is open and the "O" key works as before.
In rubout mode (rub out key closed),
Pin 12 goes low on 4066 (C), switch (C) opens and disconnects the output from pin 10 AS-Y-3600. Pin 3 of the 7404 becomes low which makes pin 4 high.
Pin 6 on 4066 (B) goes low, switch (B) opens, which in turn brings pin 13 of 4066 (D) high. Switch (D) closes the "O" key.
Hope this helps.
OK, thank you. So I guess I wasn't clear on what was there already on the PCB, and what components you added. So I presume the 7404 was there already, and you added the 3 4066 switches, and the 3 resistors?
If so, then I'm a bit confused about why there is an inverter on pin 10, but I guess that depends on what it's talking to. I thought you added the 7404, and so I was really really confused as to why you added this to invert the signal.
Yes the keyboard set is the one in cameronscloset. I have a few boards built and keycap sets I can sell and quite a few blank boards, if you are interested PM me.
I am working on getting the full custom keyboard on the market but I think it will be pricey. The relatively small market makes it expensive to build. When you are putting it on your half million dollar Apple 1 it doesn't seem so bad.
This thread inspired me to start working on something I have been thinking about for a little while. The Apple II+ keyboard is connected to the Arduino via a CD4021B parallel to serial shift register. The strobe line on the keyboard is acting as an interrupt.
So far I have got the key presses to register appropriately and feed the ASCII code to the Arduino serial monitor.
The next stage is to have the codes feed out to the Apple 1 via a 74HC595 serial to parallel shift register. This will have to wait a little while as I am still working on completing my Mimeo-1. (I am just at the stage of hooking up the power entry module – hopefully this weekend. I believe that I sourced my components from the same supplier and at about the same time as Sherlock. So I am bracing myself for similar bring up problems.)
The Arduino can then be used to intercept certain ASCII codes and either remap them as desired or use them to activate the Clear Screen or Reset Lines. If I can get it working as I want, I intend to make a dedicated adaptor board with just the microcontroller and the minimum components to interface between the keyboard and Apple 1.
You are correct.
The AS-Y-3600 and 7404 are originally there. The 4066 and 3 x resistors were added on a small daughter board.
The keyboard output of the AS-Y-3600 is negative logic, the 7404's make it positive logic. I find this odd, but that how they implemented the chip.
Wendell: Great! I've sent you a PM.
lazarusr: Sounds like an interesting hybrid of solutions. It sounds like you'll get to understand the signals really well by doing this. That's the cool things about customizing your Mimeo - there are tons of ways to go, and each one has its pros and cons (hey, how about a battery-operated mechanical wireless keyboard solution down the road?!!? If you've got it hooked up to an Arduino/microcontroller, that shouldn't be too hard. I think that would definitely be a first and waaaaay cool!). Yeah, the bad 2504v's have been a huge pain for me. The annoying thing is for me I found the bad 2504v's on starting up, sent them back for replacements, and then found more bad 2504v's during actual computer-side testing, which didn't rear their ugly heads until then - so now I have to send another bad 2504v back ... I would definitely recommend getting extra 2504v's if you can, as someone suggested to me earlier on.
IEEE-802: OK, cool. Now it makes perfect sense. Thank you again for posting this! The negative logic thing sounds crazy to me, but I'm sure they had their reasons. Maybe from an electrical side it makes sense.
Wow, so now there are several more options to consider. Hmm. Decisions, decisions. wsander's custom board sounds like a really cool and elegant way of resolving the keyboard issues. I also really like the homebrewy aspect of IEEE's solution.
The rubout key ($5F) does not behave like a modern delete or backspace key
It removes the character from memory, but not from the screen.
It takes getting used to :).
This lack of backspace functionality is because the only cursor control on the Apple 1 is carriage return, which clears to the end of the current line and advances to next line. If the cursor is already on the bottom line, the screen is scrolled one line. There is no other cursor control, so backing up 1 character would involve maintaining a copy of the current screen contents in software and reprinting the entire screen, minus the last character.