• Please review our updated Terms and Rules here

Formatting a 3.5" Disk on a 5150

Unless there's something inside I don't know about, I have an XT with a 360k as a: and a 720k as b: and the latter formats just fine as best I can tell. At least it seems to boot my PC Convertible ok.
 
Unless there's something inside I don't know about, I have an XT with a 360k as a: and a 720k as b: and the latter formats just fine as best I can tell. At least it seems to boot my PC Convertible ok.

I guess this only applies to the 5150


All you should need to do is change /D:0 do /D:1. That is the internal BIOS number assigned to the drive, and exactly like how all other counting in the world isn't, it starts at zero.

Thanks. That worked.
 
I know that you need to add a line to the config.sys to properly format a 720K 3.5" disk on an IBM 5150, but the command listed here (http://minuszerodegrees.net/5150_5160/720k/5150_5160_720k_driversys.htm) assumes that the 3.5" drive is the A drive.
I have changed the web page to cater for B:

Unless there's something inside I don't know about, I have an XT with a 360k as a: and a 720k as b: and the latter formats just fine as best I can tell.
Per the web page that was pointed to, in an IBM 5160 (IBM XT), the problem only exists if the 5160 has the first revision of BIOS. Your 5160 probably has a later revision.
 
No one should be using DRIVER.SYS! It takes up RAM and makes you use a different drive letter. It is an ancient kludge best left in the dustbin of obsolete DOS commands along with FASTOPEN and RECOVER.

Use SETBPB35 instead -- it's easier and doesn't take up any RAM:

ftp://ftp.oldskool.org/pub/tvdog/tandy1000/misc/setbpb.zip

This program will set the device characteristics for the A or the B diskette drive to indicate that the drive is a 720K drive instead of a 360K drive. The only command line parameter is the drive letter (A or B).

For example, to indicate that your B drive is a 720K 3.5" diskette drive:

SETBPB35 B
 
DRIVPARM will do the same thing from CONFIG.SYS.

Correct, but DRIVPARM wasn't fully supported in DOS 3.x, so for those users, SETBPB35 is a better option. In DOS 3.2 and 3.3, DRIVPARM was a hidden command that required a hack to make it work unless an OEM decided to support it. Full support began with MS-DOS 3.3a (an OEM-only release) and IBM DOS 4.0.
 
That's odd, the XT clones I have worked with always required a DOS tweak like drivparm or driver.sys unless the FDC had its own BIOS or it had a customized OEM DOS (Like the Kaypro 2000). Never happened to observe how a 720k drive worked on a genuine IBM 5160. How does that determine the drive type? Does it do a seek on boot?

Of course drivparm is not available in earlier DOS versions and requires a hack to get it to work in vanilla MS-DOS 3.3.
 
No, the 5150/5160 BIOS cannot differentiate between a 40- and 80-cylinder disk drive. You can go in and hack the BPB for the drive however. Of course, this probably won't work on DOS 1.x, but I haven't tried. There were DOS 1.x systems that did use 80 cylinder drives, so it's possible.

The amount of memory taken up by DRIVER.SYS should not be overestimated. It does scarcely more than dummy up a DPB for a drive. Load up, say, DOS 5.0 with a DRIVER.SYS and use MSD to see how much memory it's actually taking--very little, certainly not as much as the size of the executable file (which is mostly initialization code) would have you believe.

Better yet, look at the code for DRIVER.SYS in the DOS 6.00 source that, AFAIK, is still wandering around the web.
 
Back
Top