Wednesday, April 16, 2014

Simple Soldering Mods for Vintage PC Components

There are some simple, yet extremely useful modifications you can perform to some vintage PCs and cards using a soldering iron and a bit of solder or a few wires.  In this post, I am going to outline some well-known, highly useful modifications requiring soldering no more than three wires or chips.  Of course, you should have a solder sucker or desoldering braid to repair any mistakes.

Before I detail the mods, there is a debate between lifting pins and cutting traces.  In my opinion, its easier to cut a trace than it is to lift a pin.  I once broke a pin off an IC and had to remove and replace the whole IC.  Cut traces can easily be repaired by wiring the two pins connected by that trace together.

IBM XT & Portable 640KB System Board

All IBM XTs and Portables use the same basic motherboard design.  For those motherboards marked 64KB-256KB System Board, there is an empty socket at U84.  These Boards were intended to support only 256KB, but through a very easy mod and a chip replacement, they can all support 640KB on the motherboard.  This is the maximum amount of RAM that an 8-bit PC compatible is designed to use and it saves an expansion slot.

First, fit a 74LS158 chip into the U84 socket.  Second, replace the 64Kx1 DRAM chips in banks 0 & 1 with 256Kx1 chips, 150ns or better.  That is 18 chips (since the XT uses parity memory).  If banks 2 & 3 are empty, you can put those 64kx1 chips in those sockets.  Third, bridge the two points marked with an E2 on the motherboard.  It is near the power supply.  You just need solder and maybe a bit of wire to make the connection, because this is not a mod you are likely to want to reverse.  Finally, set switches 3 & 4 to the Off position if you haven't already done so.  This informs the system that all four banks of memory are populated.  More detailed instructions are here :
http://www.uncreativelabs.net/textfiles/hardware/XTMB640K.MOD

IBM Bidirectional Parallel Port

The IBM 8-bit cards all had a unidirectional parallel port, but could be modified to support a basic PS/2-style bidirectional port with one wire.  To do this, you need to solder pin 1 of the appropriate 74LS374 to pin 15 of the appropriate 74LS174.  You also need to cut away the trace that connects pin 1 of the 74LS374 to ground or lift the pin out of its solder hole.  Here are the correct chip numbers for each card :

IBM PC Monochrome Display and Printer Adapter :
74LS374 - U41
74LS174 - U39

IBM PC Printer Adapter :
74LS374 - U4
74LS174 - U7

IBM PC AT Serial/Parallel Adapter :
74LS374 - U18
74LS174 - U4

IBM PCjr. Parallel Printer Attachment :
74LS374 - ZM4
74LS174 - ZM11

