Reorganized the BASIC and BIOS ROMs into the ROM folder

This commit is contained in:
Jeff Parsons 2016-02-06 12:20:53 -08:00
commit c9eda96858
86 changed files with 154 additions and 131 deletions

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,168 @@
F000:002C @ POST1
F000:00A6 @ POST1_TEST01 ; TEST.01: 286 PROCESSOR TEST (REAL MODE)
F000:01EE @ POST1_TEST02 ; TEST.02: VERIFY CMOS SHUTDOWN BYTE
F000:0213 @ POST1_TEST03 ; TEST.03: ROS CHECKSUM TEST
F000:0225 @ POST1_TEST04 ; TEST.04: 8253 CHECK TIMER 1 (ALL BITS ON)
F000:025C @ POST1_TEST05 ; TEST.05: 8253 CHECK TIMER 1 (ALL BITS OFF)
F000:027B @ POST1_TEST06 ; TEST.06: 8237 DMA 0 INITIALIZATION
F000:02C6 @ POST1_TEST07 ; TEST.07: 8237 DMA 1 INITIALIZATION
F000:033B @ POST1_TEST08 ; TEST.08: DMA PAGE REGISTER TEST
F000:038E @ POST1_TEST09 ; TEST.09: STORAGE REFRESH TEST
F000:03A6 @ POST1_TEST10 ; TEST.10: 8042 TESTS
F000:03DD @ POST1_GETSW ; GET SWITCH SETTINGS
F000:0426 @ POST1_TEST11 ; TEST.11: BASE 64K R/W STORAGE TEST
F000:0606 @ POST1_SETMFG ; SET MFG_TST
F000:060D @ POST1_TEST11A ; TEST.11A: VERIFY GDT/IDT INSTRUCTIONS
F000:06FA @ POST1_TEST12 ; TEST.12: VERIFY CMOS CHECKSUM
F000:07E2 @ POST1_TEST13 ; TEST.13: PROTECTED MODE TEST
F000:08B7 @ POST1_TEST13A ; TEST.13A: MEMORY SIZE TEST (ABOVE 1024K)
F000:0AB4 @ POST1_TEST14 ; TEST.14: INITIALIZE CRT CONTROLLER
F000:0B27 @ POST1_TEST15 ; TEST.15: VIDEO LINE TEST
F000:0B37 @ POST1_TEST16 ; TEST.16: CRT INTERFACE LINES TEST
0C3F +
F000:0000 @ POST2 ; TEST.17: 8259 PIC TEST
F000:0058 @ POST2_CP27 ; CHECKPOINT 0x27
F000:0093 @ POST2_CP29 ; CHECKPOINT 0x29
F000:00C6 @ POST2_TEST18 ; TEST.18: 8253 TIMER TEST (CHECKPOINT 0x2A)
F000:00E7 @ POST2_ERR102 ; DISPLAY 102 ERROR
F000:00F1 @ POST2_CP2B ; CHECKPOINT 0x2B
F000:0107 . ; TIMER COUNTING TOO FAST, DISPLAY 102 ERROR
F000:0111 @ POST2_CP2C ; CHECKPOINT 0x2C
F000:0139 @ POST2_CP2D ; CHECKPOINT 0x2D
F000:014E @ POST2_TEST19 ; TEST.19: ADDITIONAL MEMORY TESTS (CHECKPOINT 0x2F)
F000:0558 @ POST2_TEST20 ; TEST.20: ADDITIONAL PROTECTED-MODE TESTS
F000:0595 @ POST2_TEST21 ; TEST.21: KEYBOARD TEST (CHECKPOINT 0x35)
F000:05AD @ POST2_CP36 ; CHECKPOINT 0x36 (BEGIN KEYBOARD TEST)
F000:05F6 @ POST2_CP37 ; CHECKPOINT 0x37 (CHECK KBD_RESET SCAN CODE)
F000:05FF @ POST2_CP38 ; CHECKPOINT 0x38 (RE-ENABLE KEYBOARD)
F000:0612 @ POST2_CP39 ; CHECKPOINT 0x39 (STUCK KEYS)
F000:0655 @ POST2_CP3A ; CHECKPOINT 0x3A
F000:06E0 @ POST2_TEST23 ; TEST.23: DISKETTE ATTACHMENT TEST
F000:079E @ POST2_RTCUP ; TEST CLOCK UPDATING
F000:080D @ POST2_COMBOHF ; CHECK FOR COMBO HARD/FLOPPY CARD
F000:0877 @ POST2_TEST22 ; TEST.22: CHECK FOR OPTIONAL ROM
F000:08C3 @ POST2_PRINTER ; SETUP PRINTER_BASE
F000:08E6 @ POST2_PS232 ; SETUP RS232
F000:0998 @ POST2_SETTOD ; SET TIME OF DAY
F000:0A6C @ POST2_INT19 ; GO TO BOOT LOADER
1753 +
F000:0000 @ POST4
F000:007F @ KBD_RESET
F000:00B2 @ TEMP_ISR
F000:00CC @ HW_INT
F000:00E8 @ NOT_SEC
F000:00F6 @ SET_INTR_FLAG
187F +
F000:0000 @ POST5
F000:0055 @ EXC_13 ; INT 13 (0x0D) GP FAULT HANDLER
F000:00B4 @ SYS_32 ; INT 32 (0x20) PROT-MODE TEST HANDLER
199C +
F000:0000 @ POST6
F000:0189 @ XMIT_8042
1C2D +
F000:0000 @ POST7
F000:0043 @ POST7_CPF1 ; CHECKPOINT 0xF1
F000:004B @ POST7_INT20 ; TEST NORMAL SOFTWARE INTERRUPT
F000:007F @ POST7_INT0D ; TEST GP FAULT (SEG LIMIT VIOLATION)
F000:0093 @ POST7_LLDT ; TEST LLDT
F000:00DB @ POST7_BOUND ; TEST BOUND
F000:0146 @ POST7_PUSHA ; TEST PUSHA/POPA
F000:019A @ POST7_VERW ; TEST VERW/VERR
F000:01EC @ POST7_ARPL ; TEST ARPL
F000:021A @ POST7_LAR ; TEST LAR/LSL
F000:0264 @ POST7_LOWMEG ; TEST WRITE TO 0x1B0000 VS. B000:0000
1F1A +
F000:0000 @ SYSINIT1
20A5 +
F000:0000 @ DISKETTE_IO_1
F000:0096 @ DISK_RETRY
F000:01CA @ DISK_RESET
F000:020C @ DISK_STATUS
F000:020D @ DISK_READ
F000:0216 @ DISK_VERF
F000:021A @ DISK_FORMAT
F000:0240 @ DISK_WRITE
F000:024C @ RW_OPN
F000:0382 @ GET_PARM
F000:03E2 @ NEC_OUTPUT
F000:041C @ SEEK
F000:04CA @ DMA_SETUP
F000:051A @ CHK_STAT_2
F000:053B @ WAIT_INT
F000:0569 @ DISK_INT_1
F000:0580 @ RESULTS
F000:05CB @ NUM_TRANS
F000:0604 @ READ_DSKCHNG
F000:0646 @ DISK_CHANGE
F000:0698 @ DISK_TYPE
F000:070D @ FORMAT_SET
F000:0771 @ DSKETTE_SETUP
28DA +
F000:0000 @ HDISK_SETUP
F000:0197 @ HDISK_IO
F000:0212 @ HDISK_IO_CONT
F000:02B3 @ HDISK_RESET
F000:0307 @ RETURN_STATUS
F000:0310 @ HDISK_READ
F000:0318 @ HDISK_WRITE
F000:0320 @ HDISK_VERF
F000:0333 @ FMT_TRK
F000:0349 @ READ_DASD_TYPE
F000:038B @ GET_HDPARM
F000:03EA @ INIT_DRV
F000:041F @ RD_LONG
F000:0427 @ WR_LONG
F000:042F @ HDISK_SEEK
F000:044E @ TST_RDY
F000:0465 @ HDISK_RECAL
F000:0489 @ CTLR_DIAGNOSTIC
F000:04BB @ COMMANDI
F000:04FB @ COMMANDO
F000:0544 @ COMMAND
F000:05A5 @ WAIT
F000:05DF @ NOT_BUSY
F000:0608 @ WAIT_DRQ
F000:061E @ CHECK_STATUS
F000:0630 @ CHECK_ST
F000:0664 @ CHECK_ER
F000:068F @ CHECK_DMA
F000:06B4 @ GET_VEC
F000:06CA @ HD_INT
0000 +
F000:2FC8 @ KEYBOARD_IO_1
F000:3054 @ KB_INT_1
F000:30A9 @ K16
F000:3460 @ SHIP_IT
F000:346F @ PRINTER_IO_1
F000:34F5 @ RS232_IO_1
F000:3605 @ VIDEO_IO_1
F000:364E @ SET_MODE
F000:372A @ SET_CTYPE
F000:3751 @ SET_CPOS
F000:377B @ READ_CURSOR
F000:3792 @ ACT_DISP_PAGE
F000:37B6 @ SET_COLOR
F000:37DC @ VIDEO_STATE
F000:37FF @ SCROLL_UP
F000:38A3 @ SCROLL_DOWN
F000:38F5 @ READ_AC_CURRENT
F000:393B @ WRITE_AC_CURRENT
F000:396E @ WRITE_C_CURRENT
F000:3A3B @ READ_DOT
F000:3A4C @ WRITE_DOT
F000:3D38 @ WRITE_TTY
F000:3DBC @ READ_LPEN
F000:3E62 @ MEMORY_SIZE_DETERMINE_1
F000:3E6C @ EQUIPMENT_1
F000:3E76 @ NMI_INT_1
F000:3F2F @ SET_TOD ; CONVERT CMOS TIME TO TIMER TICKS
F000:3FE2 @ CASSETTE_IO_1
F000:4252 @ SHUT9
F000:4392 @ GATE_A20
F000:445C @ TIME_OF_DAY_1
F000:462A @ RTC_INT
F000:4684 @ TIMER_INT_1
F000:46CC @ PRINT_SCREEN_1
F000:4752 @ FILL
F000:E05B @ START
F000:FFF0 @ P_O_R ; POWER-ON RESET

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,171 @@
F000:0050 @ POST1_TEST01 ; TEST.01: 286 PROCESSOR TEST (REAL MODE)
F000:0187 @ POST1_TEST02 ; TEST.02: ROM CHECKSUM TEST
F000:01A3 @ POST1_TEST03 ; TEST.03: VERIFY CMOS SHUTDOWN BYTE
F000:01C9 @ POST1_TEST04 ; TEST.04: 8254 CHECK TIMER 1 (ALL BITS ON)
F000:01F7 @ POST1_TEST05 ; TEST.05: 8254 CHECK TIMER 1 (ALL BITS OFF)
F000:021D @ POST1_TEST06 ; TEST.06: 8237 DMA 0 INITIALIZATION
F000:025F @ POST1_TEST07 ; TEST.07: 8237 DMA 1 INITIALIZATION
F000:02D4 @ POST1_TEST08 ; TEST.08: DMA PAGE REGISTER TEST
F000:0327 @ POST1_TEST09 ; TEST.09: STORAGE REFRESH TEST
F000:033D @ POST1_TEST10 ; TEST.10: 8042 INTERFACE TEST
F000:03B7 @ POST1_TEST11 ; TEST.11: BASE 64K R/W STORAGE TEST
F000:05D6 @ POST1_TEST11A ; TEST.11A: VERIFY GDT/IDT INSTRUCTIONS
F000:06BE @ POST1_TEST12 ; TEST.12: VERIFY CMOS CHECKSUM
F000:0780 @ POST1_TEST13 ; TEST.13: PROTECTED MODE TEST
F000:086E @ POST1_TEST13A ; TEST.13A: MEMORY SIZE TEST (ABOVE 1024K)
F000:0A99 @ POST1_TEST14 ; TEST.14: INITIALIZE CRT CONTROLLER
F000:0B0D @ POST1_TEST15 ; TEST.15: VIDEO LINE TEST
F000:0B1D @ POST1_TEST16 ; TEST.16: CRT INTERFACE LINES TEST
F000:0C25 @ MFG_BOOT ; MANUFACTURING BOOT TEST CODE ROUTINE
;
; IBM's 11/15/85 ROM BIOS listing shows POST2 located at offset 0C96; it's actual location is 0C94.
;
0C94 +
F000:0000 @ POST2
F000:0868 @ POST2_CHK_HFNUM ; CHECK FOR SECOND FIXED DISK PRESENT BUT NOT DEFINED
;
; IBM's 11/15/85 ROM BIOS listing shows POST3 located at offset 1671; it's actual location is 1675.
;
1675 +
F000:0000 @ POST3
;
; IBM's 11/15/85 ROM BIOS listing shows POST4 located at offset 1941; it's actual location is 1945.
;
1945 +
F000:0000 @ POST4
F000:0000 @ CMOS_READ
F000:001A @ CMOS_WRITE
F000:0034 @ DDS
F000:003C @ E_MSG
F000:0071 @ ERR_BEEP
F000:00AF @ BEEP
F000:00F5 @ WAITF ; FIXED TIME WAIT (CX = COUNT OF 15.085737us INTERVALS TO WAIT)
F000:0104 @ CONFIG_BAD
F000:0118 @ XPC_BYTE
F000:012F @ PRT_SEG
F000:0144 @ PROT_PRT
F000:0170 @ ROM_CHECKSUM
F000:017C @ ROM_CHECK
F000:01AE @ KBD_RESET
F000:01D9 @ BLINK_INT
F000:01E7 @ SET_TOD
;
; IBM's 11/15/85 ROM BIOS listing shows POST5 located at offset 1C38; it's actual location is 1C3E.
;
1C3E +
F000:0000 @ POST5
;
; IBM's 11/15/85 ROM BIOS listing shows POST6 located at offset 1EB5; it's actual location is 1EBB.
;
1EBB +
F000:0000 @ POST6
F000:012C @ XMIT_8042
F000:016D @ BOOT_STRAP_1
;
; IBM's 11/15/85 ROM BIOS listing shows DISKETTE_IO_1 located at offset 2143; it's actual location is 2149.
;
20E9 +
F000:0060 @ DISKETTE_IO_1
F000:00E7 @ DISK_RESET
F000:013C @ DISK_STATUS
F000:0148 @ DISK_READ
F000:0154 @ DISK_WRITE
F000:0160 @ DISK_VERF
F000:016C @ DISK_FORMAT
F000:00E7 @ DISK_RESET
F000:01D2 @ DISK_PARMS
F000:02AD @ DISK_CHANGE ; RETURNS THE STATE OF THE DISK CHANGE LINE
F000:02D8 @ FORMAT_SET
F000:028B @ DISK_TYPE
F000:0339 @ SET_MEDIA
F000:03AC @ DR_TYPE_CHECK
F000:03CC @ SEND_SPEC
F000:0403 @ XLAT_NEW
F000:0429 @ XLAT_OLD
F000:07F5 @ SETUP_END
F000:080F @ SETUP_DBL ; CHECK DOUBLE STEP
F000:0873 @ READ_ID
F000:0888 @ CMOS_TYPE
F000:08B6 @ MOTOR_ON
F000:0994 @ NEC_OUTPUT
F000:09C0 @ SEEK
F000:0A85 @ RESULTS
F000:0AC4 @ READ_DSKCHNG
F000:0A5D @ WAIT_INT
F000:0AF5 @ DISK_INT_1
F000:0B0C @ DSKETTE_SETUP
F000:0B60 @ DISK_SETUP
F000:0D09 @ DISK_IO
2C69 +
F000:0000 @ HDISK_SETUP
F000:0104 @ HD_RESET_1
F000:017C @ SET_FAIL
F000:018A @ POD_TCHK
F000:01A9 @ HDISK_IO
F000:0225 @ HDISK_IO_CONT
F000:02C1 @ HDISK_RESET
F000:0315 @ HDISK_STATUS
F000:031E @ HDISK_READ
F000:0325 @ HDISK_WRITE
F000:032C @ HDISK_VERF
F000:033E @ FMT_TRK
F000:0353 @ READ_DASD
F000:0393 @ GET_PARM
F000:03F1 @ INIT_DRV
F000:0423 @ RD_LONG
F000:042A @ WR_LONG
F000:0431 @ DISK_SEEK
F000:044F @ TST_RDY ; TEST HARD DISK READY (AH = 0x10)
F000:0466 @ HDISK_RECAL
F000:048E @ CTLR_DIAGNOSTIC
F000:04C6 @ COMMANDI
F000:0505 @ COMMANDO
F000:055C @ COMMAND
F000:05C2 @ WAIT
F000:05F3 @ NOT_BUSY
F000:061A @ WAIT_DRQ
F000:0630 @ CHECK_STATUS
F000:0642 @ CHECK_ST
F000:0676 @ CHECK_ER
F000:06A1 @ CHECK_DMA
F000:06C4 @ GET_VEC
F000:06DA @ HD_INT
3366 +
F000:0000 @ KEYBOARD_IO_1
F000:00C7 @ K1S ; READ THE KEY TO FIGURE OUT WHAT TO DO
F000:0103 @ K2S ; READ THE KEY TO SEE IF ONE IS PRESENT
F000:0125 @ KIO_E_XLAT ; TRANSLATE SCAN CODE PAIRS FOR EXTENDED CALLS
F000:0130 @ KIO_S_XLAT ; TRANSLATE SCAN CODE PAIRS FOR STANDARD CALLS
F000:0168 @ K4 ; INCREMENT BUFFER POINTER ROUTINE
F000:0175 @ KB_INT_1 ; KEYBOARD INTERRUPT ROUTINE
F000:018B @ KB_INT_01 ; WAIT FOR KEYBOARD DISABLE COMMAND TO BE ACCEPTED
F000:019D @ KB_INT_02 ; CHECK FOR A RESEND COMMAND TO KEYBOARD
F000:01AF @ KB_INT_4 ; RESEND THE LAST BYTE
F000:01B8 @ KB_INT_2 ; UPDATE MODE INDICATORS IF CHANGE IN STATE
F000:01CA @ UP0 ; START OF KEY PROCESSING
F000:0258 @ T_SYS_KEY ; TEST FOR SYSTEM KEY
F000:0299 @ K16A ; TEST FOR SHIFT KEYS
F000:02AC @ K17 ; SHIFT KEY FOUND
F000:02BE @ K17C ; SHIFT KEY FOUND, DETERMINE SET OR TOGGLE
F000:0335 @ K23 ; BREAK SHIFT FOUND
F000:0385 @ K25 ; TEST FOR HOLD STATE
F000:039E @ K26A ; INTERRUPT RETURN
F000:05EE @ K57 ; PUT CHARACTER INTO BUFFER
F000:0635 @ SHIP_IT ; HANDLE TRANSMISSION OF BYTES TO 8042
F000:0644 @ SND_DATA ; HANDLE TRANSMISSION OF COMMAND AND DATA BYTES
F000:0680 @ SND_LED ; TURN ON THE MODE INDICATORS
F000:06D1 @ MAKE_LED ; FORM THE DATA BYTE FOR THE MODE INDICATORS
448D +
F000:0000 @ CASSETTE_IO_1 ; BIOS1 (11/15/85)
F000:0065 @ INT15_EVENT_WAIT
F000:00D0 @ INT15_JOY_STICK
F000:016A @ INT15_WAIT
F000:01CA @ INT15_BLOCKMOVE
F000:028A @ SHUT9 ; RETURN FROM SHUTDOWN
F000:03CC @ GATE_A20
F000:03E5 @ EMPTY_8042
F000:03EE @ EXT_MEMORY
F000:03FA @ X_VIRTUAL
4915 +
F000:0000 @ TIME_OF_DAY_1 ; BIOS2 (11/15/85)
F000:0182 @ RTC_INT ; ALARM INTERRUPT (INT 0x70, IRQ 8)

View file

@ -0,0 +1,105 @@
---
layout: page
title: IBM PC AT (Model 5170) BIOS
permalink: /devices/pc/rom/5170/bios/
redirect_from:
- /devices/pc/bios/5170/
---
IBM PC AT (Model 5170) BIOS
---
[1984-01-10.json](1984-01-10.json) contains the original IBM PC AT BIOS.
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/pc/rom/5170/bios/BIOS_5170_10JAN84_U27_6181028_27256_6MHZ.BIN --merge=http://archive.pcjs.org/devices/pc/rom/5170/bios/BIOS_5170_10JAN84_U47_6181029_27256_6MHZ.BIN --output=1984-01-10.json --overwrite
Since a MAP file ([1984-01-10.map](1984-01-10.map)) exists as well, it is automatically appended to the JSON file
([1984-01-10.json](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](http://archive.pcjs.org/devices/pc/rom/5170/bios/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://localhost:8088/api/v1/dump/?file=http://archive.pcjs.org/devices/pc/rom/5170/bios/1984-01-10.rom
---
IBM PC AT (Model 5170) BIOS ("Rev 2")
---
[1985-06-10.json](1985-06-10.json) contains the second IBM PC AT BIOS, dated June 10, 1985, which expanded hard disk
support from 15 to 23 drive types, 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/pc/rom/5170/bios/BIOS_5170_10JUN85_U27_6480090_27256.BIN --merge=http://archive.pcjs.org/devices/pc/rom/5170/bios/BIOS_5170_10JUN85_U47_6480091_27256.BIN --output=1985-06-10.json --overwrite
---
IBM PC AT (Model 5170) BIOS ("Rev 3")
---
[1985-11-15.json](1985-11-15.json) contains the third (and last) IBM PC AT BIOS, dated November 15, 1985,
which added support for 101-key keyboards and 1.44Mb floppy diskette drives.
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/pc/rom/5170/bios/BIOS_5170_15NOV85_U27_61X9266_27256.BIN --merge=http://archive.pcjs.org/devices/pc/rom/5170/bios/BIOS_5170_15NOV85_U47_61X9265_27256.BIN --output=1985-11-15.json --overwrite