ADDS ASCII Restoration

User avatar
TheInverseKey

28 Aug 2018, 01:18

I got this board about a month ago and I noticed that this can be converted to AT and easily with some help from a reddit user u/sexzual_hotdog. He said that if all of the jumpers on the board were in the JP1-4 slots then the chip would run in AT mode rather than ADDS protocol.

So with this in mind I found another user that had a bit of an issue with an NCR 4950. And after some comparison I noticed that this is the same board as the ADDS ASCII and that they were just rebadge. Link to that thread below:

keyboards-f2/help-adapting-the-ncr-4950-t19421.html

Next was to get all off the caps and have a look at the state of the plate..... And that is where all of the work really began. Below is some of pictures of the controller, PCB and rust damage.

Controller and switchable protocols:
Spoiler:
Image
Jumpers and other ICs:
Spoiler:
Image
PCB model numbers 2020/4950/4940
Spoiler:
Image
Rust not the rust:
Spoiler:
Image
After getting the keyboard working with a teensy it is time to get desoldering! I will link all of the documentationf for getting the board working later on. After removing all of the switches the pcb was in quite a rough shape.

Rough PCB:
Spoiler:
Image


I got the PCB a bit cleaner with isopropyl alcohol and a paper towel. Next is to take the plate and remove the rust with a long bath in vinegar. After I painted the plate with Rustoleum and put a matte clear coat for the last 2 layers. After I resoldered all of the switches and started pulling out the sliders to be lubed.(Video of how to do this will be linked later)

Painted plate and opened switches:
Spoiler:
ImageImage
Glued the teensy into the bottom of the case I know I used a teensy 2++ but it had defects that I wouldn't want to use it in another project.

Teensy:
Spoiler:
Image
Reassembled switches and case:
Spoiler:
ImageImage
Caps installed on the board:
Spoiler:
ImageImageImage
Converter

I just used Soarer's converter for the hex file on the teensy. Some of the key are a bit weird and might need to be remapped and will be doing that in the future. Otherwise it works fine and this is the hardware pinout for the converter.

Top
6 = reset - red
5 = data - green
4 = case gnd - black shielded
3 = clock - yellow
2 = sg gnd - black shielded
1 = vcc +5v - white
Bottom

Top is the original cable and the bottom is the teensy cables:
Spoiler:
Image

Thanks for having a look!

User avatar
Sangdrax

30 Aug 2018, 03:39

That's really clever. How did they figure out the jumper deal, comparing known AT and non-AT versions of the board?

User avatar
TheInverseKey

30 Aug 2018, 03:47

Sangdrax wrote: That's really clever. How did they figure out the jumper deal, comparing known AT and non-AT versions of the board?
On the pcb in the first photo it states how to wire the board for AT.
Last edited by TheInverseKey on 22 Sep 2018, 17:58, edited 1 time in total.

User avatar
Sangdrax

30 Aug 2018, 03:57

"PC/AT Jumper 1-4"

Can't believe I missed that. Now that's cool.

hackser

16 Feb 2020, 13:48

He said that if all of the jumpers on the board were in the JP1-4 slots then the chip would run in AT mode rather than ADDS protocol.
Worked for me, thanks a lot for the instructions! Also I didn't have C3 desoldered and it still works.

hackser

13 Mar 2020, 00:50

Since Soarer's converter didn't work for a lot of the special keys, I changed the TMK software a bit to convert the NCR 4950 on a Teensy 2.0:
https://github.com/davidkleymann/tmk_keyboard
You might have to adjust the Keymap and the code is still a bit buggy though.

User avatar
TheInverseKey

13 Mar 2020, 04:18

hackser wrote:
13 Mar 2020, 00:50
Since Soarer's converter didn't work for a lot of the special keys, I changed the TMK software a bit to convert the NCR 4950 on a Teensy 2.0:
https://github.com/davidkleymann/tmk_keyboard
You might have to adjust the Keymap and the code is still a bit buggy though.
Sweet thanks for putting more effort into this. What keys did you get working that were not working with Soarer's?

hackser

13 Mar 2020, 13:32

All of the special keys didn't work with Soarer's converter because they were sending scancodes above 0x80: Their mappings (See cs2_9xcode(uint8_t code) in ibmpc_usb.c and the cs2 part of unimap_trans.h):
Break - Pause/Break
Print/Send - PrintScreen
Funct - Left Alt
Ins/Repl - Insert
Del - Delete (didnt work on Soarer)
Setup - careful, this key will not be Esc, but Boot the teensy into bootloader mode (for reprogramming without opening case)
All F1-12 keys should work, they worked with Soarer but F7 or something didn't.
Other keys on top row (I called them EF1..8 I think):
F13/Blank - Right Alt
F14/XMIT - Menu key but have not gotten it to work yet, the kbd might be doing something wierd on pressing that key.
F15/Clear - Scroll Lock
F16/AUX - End
F17/Home - Home but seems to send Menu key events, will fix later
F18/Mode/DelCharIns - Num Lock
F19/AutoLF/DelLineIns - PgDown
F20/Roll/EotClrEop - PgUp

So everything should work except the F13-F20 which can be a bit buggy sometimes. The key to the right of Right Shift is sometimes wrong on some layout settings for the Computer but it can just be remapped in unimap_cs2. I also forgot to remap the KP enter key for which the keyboard sends the wrong code but I might fix that later.
Arrow keys also work flawlessly now but I might have swapped their arrangement.

User avatar
VelonicV

02 Aug 2020, 09:11

Hey guys, thanks so much to both of you guys for both the conversion guide and the updated TMK firmware!

Was able to get my board up and running, and it works great. In case anyone needs it, here is a link to the compiled .hex file: http://www.mediafire.com/file/3lkcpqthv ... 4.hex/file

As mentioned, the numpad Enter key still needs to be mapped and the arrow keys are mapped in a different order than the order the keycaps are in (although I think a better one). I think I'll play around with the firmware and see if I can fix those if I get time, and I'll update this post with a repo link / compiled .hex file once I do.

EDIT: here's the link to the fixed firmware, fixing ordering of arrow keys and numpad Enter: http://www.mediafire.com/file/ocwyjx3oc ... d.hex/file

Repo link: https://github.com/davidbereza/tmk_keyb ... ee/map-fix

Additionally, I created another version, modifying the layout to make the numpad more standard, and remapping the F13-F20 keys to a horizontal arrow cluster and home/end/page up/page down respectively, as I personally found it to be more usable (and it was easy enough to reorder the keycaps since they have identical profiles): https://www.mediafire.com/file/mpjr0vo0 ... p.hex/file

Spoiler:
Image
Spoiler:
Image

Post Reply

Return to “Workshop”