Hercules Graphics Card (long, 13" version)
74LS374 - U32
74LS174 - U22

AST Six Pak Plus Type 1
74LS374 - U73
74LS174 - U81

AST Six Pak Plus Type 2 or Type 3

74LS374 - U76
74LS174 - U71

IBM LPT2 Parallel Port

The IBM Parallel cards, with the exception of the IBM PC AT Serial Parallel Adapter, are set to use only one set of addresses.  The IBM PC Monochrome Display and Printer Adapter uses addresses at 3BC-3BF and these should never be changed.  The BIOS will always assign LPT1 to a Monochrome card's parallel port, and the port must be at those addresses.  For the standalone parallel adapters, while they are set at 378-37F, they can be changed to use 278-27F.  The BIOS will assign LPT1 (assuming no mono card is in the system) to the parallel port at 378 and LPT2 to the parallel port at 278.

To make the IBM PC Printer Adapter use address starting at 278, you need to cut the trace connecting J1.  To reverse this, you need to solder a pair of staking pins to the pads at J1 and place a jumper over them.  Some solder sucker should be used to obtain clean holes first.

To change the address on a IBM PCjr. Parallel Printer Attachment, there are two traces that need to be cut and two wires soldered.  The instructions are here : http://www.brutman.com/PCjr/lpt2_mod.html

IBM CGA Thin-font

The IBM CGA card contains two character sets or fonts in its character generator ROM.  The standard font is the thick-font, which was designated as the default font because the characters were much easier to see on a TV screen or a composite monochrome monitor.  There is also a thin font available by connecting the two solder pads just below pins 1 & 2 of the 6845 CRTC chip.  Solder in a two-pin header and you can use a jumper to switch between the two.

IBM PCjr. Tandy-mod

One of the most popular modifications to enhance the PCjr.'s graphical capabilities is to install the Tandy mod.  This mod, which requires one common 74 series TTL chip, cutting a trace and soldering three wires, is relatively easy to do.  With the mod, the problem of the Venetian Blinds with games only supporting Tandy 320x200 and 640x200 (if there are any) graphics will go away.  This will fix many games.  The best instructions can be found here : http://vintagemashups.net/2011/12/ibm-pcjr-tandy-1000-graphics-mod/

So, shouldn't all PCjr.'s have this mod installed?  Well, in my opinion, a PCjr. should be used and maintained as a unique computer, not an ersatz Tandy 1000.  Unlike the Tandy 1000s with their speed options (7.16MHz 8088s to 10MHz 80286s), the PCjr. is stuck at 4.77MHz as a practical matter.  Even installing a V20 and RAM above 128KB is not going to provide the speed necessary to run many games at a good speed which use the ubiquitous graphics 320x200x16c Mode 09h.  While it is possible to increase the clock speed of a PCjr. above 4.77MHz, the modification is much more involved than the Tandy mod and the results are not very reliable above 7.37MHz.

In addition, the Tandy mod does not solve all compatibility problems that a game specifically supporting only Tandy graphics and sound would have on the PCjr.  A review of the technical references of the Tandy 1000 and the PCjr. (available online) shows many differences in their respective graphics registers.  Their keyboard handling at the hardware level is very different.  Even their sound chips (the PCjr, uses a true TI SN76496, the Tandys typically use a NCR 8496 clone, discrete or integrated) have their differences.

In short, if you have or intend to acquire a Tandy 1000, leave your PCjr. alone.  If you have no interest or desire for a Tandy 1000 machine, then by all means consider the mod, but

CMOS Battery Replacement

CMOS batteries typically give 3-6V.  They generally come in three varieties for generic motherboards, the Dallas 1287 or 12887 RTC module, the barrel-type and the CR2032 coin-style with holder.  Each variety was common until the Pentium era, where the coin-style battery holder became ubiquitous.  The CR2032s can be readily replaced, because only the holder is soldered to the board.  The Dallas RTC module has a battery built-in that will eventually fail.  In these cases, the part is typically socketed and can be replaced.  A coin-style battery holder can be soldered to the appropriate legs, thereby extending the life of the part indefinitely.  A sharp hobby knife, or better still a dremel, will be needed to cut away enough of the plastic to expose the "thick" portion of the legs to solder the battery holder terminals.  Detailed instructions can be found here : http://www.mcamafia.de/mcapage0/dsrework.htm or here : http://www.classic-computers.org.nz/blog/2009-10-10-renovating-a-dallas-battery-chip.htm

The barrel style batteries are the most annoying of the bunch.  Too frequently they corrode and leak, causing damage to the motherboard.  If you buy a motherboard with one, remove it immediately, even if it hasn't leaked. Remove the leads from the motherboard using solder braid or a solder sucker, or simply solder the battery holder terminals to the extended leads.  Some of the barrel batteries are Ni-Cd rechargeable types, and standard batteries will not take the recharge current.  With a bit of searching, you can find modern Ni-MH barrel-style batteries that will work as a direct replacement.  Here is an example : http://www.jameco.com/1/1/48175-5560830312-nimh-rechargable-batteries-3-6v-rechargeable.html
If you want to instead solder a battery holder, you will need to wire a schottky diode in between the battery's + terminal and the motherboard's + point to prevent the current from going from the motherboard to the battery.

If you do not want to solder a battery clip, some motherboards have a pin header to connect an external battery.  There are 3xAA and 4xAA battery holders with 2-pin or 4-pin connectors ideal for the task.  3xAA is 4.5v, which is quite sufficient to power CMOS, but 2xAA is only 3v, which is the bare minimum.  3 and 4 battery holders will last longer.

No comments: