diff --git a/_posts/2016-02-24-compaq-revisited.md b/_posts/2016-02-24-compaq-revisited.md new file mode 100644 index 000000000..0e4f72830 --- /dev/null +++ b/_posts/2016-02-24-compaq-revisited.md @@ -0,0 +1,182 @@ +--- +layout: post +title: "COMPAQ Revisited" +date: 2016-02-24 14:00:00 +permalink: /blog/2016/02/24/ +--- + +I finally obtained a [ROM Dump](/devices/pc/rom/compaq/bios/portable/) from COMPAQ's first machine, +the [COMPAQ Portable](#compaq-portable). + +At the same time, I thought it would be a good idea to create my own roughly chronological list of COMPAQ machines from +the 1980s, since they are all machines I would like to see PCjs eventually support: + + + [COMPAQ Portable](#compaq-portable) + + COMPAQ [Portable] Plus + + COMPAQ DeskPro + + COMPAQ DeskPro 286 + + COMPAQ Portable 286 + + COMPAQ Portable II + + [COMPAQ DeskPro 386](#compaq-deskpro-386) + + [COMPAQ Portable III](#compaq-portable-iii) + + COMPAQ Portable 386 + + COMPAQ 386/20e + + COMPAQ SLT Series + + COMPAQ SLT/286 + + COMPAQ LTE Series + + COMPAQ LTE 286 + + COMPAQ LTE 386 + +It's hard to stop at this point, because COMPAQ did produce other 80386-based systems, like those in the "LTE Lite" +series. But I think I need to stick my original plan and draw a line at the end of the 1980s. + +Below is a random assortment of information I've gathered about some of the above models, with gaping holes for others. +Currently, the *most* gaping is the [COMPAQ DeskPro 386](#compaq-deskpro-386), because that's the one COMPAQ machine +that PCjs *already* supports. I just need more time to organize and fill in the details. + +--- + +COMPAQ Portable +--- + +PCjs now has a [ROM Dump](/devices/pc/rom/compaq/bios/portable/). + +Reviewed in Byte Magazine, Jan 1983. Reprinted [here](http://blog.modernmechanix.com/byte-reviews-the-compaq-first-pc-clone/). + +Also see [Wikipedia](https://en.wikipedia.org/wiki/Compaq_Portable). + + +COMPAQ Portable Plus (aka COMPAQ Plus) +--- + +Reviewed in Byte Magazine, Jul 1984, pp. 247-251: "The Compaq Plus". + + +COMPAQ DeskPro +--- + +Introduced June 28, 1984. Reviewed in Byte Magazine, May 1985, pp. 260-267. For use with MS-DOS 2.11. + +**Model** | **Price** | **CPU** | **Options** +:-------- | :-------- | :---------------- | :------------------------------------------ +Model 1 | $2495 | 4.77-7.14Mhz 8086 | 128Kb RAM, 1 FDD +Model 2 | $2995 | 4.77-7.14Mhz 8086 | 256Kb RAM, 2 FDD +Model 3 | $4995 | 4.77-7.14Mhz 8086 | 256Kb RAM, 1 FDD, 10Mb HDD +Model 4 | $7195 | 4.77-7.14Mhz 8086 | 640Kb RAM, 1 FDD, 10Mb HDD, 10Mb Tape Drive + | | | + +COMPAQ DeskPro 286 +--- + +Released in 1985 at the same time as the [COMPAQ Portable 286](#compaq-portable-286). + +Reviewed in [InfoWorld](https://books.google.com/books?id=2i4EAAAAMBAJ&lpg=PA15&dq=infoworld%20compaq%20deskpro%201985&pg=PA15#v=onepage&q&f=false), +May 20, 1985: "Compaq Edges Past AT Speed and Memory: New Products Use Intel 80286 Processor For 30 Percent Speed Boost". + +Updated to 12Mhz in 1987. +From [InfoWorld](https://books.google.com/books?id=yzAEAAAAMBAJ&lpg=PA56&ots=jBzxR3wcps&dq=%22compaq%20deskpro%20286%22&pg=PA56#v=onepage&q&f=false), +June 1987: "Compaq Brings 12-Mhz Machine to 286 Market" + + +COMPAQ Portable 286 +--- + +Introduced in 1985. + +**Model** | **Price** | **CPU** | **Options** +:-------- | :-------- | :---------------- | :---------------------------------------------------- + | | 8Mhz 80286 | Up to 2.6Mb RAM, 1.2Mb FDD, 20Mb HDD, 10Mb Tape Drive + | | | + +See this [COMPAQ Advertisement](http://www.computerhistory.org/revolution/mobile-computing/18/343/1658). + +On July 8, 1985, the [Los Angeles Times](http://articles.latimes.com/1985-07-08/business/fi-9857_1_hard-disk-drive) +reported: + +>It's not cheap and it's not for everyone. Equipped as described, the portable lists for $10,378 and contains +about $3,000 worth of extra RAM memory that cannot be utilized by any application software programs now on the market. +(It can be used to simulate a disk drive to speed up programs, however.) + +>A standard Compaq Deskpro 286 with 512 kilobytes of RAM memory, a 30-megabyte hard disk and a monitor is priced +at $6,254, compared to IBM's similarly equipped enhanced PC AT that offers only a 20-megabyte hard disk. The Portable +286 with 512K of memory and 20-megabyte hard disk lists for $6,299. + + +COMPAQ Portable II +--- + +The COMPAQ Portable II ("slimmed-down version of the Portable 286", as described in Byte Magazine, Oct 1986) was +released on February 20, 1986. For use with MS-DOS 3.10. + +**Model** | **Price** | **CPU** | **Options** +:-------- | :-------- | :---------------- | :------------------------------------------ +Model 1 | $3499 | 6-8Mhz 80286 | 256Kb RAM, 1 FDD +Model 2 | $3599 | 6-8Mhz 80286 | 256Kb RAM, 2 FDD +Model 3 | $4799 | 6-8Mhz 80286 | 640Kb RAM, 1 FDD, 10Mb HDD +Model 4 | $4999 | 6-8Mhz 80286 | 640Kb RAM, 1 FDD, 20Mb HDD + | | | + +Also see [Wikipedia](https://en.wikipedia.org/wiki/Compaq_Portable_II). + + +COMPAQ DeskPro 386 +--- + +Released in late 1986. + +PCjs has detailed information about the [DeskPro 386 ROMs](/devices/pc/rom/compaq/bios/deskpro386/) and system boards. + +I also have the hard-to-find **COMPAQ Technical Reference Guide** for the DeskPro 386/25 (Vol. 1), which I'll post +at a later date. + + +COMPAQ Portable III +--- + +Reportedly intended to be an 80386-based machine, the Portable III was first released in 1987 as a 12Mhz +80286-based system. + +PCjs also has information about [COMPAQ Portable III ROMs](/devices/pc/rom/compaq/bios/portable3/). + +**Model** | **Price** | **CPU** | **Options** +:-------- | :-------- | :---------------- | :---------------------------- + | $5000+ | 12Mhz 80286 | 640Kb RAM, 1 FDD, 20-40Mb HDD + | | | + + +COMPAQ Portable 386 +--- + +[TBD] + + +COMPAQ 386/20e +--- + +Released in late 1988. For use with MS-DOS 3.31. + + +COMPAQ SLT Series +--- + +From [Wikipedia](https://en.wikipedia.org/wiki/History_of_laptops#Compaq_SLT.2F286): "The COMPAQ SLT/286 debuted +in October 1988, being the first battery-powered laptop to support an internal hard disk drive and a VGA compatible +LCD screen. It weighed 14 lbs." + + +COMPAQ LTE Series +--- + +First model in 1989. + +Also see [Wikipedia](https://en.wikipedia.org/wiki/Compaq_LTE). + +### COMPAQ LTE 286 + +Various models, such as the [Model 40](http://www.overclockers.com/compaq-lte-286-model-40/). + +### COMPAQ LTE 386 + + +*[@jeffpar](http://twitter.com/jeffpar)* +*February 24, 2016* diff --git a/devices/pc/rom/README.md b/devices/pc/rom/README.md index c5bbf2a47..86309be76 100644 --- a/devices/pc/rom/README.md +++ b/devices/pc/rom/README.md @@ -11,22 +11,21 @@ BASIC ROMs The project contains the following IBM PC BASIC ROMs: -* [IBM BASIC 1.00](5150/basic/BASIC100.json) -* [IBM BASIC 1.10](5160/basic/BASIC110.json) + * [IBM BASIC 1.00](5150/basic/BASIC100.json) + * [IBM BASIC 1.10](5160/basic/BASIC110.json) BIOS ROMs --- The project contains the following IBM PC BIOS ROMs: -* [Model 5150: Apr 24, 1981](5150/bios/1981-04-24/PCBIOS-REV1.json) -* [Model 5150: Oct 19, 1981](5150/bios/1981-10-19/PCBIOS-REV2.json) -* [Model 5150: Oct 27, 1982](5150/bios/1982-10-27/PCBIOS-REV3.json) -* [Model 5160: Nov 08, 1982](5160/bios/1982-11-08/XTBIOS-REV1.json) -* [Model 5160: May 09, 1986](5160/bios/1986-05-09/XTBIOS-REV3.json) + * [Model 5150: Apr 24, 1981](5150/bios/1981-04-24/PCBIOS-REV1.json) + * [Model 5150: Oct 19, 1981](5150/bios/1981-10-19/PCBIOS-REV2.json) + * [Model 5150: Oct 27, 1982](5150/bios/1982-10-27/PCBIOS-REV3.json) + * [Model 5160: Nov 08, 1982](5160/bios/1982-11-08/XTBIOS-REV1.json) + * [Model 5160: May 09, 1986](5160/bios/1986-05-09/XTBIOS-REV3.json) As well as BIOS ROMs, with more detailed information, for the following machines: -* [Model 5170](5170/bios/) -* [Compaq DeskPro 386](compaq/bios/deskpro386/) -* [Compaq Portable III](compaq/bios/portable3/) + * [IBM PC AT Model 5170](5170/bios/) + * [COMPAQ Portable and DeskPro Machines](compaq/bios/) diff --git a/devices/pc/rom/compaq/bios/README.md b/devices/pc/rom/compaq/bios/README.md new file mode 100644 index 000000000..4ea28d6ac --- /dev/null +++ b/devices/pc/rom/compaq/bios/README.md @@ -0,0 +1,26 @@ +--- +layout: post +title: COMPAQ BIOS ROMs +date: 2016-02-24 14:00:00 +permalink: /blog/2016/02/24/ +--- + +COMPAQ BIOS ROMs +--- + +Since the PCjs Project is focused on the 1980's, this roughly chronological list of COMPAQ machines is limited to +that era: + + + [COMPAQ Portable](portable/) + + COMPAQ [Portable] Plus + + COMPAQ DeskPro + + COMPAQ DeskPro 286 + + COMPAQ Portable 286 + + COMPAQ Portable II + + [COMPAQ DeskPro 386](deskpro386/) + + [COMPAQ Portable III](portable3/) + + COMPAQ Portable 386 + + COMPAQ SLT Series + + COMPAQ LTE Series + + COMPAQ LTE 286 + + COMPAQ LTE 386 diff --git a/devices/pc/rom/compaq/bios/deskpro386/README.md b/devices/pc/rom/compaq/bios/deskpro386/README.md index 4287f9ad4..4d381903c 100644 --- a/devices/pc/rom/compaq/bios/deskpro386/README.md +++ b/devices/pc/rom/compaq/bios/deskpro386/README.md @@ -1,21 +1,22 @@ --- layout: page -title: Compaq DeskPro 386 ROMs +title: COMPAQ DeskPro 386 ROMs permalink: /devices/pc/rom/compaq/bios/deskpro386/ redirect_from: - /devices/pc/bios/compaq/deskpro386/ --- -Compaq DeskPro 386 ROMs +COMPAQ DeskPro 386 ROMs --- -The oldest Compaq DeskPro 386 ROM I have is a Rev J.4 ROM from a "Version 2" motherboard designed + +The oldest COMPAQ DeskPro 386 ROM I have is a Rev J.4 ROM from a "Version 2" motherboard designed in 1987 and released in 1988. [Compaq DeskPro 386 System Board Version 2](http://archive.pcjs.org/pubs/pc/reference/compaq/images/Compaq_DeskPro_386-16_System_Board_V2.jpg) Thanks to folks on the [Vintage Computer](http://www.vintage-computer.com/) forums, I also have a Rev N.1 ROM from 1989. -However, I'm still on the lookout for any "Version 1" motherboards from 1986, so that I can obtain dumps of Compaq's +However, I'm still on the lookout for any "Version 1" motherboards from 1986, so that I can obtain dumps of COMPAQ's ROMs for their earliest 80386-based systems. ### System ROM Locations on COMPAQ DESKPRO 386 System Board Version 2 (Assembly No. 000558-001) @@ -58,22 +59,23 @@ from the two 16Kb BIN files provided by [Al Kossow](http://www.vintage-computer. Dumping the ROMs --- -The *.hex* files for the 1988-01-28 DeskPro ROM were produced by running [eeprom_read](http://github.com/phooky/PROM/blob/master/tools/eeprom_read/eeprom_read.pde) -on a [chipKIT Uno32](http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,892,893&Prod=CHIPKIT-UNO32) Arduino-compatible -prototyping board, and capturing the serial port output on my MacBook Pro -- as outlined in +The *.hex* files for the 1988-01-28 DeskPro ROM were produced by running +[eeprom_read](http://github.com/phooky/PROM/blob/master/tools/eeprom_read/eeprom_read.pde) +on a [chipKIT Uno32](http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,892,893&Prod=CHIPKIT-UNO32) +Arduino-compatible prototyping board, and capturing the serial port output on my MacBook Pro -- as outlined in "[Stick a Straw in Its Brain and Suck: How to Read a ROM](http://www.nycresistor.com/2012/07/07/stick-a-straw-in-its-brain-and-suck-how-to-read-a-rom/)" by [NYC Resistor](http://www.nycresistor.com/) contributor [phooky](http://www.nycresistor.com/author/phooky/). -The DeskPro 386 ROMs were P27128A-2 chips, so I wired my Uno32 based on this [27128A](http://archive.pcjs.org/pubs/pc/datasheets/27128A.pdf) -datasheet -- the closest match I could find online. +The DeskPro 386 ROMs were P27128A-2 chips, so I wired my Uno32 based on this +[27128A](http://archive.pcjs.org/pubs/pc/datasheets/27128A.pdf) datasheet -- the closest match I could find online. ![Compaq DeskPro 386 System ROM Version 2](http://archive.pcjs.org/pubs/pc/reference/compaq/images/Compaq_DeskPro_386-16_System_ROM_V2_Breadboard.jpg) -On my first dump attempt, every ROM address returned 0xFF. After looking at the 27128A datasheet more closely, I noticed -the DEVICE OPERATION table indicated that, for a READ operation, /CE and /OE pins should be connected to INPUT LOW VOLTAGE, -while the /PGM should be connected to INPUT HIGH VOLTAGE. So I wired pin 27 (/PGM) to +5V instead of GND, and the dump -worked perfectly. The NYC Resistor article implied that every *active low* pin should be connected to GND, but apparently -there are exceptions to that general rule. +On my first dump attempt, every ROM address returned 0xFF. After looking at the 27128A datasheet more closely, +I noticed the DEVICE OPERATION table indicated that, for a READ operation, /CE and /OE pins should be connected to +INPUT LOW VOLTAGE, while the /PGM should be connected to INPUT HIGH VOLTAGE. So I wired pin 27 (/PGM) to +5V instead +of GND, and the dump worked perfectly. The NYC Resistor article implied that every *active low* pin should be +connected to GND, but apparently there are exceptions to that general rule. Recreating ROM Source Code --- @@ -104,7 +106,7 @@ However, it does NOT produce a binary identical to the original ROM, in part bec instructions that can be assembled multiple ways). It's possible the reassembled ROM may still work, but more research is required. -One interesting section of the Compaq DeskPro ROM is this string at offset 0xE002: +One interesting section of the COMPAQ DeskPro ROM is this string at offset 0xE002: db 'AUTHORS CAB93GLB93RWS93DJC93NPB(C)Copyright COMPAQ Computer Corporation 1982,83,84,85,86' diff --git a/devices/pc/rom/compaq/bios/portable/100666-001-REVC.hex b/devices/pc/rom/compaq/bios/portable/100666-001-REVC.hex new file mode 100644 index 000000000..f10957104 --- /dev/null +++ b/devices/pc/rom/compaq/bios/portable/100666-001-REVC.hex @@ -0,0 +1,512 @@ +CD 18 28 43 29 20 43 6F 70 79 72 69 67 68 74 20 +43 4F 4D 50 41 51 20 43 6F 6D 70 75 74 65 72 20 +43 6F 72 70 6F 72 61 74 69 6F 6E 2C 20 31 39 38 +33 2C 20 41 6C 6C 20 72 69 67 68 74 73 20 72 65 +73 65 72 76 65 64 2E 20 2A 4A 53 46 2A 50 4E 41 +2A 43 48 4C 2A 43 52 4A 2A 20 20 FA B0 99 E6 63 +B0 4D E6 61 B0 0C BA F2 03 EE 8C C8 8E D8 FC BB +0E E1 BD 02 00 B0 01 8A 17 EE B4 00 8B 77 03 8A +57 01 8A C4 EE AC 42 EE 4A FE C4 80 FC 10 75 F2 +8A 17 80 FA D8 75 05 42 B0 30 EE 4A B8 20 07 8E +47 05 33 FF 8B 4F 07 F3 AB 8A 47 02 EE 83 C3 09 +4D 75 C2 B0 74 E6 43 B0 13 E6 41 B0 00 E6 41 E6 +0D B0 00 E6 08 B0 58 E6 0B E6 0C B0 00 E6 00 E6 +00 E6 83 B0 FF E6 01 E6 01 B0 0E E6 0F 33 C0 8E +D0 BC 00 04 B0 13 E6 20 B0 08 E6 21 B0 09 E6 21 +B0 FF E6 21 B0 36 E6 43 B0 FF E6 40 E6 40 B8 40 +00 8E D8 A1 72 00 3D 34 12 75 15 E9 92 02 B8 B4 +29 D4 F0 00 B0 00 08 D8 D4 2D B4 F0 00 B8 00 20 +BD 26 E1 E9 95 00 33 DB 33 D2 33 C9 8E C2 33 FF +8B C7 32 C4 32 C6 32 C3 AA E2 F5 80 C6 08 80 FE +38 72 02 B5 80 77 03 80 C6 08 3B D6 72 DE E4 61 +0C 30 E6 61 24 CF E6 61 33 D2 33 C9 8E DA 33 FF +8B C7 32 C4 32 C6 32 C3 32 05 75 25 47 E2 F1 E4 +62 A8 C0 B0 00 75 1A 80 C6 08 80 FE 38 72 02 B5 +80 77 03 80 C6 08 3B D6 72 D2 80 F3 FF 75 99 EB +24 B2 80 84 C2 75 04 D0 EA 73 F8 BD A1 E1 E9 85 +00 47 47 BA 01 02 BD AC E1 E9 72 00 BB 70 17 BD +B5 E1 E9 5D 00 B8 00 40 E9 E5 01 BE 01 00 BB 00 +08 8E DB C6 04 00 80 C7 08 80 FF A0 72 F3 BB 00 +08 8E DB 80 34 FF 74 08 80 C7 08 80 FF A0 72 F1 +8B F3 E4 61 0C 80 E6 61 93 E4 60 93 24 7F E6 61 +FF E5 B0 B6 E6 43 B8 38 05 E6 42 8A C4 E6 42 E4 +61 0C 03 E6 61 95 E8 08 00 95 E4 61 24 FD E6 61 +C3 5D B9 04 01 E2 FE 4B 75 F8 FF E5 10 00 B9 04 +00 D3 E2 49 EB 05 33 FF B9 04 00 B8 00 B8 8E C0 +92 2E F7 26 1C E2 92 04 90 27 14 40 27 AA 47 E2 +EF FF E5 F6 C6 C0 74 11 BB E8 03 E8 A4 FF BB FA +00 E8 BD FF 80 EE 40 EB EA F6 C6 30 74 11 BB FA +00 E8 8E FF BB FA 00 E8 A7 FF 80 EE 10 EB EA 8A +C6 E8 19 00 8A C2 E8 09 00 B0 0D E8 17 00 B0 0A +EB 13 8A E8 B1 04 D2 E8 E8 02 00 8A C5 24 0F 04 +90 27 14 40 27 BB 07 00 B4 0E CD 10 C3 51 B9 64 +00 B2 F4 F6 E2 EC A8 80 75 05 E2 F7 E9 79 03 F6 +E2 EC 42 59 A8 40 C3 03 DF 02 07 00 08 FF FF FF +FF FF FF 50 E4 62 A8 C0 75 02 58 CF FC BA D4 03 +B8 2D 30 BE B4 F0 BF 10 00 8C CB 8E DB BD E3 E2 +E9 C0 0F BB 00 B8 8E C3 B9 00 20 33 FF B8 20 07 +F3 AB BB F4 01 BD FB E2 E9 17 FF B0 2D 83 C2 04 +EE 33 FF B9 0D 00 BE 19 E3 A4 47 E2 FC E4 62 A8 +80 B0 31 75 02 B0 32 AA F4 50 41 52 49 54 59 20 +43 48 45 43 4B 20 50 33 C0 B9 00 01 EE EE EC 3A +C4 75 0D EC 3A C4 75 08 FE C0 FE C4 E2 EE 58 C3 +58 59 FF E3 23 FF 23 FF C3 E2 23 FF 23 FF 54 FF +23 FF 23 FF A5 FE 87 E9 23 FF 23 FF 23 FF 23 FF +57 EF 23 FF 65 F0 4D F8 41 F8 59 EC 39 E7 59 F8 +2E E8 D2 EF 48 F9 F2 E6 6E FE 53 FF 53 FF A4 F0 +C7 EF 00 00 1E E7 F8 03 F8 02 BC 03 78 03 78 02 +14 14 14 14 01 01 01 01 1E 00 3E 00 03 01 03 07 +92 BD A7 E3 E9 14 FE 33 ED 33 C0 33 FF 8E C5 B9 +00 40 F3 AB 81 C5 00 08 3B EE 72 EF 8E C0 BE 44 +E3 33 FF B9 21 00 8C C8 2E A5 AB E2 FB B0 80 E6 +A0 B8 40 00 8E D8 B1 06 D3 ED 89 2E 13 00 89 16 +72 00 32 FF F6 C3 01 74 0B 26 8C 45 FA 83 ED 40 +89 2E 15 00 8E C0 BA 01 02 EC A8 0F 75 03 80 CF +10 BE 86 E3 BF 00 00 B9 02 00 2E AD 05 03 00 92 +EC F6 D0 EE 8A E0 EC 3A C4 75 08 80 C7 02 92 2D +03 00 AB E2 E5 BE 8A E3 BF 08 00 B1 03 2E AD 92 +EC F6 D0 EE 8A E0 EC 3A C4 75 05 80 C7 40 92 AB +E2 EB F6 C3 01 75 0D BF 78 00 B9 06 00 F3 2E A5 +85 C9 75 F9 89 1E 10 00 C6 06 6A 00 00 E8 C4 07 +8A C3 24 30 BB 9C E3 B1 04 D2 E8 2E D7 98 CD 10 +B8 00 C0 E8 E0 01 3D 00 C8 72 F8 B8 40 00 8E D8 +A0 65 00 24 F7 BA D8 03 EE BF 02 00 B9 55 AA 81 +E1 FF 3F BA D4 03 B3 0E E8 C2 0E 4A B0 0E EE 42 +EC 3A C5 75 43 4A B0 0F EE 42 EC 3A C1 75 39 F7 +D1 4F 75 DB B8 00 B8 8E C0 33 DB 33 FF B9 00 40 +8B C7 32 C4 7B 02 FE C0 32 C3 AA E2 F3 33 FF B9 +00 40 8B C7 32 C4 7B 02 FE C0 32 C3 AE E1 F3 75 +07 80 F3 FF 75 D5 EB 06 BA 01 65 E8 55 FD B8 20 +07 33 FF B9 00 20 F3 AB BA D4 03 B3 0E E8 5D 0E +A0 65 00 0C 08 BA D8 03 EE E9 03 00 E9 D2 00 BE +00 E0 33 D2 B9 00 10 2E AD 03 D0 E2 FA 85 D2 74 +06 BA 01 51 E8 1C FD BB 81 E5 BA 21 00 E8 F6 FD +B0 FF EE E4 61 8A D8 24 FE E6 61 33 C0 B9 00 01 +B0 B6 E6 43 8A C4 E6 42 E6 42 B0 80 E6 43 E4 42 +3A C4 75 2D E4 42 3A C4 75 27 FE C4 E2 E2 8A C3 +E6 61 E4 61 BB 81 E5 BA 61 00 E8 B9 FD E6 61 BA +02 00 E6 C0 B9 06 00 91 E8 AB FD 91 42 E2 F8 EB +06 BA 01 01 E8 BC FC E4 61 0C 80 24 BF E6 61 24 +7F E6 61 BB 28 00 E8 78 FC 0C 40 E6 61 B3 14 E8 +6F FC E8 53 04 86 C4 3C AA 75 0E B3 14 E8 61 FC +E8 45 04 86 C4 0A C0 74 12 0A C0 74 03 E8 C2 FC +B0 20 E8 D0 FC BA 01 03 E8 78 FC BA BC 03 EC BB +D7 E5 E8 51 FD EB 06 BA 01 04 E8 66 FC BA BC 03 +EE 0E 1F BE B7 E2 BB 04 00 FC BA F2 03 B0 FF E6 +21 B0 00 EE B8 64 00 E8 BF 09 B0 0C EE B8 64 00 +E8 B6 09 E8 C6 19 B0 1C B2 F2 EE E8 BE 19 B8 F4 +01 E8 A5 09 E8 B5 19 B9 64 00 E8 80 FC E1 FB 74 +07 F6 E2 EC A8 C0 74 06 BA 01 06 E8 15 FC B0 00 +BA F2 03 EE B8 00 C8 E8 1C 00 3D 00 F4 76 F8 BB +2C 01 E8 AD FB 9C FA E4 21 24 BC E6 21 9D B0 EC +BA BE 03 EE CD 19 8E D8 33 DB 81 3F 55 AA 75 0F +FC 33 F6 33 C9 8A 6F 02 D1 E1 AC 02 D8 E2 FB BB +80 00 75 14 B8 40 00 8E C0 1E B8 03 00 50 8B EC +FF 5E 00 58 58 BB 00 02 03 C3 C3 8A E3 B9 FF FF +EC 84 C7 74 00 75 09 E2 F7 FE CC 75 F0 B4 80 C3 +B4 00 C3 0D 0A 44 69 73 6B 65 74 74 65 20 65 72 +72 6F 72 0D 0A 52 65 70 6C 61 63 65 20 61 6E 64 +20 73 74 72 69 6B 65 20 61 6E 79 20 6B 65 79 20 +77 68 65 6E 20 72 65 61 64 79 0D 0A 24 E9 81 03 +50 56 1E B8 40 00 8E D8 B8 03 00 E8 5E 02 1F 5E +58 CF FB BB 40 00 8E DB B9 03 00 51 BA 00 00 8E +C2 B4 00 CD 13 BB 00 7C B9 01 00 B8 01 02 CD 13 +59 73 06 E2 E6 CD 20 EB DA EA 00 7C 00 00 FB FC +50 53 56 BE A3 E6 2E AC 3C 24 74 05 E8 66 FB EB +F5 B4 00 CD 16 5E 5B 58 CF FB 53 51 52 56 1E BB +40 00 8E DB 81 E2 03 00 8B F2 B3 01 E8 FE 17 75 +04 8A 9C 7C 00 D1 E6 8B 94 00 00 0B D2 74 10 84 +E4 74 12 FE CC 74 41 FE CC 74 75 FE CC 74 2F 1F +5E 5A 59 5B CF 50 96 83 C2 03 B0 80 EE 83 EA 03 +B1 04 D3 EE 81 E6 0E 00 2E 8B 84 1E E8 EE 8A C4 +42 EE 42 42 58 24 1F EE 4A 4A 32 C0 EE 4A 83 C2 +05 EC 8A E0 42 EC EB C7 50 52 83 C2 04 B0 03 EE +42 42 B7 20 E8 D4 FE 74 0D B7 10 E8 CD FE 74 06 +4A B7 20 E8 C5 FE 5A 59 8A C1 84 E4 75 01 EE E8 +7B 17 75 0A 83 C2 05 EC 24 60 0A E0 8A C1 EB 8F +83 C2 04 B0 01 EE 42 42 B7 20 E8 9E FE 74 22 BE +71 00 80 24 7F 4A B7 01 B4 80 B9 FF FF EC 84 C7 +75 11 84 24 75 0B E2 F5 E8 42 17 75 ED FE CB 75 +E9 EB CB 8A E0 83 EA 05 EC 80 E4 1E EB C0 17 04 +00 03 80 01 C0 00 60 00 30 00 18 00 0C 00 FB FC +1E 56 55 8B EC BE 40 00 8E DE 84 E4 74 0E FE CC +74 31 FE CC 74 3E 5D 5E 1F CF FB 90 FA E8 CA 03 +74 F8 E8 F8 16 75 0C 3B 36 82 00 75 0F 8B 36 80 +00 EB 09 81 FE 3E 00 75 03 BE 1E 00 89 36 1A 00 +FB EB D3 80 4E 0A 40 FA E8 9F 03 FB 74 C8 80 66 +0A BF EB C2 A0 17 00 EB BD 0A E4 74 03 79 05 F9 +C3 E9 94 00 80 FC 39 7F F7 8A DC 32 FF 2E 8A 87 +7B F8 F6 05 08 75 EA F6 05 04 75 0E 24 7F F6 05 +03 75 52 F6 05 40 75 41 EB 26 0A C0 78 25 80 FC +03 74 24 80 FC 0E 74 23 80 FC 1C 74 22 80 FC 37 +74 13 3C 20 7E 0A 3C 61 7C 15 3C 7B 7D 11 24 1F +E8 69 00 F9 C3 B4 72 32 C0 EB F5 B0 7F EB F1 BE +F8 F8 E8 6F 0F 72 E9 EB EA 3C 61 7C E3 3C 7A 7F +DF 2C 20 EB DB 80 FC 0F 74 09 7F 0B 2E 8A 87 B5 +F8 EB CD 32 C0 EB C9 BE C5 F8 E8 47 0F 72 C1 F6 +05 40 75 BC 2C 20 EB B8 24 7F 3C 20 74 14 80 FC +02 7C 12 80 FC 0E 7C 0F 3C 61 7C 09 3C 7A 7F 05 +32 C0 E8 07 00 F9 C3 80 C4 76 EB F4 FA 8B 36 1C +00 89 04 46 46 E8 F5 15 75 0C 3B 36 82 00 75 0F +8B 36 80 00 EB 09 81 FE 3E 00 75 03 BE 1E 00 3B +36 1A 00 74 06 89 36 1C 00 FB C3 FB 50 BB F3 00 +E8 C2 00 58 C3 FF FF FB FC 50 53 51 52 55 56 57 +1E 06 BB 40 00 8E DB BF 17 00 E4 60 8A E0 33 ED +B0 20 E6 20 E8 60 00 F6 06 18 00 08 74 21 80 FC +46 74 10 E8 D4 00 72 2E 80 FC 52 74 29 84 E4 78 +25 EB 05 F6 05 04 74 1E 80 26 18 00 F7 EB 17 E8 +FC 00 72 12 E8 B3 00 72 0D E8 A7 01 72 08 E8 D2 +01 72 03 E8 A3 FE 85 ED 07 1F 5F 5E 5D 5A 59 5B +75 04 FA E8 06 00 58 CF E4 60 8A E0 E4 61 0C 80 +E6 61 24 7F E6 61 C3 A0 6A 00 F6 05 08 74 1C F6 +05 04 74 17 80 FC 4E 75 04 FE C0 EB 07 80 FC 4A +75 09 FE C8 78 0B A2 6A 00 EB 06 3A 26 69 00 74 +13 88 26 69 00 84 E4 78 0B 33 DB 0A 1E 6A 00 74 +03 E8 01 00 C3 E4 61 50 24 FC E6 61 B9 40 00 E2 +FE 0C 02 E6 61 B9 40 00 E2 FE 4B 75 EB 58 E6 61 +C3 1E 50 B8 40 00 8E D8 B8 0B FF E6 20 E4 20 84 +C0 74 06 8A E0 B0 20 E6 20 88 26 6B 00 58 1F CF +FF C7 06 72 00 34 12 E9 D1 F5 8A C4 24 7F 0E 07 +8B F7 57 BF C6 EA B7 08 B9 08 00 AE 74 09 D0 CF +73 01 46 E2 F6 5F C3 5F 0A E4 79 06 F6 D7 20 3C +F9 C3 08 3C FA 8A 3E 18 00 80 E7 F0 30 3D FB 80 +FC 52 74 01 F9 C3 38 1D 2A 36 52 3A 45 46 80 FC +45 74 28 80 FC B8 74 3C 80 FC 53 74 48 80 FC 37 +74 55 80 FC 52 74 5F 80 FC 46 74 63 80 FC 33 74 +05 80 FC 34 75 03 EB 6D 90 F8 C3 F6 05 04 74 F9 +80 0E 18 00 08 FA E8 F3 FE 45 FB F6 06 18 00 08 +75 F9 F9 C3 50 33 C0 86 06 19 00 84 C0 74 03 E8 +2A FE 58 EB D4 F6 05 08 74 CF F6 05 04 74 CA FA +E8 C9 FE FB E9 4A FF F6 05 03 74 BD FA E8 BC FE +45 CD 05 FB F9 C3 F6 06 18 00 80 74 AC F9 C3 F6 +05 04 74 A5 80 0E 71 00 80 E8 C8 00 CD 1B 33 C0 +E8 E9 FD F9 C3 F6 05 08 74 13 F6 05 04 74 0E 80 +3E 49 00 02 74 0A 80 3E 49 00 03 74 03 E9 79 FF +E9 69 13 0A E4 78 0A 80 FC 3B 7C 05 80 FC 44 7E +02 F8 C3 B0 2D F6 05 08 75 10 B0 23 F6 05 04 75 +09 B0 19 F6 05 03 75 02 32 C0 02 E0 32 C0 E8 9B +FD F9 C3 0A E4 78 0C 8A C4 24 7F 3C 47 7C 04 3C +53 7E 02 F8 C3 8A DC 80 EB 47 32 FF BE DD F8 2E +8A 00 F6 05 08 75 32 BE EA F8 F6 05 04 75 21 F6 +05 03 75 15 F6 05 20 75 0B 3C 2E 7C 07 80 FC 4C +74 05 32 C0 E8 55 FD F9 C3 F6 05 20 75 EB EB F4 +E8 61 0C 8A E0 72 EB EB EE 3C 30 7C EA 2C 30 8A +26 19 00 D5 0A A2 19 00 EB DD 8B 36 1A 00 3B 36 +1C 00 AD C3 E8 26 13 B8 1E 00 9C FA 75 03 A1 80 +00 A3 1A 00 A3 1C 00 9D C3 24 F1 D7 F2 23 F3 C2 +F2 73 F7 12 F2 43 F5 42 F5 6F F3 6D F4 57 F4 3A +F2 1D F7 0D F7 6F F6 60 F2 FB 55 1E 06 57 56 52 +51 53 50 8B EC 33 C0 8E D8 C4 36 78 00 B8 40 00 +8E D8 C6 06 40 00 FF 73 02 CD 18 32 E4 8A 46 01 +3D 06 00 7C 07 B4 01 32 C0 E9 62 01 A8 02 74 02 +EB 21 A8 04 74 03 E9 07 01 A8 01 74 02 EB 0C E8 +2F 02 88 26 41 00 32 C0 E9 43 01 A0 41 00 32 E4 +E9 3B 01 E8 65 02 33 C0 8A 46 00 26 8A 4C 03 BA +80 00 D3 E2 F7 E2 2D 01 00 E6 05 86 C4 E6 05 86 +C4 03 C3 73 0C 8A 66 01 F6 C4 04 75 04 B4 09 EB +6B E8 73 01 75 66 32 E4 8A 46 01 8B D8 D1 E3 2E +8B 87 4B EF E6 0B B0 02 E6 0A 8A FC E8 4E 12 75 +03 80 CF 80 E8 17 01 E8 31 02 8A 7E 07 E8 0E 01 +8A 7E 04 E8 08 01 83 C6 03 E8 F5 00 46 46 E8 F0 +00 83 EE 05 E8 8A 01 75 3E B9 07 00 BF 42 00 E8 +76 02 74 FB F6 E2 EC 88 05 47 E2 F3 F6 06 42 00 +C0 74 22 F6 06 42 00 08 74 04 B4 80 EB 19 8A 26 +43 00 F6 C4 30 74 04 D0 EC EB 0C F6 C4 03 74 03 +80 C4 01 EB 02 B4 00 88 26 41 00 B0 06 E6 0A 32 +C0 F6 C4 54 EB 28 91 E6 0C E4 05 8A D8 E4 05 8A +F8 26 8A 4C 03 B8 80 00 D3 E0 48 93 33 D2 F7 F3 +0B D2 74 01 40 8A 66 00 2A E0 8A C4 8A E5 EB 4E +A8 01 75 0E E9 0C FF FA 8A 66 01 80 FC 04 73 02 +CD 18 B0 4A E6 0B E8 62 01 B0 FF E6 05 E6 05 E8 +95 00 74 02 EB A1 B0 02 E6 0A B7 4D E8 4F 00 8A +7E 07 D0 E7 D0 E7 0A 7E 06 E8 42 00 83 C6 03 E8 +2F 00 83 C6 04 E8 29 00 83 EE 07 E9 36 FF 26 8A +5C 02 88 1E 40 00 80 66 16 FE 0A E4 74 04 80 4E +16 01 5B 5B 59 5A 5E 5F 07 1F 5D CF B7 03 E8 0D +00 E8 94 01 75 FB F6 E2 26 8B 1C 8A C3 EE E8 87 +01 75 FB F6 E2 8A C7 EE C3 E8 3E 01 B9 64 00 E8 +76 01 74 07 49 75 F8 B4 80 EB 19 F6 E2 B0 07 EE +8A 7E 06 E8 D8 FF E8 68 00 75 09 E8 47 00 A8 C0 +B4 80 EB 02 0A E4 C3 B0 01 8A 4E 06 D2 E0 84 06 +3E 00 75 09 08 06 3E 00 E8 BE FF 75 27 E8 FA 00 +B7 0F E8 A9 FF E8 C3 00 E8 36 00 75 17 33 C0 26 +0A 44 09 74 08 B9 04 01 E2 FE 48 75 F8 E8 05 00 +A8 C0 B4 40 C3 B7 08 E8 84 FF B1 02 E8 09 01 74 +FB F6 E2 EC FE C9 74 05 A2 42 00 EB EF A0 42 00 +C3 B8 04 00 B9 FF FF F6 06 3E 00 80 75 0B E2 F7 +FE C8 75 F0 E8 0A 00 B4 80 80 26 3E 00 7F 0A E4 +C3 BA F2 03 A0 3F 00 24 0F 74 12 D0 E8 A8 04 74 +02 B0 03 8A 26 3F 00 B1 04 D2 E4 0A C4 0C 08 EE +50 F6 E2 58 80 26 3E 00 00 0C 04 EE B9 FF FF F6 +06 3E 00 80 75 07 49 75 F6 B4 80 EB 0D 80 26 3E +00 7F E8 80 FF E8 F4 FE 32 E4 C3 BA 10 00 8B 46 +0C F7 E2 8B 5E 02 03 C3 12 D6 E6 0C E6 04 86 C4 +E6 04 86 C4 8B D8 8A C2 E6 81 C3 8A 7E 07 D0 E7 +D0 E7 0A 7E 06 E8 D6 FE 8A 7E 05 E8 D0 FE C3 46 +66 4A 45 42 66 FF FF 50 1E B8 40 00 8E D8 80 0E +3E 00 80 B0 20 E6 20 1F 58 CF FA C6 06 40 00 FF +B0 10 8A 4E 06 D2 E0 0C 0C 0A 46 06 BA F2 03 EE +B1 04 D2 E8 84 06 3F 00 75 1C A2 3F 00 B0 01 84 +46 01 74 12 FB B8 7D 00 26 8A 54 0A F6 E2 3D 00 +00 74 03 E8 13 00 FB C3 BA F4 03 F6 E2 EC A8 80 +74 F9 F6 E2 EC 42 A8 40 C3 B9 04 01 E2 FE 48 75 +F8 C3 FF FF FF FF FF DF 02 25 02 08 2A FF 50 F6 +00 04 FB 53 51 52 56 1E BB 40 00 8E DB 81 E2 03 +00 8B F2 B3 12 E8 65 0F 75 04 8A 9C 78 00 D1 E6 +8B 94 08 00 0B D2 74 16 50 FE CC 7C 17 FE CC 7C +38 FE CC 7C 44 58 EB 06 58 8A E7 80 F4 48 1F 5E +5A 59 5B CF EE 42 B9 00 E0 EC 24 F8 8A F8 A8 80 +75 0B E2 F5 FE CB 75 EE 80 CF 01 EB DB 42 EC 24 +1F 0C 01 EE 24 1E EE EB 0D 42 42 B0 08 EE B9 40 +05 E2 FE 0C 04 EE 4A EB 01 42 EC 24 F8 8A F8 EB +B7 BA 82 03 B4 27 CD 21 36 8B 0E 04 00 36 8B 1E +14 00 B4 27 C3 FB 80 FC 0F 77 37 06 1E 55 57 56 +53 51 52 50 FC 8B EC BE 40 00 8E DE 8B 16 63 00 +BE 00 B8 F7 C2 40 00 75 03 BE 00 B0 8E C6 86 C4 +8B F0 86 C4 81 E6 FF 00 D1 E6 2E FF 94 39 EC E9 +74 07 CF FF 38 28 2D 0A 1F 06 19 1C 02 07 06 07 +00 00 00 00 71 50 5A 0A 19 06 19 19 02 0D 0B 0C +00 00 00 00 38 28 2D 0A 7F 06 64 70 02 01 06 07 +00 00 00 00 61 50 52 0F 19 06 19 19 02 0D 0B 0C +00 00 00 00 38 28 2D 0A 1F 06 19 1C 02 07 06 07 +00 00 00 00 71 50 5A 0A 1F 06 19 1C 02 07 06 07 +00 00 00 00 38 28 2D 0A 7F 06 64 70 02 01 06 07 +00 00 00 00 61 50 52 0F 19 06 19 19 02 0D 0B 0C +00 00 00 00 3C 07 76 01 C3 8A 1E 10 00 80 E3 30 +80 FB 30 75 0F BA B4 03 B0 07 BB 00 B0 B9 00 08 +B4 01 EB 0B BA D4 03 BB 00 B8 B9 00 20 32 E4 A2 +49 00 8E C3 89 16 63 00 86 E0 83 C2 04 EE 86 E0 +51 83 EA 04 C7 06 4E 00 00 00 C6 06 62 00 00 32 +E4 8B F0 D1 E6 2E 8B 84 73 F2 A3 4A 00 2E 8B 84 +83 F2 A3 4C 00 D1 EE 2E 8A 84 93 F2 A2 65 00 2E +8A A4 9B F2 88 26 66 00 BF 10 00 E8 3E 00 59 B8 +67 00 E8 A8 0D 75 03 B8 07 06 A3 60 00 A0 49 00 +33 FF 3C 07 74 08 3C 04 7C 04 33 C0 EB 03 B8 20 +07 F3 AB 1E 07 BF 50 00 33 C0 B1 08 F3 AB BB F4 +01 E8 3D F0 A0 65 00 83 C2 04 EE C3 8A 2E 49 00 +1E 33 DB 8E DB C5 36 74 00 80 FD 02 7C 1B 83 C6 +10 80 FD 04 7C 13 83 C6 10 80 FD 07 7C 0B 83 C6 +10 F6 C2 40 74 03 83 EE 20 BD 0F F2 E9 94 00 FB +1F C3 24 07 A2 62 00 98 F7 26 4C 00 A3 4E 00 91 +D1 E9 B3 0C 8B 16 63 00 E8 32 01 A0 62 00 98 D1 +E0 96 8B 8C 50 00 E8 09 01 C3 0A FF 75 0C 80 E3 +1F A0 66 00 24 E0 0A C3 EB 0E B1 05 D2 E3 80 E3 +20 A0 66 00 24 DF 0A C3 A2 66 00 83 C2 05 EE C3 +A0 49 00 88 46 00 A0 4A 00 88 46 01 A0 62 00 88 +46 07 C3 28 00 28 00 50 00 50 00 28 00 28 00 50 +00 50 00 00 08 00 08 00 10 00 10 00 40 00 40 00 +40 00 40 2C 28 2D 29 2A 2E 1E 29 30 30 30 30 30 +30 3F 30 FA 24 F7 83 C2 04 EE 86 E0 42 EE 83 EA +05 32 E4 8B CF 8A C4 EE 42 FE C4 AC EE 4A E2 F5 +FF E5 86 FB 32 FF D1 E3 8B 97 50 00 89 56 02 8B +0E 60 00 89 4E 04 C3 89 0E 60 00 A0 49 00 24 FE +3C 02 75 2A 33 DB 8E DB C5 36 74 00 80 7C 19 0D +75 1C F7 C1 18 18 75 16 8B D9 81 E3 60 60 8A C5 +E8 11 00 8A E8 8A C1 E8 0A 00 8A C8 0B CB B3 0A +E8 4A 00 C3 24 0F B4 0E F6 E4 D1 E8 D1 E8 D1 E8 +14 00 C3 80 FF 07 77 19 86 FB 32 FF D1 E3 8B 4E +02 89 8F 50 00 8A 7E 07 3A 3E 62 00 75 03 E8 01 +00 C3 33 C0 86 C5 F7 26 4A 00 03 C8 A1 4E 00 D1 +E8 03 C8 8B 16 63 00 B3 0E E8 01 00 C3 8A C3 EE +42 8A C5 EE 4A FE C3 8A C3 EE 42 8A C1 EE C3 8A +26 49 00 80 FC 04 72 05 80 EC 06 76 0A E8 6C 00 +26 8B 05 89 46 00 C3 E8 84 00 8C C1 8E D9 8B F7 +8C D1 8E C1 83 EC 08 8B FC B7 04 B3 02 8A 04 D0 +FC 79 13 8A F0 8A 54 01 B9 08 00 D1 E2 79 01 F9 +D0 D0 D1 E2 E2 F5 AA 81 F6 00 20 FE CB 75 DE 83 +C6 50 FE CF 75 D5 8C C8 8E D8 BE 6E FA 8B FC E8 +5E 00 73 11 33 C0 8E D8 C5 36 7C 00 8B FC E8 4F +00 72 02 04 80 83 C4 08 89 46 00 C3 8B F8 8A DF +32 FF A1 4C 00 F7 E3 8B D0 D1 E3 8B 9F 50 00 A0 +4A 00 F6 E7 32 FF 03 C3 D1 E0 03 C2 97 C3 8A DF +32 FF D1 E3 8B 9F 50 00 33 D2 86 DA 8B FB D1 EF +D1 EF 03 FB F6 06 49 00 02 75 02 D1 E2 03 FA C3 +8B C6 8B DF 32 ED BA 80 00 56 8B F0 8B FB B1 04 +F3 A7 74 0B 05 08 00 4A 75 F0 5E 33 C0 F9 C3 5E +2B C6 B1 03 D3 E8 C3 80 3E 49 00 04 72 07 80 3E +49 00 07 75 1E E8 84 FF AA 47 E2 FC C3 80 3E 49 +00 04 72 07 80 3E 49 00 07 75 08 8A E3 E8 6C FF +F3 AB C3 E8 88 FF 8A 5E 06 8A 3E 49 00 8C CA 8E +DA BE 6E FA 0A C0 79 08 33 D2 8E DA C5 36 7C 00 +25 7F 00 D1 E0 D1 E0 D1 E0 03 F0 80 FF 06 74 63 +83 EC 10 8B C4 57 06 8C D7 8E C7 51 53 8B F8 80 +E3 03 B5 08 AC B1 08 D1 E2 D1 E2 D0 E0 73 02 0A +D3 FE C9 75 F2 8A C6 8A E2 AB FE CD 75 E6 5B 5A +07 5F 8C D0 8E D8 B9 04 00 8B F4 AD D0 FB 79 03 +26 33 05 AB 81 C7 FE 1F AD D0 FB 79 03 26 33 05 +AB 81 EF B2 1F E2 E4 81 EF 3E 01 4A 75 D8 83 C4 +10 EB 2E 8A E3 8B D1 8B DE B9 04 00 8B F3 AC D0 +FC 79 03 26 32 05 AA 81 C7 FF 1F AC D0 FC 79 03 +26 32 05 AA 81 EF B1 1F E2 E4 81 EF 3F 01 4A 75 +D8 C3 FD 8A 1E 4A 00 8B 56 02 3A D3 72 04 8A D3 +FE CA F6 C4 01 74 0C 87 CA 2A F5 2A D1 F6 DE F6 +DA EB 04 2A F5 2A D1 FE C6 FE C2 80 3E 49 00 04 +72 07 80 3E 49 00 07 75 59 8B EB 2B EA 81 E5 FF +00 D1 E5 8B F8 8A C5 F6 E3 32 ED 03 C1 D1 E0 03 +06 4E 00 97 8C C6 8E DE 8B F0 F6 E3 F7 C6 00 01 +74 04 F7 D8 F7 DD D1 E0 03 C7 96 0A C0 74 14 3A +C6 73 10 2A F0 8A CA F3 A5 03 F5 03 FD FE CE 75 +F4 8A F0 8A E7 B0 20 8A CA F3 AB 03 FD FE CE 75 +F6 C3 80 3E 49 00 06 74 04 D0 E1 D0 E2 BD 50 00 +52 8B F8 8A C5 32 ED 98 BA 40 01 F7 E2 03 C1 03 +06 4E 00 97 8B F0 98 BA 40 01 F7 E2 F7 C6 00 01 +74 10 F7 D8 F7 DD 81 C7 F0 20 80 3E 49 00 06 74 +01 47 03 C7 8C C2 8E DA 96 5A 53 8B DF 0A C0 74 +30 3A C6 73 2C 2A F0 50 D0 E6 D0 E6 8B C6 8B F0 +8B FB 8A CA F3 A4 8B F0 8B FB 81 F6 00 20 81 F7 +00 20 8A CA F3 A4 03 C5 03 DD FE CE 75 E0 58 8A +F0 D0 E6 D0 E6 58 8A C4 8B FB 8A CA F3 AA 8B FB +81 F7 00 20 8A CA F3 AA 03 DD FE CE 75 EA C3 E8 +DB 08 75 04 8A 3E 62 00 3C 07 74 50 3C 08 74 38 +3C 0A 74 4F 3C 0D 74 3C B9 01 00 B4 0A CD 10 B4 +03 CD 10 FE C2 3A 16 4A 00 75 18 32 D2 FE C6 80 +FE 19 75 0F FE CE B4 02 CD 10 B4 08 CD 10 8A FC +E8 37 00 B4 02 CD 10 C3 B4 03 CD 10 0A D2 74 F7 +FE CA EB EF B4 03 CD 10 32 D2 EB E7 BB F4 01 E8 +20 EB C3 B4 03 CD 10 80 FE 18 74 04 FE C6 EB D3 +B4 08 CD 10 8A FC E8 01 00 C3 51 52 80 3E 49 00 +07 74 09 80 3E 49 00 03 76 02 B7 00 B8 01 06 33 +C9 B6 18 8A 16 4A 00 4A CD 10 5A 59 C3 E8 24 00 +26 8A 05 F6 D7 22 C7 D2 E8 88 46 00 C3 E8 14 00 +98 22 C3 D2 E0 D0 FC 79 04 26 30 05 C3 26 22 3D +0A C7 AA C3 33 FF 8B 56 02 D1 EA 73 03 BF 00 20 +D1 E2 D1 E2 D1 E2 D1 E2 03 FA D1 E2 D1 E2 03 FA +B7 FE 80 3E 49 00 06 73 04 D1 D1 D0 E7 8A DF F6 +D3 8B D1 D1 EA D1 EA D1 EA F6 D1 80 E1 07 D2 C7 +03 FA C3 C6 46 01 00 83 C2 06 EC 83 EA 06 A8 04 +75 6F A8 02 74 6F C6 46 01 01 B0 10 EE 42 EC 8A +E0 4A B0 11 EE 42 EC 4A 2B 06 4E 00 3D 05 10 7C +02 33 C0 32 FF 8A 1E 49 00 2E 8A 8F 0E F8 32 ED +2B C1 79 02 33 C0 8A 0E 4A 00 80 FB 04 72 37 80 +FB 07 74 32 B1 28 F6 F1 8A C8 D0 E9 D0 E9 88 4E +03 88 66 02 D0 E0 88 46 05 B1 03 86 E0 32 E4 D3 +E0 89 46 06 80 3E 49 00 06 75 06 D0 66 02 D1 66 +06 83 C2 07 EE C3 F6 F1 88 46 03 88 66 02 B1 03 +8A DC D3 E3 89 5E 06 D2 E0 88 46 05 EB E3 03 03 +05 05 03 03 03 04 58 5A 59 5B 5E 5F 5D 1F 07 CF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FB 1E B8 40 00 8E D8 A1 13 00 1F CF FB 1E B8 +40 00 8E D8 A1 10 00 1F CF 55 8B EC 80 4E 06 01 +B4 86 5D CF 51 2E 8B 0C 46 46 2E 3A 24 74 05 E2 +F7 F8 59 C3 46 2E 8A 04 F9 59 C3 FF 1B B1 32 B3 +B4 B5 36 B7 B8 B9 B0 2D BD 08 89 71 77 65 72 74 +79 75 69 6F 70 5B 5D 0D FF 61 73 64 66 67 68 6A +6B 6C BB A7 E0 FF 5C 7A 78 63 76 62 6E 6D AC AE +AF FF 2A FF 20 FF 1B 21 40 23 24 25 5E 26 2A 28 +29 5F 2B 08 0F 0B 00 1A 7B 1B 7D 1C 0D 27 3A 28 +22 29 7E 2B 7C 33 3C 34 3E 35 3F 39 20 37 38 39 +2D 34 35 36 2B 31 32 33 30 2E 06 00 47 77 49 84 +4B 73 4D 74 4F 75 51 76 06 00 07 1E 0C 1F 1A 1B +1B 1D 1C 0A 2B 1C FC BF 00 03 BE E0 F9 F3 2E A5 +A1 50 02 2B 06 58 02 75 04 48 A2 00 03 BF 24 00 +B8 87 E9 AB 8C C8 AB 83 C7 44 B8 E0 E6 AB 8C C8 +AB B8 53 FF AB 8C C8 AB 8E C5 26 C4 06 12 00 A3 +90 00 8C 06 92 00 FB C3 33 C9 8E D9 8B 1E 52 02 +8B EB 83 C3 10 FA 8E D3 8B E1 8E C1 B9 47 00 E8 +A4 FF 8E DC 53 BF 01 03 BA 82 03 B4 0F CD 21 0A +C0 74 2E BA 02 03 B4 09 CD 21 B8 01 0C CD 21 80 +3D 00 75 0D C6 05 FF 3C 0D 75 06 B4 19 CD 21 04 +41 24 5F 3C 41 72 DC A2 56 03 24 0F A2 82 03 EB +C4 33 C9 89 0E A3 03 89 0E A5 03 41 C7 06 90 03 +00 02 33 D2 1E 8E DB B4 1A CD 21 1F E8 92 F6 49 +53 CD 21 80 3D 00 74 0C BA 37 03 B4 09 CD 21 B8 +08 0C CD 21 8E C5 8E DD BA 80 00 B4 1A CD 21 CB +00 00 0D 0A 49 6E 73 65 72 74 20 43 4F 4D 50 41 +51 20 44 4F 53 20 64 69 73 6B 65 74 74 65 0D 0A +45 6E 74 65 72 20 64 72 69 76 65 20 73 70 65 63 +69 66 69 65 72 20 24 0D 0A 0D 0A 52 65 69 6E 73 +65 72 74 20 64 69 73 6B 65 74 74 65 20 69 6E 20 +64 72 69 76 65 20 41 20 69 66 20 6E 65 63 65 73 +73 61 72 79 0D 0A 53 74 72 69 6B 65 20 61 6E 79 +20 6B 65 79 20 77 68 65 6E 20 72 65 61 64 79 0D +0A 24 00 42 41 53 49 43 41 20 20 45 58 45 00 00 +00 00 00 00 00 00 7E 81 A5 81 BD 99 81 7E 7E FF +DB FF C3 E7 FF 7E 6C FE FE FE 7C 38 10 00 10 38 +7C FE 7C 38 10 00 38 7C 38 FE FE 7C 38 7C 10 10 +38 7C FE 7C 38 7C 00 00 18 3C 3C 18 00 00 FF FF +E7 C3 C3 E7 FF FF 00 3C 66 42 42 66 3C 00 FF C3 +99 BD BD 99 C3 FF 0F 07 0F 7D CC CC CC 78 3C 66 +66 66 3C 18 7E 18 3F 33 3F 30 30 70 F0 E0 7F 63 +7F 63 63 67 E6 C0 99 5A 3C E7 E7 3C 5A 99 80 E0 +F8 FE F8 E0 80 00 02 0E 3E FE 3E 0E 02 00 18 3C +7E 18 18 7E 3C 18 66 66 66 66 66 00 66 00 7F DB +DB 7B 1B 1B 1B 00 3E 63 38 6C 6C 38 CC 78 00 00 +00 00 7E 7E 7E 00 18 3C 7E 18 7E 3C 18 FF 18 3C +7E 18 18 18 18 00 18 18 18 18 7E 3C 18 00 00 18 +0C FE 0C 18 00 00 00 30 60 FE 60 30 00 00 00 00 +C0 C0 C0 FE 00 00 00 24 66 FF 66 24 00 00 00 18 +3C 7E FF FF 00 00 00 FF FF 7E 3C 18 00 00 00 00 +00 00 00 00 00 00 30 78 78 30 30 00 30 00 6C 6C +6C 00 00 00 00 00 6C 6C FE 6C FE 6C 6C 00 30 7C +C0 78 0C F8 30 00 00 C6 CC 18 30 66 C6 00 38 6C +38 76 DC CC 76 00 60 60 C0 00 00 00 00 00 18 30 +60 60 60 30 18 00 60 30 18 18 18 30 60 00 00 66 +3C FF 3C 66 00 00 00 30 30 FC 30 30 00 00 00 00 +00 00 00 30 30 60 00 00 00 FC 00 00 00 00 00 00 +00 00 00 30 30 00 06 0C 18 30 60 C0 80 00 7C C6 +CE DE F6 E6 7C 00 30 70 30 30 30 30 FC 00 78 CC +0C 38 60 CC FC 00 78 CC 0C 38 0C CC 78 00 1C 3C +6C CC FE 0C 1E 00 FC C0 F8 0C 0C CC 78 00 38 60 +C0 F8 CC CC 78 00 FC CC 0C 18 30 30 30 00 78 CC +CC 78 CC CC 78 00 78 CC CC 7C 0C 18 70 00 00 30 +30 00 00 30 30 00 00 30 30 00 00 30 30 60 18 30 +60 C0 60 30 18 00 00 00 FC 00 00 FC 00 00 60 30 +18 0C 18 30 60 00 78 CC 0C 18 30 00 30 00 7C C6 +DE DE DE C0 78 00 30 78 CC CC FC CC CC 00 FC 66 +66 7C 66 66 FC 00 3C 66 C0 C0 C0 66 3C 00 F8 6C +66 66 66 6C F8 00 FE 62 68 78 68 62 FE 00 FE 62 +68 78 68 60 F0 00 3C 66 C0 C0 CE 66 3E 00 CC CC +CC FC CC CC CC 00 78 30 30 30 30 30 78 00 1E 0C +0C 0C CC CC 78 00 E6 66 6C 78 6C 66 E6 00 F0 60 +60 60 62 66 FE 00 C6 EE FE FE D6 C6 C6 00 C6 E6 +F6 DE CE C6 C6 00 38 6C C6 C6 C6 6C 38 00 FC 66 +66 7C 60 60 F0 00 78 CC CC CC DC 78 1C 00 FC 66 +66 7C 6C 66 E6 00 78 CC E0 70 1C CC 78 00 FC B4 +30 30 30 30 78 00 CC CC CC CC CC CC FC 00 CC CC +CC CC CC 78 30 00 C6 C6 C6 D6 FE EE C6 00 C6 C6 +6C 38 38 6C C6 00 CC CC CC 78 30 30 78 00 FE C6 +8C 18 32 66 FE 00 78 60 60 60 60 60 78 00 C0 60 +30 18 0C 06 02 00 78 18 18 18 18 18 78 00 10 38 +6C C6 00 00 00 00 00 00 00 00 00 00 00 FF 30 30 +18 00 00 00 00 00 00 00 78 0C 7C CC 76 00 E0 60 +60 7C 66 66 DC 00 00 00 78 CC C0 CC 78 00 1C 0C +0C 7C CC CC 76 00 00 00 78 CC FC C0 78 00 38 6C +60 F0 60 60 F0 00 00 00 76 CC CC 7C 0C F8 E0 60 +6C 76 66 66 E6 00 30 00 70 30 30 30 78 00 0C 00 +0C 0C 0C CC CC 78 E0 60 66 6C 78 6C E6 00 70 30 +30 30 30 30 78 00 00 00 CC FE FE D6 C6 00 00 00 +F8 CC CC CC CC 00 00 00 78 CC CC CC 78 00 00 00 +DC 66 66 7C 60 F0 00 00 76 CC CC 7C 0C 1E 00 00 +DC 76 66 60 F0 00 00 00 7C C0 78 0C F8 00 10 30 +7C 30 30 34 18 00 00 00 CC CC CC CC 76 00 00 00 +CC CC CC 78 30 00 00 00 C6 D6 FE FE 6C 00 00 00 +C6 6C 38 6C C6 00 00 00 CC CC CC 7C 0C F8 00 00 +FC 98 30 64 FC 00 1C 30 30 E0 30 30 1C 00 18 18 +18 00 18 18 18 00 E0 30 30 1C 30 30 E0 00 76 DC +00 00 00 00 00 00 00 10 38 6C C6 C6 FE 00 1E 50 +B8 40 00 8E D8 58 50 FE CC 7C 07 FE CC 7C 15 58 +1F CF 58 32 C0 86 06 70 00 50 8B 0E 6E 00 8B 16 +6C 00 EB EB 89 0E 6E 00 89 16 6C 00 C6 06 70 00 +00 EB DC FF FF 1E 52 50 B8 40 00 8E D8 FF 06 6C +00 75 04 FF 06 6E 00 83 3E 6E 00 18 75 13 B8 B0 +00 2B 06 6C 00 75 0A A3 6C 00 A3 6E 00 40 A2 70 +00 FE 0E 40 00 75 0B B0 0C BA F2 03 EE 80 26 3F +00 F0 B0 20 E6 20 CD 1C 58 5A 1F CF 33 FF 8E C7 +BF 74 00 80 FC 33 74 05 B8 A4 F0 EB 03 B8 E4 F0 +26 3B 05 74 44 FA AB 8C C8 AB FB A0 65 00 8A 26 +66 00 8B 16 63 00 BF 0C 00 E8 C0 F2 BB F4 01 EB +05 FF FF E9 3B EB E8 E8 E2 8B 16 63 00 83 C2 04 +A0 65 00 EE B4 0F CD 10 B4 03 CD 10 B4 02 CD 10 +83 F9 67 74 04 B4 01 CD 10 33 ED F9 C3 F6 06 10 +00 01 C3 CF 50 53 51 52 1E BB 40 00 8E DB B0 01 +86 06 00 01 3C 01 74 40 FB B4 0F CD 10 8A EC 51 +B4 03 CD 10 59 52 33 D2 B4 02 CD 10 B4 08 CD 10 +E8 34 00 72 17 FE C2 3A D5 72 ED E8 20 00 72 0C +32 D2 FE C6 80 FE 19 72 DF E8 12 00 1A C9 5A B4 +02 CD 10 FA 88 0E 00 01 1F 5A 59 5B 58 CF B0 0D +E8 04 00 72 16 B0 0A 52 33 D2 84 C0 75 02 B0 20 +B4 00 CD 17 F6 C4 01 74 01 F9 5A C3 4B 8B CB 51 +B9 64 00 E8 C7 E2 74 05 E2 F9 E9 4B E6 F6 E2 AC +EE 59 E2 EB C3 FF 43 20 20 20 43 4F 4D 50 41 51 +EA 5B E0 00 F0 FF FF FF FF FF FF FF FF FF 9A 00 diff --git a/devices/pc/rom/compaq/bios/portable/100666-001-REVC.json b/devices/pc/rom/compaq/bios/portable/100666-001-REVC.json new file mode 100644 index 000000000..0f0cd14a9 --- /dev/null +++ b/devices/pc/rom/compaq/bios/portable/100666-001-REVC.json @@ -0,0 +1,130 @@ +{"data":[ +1126701261,1866670121,1769109872,544499815,1347243843,1126191425,1970302319,544367988,1886547779,1952543343,745434985,943272224,1092627507,1914727532,1952999273,1701978227, +1987208563,539911269,1179863594,1095651370,1279804202,1246905130,-98557910,1676057008,1642483120,-222688080,-930288125,-1141057394,45998350,-1979600896,11857431,-1979484277, +-997588649,-297620242,-2134573494,-227208964,-92268662,1107654104,1257124016,-1912135496,-13433529,-217624693,38242987,163808238,-1329433267,-1337727372,-1337858541,-431888896, +-436162547,-430395384,-1341331957,-436148736,-1333533184,-436082945,-435245055,-1900006641,67157200,551949232,568723632,568723888,568786864,1139160752,1088880560,1085817062, +-1579643392,876413042,-384469742,-1263009134,15782953,-670564176,-256627244,536918016,-371120451,-617414507,-919350733,-13385074,-1003305077,-1020082638,-2131369302,-25163578, +-1258130888,-2147256448,-700774202,1642389106,1642475532,1642516260,-919350733,-13378930,-1003305077,-1020082638,628426034,-453909945,-1329551262,-2145749760,-25163578,-1258130888, +-2147256448,-700774202,-209661326,-342264321,-2071940572,-805014078,-1107790870,-2048269919,-1169733888,-1396899327,7530977,-1122537285,1575608757,1073788928,-1107171863,12255233, +-958689784,-947912700,-1593868280,12317554,-2133094904,141885236,-2146908288,-244145921,1642394507,1642496012,-1822366573,1642495780,-1229920769,951600102,-1975327227,-465377596, +-436007839,149460321,1642370304,1642528036,79257027,1274995201,-436209547,79233040,1239601920,-13433365,-1207958343,-1064388608,653733522,76735004,1075062672,-498619865, +-152698897,292864198,-402396997,-88342620,-4331520,-348066176,818345706,-88403596,-7411712,-402588997,-293535833,-1964315888,1697990,166249098,-401756160,179306519, +-393604117,-388889423,-1979710744,68101317,1075062672,506663,281874100,1689866691,-151735808,-2136412958,-136182411,-167544343,1497558242,63127720,459487,-248, +1358954495,-1062706460,-816315787,64273148,-1104138824,281014452,-1899262976,-488391205,-1156595479,-1014056960,857735353,119585023,-189027341,-486818559,-1325459479,79856429, +-1174457362,431882253,-498621213,-1469913860,1966190720,-1439518718,1380012276,542725193,1128613955,860889163,16824768,988606190,-334662204,141935674,-989937410,-1017581854, +-469804712,-14418141,-14425405,-11206877,-14418141,-376963419,-14418141,-14418141,-14422185,-129109915,-329648063,-128325831,-271390674,-420284088,-11272594,-257622189, +61383,66643742,62653176,41419640,336860180,16843009,4063262,117637379,-475546222,872289513,868234221,-1178235137,-1410121728,134268289,-277680581,1153351822, +-1174457373,-930349023,-492067538,-427773701,4241568,112318606,780791251,378077203,-13500302,1946272758,1166812683,1089307642,1388169,29016206,262728706,-813694091, +-477708784,-1191182145,-1389494270,-1845492987,-288295188,988602506,-2146929212,764543687,-492109821,-477446427,-1325397825,-1834144253,-288295188,988602506,-2147125820,-1416478521, +-1007227934,-1089637119,112787576,-1523649792,-109721211,1056393,6948550,130344960,807715722,-1310483269,787010052,281909463,-390070088,3998176,-1191677240,-661782464, +604005792,64535287,180206,-2119543367,-1170210847,246612948,1242481384,1122897584,1975859948,263211587,988562158,-147229247,-613068847,-1900543816,870003648,1073789439, +-1003305077,-1057095045,-492125390,-1174457357,-947175424,41665586,-1020083970,1978917294,-819193,116118901,-396033606,548994389,-1174457593,-1410129920,-1291594566,241035278, +201352608,64535048,256494,-1107242263,-768352256,772800697,-489684051,1959953914,1359067654,-1141039896,565896577,-34150400,-454099024,618170977,862054142,16824768, +1139193520,1122419850,-2135932186,1122255846,762692666,-1002814748,-989976715,-1014308126,1642357222,-1159364165,-1175977887,-1167988995,-1058668542,-1862269255,-1845646360,-336010686, +16890374,-453198616,612371553,610395839,-1151211905,2028470312,-432009988,-401296543,1407777903,1019512324,-1290898006,-60692460,-2046540312,1958742724,1958742546,-54335485, +-790093648,50445052,-1157859096,-1142160452,1374217687,-1173951491,1726481409,62700284,-1105260818,79422135,-222626816,-419450877,-301944799,-402627400,212863423,6600942, +-402016536,481302982,-386993486,-189261378,161867777,-1189497368,-2132279196,1962664444,-320670201,108314792,-402259526,11598869,-301731142,-389545800,3997724,-1141344524, +-1377304276,-453337861,-423877599,-323969759,-301744454,-661775923,1065474867,259369557,871773180,40864457,44884433,-1141120296,343212160,-1912586056,62398144,-326414336, +1476419327,33602392,-1966882045,-17949,1959232748,-502696704,1976368887,-1014975248,230883508,1936278538,1953785195,1919230053,225603442,1885688330,1701011820,1684955424, +1920234272,543517545,544829025,544826731,1852139639,1634038304,168655204,58845476,-1205971376,-661782464,-402652232,1579090526,-1141125288,-611450816,1358955449,-1912602438, +-855591742,2080422675,-1207959111,332202497,-502893735,-350171674,2080434906,-50659328,-1101638832,-1406212445,91497532,-335845656,-855591691,1482382870,1364458447,-1155639726, +-611450816,254593,28570251,1964506856,2090633732,-1947807488,184549524,-2079296302,-32344860,-29264692,-25856820,523203788,1532582494,-2087300913,-2135948350,65700846, +-288160591,976513,512002862,-997527832,1111682626,-299948968,-1070446006,-1031582994,-527766523,-940839870,-1031581104,-301748220,548880962,1962857704,-401557747,108330701, +-400509110,1499135685,-461061750,-387055243,175445883,-335166845,-536190940,-1880374902,-1341865341,1111682561,-1628954441,-1105038082,612368497,28789375,-4620108,-947589889, +612634997,-169735307,1964458728,1976303341,-1966347287,99255264,518291692,68665579,25166592,6291648,1572912,-50659316,-1957341666,4243180,-461054322,-855765388, +-855756428,1583169140,-1862545633,63629562,-118949772,990672150,1962967606,-2143909105,-2130056448,1962950398,2014723,1717897,-2133595141,-96466354,-83648536,1719715956, +-1024737526,-352315488,1961102013,-117081853,9759171,2134506624,853314295,-2020987137,100071547,-152406776,242549765,100040484,-162368253,1098203141,-1073076501,-58710664, +-2145094653,594808572,1948056704,939294754,540808052,1631324798,2067535228,522457469,-117413400,846378179,-1326060608,-1091441793,1877539064,-337022449,2086747370,2138717411, +-350212897,268206299,192874868,-1249408466,852356088,-1094063168,1206450373,-155094513,-1133166587,-1192550356,540835620,-58715020,-2146272254,259788540,159146300,92240444, +132694066,-2134640384,-185895228,473336826,1174702336,368437318,909839477,259326082,8402571,-25097749,57999422,989863614,1946163766,473336070,-71042304,15973200, +1476444904,-67108925,1364414716,1465275730,1085998622,-1076130304,1625554967,-315367286,551952560,-167747352,134223878,-58711692,-401574842,779223252,1951595648,2028241961, +-167384283,510919685,1582720,-401085449,309461244,1912648680,27781133,-756545422,-402427391,-309985629,1583292167,1532582493,-386268043,-816316410,-527802140,-2146672156, +2133090790,-1597808154,100008042,-165907448,393479173,1968110720,-339673596,1258061831,-922875531,1789004664,973531904,1946183974,1764132883,2028241920,182137611,1946184222, +124931,1348592835,1642527780,-503299911,-436073218,4241761,1967914722,1642485995,-1202708797,-661782464,-419492936,-2078219232,-1979288384,-434065184,1797687328,-820029440, +1913047039,-384683008,-997526063,118390564,-1084754037,146270918,-1375729479,-808449676,-498728589,1606639606,108651530,1008785398,1007207417,406751994,-253263872,-2131018448, +24400636,490259449,978466346,-58702267,-2144832443,1014282492,1951661184,939294792,-58698380,-2141227950,1668564732,1949564032,888963077,1844118389,-154929008,-109837307, +1576576,-202835448,-151304706,134223878,-1007027851,-2034224304,-2080368378,-402426688,-346489302,134608596,100061044,-87395324,-67188248,-151041303,-1116470523,-21174022, +-83505851,116835321,1954545688,-154928724,-1519123451,7409280,13166720,-1070392371,-100800024,134608579,100012916,-2146536444,33573182,1048578676,1946353737,-8787709, +169044457,-2146797340,92027900,2118450304,-1329334270,134608429,598741109,1963197942,-166088695,41222917,-536690638,-1679245262,180615677,-1978894108,1014965444,1006926919, +-134054317,-2133030205,-13482005,788061630,100008074,-1103989496,100071658,-165579516,359990021,1965032950,2083404811,1291616263,-1070463628,-100837912,537261763,-185865355, +-1978899992,-336891168,2083536110,-1976554262,-721413850,1679882,915135979,909836314,-1012072420,-1206704408,-90439650,-2136931467,1745664,-1660937053,-672062269,-1024252942, +318206962,1123369970,1844670453,989091828,234298866,1626763255,508951538,1381390086,-1957670063,-1900006420,2016855256,4241408,113694862,1946091584,840486146,21400292, +2080376381,838972423,23259584,41157288,78127595,132711284,1946265601,-401806590,646447663,-1070464959,-1610529815,-466485183,-402572311,-1070398875,637552266,-1174188918, +-489488256,19784439,-2046433792,-2046433596,1942160324,23497228,1963246838,-351685628,24373355,-466459019,-1962850678,786682328,-280262773,45091814,-58062106,1964134120, +-2133884925,-402581528,2122973745,17754119,-402358646,-964493048,16115715,-253213114,99517184,1963035368,506174,-402636097,-76283274,-1997741322,-203274491,4327158, +-165514048,134234630,-2135686028,646584811,-990511037,-805014480,-166925332,57934788,-352205696,-2013219838,-1342160602,839575046,1422194368,-426694421,-1979325428,-1979325224, +1284122360,8435715,-1823940397,-201862605,24433163,6720064,-997531606,1324082570,242549160,-83948311,-2147391862,41092348,1253054669,1659374566,-419450879,-402266619, +41156757,45130219,1303841510,-1979691032,-405796994,2114643920,4384774,-402405757,-964493265,2746372,-385356157,-1977155786,512229980,1719664704,-469041642,1317012596, +1532690710,1600019033,-815980793,233309111,26535936,-487130251,-1977840858,-2014777661,-151292671,-288912670,20900035,-402627399,125043062,-1258785463,-166073472,-301485854, +-402227574,1760100312,-402033408,-1062731705,48988340,-1329339382,105810433,109371602,158662718,4064776,1979694824,16443431,-1444409417,12839167,1962948328,650130199, +1946764298,17086728,1967718114,387320,1085587624,-402081853,45219716,1946225128,-320669957,91539966,-352304478,4366575,309443,-150995015,-2147467770,-136180875, +-260716290,-1275065624,1042710656,-469074176,66239171,603996064,-804097009,1946462440,-1979469822,-1325383898,182768132,-301462332,1491269200,4073088,-301724672,-150995015, +-2147467770,1967720309,-343886602,1042710541,-2132246784,-17504001,-1161567182,1183514640,-1948059892,-1023212962,216454674,-997849882,-997849882,-1031087989,-1966898714,-405796994, +2114643920,-19470330,-402293110,1187249872,1111837286,1358954342,4241438,243325070,-1333788610,522249760,-956641448,-16760826,1317671088,216060422,105253388,-301731142, +-388889423,4130436,1067588725,-2080264192,309592390,8239355,173312550,4055798,-402426880,-1006960621,-167512902,-2136412958,-487130764,1084769004,17086915,1967718114, +-15368,-536870913,134358274,-162463958,1408959488,508973649,-1912586053,65176027,-1275950336,258336786,-1668676491,-422510472,562315,376754699,2093809232,2093809175, +2093809208,116086852,-2132309416,1579108596,-816096934,12141294,-131797792,-2136409974,-169735307,-294269954,-352202880,619463387,-301921249,-336716252,-1337834995,1085926920, +218030597,-347410940,619463169,-336033032,58899127,567093172,68062006,512439808,666107924,-58655805,104298255,1448563998,1347572051,-1091793924,-561119168,6493835, +-138936130,1962950850,-1342128637,-997800306,-997789557,16770689,-13703471,-370394732,-3209356,170731576,471402015,117835522,0,173690993,421070361,202050818, +0,170731576,1885603455,117833986,0,257052769,421070361,202050818,0,170731576,471402015,117835522,0,173690993,471402015,117835522, +0,170731576,1885603455,117833986,0,257052769,421070361,202050818,0,24512316,270437059,820215808,1966144384,62175759,12257200,134265264, +199950772,-1157376838,12171264,-1562103264,-1014103991,6493833,-1031544698,-528028156,82477905,5113543,113639424,838860898,-772764700,-2071253274,1252258419,-2071253504, +1285812867,787403008,-225213302,771777954,-224680822,6694536,-402648897,-1202126786,-1461190553,-1207732979,1621296647,4825088,121438003,71043188,-1070398340,548930539, +514585351,5291783,145866803,-189027341,-264378367,-2097125984,-1007811390,4796042,-1898237154,1949746651,50167808,-964486276,83722256,-964488324,134053904,-964490372, +1086518800,-293403788,-233849568,-83847959,119849759,-1744805214,4990711,-1862250845,213117393,6493835,-1610534168,-778567582,-1937008928,166199376,-16071935,-478147467, +6725663,-1022697436,95489771,-478092334,6725664,-1022697692,-2097125726,-1007811134,-2013247072,1251999814,21399552,-2013240672,683870022,1342187520,671109120,1342187520, +20480,524296,1048592,4194368,742391872,707341608,808001070,808464432,-97501392,-1031538908,-528028156,-360452542,-1947979259,-289109297,-1396375998,-169719058, +-75045377,-472776910,5281675,-1962781047,-1996464114,-1983708082,-1610588146,-31195063,712311356,-611394765,7616197,219774080,-1040769931,376772632,-478029429,-980787104, +-1979706904,-389969176,-930480118,179555083,-1023391000,246681380,-388897546,-388896559,-2134704108,427231231,-13436026,1317790673,1351584002,125733376,6438458,31982453, +-1070349568,653772166,-939327414,-788509023,-1949826072,-1291820266,124942,-289174845,-289043902,-1966866870,-1975324989,-1966870847,-2147464922,91358460,1980165248,7137290, +-1996125402,-389873594,-1047789436,-141829746,-1047604852,-1962349437,-1291536388,-805008894,-1978435076,22317808,-788526919,-117343774,-489566000,-2119502366,-31457034,-2082572853, +-805416762,-930294411,1858001038,-386102278,292749406,-661733325,8140485,1340669067,67269120,147096448,-1023392119,-544540533,1285685042,-1947994368,-1948003888,-1610592097, +-403308470,-1023148238,-1039933231,-544554089,-472776910,5283723,-628698573,-271451253,-83628079,4785910,-788368126,-1007025182,-544487797,-2135233230,-259303936,78773131, +192194547,1241516037,861859957,1589901760,61982251,-2134644525,67127614,1048577906,1963393097,-8067042,-52279382,1228832963,124912640,4800128,-1979157241,-9639709, +-389829645,1586167688,1228835334,-1899328512,-93405478,142196746,-628174285,8140485,-788496603,-773795360,-2131754016,1668548351,-1961825149,-1945741372,1372032727,-2131195053, +146080739,-787959380,-790441502,167932896,1976172243,-1966699790,-838947870,1515972213,-796107001,79288462,-1376482560,58325968,-1425722586,536790913,2046546093,87238147, +-1292926549,-2115706337,1241595631,-997992331,-1976636656,-1949201437,309726,-793971829,637762044,-2119563982,-1407189049,58326224,-1442500058,531754881,-276699934,1967784255, +-1963080744,-1962915298,-751173034,-745929614,-990459138,-2029227007,720710346,-153159983,704965594,-19846411,-2134704442,67127614,1048577906,1963393097,736856921,-1736214, +-1947873024,-154825992,65876707,65065409,-1761587706,-561068404,-470355829,16828151,-654900108,-523117065,177653507,974419136,705721286,-204829968,66388901,1976499965, +-1963947276,-1977569049,61600714,1976499965,1048626166,1946550345,-790507516,5291490,-1963422894,-1729285435,-150912838,62981090,-1761587706,-1164382069,-487128768,16828151, +-654897036,-947790345,1048584432,1946550345,-956086527,-628178292,-1957471594,1958742751,1942370864,1357916716,-422517040,-259275125,-896861301,-259283725,-159253621,-142532608, +-896917504,-989616909,-822158077,-1973886859,-790179600,-997566234,-896861301,-74732813,536934273,-1426863478,-822158077,-389813643,74778843,6438538,1349781308,947128380, +1333004860,1014238524,-1275067975,-1273967350,-32453373,1242970818,840463616,-2134442286,259332606,45403902,146018509,-58060595,-1275054104,-1022309118,281871284,-143338998, +-269759746,281871284,-403975630,-402524997,-1262228704,-2146382589,74717438,-739522818,281872564,32046218,1381090048,4800128,-2146864121,50350398,11993718,856031672, +-1978091831,1241532950,1499074765,2418883,-167409114,-758701353,4622568,1370307,-758963560,2046611680,87041540,1025648323,-1012218102,1452015411,1944768770,536919811, +-489561391,-489561391,-489555453,-100408623,1048641207,1929773129,-791555836,-153122073,-774796333,-773139990,-2133723414,-942536735,-960235005,-2097151674,-2081683774,78120682, +44593013,1187409780,279970049,-1964227858,296766176,1256997614,5113387,2081424701,851456770,1226738431,-1886769664,-315426802,41533739,243974195,-75497398,-2143849980, +846465019,-235525967,-372193142,1317595600,40273923,1183375568,-2046578427,-740019488,105286112,4800128,-804883194,1724973670,130188038,-235486226,-2013051256,61932134, +-472654710,-771334519,88508640,50586603,50529541,1515717635,1600019289,-821616803,-1,-1,-1,-1,-1,-1,-1,-1, +-1205928961,-661782464,520098721,-1205929009,-661782464,520097953,-326412849,17190528,-815954252,210447953,976111174,-502959068,-1017513737,76164678,-3974663,-1288523493, +-1221151308,766556600,1904806077,1953654135,1869182329,224222064,1685283327,1785227110,-1480889237,2052915168,1651925880,-1364431506,-13959249,555482912,623125312,673850974, +137060137,436210447,477961083,674899725,729688354,876360572,960443710,959985440,909456429,858927403,405040,-2075560121,1951232843,1985049935,503775238,454696716, +169614619,-1073996757,-524418304,-1523649543,721572001,1963087878,10635268,2408195,-1410758728,-2085894004,-524794681,-930305050,-11290453,-1412920149,-1004092018,-1560276474, +109838480,-1006960494,-644953805,38936203,-1014764661,-745604592,-1047600757,-402634823,-594608220,50446163,-1274838342,169987343,-1171360576,162792194,28844493,-2145268468, +225771581,1023346118,-1274645235,69324057,1012868161,-1562611135,254018390,-352091486,-1983302716,-1996250354,1090757902,59770567,-768409088,-1260679650,522308890,1240896232, +-2145268397,208928829,-1274857542,-1205744375,567086088,-577845874,-1275035462,-886977254,168624128,1702063689,1126200434,1095781711,1329864785,1768169555,1952803699,168650100, +1702129221,1919164530,543520361,1667592307,1701406313,220471410,1376390410,1936615781,544502373,1802725732,1702130789,544106784,1986622052,541139045,1847617129,1936024421, +2037539187,1951599117,1701538162,2037276960,2036689696,1701345056,1701978222,226059361,1107305482,1128878913,1159733313,17752,0,-2122448896,-1715633755,-8487295, +-406585381,-26444033,947715838,940572688,947715708,2084044816,2097086008,269515832,2097052728,31800,406600728,-65536,-406600729,1006698495,1715618406,-1006698436, +-1715618407,118489027,-859013873,1715239116,406611558,859773054,1882206271,1669325040,1734566783,1520025830,1021830972,-528443046,-520552712,235012224,239009342,1008205826, +2115508350,1717966908,6710886,-612433818,454786011,1665007643,946629688,30924,2122186752,1008205950,1014896766,1008271128,404232318,404226072,1014896664,402653208, +403504652,805306368,811662944,0,-20922176,603979776,610729830,402653184,-33220,-16777216,406617855,0,0,2016411648,3158136,1819017264, +108,1819017216,1828613374,2083520620,-133400384,-973078480,1714428108,1815609542,-857967048,1616904310,192,806879232,811622496,811597848,806885400,1711276128, +1715273532,805306368,808516656,0,805306368,24624,64512,0,805306368,201719856,-1067438056,-964951936,-420028722,1882194044,808464432,-864550660, +-866109428,-864550660,-871614452,1008468088,218025068,-1057226722,-871625480,1614282872,-858982208,-855900040,808458252,-864550864,-859014964,-864550792,403471564,805306480, +805306416,805306416,805306416,806903856,811647072,24,-67108612,811597824,806882328,-864550816,3151884,-964952016,-1059135778,2016411768,-855847732,1727791308, +1717992550,1715208444,1723908288,1828192316,1818650214,1660813560,1651013736,1660813566,1617459304,1715208432,1724825792,-859045826,-858981172,813170892,808464432,203292792, +-859042804,1726349432,1718384748,1626341606,1717723232,-289013506,-958988546,-423231290,-959521034,1815609542,1824966342,1727791160,1616936038,-864550672,2027736268,1727791132, +1718385766,-864550682,-870551328,-1258553224,808464432,-859045768,-858993460,-859045636,2026687692,-960102352,-285288762,-960102202,1815623788,-859045690,808483020,-956432264, +1714559116,1618477310,1616928864,1623195768,101455920,410517506,404232216,940572792,50796,0,0,808517376,24,0,-864285576,1625292918, +1717992544,220,-859779976,203161720,-859014132,118,-1057174408,1815609464,1616965728,240,2093796470,1625356300,1717991020,3145958,808464496,786552, +-871625716,1625323724,1819831398,812646630,808464432,120,-687931700,198,-858993416,204,-858993544,120,2087085788,61536,2093796470,7692, +1617327836,240,209240188,806355192,875573372,24,-858993460,118,2026687692,48,-16853306,108,1815637190,198,2093796556,63500, +1680906492,807141628,808509488,404226076,404226072,819986456,808459312,-596246304,0,268435456,-960074696,1344143614,-1912586056,-28288808,-33063732,1477803212, +844680991,1879475904,244011008,378208366,-336920468,7212681,7083657,7341766,-2299136,1347559167,-1912586056,1812398040,-16485120,-2097123834,402681406,-1330113675, +1812343552,-1559595776,1856176236,1889681408,1074724352,-1341426432,66238988,1059487982,548466688,483205350,-820028840,-946929869,-2147453761,91501564,-336550728,-253446141, +1946499878,-1934886332,-1594119224,646578277,378208358,213844067,-222238720,-352193349,-369099003,-387388613,1662421986,79856384,-301963872,281874356,281871284,281871028, +1952971139,-855526396,-101895408,268891843,-809303808,1381061456,4242206,28367758,16778886,1081344316,-854608645,1374456336,281871284,-768388519,281871028,281872564, +1912616168,985857559,-387091755,208797728,-956378574,1914306176,1239263,-1269118694,-99562238,16780936,1532582431,229691224,1912603880,1376432150,-1065037261,548405877, +399311028,1946273014,-1017448191,1372293963,-402627399,91546311,1273625058,-1394411802,-337487378,541327299,1329799200,1363234893,14703594,-16,-1,10158079] +} \ No newline at end of file diff --git a/devices/pc/rom/compaq/bios/portable/README.md b/devices/pc/rom/compaq/bios/portable/README.md new file mode 100644 index 000000000..57701a4ca --- /dev/null +++ b/devices/pc/rom/compaq/bios/portable/README.md @@ -0,0 +1,52 @@ +--- +layout: page +title: Compaq Portable Computer ROMs +permalink: /devices/pc/rom/compaq/bios/portable/ +--- + +Compaq Portable Computer ROMs +--- + +The oldest COMPAQ Portable Computer ROM I have is an 8Kb [Rev C ROM](100666-001-REVC.json) from a REV D system board. + +[Compaq Portable System Board REV D](http://archive.pcjs.org/pubs/pc/reference/compaq/images/COMPAQ_Portable_System_Board-FULL.jpg) + +Printed on the back of the system board: + + (C) COMPAQ COMPUTER CORP. 1982 + BOARD NO. 000006-001 REV D 84490 + +Curiously, the system board contains two mask ROMs (AM9265DPC), both labeled `1000666-001 REV.C` but with two different +identifiers: `34569 8350KME` on the ROM in socket U40, and `34569 8350LME` on the ROM the socket below U40. However, +when I dumped the ROMs with my homemade ROM reader, their contents were identical. + +I've seen pictures of other COMPAQ Portable system boards with only one mask ROM installed, so I'm puzzled as to why +my board contains two. Do the contents of the second ROM show up in a different part of the address space? Unless +I'm someday able to power and test this board, I may never know. + +Some clues can be found in this +[COMPAQ Portable/Plus Maintenance Guide (Excerpt)](http://archive.pcjs.org/pubs/pc/reference/compaq/portable/Compaq_Portable_Plus_Support_Discontinued.pdf). +Older (REV B) system boards apparently *did* require 2 ROMs, at locations U40 and U47. REV C and later system boards +required only 1 (REV C or later) ROM at location U40. + +That's all well and good, but it still doesn't explain why my REV D system board contains 2 ROMs. It just raises +more questions. For example, why did *older* system boards require 2 ROMs? Were the earlier BIOS revisions larger +or the ROMs smaller (eg, 4Kb instead of 8Kb)? + +Also, I've come across some other computer history sites that claim the COMPAQ Portable contained "12Kb" of ROM. +Hmmm. + +### System ROM Revisions + +Thanks to the aforementioned Maintenance Guide excerpt, we know that these other COMPAQ Portable ROM revisions existed; +however, REV C is the only revision currently available here. + + Rev ROM # Size Date + --- ---------- ---- ---- + B 100518-001 + C 100666-001 8Kb None + E 100298-004 + F 100298-005 + G 105681-001 + H 106265-001 + J 106265-002 diff --git a/devices/pc/rom/compaq/bios/portable/cpqpatch/CPQPATCH.C b/devices/pc/rom/compaq/bios/portable/cpqpatch/CPQPATCH.C new file mode 100644 index 000000000..8b964ce92 --- /dev/null +++ b/devices/pc/rom/compaq/bios/portable/cpqpatch/CPQPATCH.C @@ -0,0 +1,166 @@ +/* CPQPATCH 1.0 by John Elliott. + * + * Patches the BIOS ROM of the Compaq Portable (revision C) to support + * booting from a hard drive. + * + * This program is public domain. + */ + +#include +#include +#include + +unsigned char rom[8192]; + +#ifdef __PACIFIC__ +#define AV0 "CPQPATCH" +#define EXIT_FAILURE -1 +#define EXIT_SUCCESS 0 +#else +#define AV0 argv[0] +#endif + +/* First patch: New INT19 vector */ +static unsigned char p0[] = { 0x20, 0xf8 }; /* DW 0xF820 */ + +/* Second patch: Convert old INT19 into a subroutine */ +static unsigned char p1[] = { /* Enter with DH = 0 DL = drive */ + 0xbb, 0x40, 0x00, /* P1: MOV BX, 0x40 ;BIOS dseg */ + 0x8E, 0xDB, /* MOV DS, BX */ + 0xB9, 0x03, 0x00, /* MOV CX, 0x0003 ;Try 3 times */ + 0x51, /* TRY: PUSH CX ;Save count */ + 0x52, /* PUSH DX ;Save drive */ + 0xBB, 0x00, 0x00, /* MOV BX, 0x0000 ;Load to */ + 0x8E, 0xC3, /* MOV ES, BX ;segment 0 */ + 0xB4, 0x00, /* MOV AH, 0x00 ;Reset FDC */ + 0xCD, 0x13, /* INT 0x13 ;BIOS disk */ + 0x5A, /* POP DX ;Get drive */ + 0x52, /* PUSH DX ;Save again */ + 0xBB, 0x00, 0x7C, /* MOV BX, 0x7C00 ;Load addr */ + 0xB9, 0x01, 0x00, /* MOV CX, 0x0001 ;Cyl 0 sec 1 */ + 0xB8, 0x01, 0x02, /* MOV AX, 0x0201 ;Read sector */ + 0xCD, 0x13, /* INT 0x13 ;BIOS disk */ + 0x5A, /* POP DX ;drive */ + 0x59, /* POP CX ;count */ + 0x73, 0x03, /* JNC OK ;It worked */ + 0xE2, 0xE2, /* LOOP TRY ;Retry */ + 0xF9, /* STC ;It failed */ + 0xC3, /* RET */ + 0x00, 0x00, 0x00, 0x00, /* ;Unused */ +}; + +/* Third patch: New INT19 entry point. This replaces an unused area. */ +static unsigned char p2[] = { + 0xfb, /* STI */ + 0xBA, 0x00, 0x00, /* TR2: MOV DX, 0x0000 ;Floppy */ + 0xE8, 0xCB, 0xEE, /* CALL P1 ;Try it */ + 0x73, 0x0B, /* JNC GO ;It worked! */ + 0xB2, 0x80, /* MOV DL, 0x80 ;Hard drive */ + 0xE8, 0xC4, 0xEE, /* CALL P1 ;Try it */ + 0x73, 0x04, /* JNC GO ;It worked! */ + 0xCD, 0x20, /* INT 0x20 ;See below */ + 0xEB, 0xED, /* JMPS TR2 ;Loop forever*/ + + 0xEA, 0x00, 0x7C, /* GO: JMPF 0x0000:0x7C00 ;Go to sector*/ + 0x00, 0x00, + 0x00, /* DB 0 ;word align */ + 0xEC, 0x7E, /* DW 07EECh ;checksum */ + 0x00, 0x00, 0x00, 0x00, /* ;Unused */ +/* Note on the INT 0x20: This is not 'program termination' at boot time. The + * Compaq BIOS hooks it and uses it to display the message: + * + * Diskette error + * Replace and strike any key when ready + * + */ +}; + + +void patch() +{ + memcpy(rom + 0x0376, p0, sizeof(p0)); + memcpy(rom + 0x06f2, p1, sizeof(p1)); + memcpy(rom + 0x1820, p2, sizeof(p2)); +} + +unsigned short checksum() +{ + unsigned short total, cur; + int n; + + total = 0; + for (n = 0; n < 8192; n++) + { + cur = rom[n]; + ++n; + cur |= (((unsigned short)rom[n]) << 8); + total += cur; + } + return total; +} + +int main(int argc, char **argv) +{ + FILE *fp; + unsigned short sum; + + if (argc < 3) + { + fprintf(stderr, "Syntax: %s old_rom new_rom\n\n" + /* 1...5...10...15...20...25...30...35...40*/ + "Patches the BIOS ROM of the Compaq\n" + "Portable (revision C) to support booting\n" + "from a hard drive.\n\n" + "This program is public domain.", AV0); + return EXIT_SUCCESS; + } + fp = fopen(argv[1], "rb"); + if (!fp) + { + perror(argv[1]); + return EXIT_FAILURE; + } + if (fread(rom, 1, sizeof(rom), fp) < (int)sizeof(rom)) + { + fprintf(stderr, "Could not read 8k from %s\n", argv[1]); + fclose(fp); + return EXIT_FAILURE; + } + fclose(fp); + if (memcmp(rom + 0x1FEA, "COMPAQ", 6)) + { + fprintf(stderr, "COMPAQ signature not found in %s\n", argv[1]); + return EXIT_FAILURE; + } + if (rom[0x1FE6] != 'C') + { + fprintf(stderr, "ROM revision is not C. This may not work.\n"); + } + sum = checksum(); + if (sum != 0) + { + fprintf(stderr, "ROM checksum is 0x%04x (should be 0). This " + "may not work.\n", sum); + } + patch(); + sum = checksum(); + if (sum != 0) + { + fprintf(stderr, "New checksum is 0x%04x (should be 0). This " + "may not work.\n", sum); + } + fp = fopen(argv[2], "wb"); + if (!fp) + { + perror(argv[2]); + return EXIT_FAILURE; + } + if (fwrite(rom, 1, sizeof(rom), fp) < (int)sizeof(rom)) + { + fprintf(stderr, "Could not write 8k to %s\n", argv[2]); + fclose(fp); + return EXIT_FAILURE; + } + fclose(fp); + return EXIT_SUCCESS; +} diff --git a/devices/pc/rom/compaq/bios/portable/cpqpatch/CPQPATCH.EXE b/devices/pc/rom/compaq/bios/portable/cpqpatch/CPQPATCH.EXE new file mode 100644 index 000000000..ca6e4dc3f Binary files /dev/null and b/devices/pc/rom/compaq/bios/portable/cpqpatch/CPQPATCH.EXE differ diff --git a/devices/pc/rom/compaq/bios/portable/cpqpatch/CPQPATCH.TXT b/devices/pc/rom/compaq/bios/portable/cpqpatch/CPQPATCH.TXT new file mode 100644 index 000000000..b138eed82 --- /dev/null +++ b/devices/pc/rom/compaq/bios/portable/cpqpatch/CPQPATCH.TXT @@ -0,0 +1,67 @@ +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. + diff --git a/devices/pc/rom/compaq/bios/portable3/README.md b/devices/pc/rom/compaq/bios/portable3/README.md index 0f266370c..04d97c527 100644 --- a/devices/pc/rom/compaq/bios/portable3/README.md +++ b/devices/pc/rom/compaq/bios/portable3/README.md @@ -1,12 +1,12 @@ --- layout: page -title: Compaq Portable III Information +title: Compaq Portable III ROMs permalink: /devices/pc/rom/compaq/bios/portable3/ redirect_from: - /devices/pc/bios/compaq/portable3/ --- -Compaq Portable III Information +Compaq Portable III ROMs --- ### System ROM Locations