MSFN Forum: On Superfloppies and their Images - MSFN Forum

Jump to content


  • 9 Pages +
  • « First
  • 6
  • 7
  • 8
  • 9
  • You cannot start a new topic
  • You cannot reply to this topic

On Superfloppies and their Images Rate Topic: -----

#141 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,867
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 26 January 2012 - 10:53 PM

Here's an interesting read: All Those Floppy Disk Formats… by Tim Paterson himself. And it's on-topic too, because it confirms 10 sectors per track is the absolute maximum for Double-Density floppies. There is a controverse point in it, however, because there Tim says that the 9-sector formats were already present in PC-DOS 1.1, which not only contradicts Undocumented DOS (as pointed out in the last comment there by os2museum) and the table by Thom Hogan I posted above, but is, in fact, a mistake, verifiable by simply running PC-DOS 1.1 format, which can only format 160 k and 320 k floppies. The 9-sector formats really were introduced with PC-DOS 2.0, and not before, although I do believe Tim's statement that they knew it was viable perhaps since PC-DOS 1.0 times.


#142 User is offline   rloew 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 935
  • Joined: 30-May 05
  • OS:98SE
  • Country: Country Flag

Posted 27 January 2012 - 12:01 AM

I have created two new formats using 1KB Sectors. A 10 Sector per Track (1.6MB) Bootable HD Floppy and an 11 Sector per Track (1.76MB) Non-Bootable HD Floppy.
A mixed format could hold 1.759MB and be Bootable. A 1.92MB Floppy using three 4KB Sectors per Track can be created, but is very unreliable.

#143 User is online   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,454
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 27 January 2012 - 03:07 AM

Find attached a revised version of KFF spreadsheet.
I corrected the issue by "forcing" anything in the 639<n<2399 sectors size to have 2 sectors per clusters.
This leaves open a possible mistake (still to be verified) about media type 250, but I don't think it is a "real issue".
I re-added the image making part <- please do test it. and report.

The spreadsheet still misses some features, like the 2K/XP vs. DOS reserved sectors emulation for biggish images and a few more, including some switch to more finely choose label, and label type (BS, BS+FS, FS only and 08 vs. 28 type) and possibly a few more bits, but it should be basically working.
I am removing anyway the previous attachment in post #111

For NO apparent reason :w00t: attached is also a small batch to view bootsector contents and make BPB data "human redable".

Clever :unsure: parts:
  • it uses built-in FC.EXE to do the binary reading, no need for external tools ;)
  • the output (left part - hex text) can be copied and pasted directly in Tiny Hexer or similar
  • all variables are defined in the batch as seen on screen (useful for derivative work) and the FULL variable contains the hex text
  • very handy to quickly show contents of a FAT1x bootsector


Limits:
  • only XP and later
  • NOT (yet) duly tested with "strange" characters in text fields like OEM_String, Volume_Label or System_ID
  • Experimental (release 0.01 ALPHA)


Have fun. :)

jaclaz

Attachment view_bs_001.zip removed, see below.

Attached File(s)


This post has been edited by jaclaz: 29 January 2012 - 11:16 AM


#144 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,867
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 27 January 2012 - 06:35 PM

Great! :yes: Thanks! :thumbup

Bug report:

N:\>view_bs N:\noname.bs  => works as expected.
N:\>view_bs n:\noname.bs  => works as expected.
N:\>view_bs .\noname.bs  => works as expected.
N:\>view_bs \noname.bs  => works as expected.
But...
N:\>view_bs noname.bs => gives instead:
noname.bs
File "N:\noname.bs" does not exist or is not 512 bytes in size !

Press any key to continue . . .
You need to supply a target bootsector to view!

view_bs.cmd - small batch file to view BPB data of bootsectors
by jaclaz - version 0.01 ALPHA

Usage:
view_bs.cmd <FAT1x bootsector file>

Examples:
view_bs.cmd test_01.bs
view_bs.cmd C:\BS_tests\test_01.bs
view_bs.cmd "C:\A stoopidly long path containing spaces\a stoopid file name.bs"

Target bootsector file MUST be 512 bytes in size.
Press any key to continue . . .

N:\>



noname.bs is a bootsector, and is exactly 512 bytes long.
N: is a 768 MiB gavotte ramdisk
OS: Win XP SP3

Now, just in case:

