• Please review our updated Terms and Rules here

reading DMF

kerravon

Experienced Member
Joined
Oct 31, 2021
Messages
137
I just bought Windows 95 on floppy disks.

They are in DMF format (21 sectors per track instead of 18).

I tried reading them with PDOS/386 and only got standard 1.44 MB.

I figured that was because the BIOS was reporting 18 sectors per track in the Drive Parms call, so I modified PDOS to convert 18 to 21 when that happened.

But it failed to read sector 19 and stopped after the first track.

Note that I am using a 3.5" floppy drive connected via USB. So both the (cheap) floppy drive and the BIOS could be screwing me.

Then I figured it was probably the drive - only being rated at 1.44 MB (can also do 720k), and that if I got a 2.88 MB floppy drive, that would probably solve the problem.

So I searched for 2.88 MB USB floppies on Lazada (Philippines) and didn't find anything. So I searched ebay (worldwide) and found nothing (USB connected, anyway).

Did they actually make such drives (USB), or do you need a real internal drive for that to work?

Have I guessed the situation correctly - USB floppies can only handle 1.44 MB, but a standard internal floppy can read all 21 sectors, which is how Windows 95 managed to be installed by everyone in the first place?


Thanks.
 
USB is like SCSI in the floppy area--and even uses the same command set. USB commodity floppy drives in general can handle 18/512 or 8/1024 in high density mode and 9/512 in low-density. Cheaper drives don't even do that.

If you want to read those Win95 floppies, use a legacy drive--and appropriate driver.
 
Get a GreaseWeazle. It connects via USB as well but interfaces with a proper floppy disk drive. Reading DMF is no issue then.

Though I have no idea how you currently use an USB floppy with PDOS/386, so a GreaseWeazle may or may not be of any help here.
 
Given that this is in "Vintage Computer Programming" and he asks about reading DMF in PDOS/386, I don't think he wants to boot from those disks, nor actually install Windows 95. He's just looking for a way to read 21 sectors.

Otherwise, if the hardware was appropriate for Windows 95, it would have a floppy controller on-board and he would not have to rely on USB.
 
Note that some USB drives with Win9x drivers could read DMF disks; the three mode USB drive from YE-Data was an example. That drive also supported both 1.2MB formats and a couple of the alternate double density formats. Writing the 21 sector format is impossible for all USB drives I know of. Not that the capabilities of a drive from about 25 years ago will be any help for PDOS.
 
Given that this is in "Vintage Computer Programming" and he asks about reading DMF in PDOS/386, I don't think he wants to boot from those disks, nor actually install Windows 95. He's just looking for a way to read 21 sectors.

Otherwise, if the hardware was appropriate for Windows 95, it would have a floppy controller on-board and he would not have to rely on USB.

Mostly correct - since I am creating a competitor to Windows I want to make sure that I am as squeaky clean as possible.

So Win95 is the reference - I want to make sure all my applications run on both PDOS/386 and Win95 (and thus above - as I also check that they still work on Win10).

I have gone through the license agreements looking for any indication that I can't use Microsoft products to make a competitor of Microsoft. So far I haven't seen such a thing in either Win95 or MASM 6.11. But I'm still waiting for a boxed Visual C++ 1.52C and 2.0 or 4.0 to arrive so that I can check them. I've seen restrictions on the freely available Microsoft compilers saying that the executables you produce can't be used on non-Microsoft systems. But not on the commercial ones. I ran into a problem where a some products say to read the license agreement on a website, and that link no longer has my old version.

I have bought something like US$4000 worth of mostly software, mostly Microsoft, from ebay over the last few months. Still, cheaper than a car, and a small part of the imputed labor costs over the last 30 years of development of PDOS.

It is only recently that I have attempted to build PDOS/386 and PDOS/86 with Microsoft tools.

However - I was planning on using/booting Win95 - but under Virtualbox or qemu.

Oh yeah - I do have Windows 95 on CD already - with a key too - but the CD says "for distribution with a new PC only". At some level I am erring on the side of paranoia, so I decided I may be able to be pinged for that too, so decided to buy one without such a restriction.

I'm also getting DOS 6.22. An upgrade version - I haven't seen a full version on ebay. But ... upgrade from what? Well, the pack says I can upgrade from DOS "or compatible" - does PDOS itself count as "compatible"? Who knows what a judge will rule. But the pack also says I can upgrade from OS/2. So I bought an unrestricted OS/2 1.2. I also bought an OS/2 2.0 which turned out to be an upgrade (that wasn't visible on the pack - it was hidden by a sticker), so OS/2 1.2 enabled that to install. I'm not actually using that though - I bought ArcaOS so that I had a commercially-supported rival to Windows. Getting Win32 on it is tricky though. It comes with "pec", but that will only run one Win32 console mode program, not spawn another, and I don't get ANSI output, nevermind input.

BTW - that is actually an interesting model. You can write C90-compliant programs that work on basically all platforms (including IBM mainframes), but you only get command line programs.

Now there is ANSI X3.64 for terminals - so you should be able to write fullscreen apps in a portable manner also. But it seems MSDOS, Windows and mainframes have gone to a lot of effort to suppress that.

I have bypassed the restrictions and deficiencies in all of them in PDOS/86, PDOS/386 and z/PDOS, such that Microemacs 3.6 gives an editor on all of those environments with the exact same source code other than I had to account for EBCDIC ESC being a different codepoint, and the C90 standard doesn't provide a CHAR_ESC define for me. Plus some other EBCDIC differences like the control codes.

The ANSI X3.64 standard allows a terminal to send two ESC when the user presses a real ESC, instead of relying on a non-standard timeout (which wouldn't exist if input was being redirected anyway), so PDOS does that too - allowing the portability.

The Commodore Amiga might have been more successful if IBM PC programmers had been writing their fullscreen applications in a portable manner so that supporting the Amiga required nothing more than a recompilation. That is probably ultimately what I have been doing for almost 40 years - trying to find out the underlying barrier to the Amiga being a viable alternative. Another thing that is cited is that ANSI.SYS was slow - but I think if that had been replaced by something that did direct screen writes (as the apps themselves ended up doing for speed), instead of ANSI.SYS doing DOS and then MSDOS doing BIOS calls, that may well have solved the problem. I haven't attempted to prove that theory by finding/writing an ANSI.SYS and run it on an XT (which I no longer have) - but maybe the new laptop I have on order with a V20 could answer that question - but I really need some proper period machines, and the software. And answering that question isn't priority at the moment for me anyway.
 
Which Country are you in kerravon? I think I have plenty of fresh MS Dos 6.0 through to 6.22 full copies laying around.

The ONLy difference between the Full and Upgrade versions is the installation routine(ie just disk one). You can getr the upgrade version insta;llewd just by having a directory called c:\dos and a fake command.com file in it. Same goes for the Windows for Workgoups 3.11 upgrade which just needs a directory called C:\windows with a fake win.co file in it.
 
Last edited:
Which Country are you in kerravon? I think I have plenty of fresh MS Dos 6.0 through to 6.22 full copies laying around.

The ONLy difference between the Full and Upgrade versions is the installation routine(ie just disk one). You can getr the upgrade version insta;llewd just by having a directory called c:\dos and a fake command.com file in it. Same goes for the Windows for Workgoups 3.11 upgrade which just needs a directory called C:\windows with a fake win.co file in it.

I'm in the Philippines (expat from Australia), but the goal is not to just get DOS installed, it is to be as squeaky clean as possible legally.

Thanks for the offer, but don't worry, I can make do with what I already have. That's interesting in itself - what is actually obtainable on the free market.

BTW, are you sure the copies you have lying around are unrestricted, rather than "for distribution with a new PC"? I already have the latter (multiple copies). So I already have the software itself. What I don't have (until the upgrade arrives) is an answer to a judge when Microsoft's lawyers invalidate my existing copies.

I've also got IBM PC DOS 7.0 on order which appears to be unrestricted and not confined to genuine IBM machines.
 
An upgrade from DOS 6.0. I believe that there may be copies buried in archive.org's MSDN collection.

The box doesn't restrict it to just 6.0.

And yes, of course I can easily download anything I want - but I'm envisaging my day in court facing Microsoft lawyers who are pissed off that I created a clone of their OS - using their OS.

As far as I know I haven't done anything illegal in that - I didn't reverse engineer/disassemble any of their code.

But now that I already have PDOS/386 in an acceptable state (developed using MSDOS, OS/2 and Windows - random versions - and non-Microsoft compilers and assemblers - a variety), I am interested in switching to Windows 95, and possibly a development suite that existed at the time (at least as an option). I wish to cover multiple angles. There isn't an overarching goal. In fact, it isn't clear that there is a coherent goal at all.
 
Aren't the ReactOS people essentially doing the same thing?

Creating a rival/clone to Windows - sure! And they will potentially have to face Microsoft lawyers too, so they have presumably made effort to ensure that they are squeaky clean too.

Or is your question "why did you bother creating PDOS when ReactOS exists"? As far as I know, PDOS/386 predates ReactOS - I started in 1994 - but at the time it wasn't really expected to be a Windows clone. In addition, I want unrestricted public domain so that anyone who sees a commercial opportunity can pick it up without being bound to any restrictions whatsoever. So both of those questions (if they exist), are better directed at the ReactOS people rather than me. :)
 
You'd have to be a pretty big target for Microsoft legal to notice. There's also the question of software patents--I don't know how many are related to Microsoft, but there may lie a trap for the unwary.
 
You'd have to be a pretty big target for Microsoft legal to notice. There's also the question of software patents--I don't know how many are related to Microsoft, but there may lie a trap for the unwary.

I can't predict whether some company will suddenly see a commercial opportunity and pick up PDOS, and that's when I become a target (or maybe the company becomes a target if they don't verify that it was developed legally).

Patents only last 20 years. I'm only implementing things that existed in Windows 95 - and only a subset of that.

Well - unless you want to count that I set the flag to enable ANSI escapes. That's hardly a patentable idea though - ANSI is as old as the hills.
 
I take it that you have not inspected any Win95 systems code, via disassembly? For me, the daunting task would be device driver support. Lots of stuff out there, unless you tailor your code to a specific platform.
 
I take it that you have not inspected any Win95 systems code, via disassembly? For me, the daunting task would be device driver support. Lots of stuff out there, unless you tailor your code to a specific platform.

Correct - never disassembled any Windows code ever.

I'm not trying to support anything that isn't supported via BIOS calls, which is enough to write all the compilers, editors and other tools that I want.

It's an enormous effort just to create the above "base system". 30 years, basically.

It will be up to others - perhaps the very vendors of that "lots of stuff out there" - to create a consortium to challenge Microsoft.

They will be able to use the base system, plus tools, that I provide.

Or they will be able to use the full toolset from Microsoft, assuming their lawyers agree there are no restrictions in the applicable Microsoft license agreements.

BFN. Paul.
 
Note that some USB drives with Win9x drivers could read DMF disks; the three mode USB drive from YE-Data was an example. That drive also supported both 1.2MB formats and a couple of the alternate double density formats. Writing the 21 sector format is impossible for all USB drives I know of. Not that the capabilities of a drive from about 25 years ago will be any help for PDOS.

Thanks - I realized I had managed to lose sight of the original goal. The main reason I was using PDOS/386 to read floppies in the first place is because the USB floppy drives that I bought were not working with my Windows 10. And then to my surprise I found out that my old laptop supported USB floppies in the BIOS (I had seen it written there in plain sight before - but I always assumed that that was for very sophisticated people with complex requirements - as they said on Monty Python "Life of Brian" - "you're one of them! (a Roman)").

So all I really need is a USB floppy drive that can run on Windows 10 and read my DMF floppies.

However, that seemingly straightforward requirement turned out to be another wild goose chase. Even getting that is difficult. At least I was armed with the word "YE-Data", and so far I have found a YD-8U12, but no specs to find out if this is suitable.
 
kerravon said:
The Commodore Amiga might have been more successful if IBM PC programmers had been writing their fullscreen applications in a portable manner so that supporting the Amiga required nothing more than a recompilation. That is probably ultimately what I have been doing for almost 40 years - trying to find out the underlying barrier to the Amiga being a viable alternative.
I think that's a fascinating subject. At its time, as far as I can remember Amiga computers were perceived almost as a game console with a keyboard. Of course, they were able to run business software and they were used as graphic stations, but that's the general perception I felt at the time... Even as a game console it was soon surpased by Sega Genesis and SNES.

Curiously, sometimes happened the opposite you are telling: for example, Deluxe Paint was written in C originally for the Amiga (link to source code). It was ported to IBM and it turned to be even more successful on this platform!
 
Last edited:
Back
Top