67 lines
2.3 KiB
Text
67 lines
2.3 KiB
Text
CPQPATCH v1.0 12 August 2008, John Elliott
|
|
=============================================================================
|
|
|
|
CPQPATCH patches the BIOS ROM of a Compaq Portable so that it can boot from
|
|
a hard drive whose own ROM doesn't support booting an XT.
|
|
|
|
To explain a little:
|
|
|
|
- On the original PC and XT, the BIOS ROM doesn't know anything about hard
|
|
drives. The hard drive controller comes with its own ROM, and this handles all
|
|
aspects of the drives, including booting from them.
|
|
|
|
- On AT-class machines, the BIOS ROM does know about hard drives, and supports
|
|
ATA drives itself. Additional hard drive controllers (eg: SCSI) can get away
|
|
with just adding the drives to the system; the BIOS handles booting.
|
|
|
|
So, I had a Compaq portable, and an add-on drive for it (2Mb of flash on an
|
|
ISA card) which left booting up to the BIOS. The attached program will patch
|
|
the revision C ROM so that it will boot from my add-on drive. It should also
|
|
work with the Future Domain TMC-850 (firmware 8.4 or 8.5).
|
|
|
|
The C source (cpqpatch.c) includes the assembly language source code for
|
|
the changes made.
|
|
|
|
To use CPQPATCH:
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
You will need:
|
|
* A Compaq Portable
|
|
* An EPROM burner
|
|
* A 2764 EPROM, 28c64 EEPROM, or compatible chip.
|
|
|
|
1. Get hold of a Compaq Portable BIOS image (revision C). This should be an 8k
|
|
file. If you have a Portable, you can check the BIOS revision with DEBUG:
|
|
|
|
A>DEBUG
|
|
|
|
-DFFFE:6,f
|
|
FFFE:0006 43 20 20 20 43 4F 4D 50 51 51 C COMPAQ
|
|
-
|
|
|
|
The 'C' by itself is the revision number.
|
|
|
|
Either save the ROM with DEBUG, or image it once you've dismantled the PC.
|
|
|
|
2. Take the motherboard out of the Portable.
|
|
|
|
3. Remove the BIOS ROM. This should be marked 100666-1 (or 1006661) and be
|
|
plugged into a socket near the DIP switches. If you haven't imaged it, do so
|
|
now.
|
|
|
|
4. Run CPQPATCH:
|
|
|
|
CPQPATCH bios.bin new.bin
|
|
|
|
where "bios.bin" is the original BIOS, and "new.bin" is the name you want to
|
|
give to the patched version.
|
|
|
|
5. Burn "new.bin" to an EPROM or EEPROM.
|
|
|
|
6. Put that EPROM/EEPROM in the socket where the BIOS ROM came from. The
|
|
silkscreening on the board should show you which way round it goes, but in
|
|
case it doesn't, the end with the notch should point in the direction of the
|
|
ISA slots.
|
|
|
|
7. Put the whole thing back together, power it up, and hope it works.
|
|
|