VOGONS


First post, by Ozzuneoj

User metadata
Rank l33t
Rank
l33t

I have an original IBM "XT" type Model F keyboard that seems to have issues with stuck keys when connected to my 5150. Its original box was labeled as defective in 1984 and had been in storage since then. I'd love to fix it, but I've been told that it could be a bad controller IC.

I don't have my keyboard open at the moment but I think the controller is an Intel 8048 variant. I'm not familiar with microcontrollers at all... Are these specially programmed for certain tasks or could I theoretically just buy one of these and swap it out?

Last edited by Ozzuneoj on 2016-05-11, 15:12. Edited 1 time in total.

Now for some blitting from the back buffer.

Reply 1 of 25, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

8048 are mask-programmed. You'll need to get the original firmware (can be read out from these controllers) and a 8748 (UV-erasable variant). That is if it's indeed an 8048 and not a different variant. Then you need a programmer that can write 8748.

But are stuck keys also reported when the keyboard matrix is disconnected? Maybe the problem is elsewhere.

1+1=10

Reply 2 of 25, by Ozzuneoj

User metadata
Rank l33t
Rank
l33t

Thanks for the input!

I had originally posted about this problem here:
http://www.vcfed.org/forum/showthread.php?503 … -errors-fixable

That was a while ago, and I do have a Keytronic AT\XT switchable keyboard, but now that I know the system works I'm more interested in having an original period-correct keyboard for it.

I can't believe I didn't take any pictures of the controller when I had it open (derp!) but if I remember correctly it wasn't a ceramic UV-erasable type. The funny thing is, I do actually own a vintage EEPROM programmer with all of the needed cables and software, so I may be able to do flash its firmware if possible. Its too bad that something like that was never archived online. Vintage keyboard controller firmwares... heh.

I have tons of old uv erasable EEPROMs as well... and I don't know if it'd work, but my wife has a little UV light thing for curing gel nail polish. Would that be sufficient for clearing old EEPROMs?

Now for some blitting from the back buffer.

Reply 3 of 25, by stamasd

User metadata
Rank l33t
Rank
l33t
Ozzuneoj wrote:
Thanks for the input! […]
Show full quote

Thanks for the input!

I had originally posted about this problem here:
http://www.vcfed.org/forum/showthread.php?503 … -errors-fixable

That was a while ago, and I do have a Keytronic AT\XT switchable keyboard, but now that I know the system works I'm more interested in having an original period-correct keyboard for it.

I can't believe I didn't take any pictures of the controller when I had it open (derp!) but if I remember correctly it wasn't a ceramic UV-erasable type. The funny thing is, I do actually own a vintage EEPROM programmer with all of the needed cables and software, so I may be able to do flash its firmware if possible. Its too bad that something like that was never archived online. Vintage keyboard controller firmwares... heh.

I have tons of old uv erasable EEPROMs as well... and I don't know if it'd work, but my wife has a little UV light thing for curing gel nail polish. Would that be sufficient for clearing old EEPROMs?

The 8x42/8x48 microcontrollers are special beasts. Chances are a basic EPROM programmer won't do. I did need to program a 8742 in the past, and it required a special adapter module for my universal programmer as there are special timings and voltages that need to be generated for this particular class of microcontrollers. Let me see if I can dig out info about my setup... it's been a while.

(edit) found it. I used a Willem programmer clone, with a MCS-48 adapter that I got through ebay from a guy in Italy. http://www.ebay.com/itm/Adattatore-MCS-48-Wil … DgAAOSwoydWk9nW

Last edited by stamasd on 2016-05-10, 21:38. Edited 1 time in total.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 4 of 25, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The UV nail thingy is not the correct wavelength, you wouldn't want to expose your fingers to ionising UV (UV-C). A special lamp (UV-C) is required. Possible hacks are the sun (a few weeks maybe?), or a continuous electrical spark, or breaking the outer glas of a mercury arc lamp (dangerous, leave the room while this is running), or a vintage tanning lamp (people were fools back then).

1+1=10

Reply 5 of 25, by stamasd

User metadata
Rank l33t
Rank
l33t

For erasing EPROMs and EPROM-based MCUs I use a regular fluorescent kitchen under-the-cabinet lighting fixture, in which I replaced the original fluorescent tube with one that produces UV-C. It's a cheap setup, the lighting fixture was about $5 at Walmart, and the tubes cost about $4 each in bulk (bought something like 5 or 6 of them).
http://www.topbulb.com/specialty-bulbs/ultrav … germicidal-uv-c

I place the EPROM chips in a box, put the fixture on top of them and cover with a tent made from aluminum foil. Then plug it in, let it go for 5-8 minutes, done.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 6 of 25, by stamasd

User metadata
Rank l33t
Rank
l33t
h-a-l-9000 wrote:

8048 are mask-programmed. You'll need to get the original firmware (can be read out from these controllers)

I just re-read this thread and have a comment. I once tried to read the firmware file from a 8042 that had been a regular AT keyboard controller. No matter what I tried, it failed. I think it was copy-protected. YMMV.

Also, just found this.
http://www.seasip.info/VintagePC/ibm_6110344_cswap.html

And this may also be useful (annex D pg 11-13, schematics of the xt keyboards)
http://www.retroarchive.org/dos/docs/ibm5160techref.pdf

Last edited by stamasd on 2016-05-11, 00:37. Edited 1 time in total.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 7 of 25, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I had success with a 8048 from a really old video recorder - controller was unresponsive but the firmware could be read out with a selfmade programmer. After burning it to the 8748 the VCR worked again (until I made a damn mistake).

1+1=10

Reply 8 of 25, by stamasd

User metadata
Rank l33t
Rank
l33t

FWIW, this thread documents spotty success in dumping the firmware from 83-key XT keyboards:
http://www.vcfed.org/forum/showthread.php?123 … ollection/page7

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 9 of 25, by Ozzuneoj

User metadata
Rank l33t
Rank
l33t

Wow, thanks!

I like to think I'm pretty decent at Googling things, but you guys always turn up really awesome information that I haven't managed to find myself!

I'm not sure what to do at this point. I wish I could tell for sure that it was a bad microcontroller, as opposed to being anything else. I've had mixed results with desoldering things like this, and this would be by far the most complex component I've removed from a board, so I'd really like to be sure that it needs replaced before I start melting and burning things. I have decent tools now (a Hakko digital temperature controlled iron and a Zhongdi temperature controlled Vacuum desoldering station) but I'm not that proficient with them yet.

The keyboard is in excellent physical condition and it has some history behind it. It was a from a local toy company that closed, where my brother worked for many years, which had been in business here since the 1930s. We helped clear out their attic and I ended up with this. It'd be cool to make use of it since it has its original box, a keyboard overlay (for Lotus) and a typed up diagnostic report from a repair shop from 1984 (simply stating a problem with the electronics inside and that it would cost over $200 to fix).

Does anyone have any other ideas as to other causes for problems like this? I'll repost the problem I ran into with this keyboard before (copied from the link in the OP):

"The keyboard is showing stuck key errors and it prevents "Basic" from loading properly when it is connected. The system will simply stop at various stages of the Basic screen loading (part way through words, etc.). Before basic starts to load I've gotten "3c 301", "05 301" and "01 301" errors so far. Mashing on the respective keys (thanks to a list of scancodes I found) before turning the system back on seemed at first to move the error to a different scancode but it has repeatedly given me "01 301" a few times now... it may go to another later.

So, what do you think? Bad cable? Bad component on the circuit board? Actual stuck keys?? Where should I start? When I opened it I did notice that the black tacky tape stuff is incredibly gooey and left black residue on my fingers when I touched it... but its hard to tell if this could actually get into the keys. I didn't take it apart that far. I didn't see any visibly damaged components, but I doubt enough goes on inside one of these for anything to burn\explode anyway.

I don't see any indication that anything was spilled on it and its in incredibly good shape. The cord even looks pretty solid to me... but that doesn't mean much."

And a later post...

"Thanks so much for all the input! I've dismantled this keyboard down to the PCB with only the cable plugged in and I'm still getting random stuck key errors. Its too bad, this thing is spotless inside... its obviously been in its box for 32 years.

Any suggestions as to what to do from here? I just have the PCB laying on my desk with the cable plugged into it, so there's no chance of anything conductive touching the pads. Maybe this isn't a proper test?

If this does in fact mean that its a problem with the circuit board, I can't find any information about people trying to fix these. There are several disassembly pages online but nothing about actually fixing or replacing components and diagnosing problems. Basically, something is telling the computer that random keys are being held down, and it is causing the system to lock up while getting through POST. There are two small ICs, the large black Intel chip and a small silver square IBM chip. Is it possible that the electrolytic capacitors have gone out of spec and need replaced? I know that that happens with speakers\amplifiers of this age."