C:\>view_bs noname.bs
noname.bs
File "C:\noname.bs" does not exist or is not 512 bytes in size !

Press any key to continue . . .
<etc.>


#145 User is online   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,454
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 28 January 2012 - 04:51 AM

Strange. :w00t:

It works here. :yes:
I tried in both a FAT32 and a NTFS volume (in case the issue is due to the fact that the file is stored directly in the $MFT) but it still does work.

Try replacing:

Quote

IF NOT EXIST %1 GOTO :ERROR1
FOR /F "tokens=3" %%A IN ('DIR "%~1"^|FIND /I "%~1"') DO IF NOT %%A==512 GOTO :ERROR1

with:

Quote

IF NOT EXIST "%~dpnx1" GOTO :ERROR1
FOR /F "tokens=3" %%A IN ('DIR "%~nx1"^|FIND /I "%~nx1"') DO IF NOT %%A==512 GOTO :ERROR1

but it shouldn't make any difference :unsure:.

Create an :ERROR2 at the end

Quote

:Error2
ECHO 2 File "%~dpnx1" does not exist or is not 512 bytes in size 2^^!
ECHO.
PAUSE
GOTO :Usage

and change one of the the two lines to point to :ERROR2 instead of :ERROR1, let's see which one creates the exception.

Post the output of:

Quote

DIR noname.bs


Try replacing:

Quote

FOR /F "tokens=3" %%A IN ('DIR "%~nx1"^|FIND /I "%~nx1"') DO IF NOT %%A==512 GOTO :ERROR1

with:

Quote

IF NOT "%~z1."=="512." GOTO :ERROR1


jaclaz

This post has been edited by jaclaz: 28 January 2012 - 04:53 AM


#146 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,867
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 28 January 2012 - 01:02 PM

View Postjaclaz, on 28 January 2012 - 04:51 AM, said:

Strange. :w00t:

It works here. :yes:
I tried in both a FAT32 and a NTFS volume (in case the issue is due to the fact that the file is stored directly in the $MFT) but it still does work.

Try replacing:

Quote

IF NOT EXIST %1 GOTO :ERROR1
FOR /F "tokens=3" %%A IN ('DIR "%~1"^|FIND /I "%~1"') DO IF NOT %%A==512 GOTO :ERROR1

with:

Quote

IF NOT EXIST "%~dpnx1" GOTO :ERROR1
FOR /F "tokens=3" %%A IN ('DIR "%~nx1"^|FIND /I "%~nx1"') DO IF NOT %%A==512 GOTO :ERROR1

but it shouldn't make any difference :unsure:.

Yet it does:

N:\>nview_bs n:\noname.bs
n:\noname.bs
File "n:\noname.bs" does not exist or is not 512 bytes in size !

Press any key to continue . . .
Terminate batch job (Y/N)? y

N:\>nview_bs N:\noname.bs
N:\noname.bs
File "N:\noname.bs" does not exist or is not 512 bytes in size !

Press any key to continue . . .
Terminate batch job (Y/N)? y

N:\>nview_bs .\noname.bs
.\noname.bs
File "N:\noname.bs" does not exist or is not 512 bytes in size !

Press any key to continue . . .
Terminate batch job (Y/N)? y

N:\>nview_bs \noname.bs
\noname.bs
File "N:\noname.bs" does not exist or is not 512 bytes in size !

Press any key to continue . . .
Terminate batch job (Y/N)? y

N:\>nview_bs noname.bs
noname.bs
File "N:\noname.bs" does not exist or is not 512 bytes in size !

Press any key to continue . . .
Terminate batch job (Y/N)? y


#147 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,867
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 28 January 2012 - 01:09 PM

Now, using instead:

IF NOT EXIST %1 GOTO :ERROR1
FOR /F "tokens=3" %%A IN ('DIR "%~1"^|FIND /I "%~1"') DO IF NOT %%A==512 GOTO :ERROR2

I get:

N:\>eview_bs noname.bs
noname.bs
2 File "N:\noname.bs" does not exist or is not 512 bytes in size 2!

Press any key to continue . . .
Terminate batch job (Y/N)? y

All the other forms work, obviously, since they already did before...

N:\>DIR noname.bs
 Volume in drive N is RamDisk
 Volume Serial Number is 1234-5678

 Directory of N:\

28/01/2012  04:49 PM               512 noname.bs
               1 File(s)            512 bytes
               0 Dir(s)     804,265,984 bytes free



#148 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,867
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 28 January 2012 - 01:23 PM

View Postjaclaz, on 28 January 2012 - 04:51 AM, said:

Try replacing:

Quote

FOR /F "tokens=3" %%A IN ('DIR "%~nx1"^|FIND /I "%~nx1"') DO IF NOT %%A==512 GOTO :ERROR1

with:

Quote

IF NOT "%~z1."=="512." GOTO :ERROR1


:D

N:\>oview_bs noname.bs
noname.bs
EB 27 90 03 01 14 00 00 00 00 00 00 02 02 01 00 Jump_Bytes:        EB2790
02 70 00 80 02 FF 01 00 08 00 02 00 00 00 00 00 OEM_String:      "........"
00 00 00 00 00 00 00 CD 19 FA 8C C8 8E D8 33 D2 Bytes_per_Sector:    512
8E D2 BC 00 7C FB B8 60 00 8E D8 8E C0 33 D2 8B Sectors_per_Cluster: 2
C2 CD 13 72 69 E8 85 00 72 DD 2E 83 3E 03 7C 08 Reserved_Sectors:    1
74 06 2E C6 06 64 7D 02 BB 00 00 2E 8B 0E 03 7C Number_of_FATs:      2
51 B0 09 2A C1 B4 00 8B F0 56 33 D2 33 C0 8A C5 Max_Root_Entries:    112
2E F6 36 64 7D 8A E8 8A F4 8B C6 B4 02 CD 13 72 Small_Type_Sectors:  640
2D 5E 59 2E 29 36 05 7C 74 1F 8B C6 2E F7 26 65 Media_Type:          255
7D 03 D8 FE C5 B1 01 51 BE 08 00 2E 3B 36 05 7C Sectors_per_Fat:     1
7C 05 2E 8B 36 05 7C EB C0 EA 00 00 60 00 BE 67 Sectors_per_Head:    8
7D E8 02 00 EB FE 32 FF 2E AC 24 7F 74 0B 56 B4 Sectors_Before:      0
0E BB 07 00 CD 10 5E EB EF C3 E9 33 FF BB 00 00 Large_Sectors:       0
B9 04 00 B8 01 02 CD 13 1E 72 33 8C C8 8E D8 BF Disk_Number:         0
00 00 B9 0B 00 26 80 0D 20 26 80 4D 20 20 47 E2 Current_head:        0
F4 BF 00 00 BE 8B 7D B9 0B 00 FC F3 A6 75 0F BF NT_Signature:        0
20 00 BE 97 7D B9 0B 00 F3 A6 75 02 1F C3 BE 1B Volume_Serial:      CD19FA8C
7D E8 A2 FF B4 00 CD 16 1F F9 C3 0D 0A 4E 6F 6E Volume_Label:     "3.|"
2D 53 79 73 74 65 6D 20 64 69 73 6B 20 6F 72 20 System_ID:        "`.3"
64 69 73 6B 20 65 72 72 6F 72 0D 0A 52 65 70 6C Magic_bytes:        55AA
61 63 65 20 61 6E 64 20 73 74 72 69 6B 65 20 61
6E 79 20 6B 65 79 20 77 68 65 6E 20 72 65 61 64
79 0D 0A 00 01 00 02 0D 0A 44 69 73 6B 20 42 6F
6F 74 20 66 61 69 6C 75 72 65 0D 0A 00 4D 69 63
72 6F 73 6F 66 74 2C 49 6E 63 20 69 62 6D 62 69
6F 20 20 63 6F 6D 30 69 62 6D 64 6F 73 20 20 63
6F 6D 30 05 C6 06 77 2F FF 83 7E FC 00 75 0B 80
7E F7 3B 75 05 C6 06 76 2F FF 89 EC 5D CA 04 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA


All other forms also work, of course (but I tested them, all the same).
Here's noname.bs, just in case:

Attached File(s)

  • Attached File  noname.7z (523bytes)
    Number of downloads: 8


#149 User is online   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,454
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 28 January 2012 - 01:24 PM

View Postdencorso, on 28 January 2012 - 01:09 PM, said:

All the other forms work, obviously, since they already did before...

N:\>DIR noname.bs
 Volume in drive N is RamDisk
 Volume Serial Number is 1234-5678

 Directory of N:\

