PC and compatibles - General information
General PC FAQ by MCbx, 2015-19.
0. AT, XT, PS/2?
1. What to do if battery is leaking?
2. Battery is weak, but there is no visible battery
3. What can be installed in an empty socket near CPU?
4. How to enter Setup?
5. Common memory and cache types
6. Testing memory in old PC
7. Floppy disks and drives
8. Recovering from floppy disks
9. Recording floppy disks from images
10. What slots can be found in the mainboard?
11. What expansion cards do I need for...
+RTC solutions for PC XTs
+Serial and parallel ports and
their brackets
12. Help with configuration
13. Hard disk types in PCs
14. When hard disk's capacity is not fully visible
15. Serial and parallel data transfer cables
16. Transferring data from an old PC
17. Formatting a hard disk
18. Transferring programs to PC
19. Essential software for old PC
20. Year 2000 problem
21. Diacritized characters in DOS
22. Further reading, software archives
In 1981 IBM introduced IBM 5150, a new personal
computer with 8088 CPU. Later they made 5160, a 5150 with some minor
enhancements (and lack of tape recorder port). These PCs and their clones were called XT - eXtended
Technology. XTs have 8-bit ("short") ISA slots, usually 8088 or 8086 CPUs (there
are some rare 286 XTs). In general, nearly all 8088 and 8086 are XTs. XTs
usually have no RTC (Real Time Clock) on board nor BIOS Setup, they are
configured using DIP switches or jumpers present in mainboard. Sometimes a
special software is used. There is another thing you can easily identify XT:
Some of them (usually higher class clones) have lots of ROM sockets. These
sockets are prepared for ROM chips, as IBM's specification included booting from
ROM, usually to BASIC. Some IBM computers indeed booted to on-ROM BASIC if no
bootable device was found (and FDD controller ran into some error so its ROM
faulted) but most of
them switched to CGA text mode and shown a nice message "NO ROM BASIC".
Nevertheless, in the last 25 years the most popular reason of "NO ROM BASIC.
SYSTEM HALTED" message is the fact that primary partition is on the disk, but
it is not set active.
IBM's next step was PC AT, introduced in 1984. AT had fast,
6MHz Intel 80286 processor and could run in protected mode. They had 16-bit ISA
slots ("wide" ones) and could support more devices. Most AT have BIOS setup
program in ROM and Real time clock embedded to mainboard. Only the most critical
parts (CPU type, memory/cache configuration, graphics card) must be configured
using jumpers. Some XT clones may have exchangeable BIOS chips (two BIOS chips
from two mainboards may be swapped and mainboards will run), but no such
possibility exists in most ATs.
Now there is a small subset of XTs with some features of AT (like a 1024Hz
timer). These non-standard computers were used mostly as machine control or
measurement devices.
After AT, IBM introduced PS/2 architecture, oriented around
MCA bus. Generally this architecture was not compatible with AT, used special
hard disk interface and was based on MCA proprietary bus. Because every
expansion manufacturer had to buy MCA specification to make expansions (and IBM
had to accept the expansion), it was
not popular.
If you take an old PC, you will usually find an AT or XT clone inside.
Some Pentium mainboards and later computers may be ATX. This is
not exactly a computer standard, but casing and power standard. ATX mainboards
have many ports and casing has a space for proper rear bracket. ATX computers
need different power supply unit with software on/off function.
Some early PCI systems may have additional connector for powering PCI bus, this
connector may be coming from AT or ATX power supply (yet the situation with ATX
powering PCI is very rare).
There are also two non-standard ways of powering a PC:
- AT with software power-on - used sometimes in IBM computers from mid-90s
- Dell "ATX", which has AT voltages on ATX-like connector. You have been
warned.
First, remove the battery from mainboard. You can use soldering iron or just break weakened soldering points.
Next, using a small brush, clean mainboard off the white powder. Remove chips
from sockets and clean under chips too. This white powder condenses from vapors,
so it will go in all places. Greenish pollution is oxidixed copper.
Then you can replace the battery. It is generally too risky to install this
battery, so it's more convenient to use CR2032. But CR2032 are NOT
rechargeable.
To fix this problem, just install a diode the way that the battery can supply voltage, but cannot be charged. I recommend Schottky diodes such as 1N5819 as they have lower resistance, but a small signal diode can also be used. The installation is shown below:
2. I see the battery is weak (RTC stops, BIOS complains) but I can't find any battery!
In some PCs Real Time Clock, Setup's memory and battery is embedded in one single chip. The chip is usually marked Dallas 1287, "GRT" or "Odin" and is significantly bigger than other chips. Usually it is trapezoedrical in shape. You can replace or rework the chip. Generally buiying a new chip is a bit hard and expensive and you probably won't know are you buying the chip with good or bad battery, so it's better to open the chip, soler wires to battery connectors and use external 3.3V battery like CR2032. You don't need diode for it as it is not rechargeable, but it is needed to break connections to the old battery (as old battery will drain new one).
This operation should be performed on chip removed from mainboard, but with some practice may be done on soldered-in chips if mainboard is not densely populated. After making the operation, it is needed to protect the area with hot melt glue or insulation tape.
Let's look what is inside a Dallas chip: 1. The chip, with some pins sticking form the bottom 2. The battery. 3. The XTal - quartz oscillator. The battery and XTAL are connected to chip's pins bent upwards. The trick is to remove the resin and disconect battery's pins from the exhausted battery, then solder own wires to good CR2032 battery. After removing from mainboard, determine pin 1, it is marked by dot. In most Dallas chip, you will have to work on chip's side facing you when markings are upside down. Some "GRT" chips may be different. Now you have to get access and free pins 16 and 20 while keeping all other pins untouched. You can do it by securing the chip in some holder or vice and then saw the casing in few places. Operated side of casing should go off showing resin. |
3. What is this empty socket near CPU?
In most mainboards up to 486, you will find an empty socket near
processor. This socket is reserved for math coprocessor, which can speed some
operations up, especially in matematical or CAD software. If you want to install
a math coprocessor, you have to configure the mainboard properly and install the
proper coprocessor in the proper socket. You should use the coprocessor with a
proper frequency, but most of them should work.
In some 386 mainboards you can use a special Weitek coprocessor which has
extended capabilities. It requires specific jumper or BIOS settings.
Early 286 Award: Ctrl-Alt-Esc at startup
Later Award: Del or F1
AMI: Del, F1 or F12
Phoenix: F1, Ctrl-Alt-Ins, Ctrl-S, Ctrl-Alt-S, Ctrl-Alt-Enter (very rare)
Compaq: F10 when a little rectangle blinks in the corner of screen.
Special partition may be needed for Setup to run completely. This partition may
be re-created using dedicated boot disks.
HP: F1 or F2
IBM: F1, Ins, keeping both mouse buttons presset during start-up
Zenith: Ctrl-Alt-Ins
Quadtel: F3, then F1 or F2.
If all fails: Try to run without keyboard, with key pressed since power on or some SIMM
missing. BIOS may take it as
error condition and propose to enter setup.
These SIMMs can be found in the following speeds: 50, 60, 70 and 80ns (100ns are
rare, you may find them in some early Macs). Usually it's not a problem until
you don't mix them or use 50ns modules in a board which doesn't like them.
Geenrally, avoid using 50ns modules it you are not sure they will go.
In fact, after soldering pins to SIMM you will get SIPP module ready to be
installed in a board. Better way to insert SIMM stick to SIPP connector is to
insert some unsoldered SIMM socket directly into SIPP socket. In most cases
(connection quality) such combination will work properly, but inserted socket
should be secured with some glue.
RAM converter which allows to use 4 30-pin SIMMs as one 72-pin SIMM |
- FPM - the "classical" techonlogy used in earlier DRAM modules. RAM chip
can use pre-programmed location for many reads/writes. Early boards with 72-pin
SIMMs and e.g. 386 processor use it. - EDO - most 72-pin SIMMs use EDO techonlogy. In EDO you can read chip's data while stuffing the next address into it. This makes processing a little faster. Sometimes you may find converters which allow to use 4 30-pin SIMM as one 72-pin SIMM (advertisement for one from 1995). These converters have been made for these rare computers which can support single-simm operation. You will find them in for example IBM PS/2 machines. They don't support EDO so avoid using them in computers better than 486 as they may slow the system down. |
In later Pentium mainboards DIMM modules became popular. Chips
used in them are called SDRAM. They are clocked at 66MHz, 100MHz or 133MHz. It
is important to set the computer's bus clock to the value lower or equal to
module's value. Smallest DIMMs are 32MB (16MB are very rare, made usually for
printers), the biggest may be even 1GB.
And now something completely different: In late 1990s, Cyrix manufactured their
own CPU and AT mainboard which used DIMM modules with... EDO chips. These
modules are incompatible with other DIMMs, so only Cyrix-specific mainboard can
use these modules.
Some poor 486 mainboards have a dummy cache. Yes, the chips are soldered on a mainboard, but the mainboard has no cache visible to the CPU. And these chips are no cache at all. What these chips are? I have no idea, but you can see such mainboard here. My unit has dummy Tag RAM and surface-mount "chips".
In later mainboards such as Pentium, you can find a L2 cache slot for a special cache called "Cache On a Stick" (COASt). These cards were quite rare. Sometimes OS doesn't know how to use it, so after installing a cache module you may find your Windows 98 is freezing.
For XTs and 286, you can use Check It Pro. It has quite nice
memory testing tool.
For 386 and later (with at least 2MB of RAM) you can safely use
Memtest86+, but not all versions. Be aware
that the latest ones may hang, not load or behave strangely in old computers. If
on your 386 Memtest doesn't boot, try version 4.10 - I've found that later ones
behave erratically on 4MB mainboards. If you have 2MB, you can try version 2.11,
but it is quite picky.
If you plan to diagnose an old PC, make a bootable floppy with Memtest.
7. Floppy disks and drives
There are two forms of floppy disks: 5.25" and 3.5". When formatted with
typical DOS format, their capacity is following:
- For 3.5" disk, Double Density (DD): 720kB
- For 3.5" disk, High Density (HD): 1.44MB (1440kB)
- For 5.25" disk, double density: 360kB
- For 5.25" disk, High density: 1.2MB
Most XT computers support only double density disks and drives. Generally you
can use a high-density drive in such XT computer, but it won't read not write
high-density disks at all and if such disk will be inserted, it will throw
error. To use high-density disks in XT, you should have a special controller
card, usually with its own BIOS.
5.25" disks have no differendes between HD and DD. 3.5" HD disks have a hole
opposite to write-protection tab.
Before formatting a high-density disk as double-density you should know that
here works the same rule as with old Mac disks. Lower density drive has weaker
heads than high density. It means that:
a. Lower density drive will usually read lower density disk made on high-density
drive properly.
b. Lower density drive will not reliably overwrite nor erase data written by
high-density drive
c. High-density drive will usually properly read lower-density disk
d. High-density drive will write to lower density disks, but in most cases see
point b.
So before converting a HD disk to DD you should clean it magnetically by
demagnetizing it before formatting. Demagnetize it entirely using AC
demganetization tool, cover a hole and format it DD. In Windows 9x or DOS you
can format DD disk in HD drive by following command:
format A: /F:720
for 3.5" disk in drive A:
format A: /F:360 for
5.25" disk in drive A:
Floppy disk drives are connected to PC using ribbon cables. Ribbon cable for floppy drive should have a twist on lines 10-16. This twist allows to change Drive Enable and Motor Enable lines for drives A and B, so drive A should be installed AFTER the twist and B BEFORE the twist. Both drives should be configured by Drive Select (DS) jumpers as Drive 1 (they're usually counted from 0: DS0, DS1, DS2, DS3). See below:
[Controller]====||==|=======X=======||==|
B 5.25"
Twist A 5.25"
B 3.5"
A 3.5"
Some early XTs don't use such twist, they require Drive Select
jumpers to be configured as 0 (for drive A) and 1 (for drive B).
ALWAYS MAKE DISK IMAGES. They are handy to use, transfer, extract and
analyse, they hold both files and their metadata such as modification dates or
media defects. Write-protect disks before copying until you know what you want
to do. Avoid making images using Windows 95, try to use DOS until you're imaging
DMF disk. Avoid Windows XP or newer systems as their floppy disk driver is so poor that
it won't read any slightly unreadable disk. Its error support is "one failure =
a whole disk is bad".
For DOS, you can make images using a tool supplied with Norton Commander. This
tool is made to copy disks, it has option to copy disks to image file.
Theoretically you can also use RawRead, but it may fail at the first damaged
sector.
For Unix/Linux, dd or ddrescue works well.
Do not use USB floppy drives for it as they are so poor in quality thet they may
not even read the disk. Forget about reading DMF, XDF or double-density disks
with USB drive. They may only damage the disk.
If you know what you're doing, you can try to recover all useful data from bad
sectors (if you know they are bad, and not are result of e.g. copy protection
scheme) using for example Norton Disk Doctor. It may work or it may fail a whole
disk, so be careful.
After you have a disk image, you can explore it using some programs. For Windows
you can go with shareware WinImage, for Linux you just can even mount it.
If you plan to archive IBM XDF disk, try
SAVEDSKF.
It depends what type of image it is. Look at it, try to open it
with WinImage for example. If it opens, or looks like a normal floppy disk, you
can use RaWrite to write it on
a disk. Such images have IMA, IMG or DSK extension.
IMZ are the same IMA files, but zipped. WinImage tried to introduce this format
some years ago.
DSK files may be the same as IMA/IMG, but not always. IBM made their own DSK
format, which covers all the strange PC IBM formats such as XDF (formatting
high-density 3,5" disks to 1.88MB). The tool for handling such DSK images is
called LOADDSKF to
restore floppies. It should be ran from pure DOS.
CFI - These files are disk images which were distributed by Amstrad and can be
written with FDCOPY tool. You can find it
here.
DDI -
DiskDupe files.
VFD - Readably by VMWare and VFD
DMF disk image files are usually supported only in Windows. You can use WinImage
for them.
TD0 can be written only with Sydex TeleDisk software.
10. What slots I can find inside a PC?
8 and 16-bit ISA slots
Typical ISA slots, 8 or 16bit. In XTs, 2, 3 or 486 computers they are primary
slots for most cards. In later models usually PCI is used, so ISA is used e.g.
for a sound card.
In 286 and later models ISA became expanded to 16-bit.
In some industrial PCs, 16-bit ISA slot is made as 3-row pin header. 2 outside
rows roughly correspond to 8-bit ISA slot connectors.
Most ISA cards are configurd using jumpers, but some have different levels of
Plug-and-play capability. Some ISA cards, especially network cards, require
specialized software to change their configuration.
Usually any card can work in any slot. The exception is first, third or last
slot in some early XTs as they are dedicated for connecting special expansion
chassis.
VLB
In some 486 mainboards you will find one, two or three ISA slots expanded with
VLB slots - with more densely packed pins. These slots expanded ISA to 32bits
and it's faster, but has significant downsides. First, it works with bus speed,
so faster CPU may cause that the slower card won't work with it. Second problem
was if more cards were installed - such combination in most mainboards won't
work as VLB is just direct expansion of 486's address bus. Another problem was
physical combination of 3 slots one after another (ISA8, ISA16, VLB) which
caused contact problems.
Because VLB is just 486 address bus, if more cards are installed one card should
take care of maintaining which card does what in which moment. In this
situation, card with bus mastering should be inserted in MASTER slot.
You will find graphics cards and hard disk controllers made for VLB. It usually
is present in 486 mainboards and is rare in later ones.
PCI
PCI bus started to show in Pentium mainboards, bus some rare 486 have it. You
can find nearly any type of card for PCI: Graphics card, connectivity, sound,
hard disk or port controllers, multimedia cards, even 3D accelerators which have
pass-through capability. The first PCI has 32 bits and works at 33MHz, so
contrary to VLB it's independent of bus clock. There is also a faster PCI 2.x
version with two notches (64bit), not one, or a notch on the other side of slot
(32bit). Some cards are universal and can work in both slots, these cards have
two notches.
PCI cards have more capabilities than ISA cards but their base capabilities They
may also contain ROM which can be started at boot. Most PCI cards are
jumper-free or have some really advanced settings with jumpers - they are
configured using Plug-and-play satndard.
AGP
When graphics cards became faster and faster, 32-bit PCI started to be a limit.
In 1997 AGP slot was introduced. You can find it as a single slot, in some
Pentium mainboards (since ca. 1997) or later in Pentium II or III mainboards, where it's present
in 99% cases. AGP works at 33 (rare) or 66MHz with different multipliers (x1,
x2, x4, x8) to transfer data faster. It is important to use graphics card with
slot which supports it as then it will go with a full speed.
One more thing: In the time of Pentium IV, not all chipsets still natively support AGP. For example ASRock used these chipsets in their mainboards. Then they made a special interface partially compatible with AGP called AGI. It is compatible with only a few dozens of graphics cards, so if you can't use mainboard with one AGP card, consult your manual to check is the AGP slot a real AGP, or does it have some "compatibility list". Similar tricks have been made by Epox and Biostar
EISA ISA was slow but it had one more problem: Every card had to be configured using jumpers. Memory address, IRQ number, DMA channel, some on-board settings had to be configured by placing jumpers on many pin headers. EISA was a response to this problem. It was still running at 8.33MHz, but it was 32-bit. Most slots are backwards-compatible with ISA, EISA cards have just longer edge connector going deeper into slot. How to configure card without jumpers? Every mainboard has EISA controller, configurable using dedicated program (usually booted from DOS floppy). The program can read configuration files (usually text or some firmware) and present options to user. After user configures options, they are written to EISA card corresponding to file. The card stores settings and applies them on boot. This mechanism is incompatible with Plug-and-play and Windows 95. It requires specific configuration file for each EISA card and proprietary program for mainboard. |
You may find some cards with bloth ISA and EISA slots, especially multimedia or
network cards. These cards can be flipped and installed in another slot,
replacing the bracket.
You will find EISA slots on professional machines, usually with 486 processor.
Cards for EISA may be specialized (e.g. multi serial port cards, data
acquisition), but they are quite rare.
MCA
MCA slots are used in some IBM PS/2 line computers. MCA is 32-bit bus (16bit in
compatibility mode) working at 10MHz. It hasn't got much popularity because it
was purely proprietary, made and licensed by IBM, so many computer manufacturers
just used ISA, EISA or VLB.
MCA has some unusual capabilities. MCA graphics card slot has analog output
which can lead to computer's monitor output. Mostg cards have a big plastic
expansion to stably fit into computer casing.
MCA used another approach of jumperless configuration. Every card has a 16-bit
ID which is read by BIOS and checked for known cards list. Then the card can be
configured in BIOS. It is easy but inserting a brand new card not known by older
BIOS caused the computer not to start. For MCA PS/2 computers IBM released BIOS
updates frequently.
ACR/AMR A small slot (in early mainboards it was made using PCI slot soldered backwards and shifted a little) for sound card and modem I/O devices. The slot is made the way that CPU controls the device directly, so the device can be cheaper by cost of system performance. There are usually 3 types of slots: - AMR - Audio Modem Riser - Appeared along with Pentium III mainboards, supported usually MC97 modems or AC97 sound cards. - ACR - Advanced Communications Riser - Replaced AMR, sometimes used reversed PCI slot and allows 46-pin AMR cards to be installed. There are very rare wireless networking cards for it. After ACR cards started to support EEPROM or advanced I/O it was replaced by already present PCI. - CNR - Communication and Network Riser - alternative to ACR/AMR, appeared in some Pentium 4 mainborads. While AMR had 46 pin slots, CNR has 60 pins. CNR cards are fully plug-and-play. |
11. What expansion cards do I need for my...
...XT?
- Graphics card - you can usually have CGA which has graphics capabilities
but poor text mode, MDA which has good text mode but no graphics at all or
Hercules (HGC) with good text mode and monochrome graphics. XTs can use
8-bit ISA VGA cards.
- Floppy disk controller - You need something to boot from
- Serial/parallel port controller
- Hard disk controller
- Optionally: RTC card, to keep date and time.
Remember that RTC cards and hard disk controllers have their own ROM which, before
booting DOS, sets up the system clock and allows to boot from hard disk (XT's
BIOS doesn't know hard disks). If a floppy disk controller card has its ROM it
may be possible that it supports 1.2MB (5.25") or 1.44MB (3.5") floppy disks,
not only 360kB (5.25) or 720kB (3.5") supportde by typical XT BIOS.
...AT 286/386?
- Graphics card. Here you can find a variety of VGA cards for 16-bit ISA.
- Floppy/hard disk controller. Most AT BIOSes understand hard disks more
or less, so you can use a typical non-ROM HDD controller for MFM or IDE drive.
- Serial/parallel port controller.
If there is one controller for floppy, hard disk and serial/parallel ports
(sometimes game port), it's sometimes called "Super I/O" card.
...486?
- If you want to make it display, use a good, graphics card, maybe even
with VLB.
- Use some Super I/O card definitely for ports, FDD and hard disk.
- Sound cards start to be useful in 486s.
- CD-ROM card maybe?
...Pentium?
Most things are usually built-in the mainboard here. You usually need:
- Graphics card. Use a nice one in PCI slot (e.g. S3 ViRGE 64, avoid
Tridents as they are difficult to configure) or even some 4MB AGP one if your
mainboard has AGP slot. If you
want 3D acceleration you can think about external accelerator card (e.g. 3DFx
Voodoo) or just accelerated graphics card.
- Sound card - In Pentium mainboards you stille have ISA slots, so if you
use ISA card, you may have sound even in DOS games. In Windows some ISA sound
cards may saupply additional IDE channel for CD-ROM, but it can be used not only
for CD-ROM but for slower hard disk drives too.
- Network card - they start to be useful in Pentiums, especially in
Windows-based ones.
RTC Solutions for PC XT...
This is worth noting as there are many solutions for it. The original XT had
no battery-kept Real-time clock. Generally these clocks in mainboards became
widespread in 286, most 8086 and 8088 have no RTC. So different manufacturers
used different approaches to attach the RTC. RTC is not a device which requires
constant data transmission - it is occassionally set and then it operates from
battery, every system boot-up it needs to be accessed to acquire current date
and time and that's all. So different approaches were used. There were RTC
modules hooked between CPU and mainboard in small PCBs, there were modules for
ISA slot, even serial or parallel port. Most RTCs are in ISA I/O boards usually
containing not only RTC, but also a serial/parallel port controllers, sometimes
floppy drive controller.
Remember that not all "Y2K-compliance boards" have RTCs ready for XT. First, the
ROM may be incompatible. Second, the memory location may be not suitable for XT.
Third, the ROM software may miss DOS clock in XT.
If the board contains ROM, it may happen that the ROM boots the system and sets
the clock. However in most cases the cheap board has no ROM and the clock has to
be operated using software. This RTC, even when runs, will usually not be
present as typical RTC and diagnostic software may not report the computer as
equipped with RTC.
The RTC pops in memory map somewhere, usually about 0x200-0x300h. Then by using
specific driver it can be set usually from current DOS clock (this is settable
with commands "date" and "time") and retrieved to DOS clock every boot. However
different RTCs have different drivers.
The floppy disk supplied here contains various drivers.
Especially in XT it is important to have the fastest driver to make the computer
boot quickly. Start with CLOCK.COM as it's slow, but has quite large informative
capabilities and chips/memory locations support - it is possible to retrieve
information where the clock is in memory and which chip does it use. If you got
it and it operates (assuming battery power is suplied), you should try a faster
driver to make system boot faster.
Serial and parallel ports and their brackets
Most of PCs have some serial and parallel ports. Usually we have a single
parallel port and two or one serial. In most 286s and later, there are boards
with two serial ports. In XTs, there may be a single serial port or a board
which has missing chips for seocnd serial, for future upgrade. If two parallel
ports are present, usually this is caused by video board which (MDA or Hercules
usually) has its own parallel port, and multi I/O board which also has.
To upgrade the single-serial board to dual-serial, you usually need 4 things:
- Serial chip - this is a must-go, the chip which makes RS232 signals,
usually 8250 (XTs, up to 9600baud) or 16450 (pin-compatible but faster) or 16550
(faster, in many cases compatible, pinouts
here)
- Two, or in some cases four (two of each type), driver chips which
interface with RS232 voltages directly: MC1488 and MC1489, or 75188 and 75199.
Each of these chips have four drivers/receivers. It means that with a simplified
serial port, containing of 3 outputs (Transmit, DTR, RtS) and 4 inputs (Receive,
DCD, DSR, CtS) it's OK. Additional chip is needed if additional lines such as
near-standard RI input are present - in some cases it's only MC1489/75189.
- The proper bracket with connector. If you unfortunately have this
controller board with single-line connector, you have to use ohmmeter and "blow"
the line to MC148x and further to controller chip to know which pin goes where.
Just open datasheets of MC1488/89 and your serial chip. If you have 10-pin
connector (2x5) or 26-pin (2x13), it may be better.
There are two main types of connections, and in them pin 10/pin 26 is just absent, not connected. First is 1:1, means that if you crimp 10-pin connector to 9-pin ribbon leaving pin 10 absent and crimp the other end of ribbon to 9-pin one starting from pin 1, it will be OK. Because pin-based board connectors count this way:
1 3 5 ...
2 4 6 ...
And DB goes this way:
1 2 3 4 5
6 7 8 9
the numbering is not consistent with pins. To illustrate this, instead of crimping connector, let's try to solder the ribbon to DB9 connector. To reflect crimping, you have to solder ribbon's wire 1 to connector's pin 1, then wire 2 to pin 6, wire 3 to pin 2, wire 4 to pin 7 etc. However, some connections go directly, means wires 1,2,3 etc. go to pins 1,2,3 od DB connector. You have to distinguish your connector.
To check does it work well, you can run port diagnostics (this bootable disk contains it) with special loopback plugs. The plugs have been shown below and for quickest tests the best way is to have one parallel, two DB9 serial plugs and DB9-25 converter or DB25 loopback plug:
Serial, 9 pin 1 - 6 - 9 - 4 2 -3 7 - 8 |
Serial, 25-pin 6 - 8 - 20 - 22 2 - 3 4 - 5 |
Parallel, 25-pin 11 - 17 10 - 16 12 - 14 13 - 1 2 - 15 |
12. I have no idea how to configure my hardware - Where can I find help?
The most popular source about PC components is TotalHardware
'99, found in lots of mirrors over the Internet. For example
here. There are few versions of
it:
- "Full" TH99, has "Jumper settings for 18655 devices" and contains
pictures.
- "Lite" TH99 has "Jumper settings for 18655 devices" but doesn't contain
pictures.
- Early version with only 14K or so, not 18.
The history of this wonderful set of manuals is not much known. The images are
identical as in the Micro House Technical Library. Micro House published their
hardware datasheets on CD-ROMs in 1990s, but in 1999 they have been acquired by
EarthWeb. In 2001 they stopped offering support on CD-ROMs.
TotalHardware is probably a dump of contents form these CD-ROMs in HTML format (my
one CD-ROM
from Micro House contains documentation in their proprietary format). In the
history the name "A. Haning" (proof)
has shown in 2002, when he was offering two versions: Lite and full, probably
commercial. In his sites, mr. Haning writes about "Original TH99 CD-ROMs". Are
they MicroHouse CD-ROMs? It is not known.
If you are looking for hard disks or controllers info, see PC-DISK (archived copy), it's like TH99 for hard disks, and the source of information is probably the same as in TH99. There are only more information about disks.
If you like to read about components, visit Red Hill Technology site. They have a nice descriptions of old computer parts, strange devices or drives.
For pinouts, go to pinouts.ru. They have pinouts of most popular connectors, sometimes with extensive descriptions.
MFM, RLL Historically, the first hard disks in PCs. The proper name of this interface is "ST506" or "ST412" interface, taken from first disks with this connection. They are the famous disks "connected with two ribbon cables" to the controller. The wider cable is control cable which directs drive, the smaller one is data cable for data transfer. Data signals are not processed, these are magnetic flux changex read from disk, it's the controller's job to decode them to data understandable by PC. MFM disks usually require low-level formatting before using. To low-level format, you should boot DOS and run the program from controller's ROM by running debug program and typing e.g. g=c800:5 (where c800 is controller's ROM address). Before powering the system down you should park heads using a special program. |
If you want to use more than one disk, you should connect two disks with two separate data cables, but with one (no interleave) wider, control cable. Just crimp another connector on it. Next, you have to set proper IDs on disks and terminate the last one.
RLL was the next step in this technology. Some controllers may use
RLL modulation instead of MFM, which allows to store about 50% more data on a
hard disk (by adding half to number of sectors per track). For example 20MB disk
may store 30MB.
Theoretically it is possible to use every MFM hard disk as RLL, but practically
there are some good-quality RLL-certified drives. MFM disks may become
unreliable when formatted with RLL.
In these disks an interleave is a very important factor
affecting performance. To understand the interleave you should know how the
operating system reads and writes to disk. Generally, the system positions the
head above desired track and reads/writes it, processing one sector a time. So
after writing sector 1, the system must prepare the sector 2 and send it to disk
when the head will be above sector 2 (disk is constantly spinning). During read,
decoding of the sector takes some time and when the controller is ready to
receive the next sector, it must also wait before the head will be above it.
The problem is that when you place the sectors sequentially in a track
(1,2,3,4,5...), the disk spins too fast for the controller and the next sector
"runs away" before it's needed and the head is above unneeded sector. So the
controller must wait another disc revolution to access the next sector.
The solution is placing the sectors in the interleave, which means that, for
example, the next sectors are every third sectors in the track. It means that
after reading sector 1 system processes it, and in this time the disk spins two
sectors, the head reads fourth sector which is logically sector 2, and so on. It
improves performance.
The interleave can be automatically detected by some controller's BIOSes, it is
dependent on the disk and controller model. Interleave is set during low-level
formatting of MFM disk. Remember that tuning interleave is usually
destructive as it formats the beginning tracks of the disk to detect the
speed and find the best interleave.
ESDI (PS/2)
ESDI (Enhanced Small Disk Interface) use the same cabling as ST506, but the
interface is different. Modulating and demodulating data from signals is now
done by a hard disk's electronics and 10, 15 or 20MBit/s speed can be used. ESDI
drives were more expensive than ST506, later they became significantly larger
(even over 100MB), so they are more rare today. The exception is a specialized
ESDI-like single edge connector present in IBM PS/2 computers sometimes called
DBA (Direct Bus Attachment). In this connector both ESDI connectors and power
supply are integrated. ESDI disks, as MFM, usually need to be formatted by
controller, but case in which controller reads newly connected disk are more
frequent than in MFM.
Seagate-SCSI
Quite rare SCSI-like format used in some early Seagate hard disks for early PC
XTs (these disks have usually 60-100MB). It looks like a SCSI, 50-pin ribbon
cable, but is totally incompatible with standard SCSI. Proprietary hard disks
are used with proprietary controllers, which have their own ROMs to boot a PC
from the drive.
Avoid using these devices as they have no error correction at all.
If there is a damaged sector, the hard disk will read it without complying, and
you will find the problem viewing your damaged data.
These devices can be low-level formatted from the controller.
IDE-XT
IDE is a very misleading shortcut. It may be "Integrated drive electronics" or
"Inteligent drive electronics". The proper name is ATA - AT Attachment, as the
ATA signals in 40-pin cable is just buffered and selected expansion of AT ISA
bus.
But we are talking about XT. IDE-XT, known as XTA or "XT-IDE" (not to be
confused with XT IDE cards offered today) is ATA expansion trimmed down for PC
XT.
The most important thing here is that the main tasks made in MFM or ESDI by
controller is now done by drive's electronics and signals coming to drive are
using it similarly as other ISA card. The XT drive is usually incompatible with
ATA, only some drives are compatible both with ATA and XTA.
Programmatically, XTA hard disk has 4 registers pretending to be an XT hard
drive controller.
AT hard disks usually won't work with XT hard disk controller cards (to be
specific the controller card is not controller card, because controller is in
the drive and card is only an interface, but it's traditionally called
controller), because ATA disks are working in 16-bit mode while XT is 8-bit. In
most cases they don't need low-level format. The jumper configuration of
XT IDE disks is the same as AT IDE, except there may be some additional jumpers.
WARNING: These disks are not protected against ribbon cable mistakes. If you
insert the cable wrong way, you may destroy the drive electronics!
IDE/ATA
A typical IDE ATA (later known as PATA) hard disk. It can be from 40MB to 500GB
or sometimes bigger. ATA allows to connect not only hard disks, but also CD-ROM
drives and some rare tape drives. Drives don't need low level formatting and
low-level formatting them from some BIOS controller may damage them. One
ATA channel (connector) supports up to 2 drives in master-slave configuration.
This bus is the easiest to configure as only jumper configuration is needed.
The configuration consists of at least two jumpers: Is the disk master (if
jumper installed) and is the slave disk present (closed in master). There may be
of course other jumpers or activity LED output.
Later ATA drives are made for higther speed transfers, up to 133MB/s. These fast
ATA drives require special dense ribbon cable (with 80 conductors - 40 for
signals, 40 for shielding) with specific plugs for master and slave drives.
If your BIOS has option to low-level format hard disk and IDE drive is
connected, don't use this option. In the best case hard disk will pretend that
it's formatted (while no data will be written), in the worst the service tracks
mayh be erased and drive will be irrecoverably damaged.
SCSI
SCSI (Small Computer System Interface or Shugart Computer System interface) is
an universal interface for connecting hard disks, tape drives, optical drives or
even scanners. Most SCSI controllers have their own ROM with a special loader
program which detects hard disks and appends them to system. SCSI disks usually
don't need low-level formatting and older SCSI disks can be at least detected in
newer systems only if their connectors are compatible.
In old PCs you can mostly find 4 types of SCSI connectors:
- 50-pin ribbon cable
- High-density ribbon cable - usually in mid-90s hardware, allowing to get
even 320MB/s, used in servers.
- High-density external cable (two variations of this exist)
- External DB50 connector (rare)
A nice guide of SCSI standards and connectors can be found on
SCSI4Me Site.
SCSI devices can be internal or external and are daisy-chained. To add a device
to the chain you must configure two things:
1. Device's ID, by using jumpers representing ID number's bits.
2. Termination, which should be made on the last device, if not with a device's
terminators, a special external termination block may be used.
SCSI devices have an option for low-level formatting but it's usually not needed
and in some rare cases harmful to drive.
14. My hard disk is not fully visible!
There are few causes of it. Let's see how the disk is visible in
system:
The hard disk has usually 3 parameters about its geometry: Cylinders, heads and
sectors per track count.
- Heads count is a number of heads, usually there are 2 heads
for each platter.
- Cylinders cout is a number of tracks ("rings") on a
side of platter.
- Sectors/track count is the number of sectors per track. The
sector size is in 99% cases 512 bytes. There are some very rare disks with 256
sectors.
So Cylinders*heads*sectors*512 = size of disk in bytes.
Now: Generally adding more heads is adding more platters, so the disk will be
larger, more noisy and will use more power. Larger disks rarely have more
platters - they just have more tracks (cylinders) or sectors in a track. All
these parameters must be in BIOS to properly detect drive.
As drives grown, it was needed to store more information and sectors/track cound
became too large. Then disks got a translation device built-in. Generally it
works by pretending that the drive has more for example heads than it really has
(for example two-platter disks reports 16 heads), and when the data is
addressed, the physical location is achieved internally by drive. This
translation is sometimes called "Large mode" or "LBA mode".
Older versions of DOS can have partition limitations on 30MB.
This is a purely file-system problem and can be fixed by using more partitions
or another version of DOS.
The first cause of a smaller size is a bad geometry entered to BIOS setup. If
proper geometry cannot be entered because, for example there are more than 1024
sectors per track on disk and Setup doesn't accept it, it means that it cannot
support the drive. You can try to use another mode (LBA, LARGE), or try to
auto-detect disk to skip user input.
Sometimes you can enter larger numbers, but the disk pretends like it has only
1024 sectors per track - it means that BIOS setup can accept this number, but
the controller routine can't. You will usually see this limitation as 504MB
disk limit.
Phoenix BIOS version 4.03 and some clones (usually from 1996-97) have a
problematic way of storing cylinders count - they are written using 12 bits
being 4095 maximum. So the largest hard disk will be ca. 2,1GB. The only
way here is to upgrade BIOS or use Disk management software. The problem
*seemed* to be fixed in 4.04 release of BIOS and indeed, it was fixed, but not
at BIOS Setup level, so disks larger than 3.2GB could hang the setup.
Some mainboards have 4.2GB limit. This is a limit of LARGE mode which
works by virtually doubling heads count and halving cylinders count to get some
safe 1024-cylinder level. But it doesn't run ad infinitem, maximum number of
heads multiplied this way is 15. Any drives larger won't be fully detected.
Other BIOSes start from 15 heads, this makes a 7.9GB limit.
Most old Pentium (and some later) mainboards have 8GB (or 8.4GB) disk
limitation. This is because in some LBA there is a limit to 255 heads and 63
sectors/track. So we have 1024*255*63*512 = 8422686720 = 8032MB at maximum. If
you encountered this problem, try to auto-detect the drive, it may be detected
with strange geometry and then become visible to system with its full size.
You can also find 32GB (or 33.8, 34GB) limitation because X*16*63 geometry
overflows. There is also a 137GB limit.
Some disks have a jumper which limits their size to 4, 8 or 32GB.
This is a special jumper for compujters which can't access these disks at all,
but it unconditionally limits the size.
If you want to read more see these links for
2GB limitation,
4GB limitation,
8.4GB limitation and
3.2GB limitation. These are old documents from manufacturer of ATA
controllers.
To bypass these limits you can: - Update BIOS to a newer version (if you are sure it will work - never update BIOS if you don't know what you're doing!), - Install a special card with its own disk BIOS - if the controller supports bigger disks and only BIOS is the problem, this card will fix it. - Install a dedicated hard drive controller which has its own controller chip and BIOS - Use a DiskManager program - it creates a partition with some acceptable size, boots DOS from there and loads a driver. The driver overwrites BIOS in disk access so the second partition, covering the lacking disk space, may be used. The main problem with this solution is that if you boot from pure DOS floppy you won't have a full access to the hard drive. DiskManager will be useful if you want to use 3 or more MFM disks too (described here) in XT. In AT, use additional driver. |
So you want to use DiskManager?
Generally, there are some OEM versions of DiskManager which work when you supply
them drive geometry. To get the disk formatted properly, it is important to use
the proper version of DM. Newest DiskManager won't format old MFM drive.
For the old DOS versions and MFM disks, DiskManager version 3.2
or 4.0 will be good in most cases. Sometimes 6.x or 7.x may work if Windows is present. Windows 95
started to be supported from version 7.
For Windows 95, try version 9.
15. Serial and parallel data transfer cables
If you have a PC, let's talk about cables which will be used for
such transfer. Generally there are two types of cables: Parallel and serial. Parallel cable for data transfer can be made using this schematic. It will work both with ZIP as well as with Norton Commander connectivity tool, Windows 9x "Direct cable connection" (remember to put both computers in the same workgroup before or they won't see each other!) or Norton Ghost 2003 if you want to clone hard disks through parallel port. It can be made or bought. The biggest problem is that it won't work in all computers. Generally many XTs have unidirectional parallel port, which means that it may only transmit data (to a printer), not receive. In this condition file transfer using parallel port is not easily possible. But XTs may have serial ports. They can both transmit and receive data. It's slower but may work. Remember that in XTs you may get problems (connection errors) if you use high speeds (baud rates), so keep it lower, e.g. 9600 baud (ca. 1.2kB/s) or twice as fast. 115200baud (14,4kB/s) causes errors in most XTs. Serial connection works with ZIP using a null-modem cable. What is a null-modem cable? It is a serial cable in which some lines are swapped. They are swapped such way that if one computer sends data, it is connected to receiving pin on the other computer and vice versa, if one computer requests, the second one receives request and vice versa. Such configuration is called handshake and is described in this page. PCs amy have 9-pin or 25-pin serial ports and if you want to make a convenient, universal cable, you should cover all scenarios of using it. So you should make a cable the following way: [9pin plug]===[25pin plug]======NULLMODEM======[25pin plug]===[9pin plug] |
Then you can connect this cable both to 25 and to 9pin connectors. Remember only to keep wires between 9 and 25pin plugs short (maximum 15cm) and that nullmodem twist goes only between 25pin connectors. I'm using such cable (made by "Travelling Software") without problems.
16. Transferring hard disk contents to a new PC.
You have an old PC on your desk and you want to get it to useful state. After you made the hardware able to start, you should think about transferring precious files from hard disk to a new PC. By this transfering you will get some old programs you can use in other PCs. Sometimes this software is not accessible anywhere else, so looting contents of an old hard drive may be very useful. Generally, the steps are following:
0. Make the computer able to boot DOS.
1. Boot DOS. Use machine's hard disk or, if it's not bootable, use DOS 6.22 boot
disk (until you're using FAT32).
2. Travel through hard disk directory structure and look for contents you want
to archive. Avoid moving files too much as hard disk may be damaged. You can
test the disk before using something like Norton DiskDoctor.
3. Transfer the files:
- By floppy disks - ARJ becomes useful here. This method is not
recommended because you may transfer large amounts of data using unreliable
floppy disks.
- By parallel port or serial (if your computer has unidirectional parallel
port) cable and
ZIP program. Do not confuse it with ZIP compression program. This program
allows to set up "server" on the PC, so you can transfer data from it to another
PC running DOS, Windows 9x or Windows XP if
UserPort is installed. Remember to configure ZIP properly.
If you can't transfer ZIP using floppy disks (for example damaged proprietary floppy disk drive) but you can boot DOS on the machine, use serial cable and ZIPDUP as explained in documentation. Do not format its hard disk as you will end with unbootable computer.
If you want to preserve DOS, you have to preserve boot block. Boot the DOS you want to preserve, then make a system floppy by formatting it ans typing sys a: (or b:), then put FDisk, Format and Sys (at least) on this disk. Then you can format new hard disks and make them bootable with this DOS by just typing sys c: on the blank hard disk.
If your PC has IDE drive, you can connect it to another PC and just see what is inside or diagnose it with e.g. MHDD.
17. Formatting hard disk and placing new version of DOS
MFM
Boot machine with DOS floppy with DEBUG program. Type DEBUG, then g=c800:5 (if
card's ROM sits in c800, in most cases it is).
Low-level formatting software may start.
If it doesn't, use OnTrack Disk Manager but without
driver for bypassing capacity limits.
After it's low-level formatted, DiskManager will automatically place booted
version of DOS on it. You can replace it with another version of DOS.
If you have a low-level formattred MFM disk, proceed to partition creation.
IDE
These disks don't need low-level formatting and doing it may damage them. Just
configure them in CMOS Setup and you're ready to partition
Partitioning
Boot DOS, run FDISK, Create at least one primary partition and set it active.
This will be a C: drive. You can then create extended partiion with one or more
logical drives (D:, E:, F:...). Changes are irreversible.
Formatting:
Type FORMAT [disk]:, for example FORMAT C:.
If you want to automatically transfer DOS, type FORMAT C: /s
System transferring
Type SYS C: to transfer DOS to the disk. After this operation the
partition will have only essential files to run DOS, no drivers or programs.
If you plan to use DOS 6.22, you can install it on only formatted disk, it will
install itfels with installation program.
Bad sectors in the worst place in the HDD
Sometimes, especially when using MFM drives, you may get bad sectors in the
beginning of disk. In such disk you can't make partitions with FDisk because
FDisk will hang during verification step. In such case use Disk
Manager as it can shift the main partition outside damaged area if
verification fails.
18. Getting the software into PC
Now you want to install some software? OK, here are options:
Floppy disks
They are made on another PC from disk images or loose files. Software sometimes
need installation from original floppy disks. This method requires user
interaction and damaged floppy disks may make the process longer.
Serial/parallel cable If you plan to use many PCs, you can prepare a directory with different programs which will be received by cable. It saves lot of time. For example, in my directory I have 3 copies of TAG editor (for CGA, VGA and Hercules graphics cards) installed on VM. |
|
Hard disk transfer
You can also remove a hard disk, record software on it and place it back in a
PC. This solution is limited only to disks which can be used such way, so forget
about filling MFM disks using this method, but it will work with IDE.
19. What essential programs I need for my PC and where to get them?
Usually you need:
- DOS - the newest stand-alone DOS is 6.22. Few years ago China DOS users
ripped DOS from Windows 95 or 98 and released it as DOS 7.10. It is not much
compatible with older DOs software, so you usually need DOS 6.22 or 3.3, 4.x -
if you have access, you can use OEM version of DOS for your hardware. Remember
to include HIMEM.SYS if you have more than 1MB of RAM.
- File manager - here, use Norton Commander or XTree. For powerful 386
with large amounts of RAM (or 286 with 1MB) use version 5.0 or 5.51 (5.51 is a
bit slower). For old XTs, use version 4.0, it is smaller and less
memory-consuming.
- Utilities: For defragmenting hard disk, checking for bad blocks and
general testing, some Norton Utilities is enough. Avoid installation of
"Smart can", batch expanders or similar crapware as it may slow your DOS more.
- Text editors: WordStar, ChiWriter, Microsoft Word for DOS. For editing
text files, you can use Norton Editor or EDIT from MS-DOS disks. Polish users
may prefer TAG.
- Spreadsheet: Quatro Pro or Lotus 1-2-3.
- Games - there are many DOS games available in TOSEC or abandonware
sites.
If you plan to use Windows:
- Windows 3.11 or 3.11 For Workgroups - works best with 386.
- Drivers for your graphics card. WARNING: If you have a non-american
codepage, before installation replace driver's fonts with your system's fonts
(FON files). It usually works, and you still have a non-standard codepage.
- Drivers for network, sound card or other multimedia devices
- Win32s.
It is essential to run some 32-bit applications.
- Spreadsheet: MS Excel 4 or 5, or Lotus 1-2-3 for Windows
- Text Editor: MS Word 6.0 or Lotus AmiPRO 3.0
- Database: MS Access 2.0 or Lotus Approach
- Presentation: MS PowerPoint 4.0 or Lotus Freelance Graphics.
- Other software. If you want Windows 3.11 to look more like 95,
Calmira is your friend.
- If you want to use graphics software, you can use CorelDRAW! 3.0.
- Internet: TCP/IP, MSIE 3.x or early 4.x, maybe Netscape.
If you are using better computer with Windows 95:
- Windows 95, the newer version the better
- Newest patches.
- Internet Explorer. Version 5.5 contains explorer integration
- Office 95 or 97
See this article for more
hints.
20. Year 2000 problem on an old PC
There is no single Year 2000 problem (see the appropriate
FAQ), but many problems have ended with year 2001. For example, every fourth
year is a leap year, except years which divide by 100. Another exception is that
if the year divides by 400, it is not taken as dividable by 100. As in 2000. If
you expect that all BIOS programmers included these rules you're wrong.
Fortunately in 2015 the biggest problem is: Will it work with 2015 (four-digit,
over 1999) year and will it correctly flip dates?
In late 90s there were some programs to
test all possibilities. Today usefulness of these programs is questionable. Just
try to set date in BIOS. Does it work? OK, does it preserve this date?
If it won't let you enter the date, maybe it's just BIOS Setup's fault? Boot DOS
and try to set time form DOS.
The problem starts if you totally can't set the date (even in DOS),
it is displayed incorrectly, days don't change etc. The problem may be
in one or more components: - RTC itself - The problem in RTC can be diagnosed with AMI2000. Happens rarely, but only special card with RTC will help. Unfortunately such cards may contain known Dallas DS1287 chip so if you are unlucky it may require rework. - BIOS - Try to find BIOS update, if BIOS is not in ROM. If you really can't find it, there are hardware cards with special, 2000-compatible BIOS which can be installed. - Operating System. Try to change it or update. - Software - update the software. |
21. Diacritized characters support
It depends on graphics card. So:
VGA, EGA
Here the thing is simple. You only have to load proper codepage. In DOS you just
execute an appropriate program to load proper ega....cpi file. In DOS 6.22 Setup
will make changer for you. For example with Polish characters, you will end with
"Latin 2" table.
Hercules
Generally you need modified ROM with proper fonts. For editor see
font ROM editor.
There is a possibility to emulate text mode in graphics mode, there you can have
regional characters (and Hercules card was designed with this trick in mind),
but it is significantly slower.
CGA, MDA
No easy solution here, you need ROM.
For Polish character set there is a package of tools for different cards.
22. Further reading, where to look for software:
Software:
- http://vetusware.com/ - they have
download limits, but lots of software in different variations
-
https://archive.org/details/IBM_PC_Compatibles_TOSEC_2012_04_23 - DOS games
- https://winworldpc.com/ - quite
nice archive
- OS Beta archive - their access is restricted and they change their
addresses quite frequently. But they have a big archive.
- Simtel
from Internet Archive. Generally they have lots of old programs, also for DOS.
Further reading:
- http://minuszerodegrees.net/
- The best IBM XT (and not always IBM) resource.
- http://www.uncreativelabs.net/
- Uncreative Labs - They have a big archive of PC-related tricks and text files.
- Jason Scott's Computer-related
Text Files Archive - They were distributed by BBS and newsgroups, saved form
early websites and sent by e-mails.
- RetroArchive DOS
documentation - lots of documentation for IBM DOS and BASIC.
- Metzger P. - "Anatomia PC" - very detailed description of how the PC
works.
- Norton P. - "Inside IBM PC and PS/2"
- Dembowski K. - "Warsztat komputerowy".
- Computer newspapers from different years.