MS/PC DOS 2 IBM-compatible DOS BIOS source?

Discuss MS-DOS, Windows 1, 2 and 3.
Post Reply
buricco
User avatar
Posts: 92
Joined: Tue Jul 21, 2015 7:44 am

MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by buricco »

Has anyone disassembled the DOS BIOS (IBMBIO.COM) from PC DOS 2 or 2.1?

I suppose I could run it through IDA and try to comment it, but I might get some things wrong in the process. I'd like to do some stuff involving the MS-DOS 2.11 sources and having a fully buildable kernel would be nice — the IBMBIO.COM from PC DOS 2.1 works nicely with the MSDOS.SYS from MS-DOS 2.11.

TheDosProgrammer
Posts: 92
Joined: Tue Oct 18, 2016 7:03 pm
Location: Europe

Re: MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by TheDosProgrammer »

Try with Flat Assembler.
Image

buricco
User avatar
Posts: 92
Joined: Tue Jul 21, 2015 7:44 am

Re: MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by buricco »

I don't see the connection? I'm looking for *code*, not assemblers (of which I have several far more suited to the job than FASM).

sparcdr
User avatar
Posts: 138
Joined: Tue Jul 05, 2016 6:57 am

Re: MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by sparcdr »

People "get the code back" by disassembling the objects, and tracing the calls, such as with JD (Java Decompiler) tool for Java classes. There is no silver bullet for all cases.

JustZisGuy
Posts: 271
Joined: Wed Dec 11, 2013 3:24 am

Re: MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by JustZisGuy »

Have you looked at the bios sources for the Zenith Z-100 PC (the IBM compatible version) in the Zenith MS-DOS Programmer's Utility Pack 2.0?

os2fan2
User avatar
Donator
Posts: 1394
Joined: Sun Dec 30, 2007 8:12 am
Location: Brisbane, Queensland
Contact:

Re: MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by os2fan2 »

The thing is that there is no MS/PC DOS 2 BIOS. Until DOS 5, it is MS-DOS compatible, which meant that the video routines varied from machine to machine. That's why you have so many different versions of OEM MS-DOS, and the source code does not come with IO.SYS and MSDOS.SYS. Until this time, you had to check the software to see if it would run on your Tandy or your Olivetti or whatever. IBM sponsered a large number of software, so hardware compatibility was essential.

It was only after Compaq and American Megatrends reverse-engineered the IBM Bios that you start to see IBM compatables, which could run the vast amount of software that IBM sponsored.

I think there's a lot of BIOS versions in things like software emulators.

sparcdr
User avatar
Posts: 138
Joined: Tue Jul 05, 2016 6:57 am

Re: MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by sparcdr »

os2fan2, PCem comes to mind regarding an emulator that is capable of digesting lots of BIOS options. The history section of the Wikipedia on BIOS itself (Which states was coined by Gary Kildall for CP/M in 1975, 6 years before the IBM PC was released) mentions the compartmentalization of IO.SYS and the corresponding vendor segment. (IBMBIO.COM, IBMBIO.SYS, DRBIOS.SYS)

Trend, American Megatrends, IBM (PC, AT, XT, Jr.), Tandy and Award being the major ones, with the first two coming after the reverse engineering happened, whereas Phoenix was the first legal one based purely on technical specifications released by IBM for its own models when the platform was more "open".

Matriks404
Posts: 73
Joined: Wed Jul 24, 2013 8:23 pm
Location: Kraków, Poland

Re: MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by Matriks404 »

MPX-16 OEM tried to be IBM-compatible, and it has source code available but it is based on MS-DOS/PC-DOS 1.x.

buricco
User avatar
Posts: 92
Joined: Tue Jul 21, 2015 7:44 am

Re: MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by buricco »

sparcdr wrote:People "get the code back" by disassembling the objects, and tracing the calls, such as with JD (Java Decompiler) tool for Java classes. There is no silver bullet for all cases.
I'm aware, and I mentioned one such tool by name.
JustZisGuy wrote:Have you looked at the bios sources for the Zenith Z-100 PC (the IBM compatible version) in the Zenith MS-DOS Programmer's Utility Pack 2.0?
Does such a thing exist? Remember, I'm talking about IO.SYS, not the firmware ROMs.
os2fan2 wrote:The thing is that there is no MS/PC DOS 2 BIOS. Until DOS 5, it is MS-DOS compatible, which meant that the video routines varied from machine to machine. That's why you have so many different versions of OEM MS-DOS, and the source code does not come with IO.SYS and MSDOS.SYS. Until this time, you had to check the software to see if it would run on your Tandy or your Olivetti or whatever. IBM sponsered a large number of software, so hardware compatibility was essential.

It was only after Compaq and American Megatrends reverse-engineered the IBM Bios that you start to see IBM compatables, which could run the vast amount of software that IBM sponsored.

I think there's a lot of BIOS versions in things like software emulators.
I think you're also confusing DOS BIOS (i.e., io.sys/ibmbio.com) with the ROM BIOS. Obviously it exists (and has most likely been rewritten from scratch multiple times); otherwise PC DOS 2.x would not boot, nor Compaq DOS 2.x, nor Phoenix MS-DOS 2.11, all of which are versions of MS-DOS 2 that run on stock PCs ;)

The source release of 2.11 contained a BIOS for some noncompatible - and I wasn't able to sufficiently work out its internals to rewrite it as a replacement for IBMBIO.COM, although I believe it could be done.
Matriks404 wrote:MPX-16 OEM tried to be IBM-compatible, and it has source code available but it is based on MS-DOS/PC-DOS 1.x.
And I know there's a working disassembly for the IBMBIO.COM from 1.0, for what it's worth.

JustZisGuy
Posts: 271
Joined: Wed Dec 11, 2013 3:24 am

Re: MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by JustZisGuy »

buricco wrote:Does such a thing exist? Remember, I'm talking about IO.SYS, not the firmware ROMs.
Yes, it is on the FTP under Abandonware Applications in the Misc architecture, since it includes sources for both the Z-100 and Z-100 PC. Zenith was fairly open about this sort of stuff, probably because the original Z-100 was S-100 bus based, so source would let developers adapt Z-DOS/MS-DOS to existing or new S-100 hardware like they did with CP/M. Supposedly everything needed is there to build an IO.SYS. It also includes the manuals. I suspect this implementation may have been authored entirely by Zenith, never the less the DOS 2.x for Z-100 PC boots on IBM compatible hardware.

buricco
User avatar
Posts: 92
Joined: Tue Jul 21, 2015 7:44 am

Re: MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by buricco »

I guess that's academic, since I don't have access to the FTP. (ETA: I found it elsewhere.)

The "Z-100 PC" is, I believe, more PC than Z-100, so it makes sense that the io.sys would run on IBM metal.

buricco
User avatar
Posts: 92
Joined: Tue Jul 21, 2015 7:44 am

Re: MS/PC DOS 2 IBM-compatible DOS BIOS source?

Post by buricco »

So I guess my question has changed to how to successfully roll a bootable disk using the Zenith BIOS, and perhaps strip Zenith-specific stuff out. Maybe that way I can get together a full source tree that can roll both MS-DOS 2.11 and its utilities.

Post Reply