28/01/2012  04:49 PM               512 noname.bs
               1 File(s)            512 bytes
               0 Dir(s)     804,265,984 bytes free



Here it is :unsure::

Quote

28/01/2012 04:49 PM 512 noname.bs

With your settings size is 4th token (and not 3rd which happens when you have 24h time set).
But then why the other forms of filename work baffles me.

Attached version 002 with the %~z1 approach, please re-test, so that I can remove version 001.

jaclaz

Attachment removed, see below.

This post has been edited by jaclaz: 29 January 2012 - 11:16 AM


#150 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,867
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 29 January 2012 - 05:20 AM

Yes. The new version works beautifully! You may remove the previous one. :yes:

#151 User is online   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,454
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 29 January 2012 - 11:15 AM

View Postdencorso, on 29 January 2012 - 05:20 AM, said:

Yes. The new version works beautifully! You may remove the previous one. :yes:

Good :), I am removing BOTH 001 AND 002 :w00t:, please meet 003 ;).
(I forgot "Current_head" field in previous ones, and have now added a clearer - hopefully :unsure: - view)

jaclaz

P.S. File updated, small typo, I had "lost" a "%" in the %Volume_Label% of first view.

Attached File(s)


This post has been edited by jaclaz: 29 January 2012 - 02:06 PM


#152 User is online   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,454
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 31 January 2012 - 06:22 PM

In an attempt to better the little batch, I actually seemingly bettered it. :w00t:
Now:
  • it can run on 2K too (no need for fsutil)
  • it can run on read-only media (no more temp file)
  • can process files larger than 512 bytes (like whole floppy or super-floppy images)
  • values are now right-aligned
  • it is a tadbit slower in first screen coming up, though :blushing:


Verson 0.05 attached.

(don't try finding version 0.04, it was for internal use only)

In order to remove the temp file I had to introduce a possible bug, that along the good old tradition I will call "feature" ;).
If the bootsector starts with "::" i.e. with 3A3A the first two bytes will be reported as 0000.
I'll see if I can later remove this "feature".


jaclaz

Attached File(s)



#153 User is online   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,454
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 20 June 2012 - 07:53 AM

For NO apparent reason :w00t:, view_bs_008 :yes: .

It should be almost working, still a couple options missing :blink: .

