pcjs/devices/pcx86/rom/5170/README.md
2016-05-18 22:18:07 -07:00

133 lines
6.4 KiB
Markdown

---
layout: page
title: IBM PC AT (Model 5170) ROMs
permalink: /devices/pcx86/rom/5170/
redirect_from:
- /devices/pc/5170/
- /devices/pc/bios/5170/
- /devices/pc/rom/5170/bios/
- /devices/pc/rom/5170/
---
IBM PC AT (Model 5170) ROM Revisions
---
There were three ROM BIOS revisions for the IBM PC AT, which we refer to as **[Rev 1](#ibm-pc-at-rom-bios-rev-1)**,
**[Rev 2](#ibm-pc-at-rom-bios-rev-2)**, and **[Rev 3](#ibm-pc-at-rom-bios-rev-3)**. Each revision was used with a
corresponding motherboard type (**Type 1**, **Type 2**, and **Type 3**, respectively), which in turn were used with
corresponding 5170 models ([Models 68 and 99](/devices/pcx86/machine/5170/#models-68-and-99),
[Model 239](/devices/pcx86/machine/5170/#model-239), and
[Models 319 and 339](/devices/pcx86/machine/5170/#models-319-and-339), respectively).
IBM PC AT ROM BIOS (Rev 1)
---
[ATBIOS-REV1.json](1984-01-10/ATBIOS-REV1.json) contains the original IBM PC AT BIOS, dated January 10, 1984
("01/10/84"). It was produced for [5170 Models 68 and 99](/devices/pcx86/machine/5170/#models-68-and-99),
announced August 14, 1984.
Do we really think this PC AT BIOS was "finalized" a full 7 months before the PC AT was even announced, let alone
available? I doubt it. I suspect the BIOS date string was simply never updated to reflect the date of the final
change(s).
From [http://minuszerodegrees.net/bios/BIOS_5170_10JAN84_6MHZ.zip](http://minuszerodegrees.net/bios/):
This is the first BIOS for the IBM 5170.
It is dated 10JAN84.
It is found in type 1 motherboards running at 6 Mhz.
U27 has the IBM part number of 6181028, and is 32K in size
U47 has the IBM part number of 6181029, and is 32K in size
8 bit checksum of 6181028 = 36
8 bit checksum of 6181029 = CA
--
added = 00
There are two BIN files in this ZIP file:
1. BIOS_5170_10JAN84_U27_6181028_27256_6MHZ.BIN --> Use this to create a U27 using a 27256 EPROM (rated at 150nS or faster)
2. BIOS_5170_10JAN84_U47_6181029_27256_6MHZ.BIN --> Use this to create a U47 using a 27256 EPROM (rated at 150nS or faster)
The JSON-encoded ROM image that PCjs uses was created using the *FileDump* command-line *merge* option:
filedump --file=http://archive.pcjs.org/devices/pcx86/rom/5170/BIOS_5170_10JAN84_U27_6181028_27256_6MHZ.BIN --merge=http://archive.pcjs.org/devices/pcx86/rom/5170/BIOS_5170_10JAN84_U47_6181029_27256_6MHZ.BIN --output=ATBIOS-REV1.json --overwrite
Since a MAP file ([ATBIOS-REV1.map](1984-01-10/ATBIOS-REV1.map)) exists as well, it is automatically appended to the JSON file
([ATBIOS-REV1.json](1984-01-10/ATBIOS-REV1.json)) when using a ROM input file (or JSON output file) with a matching filename.
It is also possible to create a merged binary ROM image ([ATBIOS-REV1.rom](http://archive.pcjs.org/devices/pcx86/rom/5170/ATBIOS-REV1.rom))
by adding *--format=rom* to the command-line (the default is *--format=json*).
These operations can only be performed using the *FileDump* command-line interface; the *FileDump* API does not support
either the *merge* option or the appending of MAP data. For the moment, the API can only dump unadorned ROM images; eg:
http://localhost:8088/api/v1/dump/?file=http://archive.pcjs.org/devices/pcx86/rom/5170/ATBIOS-REV1.rom
---
IBM PC AT ROM BIOS (Rev 2)
---
[ATBIOS-REV2.json](1985-06-10/ATBIOS-REV2.json) contains the second IBM PC AT BIOS, dated June 10, 1985.
This BIOS was produced for [5170 Model 239](/devices/pcx86/machine/5170/#model-239), announced October 10,
1985. It increased the number of supported hard disk types from 15 to 23, fixed some bugs, and added support for 720Kb
3.5-inch floppy diskette drives.
From [http://minuszerodegrees.net/bios/BIOS_5170_10JUN85_6MHZ.zip](http://minuszerodegrees.net/bios/):
This is the second BIOS for the IBM 5170.
It is dated 10JUN85.
It is found in type 2 motherboards running at 6 Mhz.
U27 has the IBM part number of 6480090, and is 32K in size
U47 has the IBM part number of 6480091, and is 32K in size
8 bit checksum of 6480090 = 71
8 bit checksum of 6480091 = 8F
--
added = 00
There are two BIN files in this ZIP file:
1. BIOS_5170_10JUN85_U27_6480090_27256.BIN --> Use this to create a U27 using a 27256 EPROM (rated at 150nS or faster)
2. BIOS_5170_10JUN85_U47_6480091_27256.BIN --> Use this to create a U47 using a 27256 EPROM (rated at 150nS or faster)
The JSON-encoded ROM image that PCjs uses was created using the *FileDump* command-line *merge* option:
filedump --file=http://archive.pcjs.org/devices/pcx86/rom/5170/BIOS_5170_10JUN85_U27_6480090_27256.BIN --merge=http://archive.pcjs.org/devices/pcx86/rom/5170/BIOS_5170_10JUN85_U47_6480091_27256.BIN --output=ATBIOS-REV2.json --overwrite
---
IBM PC AT ROM BIOS (Rev 3)
---
[ATBIOS-REV3.json](1985-11-15/ATBIOS-REV3.json) contains the third (and last) IBM PC AT BIOS, dated November 15, 1985.
This BIOS was produced for [5170 Models 319 and 339](/devices/pcx86/machine/5170/#models-319-and-339),
announced April 2, 1986. It added support for 101-key keyboards and 1.44Mb 3.5-inch floppy diskette drives.
Note that, although minuszerodegrees.net says this revision was found in "type 2 motherboards running at 8 Mhz",
the [Vintage Computer Federation](http://www.vcfed.org/forum/showthread.php?26480) refers to the 8Mhz motherboards as
"Type 3".
From [http://minuszerodegrees.net/bios/BIOS_5170_15NOV85_8MHZ_VARIATION_2.zip](http://minuszerodegrees.net/bios/):
This is the third BIOS for the IBM 5170.
It is dated 15NOV85.
It is found in type 2 motherboards running at 8 Mhz.
U27 has the IBM part number of 61X9266, and is 32K in size
U47 has the IBM part number of 61X9265, and is 32K in size
8 bit checksum of 61X9266 = 10
8 bit checksum of 61X9265 = F0
--
added = 00
There are two BIN files in this ZIP file:
1. BIOS_5170_15NOV85_U27_61X9266_27256.BIN --> Use this to create a U27 using a 27256 EPROM (rated at 150nS or faster)
2. BIOS_5170_15NOV85_U47_61X9265_27256.BIN --> Use this to create a U47 using a 27256 EPROM (rated at 150nS or faster)
The JSON-encoded ROM image that PCjs uses was created using the *FileDump* command-line *merge* option:
filedump --file=http://archive.pcjs.org/devices/pcx86/rom/5170/BIOS_5170_15NOV85_U27_61X9266_27256.BIN --merge=http://archive.pcjs.org/devices/pcx86/rom/5170/BIOS_5170_15NOV85_U47_61X9265_27256.BIN --output=ATBIOS-REV3.json --overwrite