pcjs/devices/pc/bios/5170
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jeff Parsons 0f06c3f039 The 5170 AT hard disk controller is limping along now, so I'm getting ready for a 1.15.4 release
Some other interesting bugs were fixed along the way:
the Video component incorrectly assumed that masking a negative number with 0x80000000 would yield 0x80000000 (it actually yields -0x80000000, thank you JavaScript);
the ChipSet component provides a new addCMOSMemory() interface that RAM objects can use to bump the CMOS total to match the actual total;
the CPU properly implements INSW and OUTSW instructions now (kind of important for the AT hard disk controller)
2014-10-08 16:15:12 -07:00
..
1984-01-10.json The 5170 AT hard disk controller is limping along now, so I'm getting ready for a 1.15.4 release 2014-10-08 16:15:12 -07:00
1984-01-10.map The 5170 AT hard disk controller is limping along now, so I'm getting ready for a 1.15.4 release 2014-10-08 16:15:12 -07:00
README.md Updated the 5170 BIOS map, updated 8042 info, fixed some 8042 controller commands, made HLT work, and fixed the debugger's history buffer when executing a mix of real-mode and protected-mode instructions 2014-10-01 17:33:17 -07:00

From http://minuszerodegrees.net/bios/BIOS_5170_10JAN84_6MHZ/README.TXT:

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://static.pcjs.org/devices/pc/bios/5170/BIOS_5170_10JAN84_U27_6181028_27256_6MHZ.BIN --merge=http://static.pcjs.org/devices/pc/bios/5170/BIOS_5170_10JAN84_U47_6181029_27256_6MHZ.BIN --output=1984-01-10.json --overwrite

Since a MAP file (1984-01-10.map) exists as well, it is automatically appended to the JSON file (1984-01-10.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 (1984-01-10.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://www.pcjs.org/api/v1/dump/?file=http://static.pcjs.org/devices/pc/bios/5170/1984-01-10.rom