Still no kids willing to play with me though :(.

jaclaz

Attached File(s)



#154 User is offline   jds 

  • -DOS+
  • PipPipPipPip
  • Group: Members
  • Posts: 595
  • Joined: 03-June 08
  • OS:98SE
  • Country: Country Flag

Posted 22 June 2012 - 02:23 AM

View Postjaclaz, on 01 November 2011 - 04:47 AM, said:

OK, I'll dump the 1232K and 1280K formats. :thumbup
More generally only 512 Bytes/Sectors will be included (besides the booting aspect, I suspect that non 512 bytes/sector formats would have anyway problems in VM's and/or Virtual Drives).
For the record there are the 8.00" floppy formats:
http://support.micro.../kb/75131/en-us
that do have a different sector size, and they will be ignored also.

Hey, great find, jaclaz! I didn't realize these olde 8" floppies had 128 byte and 1024 byte sectors!

View Postrloew, on 01 November 2011 - 11:09 PM, said:

I have a working 1KB Sector Floppy Disk with only a few additional mods needed.
As I expected the BIOS will not boot the Disk, but a slightly non-standard format may make it possible to boot, if I can solve an internal Disk Geometry problem.

Well, the 128 byte and 1024 byte sectors in the above KB are from the time of MS-DOS 1.0 and 2.0, which was pretty much (if not completely) the pre-hard-disk era. So the BIOSes of the time (especially the original IBM one) must have been able to boot with these now-obscure/defunct sector sizes.

Joe.

#155 User is offline   rloew 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 935
  • Joined: 30-May 05
  • OS:98SE
  • Country: Country Flag

Posted 22 June 2012 - 12:41 PM

View Postjds, on 22 June 2012 - 02:23 AM, said:

[

View Postrloew, on 01 November 2011 - 11:09 PM, said:

I have a working 1KB Sector Floppy Disk with only a few additional mods needed.
As I expected the BIOS will not boot the Disk, but a slightly non-standard format may make it possible to boot, if I can solve an internal Disk Geometry problem.

Well, the 128 byte and 1024 byte sectors in the above KB are from the time of MS-DOS 1.0 and 2.0, which was pretty much (if not completely) the pre-hard-disk era. So the BIOSes of the time (especially the original IBM one) must have been able to boot with these now-obscure/defunct sector sizes.

Joe.

I assume so.

Modern BIOSes do support these formats. They can't be booted because the Boot code does not scan for them. It only tries 512 Byte Sectors. I did create a Bootable 1K Sector Floppy by slipping in one 512 Bytes Sector.

#156 User is online   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,454
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 26 September 2012 - 08:27 PM

Before I forget about this, I'd better make a note.

Nice :unsure: experiment (that should be done "mentally" before actually replicating in practice).
  • Take a floppy.
  • Format it under DOS 7.x, give it not a label.
  • Copy to it a single file (whatever smallish file, let's say 2048 bytes or less, like an AUTOEXEC.BAT for example, would do)
  • Make a dd-like copy of the floppy.
  • Format the copy under the same DOS 7.x, still not giving it a label, but this time using the /q switch.
  • Make another dd-like copy of the floppy made in points #1-3
  • Format it from XP command line, stil not giving it a label and use as well the /q switch
  • Compare the two latter floppies with the first one in a hex editor or similar.

Of course the same can be done in a VM and/or using a virtual disk drive with floppy images instead of real floppies.

Questions:
Q1. How many different sectors there are between first and second disk?
Q2. How many different sectors there are between first and third disk?
:angel

jaclaz

#157 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,867
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 28 September 2012 - 01:40 PM

View Postjaclaz, on 26 September 2012 - 08:27 PM, said:

Questions:
Q1. How many different sectors there are between first and second disk?
Q2. How many different sectors there are between first and third disk?
:angel

Q1: 4, of course!
Q2: 5 ?!? :blink:
Posted Image

Note added later:
Just for the record, I used the excellent freeware DiskImage, by Mike Brutman, to generate the floppy images under plain MS-DOS 7.10, and the equally excellent freeware NTRawrite, by Blake Ramsdell, to generate the floppy image at the XP SP3 DOS Box.

Attached File(s)



#158 User is online   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,454
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 29 September 2012 - 03:52 AM

Good. :thumbup
Now, what could have been the reason the good MS guys did that change? :unsure:

The chances of this phenomenon actually "changing something" is in practice virtually 0, as it is actually very rare to have a floppy filled "up to the brim", but I find it "queer".
Could it be some form of "preparation" for NTFS formatting? (that was however removed since day 1, because of the size of the metadata, and was it not for the good Mark Russinovich :yes: - and for the good memory of you know who ;) it would have been deemed as impossible).
Compare with:
http://www.msfn.org/...ize-of-bootsdi/
http://code.google.c.../wiki/Tiny_NTFS

It would be interesting if a simialr experiment would be repeated on a NT 4.0 and on a Win2K machine ... :rolleyes:

jaclaz

#159 User is offline   tomasz86 

  • http://www.windows2000.tk
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,220
  • Joined: 27-November 10
  • OS:Windows 2000 Professional
  • Country: Country Flag

Posted 02 October 2012 - 04:11 AM

This is an image created after using "format /q" in Windows 2000. I used a virtual floppy drive and I'm not sure if everything was done correctly but please check it.

Attached File(s)

  • Attached File  2KIMA.7z (2.73K)
    Number of downloads: 4


#160 User is online   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,454
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 02 October 2012 - 04:50 AM

View Posttomasz86, on 02 October 2012 - 04:11 AM, said:

This is an image created after using "format /q" in Windows 2000. I used a virtual floppy drive and I'm not sure if everything was done correctly but please check it.


You NEED to start from a "fully formatted" under DOS floppy image, as in steps 1-2-3 of the instructions.
I haven't checked the image you posted, but if it was not made like the above and if there are NOT 3 (three) images done EXACTLY as the given instructions, the experiments makes no sense/gives no results you can observe.
You can re-use the files dencorso provided, though, making a copy of 1STIMA.IMA naming it 3rdima2K.ima and formatting it with /q on Windows 2000.

jaclaz

This post has been edited by jaclaz: 02 October 2012 - 04:55 AM


Share this topic:


  • 9 Pages +
  • « First
  • 6
  • 7
  • 8
  • 9
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy