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.

Post Reply

Return to “Workshop”