• Please review our updated Terms and Rules here

PS/2 Model 30 8086 BIOS dump?

evildragon

Veteran Member
Joined
May 29, 2007
Messages
1,646
Location
Tampa Florida
I'm doing an experiment with a Model 25 and was wondering if anyone had a BIOS dump of a Model 30, 8086 version? I've been looking online like crazy and haven't found a dump of the 30 or even the 25 (of which I dumped).
 
You are lucky.
Found just 3 day's ago in box of Eproms 2 labeld IBM.
I wondered what they are from.

Found 1 list of Eproms that they mentioned one of the 2.
So think they are indeed from the PS/2 30
61X8937_A58470_IBM87
61X8938_A58470_IBM87

The 61X8938 in this listing found,
Category : System Diagnostics for your computer
Archive : BIOS32X.ZIP
Filename : BIOSSIG.DBA

See attached file for both of them.

View attachment IBM_PS2-30.ZIP
 
You are lucky.
Found just 3 day's ago in box of Eproms 2 labeld IBM.
I wondered what they are from.

Found 1 list of Eproms that they mentioned one of the 2.
So think they are indeed from the PS/2 30
61X8937_A58470_IBM87
61X8938_A58470_IBM87

The 61X8938 in this listing found,
Category : System Diagnostics for your computer
Archive : BIOS32X.ZIP
Filename : BIOSSIG.DBA

See attached file for both of them.

View attachment 63621

Awesome! Thanks, got my 27c256's on order right now.
 
Would you mind sharing the 8525’s ROM dump?

I've got the 00F2122/00F2123 set (06/26/1987, 'Revision 00') at http://IBMMuseum.com/BIOS/8525/

There was supposed to be a 'Revision 01' (11/02/1988) release for the Model 25 as well.

Here is a more complete list of BIOS versions on Model 30:

FRU 68X1627/87: 09/02/1986. Revision 00
[Need FRU please]: 12/12/1986, Revision 01
FRU 61X8937/38 (European version): 12/13/1987, Revision 01 [offered above]
FRU 61X8939/40: 02/05/1987, Revision 02
[Unknown information], Revision 03
FRU 33F4498/99: 01/31/89, Revision 04

I was surprised I didn't have the 12/12/1986 version, but I remember a homemade label I did to mark one set with that date. It is common. The 'Revision 03' may not have been released by IBM, but I interposed it because of the '02' and '04' versions. Since the 61X8937/61X8938 has a datecode of "13/12/87", and is a 'Revision 01', I believe it to be a European version - it also has a date after 'Revision 02' was released in the U.S. as well.

'Revision 04', commonly on what is called the Model 30 "Greenock planar", adds support to run the 30Mb proprietary HDD. Early Model 30 BIOS versions only supported the 20Mb drive. The 'Revision 00' Model 25 BIOS is supposed to support both HDD types. I've also seen the 33F4498/33F4499 set added on a Model 25 planar in the 7690 Nurse Workstation to support the RTC added to a 4-slot riser.
 
The 61X8937_A58470_IBM87.BIN file appears to have bit 0 set on every byte. ("splice" is a tool I recently wrote to merge odd/even pairs and dump some rudimentary information about them.)