Can bad capacitors cause stuck key errors on a board like this? Is there any other part of the keyboard that can register a stuck key? The fact that it does (or did) change stuck key scancodes when the keys were pressed tells me that it isn't necessarily random.

Any input is much appreciated!

This keyboard would be an awesome addition to my IBM 5150 project system. Its my first 5150 and my only PC of this era. It came to me with an IBM 5153 monitor, AST Sixpak Plus loaded with 384K (total of 640K), a single tandon 5.25" floppy drive, an IBM CGA card, a WD1002 MFM controller and a Miniscribe 3.5" 20MB MFM drive that sounds incredible when running (it even squeaks a little when it spins down) and still has the DOS 3.3 installation and games from the previous owner in the 80s. I had a terrifying experience replacing a bad soldered on memory chip on the motherboard, but managed to get it working.

Using parts that I already had or came across later, I have it upgraded with an Orchid Tiny Turbo 286 7.16Mhz card (with a convenient switch to flip between it and the 8088 for compatibility), a Paradise EGA card (which looks amazing on the 5153, as long as the game doesn't try to use unsupported resolutions) and I've managed to fit it with a 720K 3.5" disk drive to more easily load it with software from the internet. If it had just one more expansion slot I'd have my Soundblaster 2.0 CT1350B in there, or even my midiman card! I have an XR 558CP IC on the way right now to add the gameport to my Sixpak Plus too.

Despite its MASSIVE limitations, I really like working on\with this machine!

Now for some blitting from the back buffer.

Reply 10 of 25, by Ozzuneoj

User metadata
Rank l33t
Rank
l33t

I did a bit more testing with this thing, dismantled it completely, yet again. I'm no good at understanding circuits and testing them, but I did take a bunch of pictures.

https://goo.gl/photos/vcKsPKahqoWmGRjC9

In my totally amateurish attempt to test things, I found that the controller's "EA" pin (going from this schematic) is shorted to ground and the "SS", Vcc and Vdd pins are shorted together. None of the rest are open circuits. Briefly looking at the traces, it looks like these are all supposed to be connected together. So I'm not sure if this means the controller is okay or not...

The other day I contacted the owner of this site and he sent me the 1kb BIN file he says contains the firmware for my keyboard.

The problem is, the willem EEPROM programmers cost almost as much as buying a working Model F keyboard (since I need an MCS48 adapter as well). I have a really old A.R.T. EPP-1 EEPROM programmer, but I don't think there's any way to adapt it for an MCS48 since it only has a DIP28 socket and no mention of adapters in the manual.

I did manage to find a few old EEPROM chips in my stash that may work for this keyboard:

Intel D8741A
Intel D8749H

I also found a whole bunch of (probably incompatible) Intel D8751H chips, which I believe are MCS51... and I doubt they're interchangeable.

I found a source of cheap NOS Intel 8049 chips on eBay if the ones I have aren't compatible:
http://www.ebay.com/itm/380881745785?_trksid= … K%3AMEBIDX%3AIT

Does anyone know of someone who can program chips like this if I can supply the firmware file?

I wish I could be more certain of what is wrong with this thing. 🙁

Is it possible\likely that the square aluminum IBM IC could be causing this problem?

Now for some blitting from the back buffer.

Reply 11 of 25, by stamasd

User metadata
Rank l33t
Rank
l33t

The 8741 is a later addition to the MCS48 family, doubt it'll work. The 8749 should work if you can get it programmed, however in my experience the Willem programmer+MCS48 adapter usually struggles with 8749s even if it can program 8748s (different voltages/currents required for programming). Your best bet is a true 8748.

Those ebay 8049AH chips aren't programmable, they have inside mask ROM which cannot be changed (it was programmed with a user application at the fab during manufacturing; you can use them with another program stored in an external ROM or EPROM, but then it won't be a simple chip swap replacement for your keyboard). And they aren't really cheap either.

I have the ability to program a 8748 if you send me the chip and the firmware file, but I'm almost positive with my hardware I can't program a 8749.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 12 of 25, by Ozzuneoj

User metadata
Rank l33t
Rank
l33t

Thank you! I appreciate the information and the offer! Would something like this work?
http://www.ebay.com/itm/1-D8748H-INTEL-IC-8-B … VQAAOSw37tWBFGx

I would do it right now if only I knew that this was the problem with the keyboard. There just isn't enough information about these online and it seems that not many people try to fix things like this, despite their value\rarity.

Now for some blitting from the back buffer.

Reply 13 of 25, by stamasd

User metadata
Rank l33t
Rank
l33t
Ozzuneoj wrote:

Thank you! I appreciate the information and the offer! Would something like this work?
http://www.ebay.com/itm/1-D8748H-INTEL-IC-8-B … VQAAOSw37tWBFGx

I would do it right now if only I knew that this was the problem with the keyboard. There just isn't enough information about these online and it seems that not many people try to fix things like this, despite their value\rarity.

Yep, that should work. But hold on a bit, I'll rummage through my old stash, I may have something... Plus I want to make sure that my setup still works, it's been at least 2 years since I last used that programmer, also IIRC I used the power supply for something else. I may have to dig a bit to find it.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 14 of 25, by stamasd

User metadata
Rank l33t
Rank
l33t

Well, I'm sure that I have a 8748 somewhere, but someone (looks disapprovingly to the wife) had "cleaned" my workroom a while back, and now I can't find the right box. 😀 I found a bunch of 8742 and 8749s, but the 8748 still eludes me. I'll try to find it this week-end, wish me luck.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 15 of 25, by Ozzuneoj

User metadata
Rank l33t
Rank
l33t
stamasd wrote:

Well, I'm sure that I have a 8748 somewhere, but someone (looks disapprovingly to the wife) had "cleaned" my workroom a while back, and now I can't find the right box. 😀 I found a bunch of 8742 and 8749s, but the 8748 still eludes me. I'll try to find it this week-end, wish me luck.

Awesome! Let me know if you find one!

Thanks!

Now for some blitting from the back buffer.

Reply 16 of 25, by stamasd

User metadata
Rank l33t
Rank
l33t

Sorry about not updating for a while. I found my programmer, but I've run into a problem. I can't find the parallel cable that I need for it. I have a few parallel cables, but they're all M/M, and I need one that's M/F. I used to have one but it's nowhere to be found. I have ordered one from ebay, but the seller is taking its time to ship. Will update.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 17 of 25, by stamasd

User metadata
Rank l33t
Rank
l33t

Unfortunately, my programmer appears to be dead. With the correct cable and power supply, the on-board LEDs light up, it is correctly configured with the DIP switches, but I can't get any response from it. I even tried on one of my Win98 machines (because I seem to remember that the software had a problem on W2k and newer) and I still get the same "hardware error" from it.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 18 of 25, by Ozzuneoj

User metadata
Rank l33t
Rank
l33t

Ah... Man I'm sorry to hear that. I'll have to figure something out eventually... I really want to get this keyboard working!

I may have to invest in a USB programmer at some point. I just don't have enough uses for it to justify the cost right now. I wish I could find one cheap but I don't really even know what I'm looking for.

Now for some blitting from the back buffer.

Reply 19 of 25, by Ozzuneoj

User metadata
Rank l33t
Rank
l33t

After fixing an old EGA card by replacing a dead tantalum capacitor, it gave me renewed hope of fixing this keyboard.

So, I found a resistor on my keyboard's PCB that was showing as shorted when using my DMM's continuity tester. I desoldered it to test it out of circuit and it still shows as being shorted. When testing the resistance it shows 2.5 ohms. The problem is, the color code on this old resistor is a bit hard to make sense of... and anything I come up with is nowhere near 2.5 ohms.

My best guess is 47ohm (ignoring the silver end)...

IBMresistor 2016-06-12 004.JPG
Filename
IBMresistor 2016-06-12 004.JPG
File size
529.81 KiB
Views
2391 views
File license
Fair use/fair dealing exception
IBMresistor 2016-06-12 002.JPG
Filename
IBMresistor 2016-06-12 002.JPG
File size
465.26 KiB
Views
2391 views
File license
Fair use/fair dealing exception

... but I have no idea if this is right. Whatever it is, it can't be 2.5 ohms... so I want to make sure I get the correct value and replace it, just in case this is the problem.

If it helps any, it is visible in the pictures here too:
https://goo.gl/photos/vcKsPKahqoWmGRjC9

Also... in the above pictures, what is the large red cylindrical part on the board (it is labeled 492 402)? That seems to have an extremely extremely high resistance and is showing no continuity at all.

Now for some blitting from the back buffer.