% splice --verbose 61X8940.BIN 61X8939.BIN 61X894061X8939.BIN
Written 65536 bytes...
ROM size: 64kB
Entry point: F000:E05B
Date: 02/05/87
IBM PS/2 Model 25 or 30
% xxd 61X894061X8939.BIN | tail -2
0000ffe0: 08ee b8a0 0f48 75fd b00c ee4a 4aeb e000 .....Hu....JJ...
0000fff0: ea5b e000 f030 322f 3035 2f38 3700 fada .[...02/05/87...
% splice --verbose 61X8938_A58470_IBM87.bin 61X8937_A58470_IBM87.bin 61X893861X8937.BIN
Written 65536 bytes...
splice: Warning: Even file 61X8938_A58470_IBM87.bin always has bit 0 set.
ROM size: 64kB
% xxd 61X893861X8937.BIN | tail -2
0000ffe0: 09ee b9a0 0f48 75fd b10c ef4a 4beb e100 .....Hu....JK...
0000fff0: eb5b e100 f131 332f 3132 2f38 3700 fbb7 .[...13/12/87...
%


It is probably safe to conclude that the actual date for the 61X8937 set of ROMs is 12/12/87, although it could be 12/02/87, 12/12/86, or 12/02/86.

There is very little different (at least on the odd ROM) between 61X8937 and 61X8939; I will post later with what I find those differences to be.
 
Last edited:
Here's a preliminary preview of the differences, 61X8938+69X8937 on the left side, 61X8940+61X8939 in the middle for comparison, with the even bytes' bit 0 always 0. 61X8940+61X8939 is on the right side unchanged (without setting bit 0 of the even bytes to 0).

00, 40, 50, e000, and fff0 are obviously just differences in the part number or date.

e6f9 is 1 on 61X8938, 2 on 61X8940.

Off of my (questionable) memory, f1a0-1d0 is character ROM or a drive parameter table.

Bad ROM............................... Comparison ROM........................ Good ROM
00000000: 3631 5838 3833 3820 61X8838. 00000000: 3631 5838 3834 3020 61X8840. 00000000: 3631 5838 3934 3020 61X8940.
00000048: 5858 3838 3839 3233 XX888923 00000048: 5858 3838 3839 3433 XX888943 00000048: 5858 3838 3939 3433 XX889943
00000050: 3837 2020 2828 4243 87..((BC 00000050: 3039 2020 2828 4243 09..((BC 00000050: 3039 2020 2828 4343 09..((CC
0000e000: 3631 5838 3833 3820 61X8838. 0000e000: 3631 5838 3834 3020 61X8840. 0000e000: 3631 5838 3934 3020 61X8940.
0000e6f8: 0001 b400 0000 0017 ........ 0000e6f8: 0002 b400 0000 0017 ........ 0000e6f8: 0002 b400 0000 0017 ........
0000f1a8: 40ca 0200 fae8 ac05 @....... 0000f1a8: 40ca 0200 fa0a e475 @......u 0000f1a8: 40ca 0200 fb0a e475 @......u
0000f1b0: 0ae4 740a cc40 f6c2 ..t..@.. 0000f1b0: 0acd 40f6 c280 74f1 ..@...t. 0000f1b0: 0acd 40f6 c280 74f1 ..@...t.
0000f1b8: 8074 ee32 e4f8 80fc .t.2.... 0000f1b8: 32e4 f880 fc08 7405 2.....t. 0000f1b8: 32e4 f880 fc08 7505 2.....u.
0000f1c0: 0875 04e8 7a01 eae1 .u..z... 0000f1c0: e87e 00eb e480 fc15 .~...... 0000f1c0: e87e 01eb e480 fc15 .~......
0000f1c8: 80fc 1475 04e8 da01 ...u.... 0000f1c8: 7405 e8dd 00eb dae8 t....... 0000f1c8: 7505 e8dd 01eb dae8 u.......
0000f1d0: ead7 5251 521e 0656 ..RQR..V 0000f1d0: 8a05 5251 521e 0656 ..RQR..V 0000f1d0: 8a05 5351 521e 0656 ..SQR..V
0000fff0: ea5b e000 f031 322f .[...12/ 0000fff0: ea5b e000 f030 322f .[...02/ 0000fff0: ea5b e000 f030 322f .[...02/
0000fff8: 3032 2e38 3600 fab7 02.86... 0000fff8: 3035 2e38 3600 fada 05.86... 0000fff8: 3035 2f38 3700 fada 05/87...
 
Last edited:
It seems likely the read of 61X8938 was bad. Check whatever pin goes with data line 0.

This is of interest since it means 61X8938 probably was not some kind of European release. I am analysing the differences between the files; here is a preview of my work so far.

Code:
           61X8938 (bit 0 missing)      61X8940 (bit 0 missing)      61X8940 (correct)
f000:0000: 3631 5838 383[u][b]3[/b][/u] 3[u][b]8[/b][/u]20 61X88[u][b]38[/b][/u]. 3631 5838 383[u][b]4[/b][/u] 3[u][b]0[/b][/u]20 61X88[u][b]40[/b][/u]. 3631 5838 393[u][b]4[/b][/u] 3[u][b]0[/b][/u]20 61X89[u][b]40[/b][/u].
f000:0048: 5858 3838 3839 3[u][b]2[/b][/u]33 XX8889[u][b]2[/b][/u]3 5858 3838 3839 3[u][b]4[/b][/u]33 XX8889[u][b]4[/b][/u]3 5858 3838 3939 3[u][b]4[/b][/u]33 XX8899[u][b]4[/b][/u]3
f000:0050: 3[u][b]8[/b][/u]3[u][b]7[/b][/u] 2020 2828 4243 [u][b]87[/b][/u]..((BC 3[u][b]0[/b][/u]3[u][b]9[/b][/u] 2020 2828 4243 [u][b]09[/b][/u]..((BC 3[u][b]0[/b][/u]3[u][b]9[/b][/u] 2020 2828 4343 [u][b]09[/b][/u]..((CC
f000:e000: 3631 5838 383[u][b]3[/b][/u] 3[u][b]8[/b][/u]20 61X88[u][b]38[/b][/u]. 3631 5838 383[u][b]4[/b][/u] 3[u][b]0[/b][/u]20 61X88[u][b]40[/b][/u]. 3631 5838 393[u][b]4[/b][/u] 3[u][b]0[/b][/u]20 61X89[u][b]40[/b][/u].
f000:e6f8: 000[u][b]1[/b][/u] b400 0000 0017 .[u][b].[/b][/u]...... 000[u][b]2[/b][/u] b400 0000 0017 .[u][b].[/b][/u]...... 000[u][b]2[/b][/u] b400 0000 0017 .[u][b].[/b][/u]......
f000:f1a8: 40ca 0200 fa[u][b]e8[/b][/u] [u][b]ac0[/b][/u]5 @....[u][b]...[/b][/u] 40ca 0200 fa[u][b]0a[/b][/u] [u][b]e47[/b][/u]5 @....[u][b]..u[/b][/u] 40ca 0200 fb[u][b]0a[/b][/u] [u][b]e47[/b][/u]5 @....[u][b]..u[/b][/u]
f000:f1b0: 0a[u][b]e4[/b][/u] [u][b]740a[/b][/u] c[u][b]c4[/b][/u]0 [u][b]f6c2[/b][/u] .[u][b].t..@..[/b][/u] 0a[u][b]cd[/b][/u] [u][b]40f6[/b][/u] c[u][b]28[/b][/u]0 [u][b]74f1[/b][/u] .[u][b].@...t.[/b][/u] 0a[u][b]cd[/b][/u] [u][b]40f6[/b][/u] c[u][b]28[/b][/u]0 [u][b]74f1[/b][/u] .[u][b].@...t.[/b][/u]
f000:f1b8: [u][b]807[/b][/u]4 [u][b]ee32[/b][/u] [u][b]e4f[/b][/u]8 [u][b]80fc[/b][/u] [u][b].t.2....[/b][/u] [u][b]32e[/b][/u]4 [u][b]f880[/b][/u] [u][b]fc0[/b][/u]8 [u][b]7405[/b][/u] [u][b]2.....t.[/b][/u] [u][b]32e[/b][/u]4 [u][b]f880[/b][/u] [u][b]fc0[/b][/u]8 [u][b]7505[/b][/u] [u][b]2.....u.[/b][/u]
f000:f1c0: [u][b]0[/b][/u]87[u][b]5[/b][/u] 0[u][b]4[/b][/u]e[u][b]8[/b][/u] [u][b]7a01[/b][/u] [u][b]eae1[/b][/u] [u][b].u..z...[/b][/u] [u][b]e[/b][/u]87[u][b]e[/b][/u] 0[u][b]0[/b][/u]e[u][b]b[/b][/u] [u][b]e480[/b][/u] [u][b]fc15[/b][/u] [u][b].~......[/b][/u] [u][b]e[/b][/u]87[u][b]e[/b][/u] 0[u][b]1[/b][/u]e[u][b]b[/b][/u] [u][b]e480[/b][/u] [u][b]fc15[/b][/u] [u][b].~......[/b][/u]
f000:f1c8: [u][b]80fc[/b][/u] [u][b]1475[/b][/u] 0[u][b]4[/b][/u]e[u][b]8[/b][/u] da[u][b]01[/b][/u] [u][b]...u..[/b][/u].[u][b].[/b][/u] [u][b]7405[/b][/u] [u][b]e8dd[/b][/u] 0[u][b]0[/b][/u]e[u][b]b[/b][/u] da[u][b]e8[/b][/u] [u][b]t.....[/b][/u].[u][b].[/b][/u] [u][b]7505[/b][/u] [u][b]e8dd[/b][/u] 0[u][b]1[/b][/u]e[u][b]b[/b][/u] da[u][b]e8[/b][/u] [u][b]u.....[/b][/u].[u][b].[/b][/u]
f000:f1d0: [u][b]e[/b][/u]a[u][b]d7[/b][/u] 5251 521e 0656 [u][b]..[/b][/u]RQR..V [u][b]8[/b][/u]a[u][b]05[/b][/u] 5251 521e 0656 [u][b]..[/b][/u]RQR..V [u][b]8[/b][/u]a[u][b]05[/b][/u] 5351 521e 0656 [u][b]..[/b][/u]SQR..V
ffff:0000: ea5b e000 f03[u][b]1[/b][/u] 322f .[...[u][b]1[/b][/u]2/ ea5b e000 f03[u][b]0[/b][/u] 322f .[...[u][b]0[/b][/u]2/ ea5b e000 f03[u][b]0[/b][/u] 322f .[...[u][b]0[/b][/u]2/
ffff:0008: 303[u][b]2[/b][/u] 2e38 3600 fa[u][b]b7[/b][/u] 0[u][b]2[/b][/u].86..[u][b].[/b][/u] 303[u][b]5[/b][/u] 2e38 3600 fa[u][b]da[/b][/u] 0[u][b]5[/b][/u].86..[u][b].[/b][/u] 303[u][b]5[/b][/u] 2f38 3700 fa[u][b]da[/b][/u] 0[u][b]5[/b][/u]/87..[u][b].[/b][/u]
 
Here is good dumped of 61X8938 from my BIOS chip.

https://mega.nz/file/3g90lICK#_oIYrVz2Qo56hveab3VYovdbgDuEycgJlj3LC2DDkM4

http://www.mediafire.com/file/9mcr5viwqpefdl4/file

61x8937 is good dumped.

I know the following rivisions of IBM PS/2 8530, 8525 exists.


1) 8530 (CPU : 8086)

09/02/86 <-- First initial MCGA text font
12/12/86 <-- Minir updated MCGA text font
02/05/87
01/31/89


2) 8530 (CPU : 80286)

08/25/88
06/28/89


3) 8525 (CPU : 8086)


06/26/87 --> with P/N 00F2092 and 00F2093
06/26/87 --> with P/N 00F2122 and 00F2123


4) 8525 (CPU : 80286)

??/??/88


I'm looking for the BIOS of IBM PS/2 8525 286.
 
Last edited:
Did a new read of the 61X8938_A58470
A filthy pin it was.

Seems to be ok now.
Curious If they are the same as the other upload 61X8938

The new file
View attachment 63674
View attachment 63675

Has a valid checksum now:

8530 ROM from 68X1687 and 68X1627: Size: 64kB Start: F000:E05B Date: 09/02/86 8525/8530
8530 ROM from 61X8938 and 61X8937: Size: 64kB Start: F000:E05B Date: 12/12/86 8525/8530 <- this is the one supplied by MauriceH
8530 ROM from 61X8940 and 61X8939: Size: 64kB Start: F000:E05B Date: 02/05/87 8525/8530
8525 ROM from 00F2122 and 00F2123: Size: 64kB Start: F000:E05B Date: 06/26/87 8525 Warning: Invalid checksum C3h (-40h)
8530 ROM from 33F4498 and 33F4499: Size: 64kB Start: F000:E05B Date: 01/31/89 8525/8530

I am curious why the checksum for 00F2122+00F2123 is off by 40h. That would seem to indicate a single bit error of bit 6 somewhere.
 
Here is the comparison of 61X8938 and 61X8940:

Code:
61X8938+61X8937........................|61X8940+61X8939........................
00000000: 3631 5838 393[u][b]3[/b][/u] 3[u][b]8[/b][/u]20- 61X89[u][b]38[/b][/u] |00000000: 3631 5838 393[u][b]4[/b][/u] 3[u][b]0[/b][/u]20- 61X89[u][b]40[/b][/u] 
00000048: 5858 3838 3939 3[u][b]3[/b][/u]33- XX8899[u][b]3[/b][/u]3|00000048: 5858 3838 3939 3[u][b]4[/b][/u]33- XX8899[u][b]4[/b][/u]3
00000050: 3[u][b]8[/b][/u]3[u][b]7[/b][/u] 2020 2828 4343- [u][b]87[/b][/u]- ((CC|00000050: 3[u][b]0[/b][/u]3[u][b]9[/b][/u] 2020 2828 4343- [u][b]09[/b][/u]- ((CC
0000e000: 3631 5838 393[u][b]3[/b][/u] 3[u][b]8[/b][/u]20- 61X89[u][b]38[/b][/u] |0000e000: 3631 5838 393[u][b]4[/b][/u] 3[u][b]0[/b][/u]20- 61X89[u][b]40[/b][/u] 
0000e6f8: 000[u][b]1[/b][/u] b400 0000 0017- .[u][b].[/b][/u]......|0000e6f8: 000[u][b]2[/b][/u] b400 0000 0017- .[u][b].[/b][/u]......
0000f1a8: 40ca 0200 fb[u][b]e8[/b][/u] [u][b]ac0[/b][/u]5- @....[u][b]...[/b][/u]|0000f1a8: 40ca 0200 fb[u][b]0a[/b][/u] [u][b]e47[/b][/u]5- @....[u][b]..u[/b][/u]
0000f1b0: 0a[u][b]e4[/b][/u] [u][b]750a[/b][/u] c[u][b]d4[/b][/u]0 [u][b]f6c2[/b][/u]- .[u][b].u..@..[/b][/u]|0000f1b0: 0a[u][b]cd[/b][/u] [u][b]40f6[/b][/u] c[u][b]28[/b][/u]0 [u][b]74f1[/b][/u]- .[u][b].@...t.[/b][/u]
0000f1b8: [u][b]807[/b][/u]4 [u][b]ee32[/b][/u] [u][b]e4f[/b][/u]8 [u][b]80fc[/b][/u]- [u][b].t.2....[/b][/u]|0000f1b8: [u][b]32e[/b][/u]4 [u][b]f880[/b][/u] [u][b]fc0[/b][/u]8 [u][b]7505[/b][/u]- [u][b]2.....u.[/b][/u]
0000f1c0: [u][b]0[/b][/u]87[u][b]5[/b][/u] 0[u][b]5[/b][/u]e[u][b]8[/b][/u] [u][b]7b01[/b][/u] [u][b]ebe1[/b][/u]- [u][b].u..{...[/b][/u]|0000f1c0: [u][b]e[/b][/u]87[u][b]e[/b][/u] 0[u][b]1[/b][/u]e[u][b]b[/b][/u] [u][b]e480[/b][/u] [u][b]fc15[/b][/u]- [u][b].~......[/b][/u]
0000f1c8: [u][b]80fc[/b][/u] [u][b]1575[/b][/u] 0[u][b]5[/b][/u]e[u][b]8[/b][/u] da[u][b]01[/b][/u]- [u][b]...u..[/b][/u].[u][b].[/b][/u]|0000f1c8: [u][b]7505[/b][/u] [u][b]e8dd[/b][/u] 0[u][b]1[/b][/u]e[u][b]b[/b][/u] da[u][b]e8[/b][/u]- [u][b]u.....[/b][/u].[u][b].[/b][/u]
0000f1d0: [u][b]ebd7[/b][/u] 5351 521e 0656- [u][b]..[/b][/u]SQR..V|0000f1d0: [u][b]8a05[/b][/u] 5351 521e 0656- [u][b]..[/b][/u]SQR..V
0000fff0: ea5b e000 f03[u][b]1[/b][/u] 322f- .[...[u][b]1[/b][/u]2/|0000fff0: ea5b e000 f03[u][b]0[/b][/u] 322f- .[...[u][b]0[/b][/u]2/
0000fff8: 3[u][b]1[/b][/u]3[u][b]2[/b][/u] 2f38 3[u][b]6[/b][/u]00 fa[u][b]b7[/b][/u]- [u][b]12[/b][/u]/8[u][b]6[/b][/u]..[u][b].[/b][/u]|0000fff8: 3[u][b]0[/b][/u]3[u][b]5[/b][/u] 2f38 3[u][b]7[/b][/u]00 fa[u][b]da[/b][/u]- [u][b]05[/b][/u]/8[u][b]7[/b][/u]..[u][b].[/b][/u]

Everthing looks good.
 
Anyone know if the Model 30 BIOS ever had a listing (or a disassembly) published anywhere?

I suppose that's a big fat "no" at least from IBM's side, since that was right when they furiously back-tracked on "open architecture". I could have a go myself, but maybe some commented disassembly is already lying around somewhere?
 
Anyone know if the Model 30 BIOS ever had a listing (or a disassembly) published anywhere?

I suppose that's a big fat "no" at least from IBM's side, since that was right when they furiously back-tracked on "open architecture". I could have a go myself, but maybe some commented disassembly is already lying around somewhere?

I'm starting work on this at https://github.com/JoshRodd/bios8530

The PS/2 era did not generally have ROM BIOS listing, but the PC Convertible did. The PC Convertible's BIOS would be the closest recently published thing to the Model 25/30 BIOS.

My personal agenda is to build a PS/2 Model 25/30 emulator, specifically, an MCGA emulator, probably inside the framework of pcjs.org. My goal of disassembly of the ROM BIOS is to get a better understanding of how the MCGA works, at least in text mode.
 
Last edited:
Here's some more information about the ROM BIOSes that have been published so far:

Code:
rombios % ./build_roms.sh

   Filenames      ROM    Model                Font vectors           ROM BASIC   Copy-    Part numbers 
  Even    Odd     Date               8x16    8x8 (VGA/MCGA)   8x8      vector   rights    Even     Odd 
68X1687 68X1627: 09/02/86 8530 8x16: 3960h 8x8V: 4960h 8x8: FA6Eh BASIC: 6000h 1981 1987 68X1645 68X1693  Part number mismatch
61X8938 61X8937: 12/12/86 8530 8x16: 3A30h 8x8V: 4A30h 8x8: FA6Eh BASIC: 6000h 1981 1987 61X8938 61X8937
61X8940 61X8939: 02/05/87 8530 8x16: 3A30h 8x8V: 4A30h 8x8: FA6Eh BASIC: 6000h 1981 1987 61X8940 61X8939
00F2122 00F2123: 06/26/87 8525 8x16: 2F48h 8x8V: 3F48h 8x8: FA6Eh BASIC: 6000h 1981 1987 00F2122 00F2123
33F4498 33F4499: 01/31/89 8530 8x16: 3A70h 8x8V: 4A70h 8x8: FA6Eh BASIC: 6000h 1981 1989 33F4498 33F4499

Of note:
1. 68X1687 and 68X1627 don't match the part numbers actually inside the ROMs.
2. There is a corrupt version of 00F2122 where the even ROM has bit 2 always set from offset 0 - 2180h (0 - 10C0h in the even ROM itself).
3. There is a corrupt version of 61X8938 where the even ROM has bit 0 always set in the entire ROM. A date of 13/12/86 means you have this corrupt copy.

My "splice" tool checks for these specific errors so you can know if you have a bad copy of a ROM. I have more notes about these different ROM versions at https://github.com/JoshRodd/bios8530/blob/master/doc/manifest.txt.
 
Last edited:
Back
Top