OSDev.org

The Place to Start for Operating System Developers
It is currently Wed Jul 26, 2017 6:48 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 42 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 06, 2016 3:46 am 
Offline
Member
Member

Joined: Thu May 19, 2011 5:13 am
Posts: 194
The 1.44MB FAT32 floppy disk.

Compatible with Windows (XP and above) and Linux as a FAT32 file system as a mounted image or real floppy disk.
Fully compatible with the MS FAT32 specification.

_________________
Mike Gonta
look and see - many look but few see

http://mikegonta.com


Last edited by mikegonta on Mon Apr 10, 2017 11:34 am, edited 14 times in total.

Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 06, 2016 9:40 am 
Offline
Member
Member

Joined: Sat Mar 01, 2014 2:59 pm
Posts: 1103
Would anyone care to explain what the point is here?

_________________
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing


Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 06, 2016 10:30 am 
Offline
Member
Member
User avatar

Joined: Wed Jun 17, 2015 9:40 am
Posts: 406
Location: Athens, Greece
Hi,


onlyonemac wrote:
Would anyone care to explain what the point is here?
Mikegonta made a BIOS extender for protected mode and implemented a FAT32 driver for MikeOS. He shows off that Windows XP can read a physical floppy formatted with FAT32, and then he is showing MikeOS booting from the floppy. Curiously, the floppy has 32 MB capacity.


Regards,
glauxosever

_________________
Before implementing any piece of software, make sure you have designed it to be extendable. Backporting new features into old code is not always easy.


Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 06, 2016 12:12 pm 
Offline
Member
Member

Joined: Thu May 19, 2011 5:13 am
Posts: 194
glauxosdever wrote:
Mikegonta
Mike Gonta
Quote:
.... made a BIOS extender for protected mode
Indeed I did, it's called SudoBIOS. In this case however, the MikeOS is 16-bit real mode.
I'll be releasing the 32-bit protected mode version soon.
Quote:
.... and implemented a FAT32 driver for MikeOS.
Actually, the FAT32 driver is exactly the same as the simple MikeOS FAT12 driver, merely adapted for FAT32 and simplified.
Quote:
He shows off that Windows XP can read a physical floppy formatted with FAT32,
I'm sure all versions of Windows since can read/write it as well, (Windows98 and DOS can't, but probably due to assumptions
they make concerning floppy disks) the XP machine was simply at hand and I don't presently have a USB floppy drive.
Quote:
.... and then he is showing MikeOS booting from the floppy.
Also boots and runs from Qemu/Bochs and a USB flash drive on real hardware.
Quote:
Curiously, the floppy has 32 MB capacity.
The floppy disk (and image) are limited to 1.44 MB, however since Windows will not recognize a FAT32 volume smaller than
32.5 MB some technical trickery was employed.

_________________
Mike Gonta
look and see - many look but few see

http://mikegonta.com


Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 06, 2016 12:17 pm 
Offline
Member
Member

Joined: Fri Jan 30, 2015 4:57 pm
Posts: 215
Location: Germany
That's why floppy disks are usually formatted with fat12.


Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 06, 2016 12:36 pm 
Offline
Member
Member

Joined: Thu May 19, 2011 5:13 am
Posts: 194
Techel wrote:
That's why floppy disks are usually formatted with fat12.
And, that's why the beginner is still using a FAT12 image to start off with.
The MikeOS FAT32 driver is actually simpler than the original FAT12 driver (which I merely modified and simplified).
Say goodbye to FAT12 (and FAT16) and hello to FAT32.

PS. It's not a joke and the floppy disk is real - the image (and basic format) will boot and run from a USB flash drive
on real hardware and work in Qemu/Bochs.

_________________
Mike Gonta
look and see - many look but few see

http://mikegonta.com


Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 06, 2016 1:03 pm 
Offline
Member
Member

Joined: Fri Jan 30, 2015 4:57 pm
Posts: 215
Location: Germany
But why hacking with fat32 on floppy disks if you could also use fat12?


Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 06, 2016 1:36 pm 
Offline
Member
Member

Joined: Thu May 19, 2011 5:13 am
Posts: 194
Techel wrote:
But why hacking with fat32 on floppy disks if you could also use fat12?
Why hack on FAT12 when you can use FAT32?

PS. It has absolutely nothing to do with floppy disks - that was only to get your attention.

_________________
Mike Gonta
look and see - many look but few see

http://mikegonta.com


Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 06, 2016 1:50 pm 
Offline
Member
Member

Joined: Fri Jan 30, 2015 4:57 pm
Posts: 215
Location: Germany
Ok, my attention was successfully grabbed :)
Do what you want to.


Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Sat May 07, 2016 5:45 am 
Offline
Member
Member

Joined: Sat Mar 01, 2014 2:59 pm
Posts: 1103
Techel wrote:
But why hacking with fat32 on floppy disks if you could also use fat12?
Because it sounds really cool!

_________________
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing


Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Wed May 11, 2016 2:36 am 
Offline
Member
Member

Joined: Thu May 19, 2011 5:13 am
Posts: 194
onlyonemac wrote:
Techel wrote:
But why hacking with fat32 on floppy disks if you could also use fat12?
Because it sounds really cool!
The really cool thing is the adaption of the MikeOS FAT12 to FAT32.
The FAT12 floppy disk (image) has long since been the mainstay of the simple OS and standalone system.
Now an even simpler FAT32 system is available.

_________________
Mike Gonta
look and see - many look but few see

http://mikegonta.com


Last edited by mikegonta on Mon Nov 21, 2016 10:24 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 13, 2016 6:58 am 
Offline
Member
Member
User avatar

Joined: Wed Oct 18, 2006 3:45 am
Posts: 9228
Location: An der schönen blauen Donau, watching muppets
Well congratulations. You just increased filesystem overhead to some 20% of your actual disk space. I'm sure it was worth it :wink:

_________________
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]


Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 13, 2016 8:51 am 
Offline
Member
Member
User avatar

Joined: Sat Jan 15, 2005 12:00 am
Posts: 8020
Location: At his keyboard!
Hi,

Combuster wrote:
Well congratulations. You just increased filesystem overhead to some 20% of your actual disk space. I'm sure it was worth it :wink:


Fun facts:
  • For FAT12 for a 1440 KiB volume you get 2880 clusters, so that one "cluster allocation table" costs 2880*1.5 = 4320 bytes, which (rounded up to the nearest sector) consumes 4608 bytes or 0.31% of the disk.
  • For FAT32 the minimum volume size is 65525 (512-byte) clusters and for this case one "cluster allocation table" costs 65525*4 = 262100 bytes, which (rounded up to the nearest sector) consumes 262144 bytes or 17% of the disk.
  • FAT typically uses 2 "cluster allocation tables" (where the second is for redundancy, which is important for floppy where read errors are far more common). The total space consumed by both cluster allocation tables for FAT12 is 0.625% of a 1440 KiB floppy, and FAT32 total space consumed by both cluster allocation tables is a massive 35.5% of a 1440 KiB disk.
  • Because the minimum volume size for FAT32 is larger than 1440 KiB (it's roughly 32 MiB) the extra sectors/clusters that can't exist have be marked as faulty, so the majority of the 35.5% consumed by cluster allocation tables is used to convince an OS not to use sectors that don't exist.

mikegonta wrote:
The really cool thing is the adaption of the MikeOS FAT12 to FAT32.


I disagree. A "really cool" thing would be an OS that doesn't have the massive security and performance problems caused by using (any version of) FAT for storing critical files needed for booting.


Cheers,

Brendan

_________________
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.


Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Fri May 13, 2016 6:22 pm 
Offline
Member
Member

Joined: Thu May 19, 2011 5:13 am
Posts: 194
Combuster wrote:
Well congratulations. You just increased filesystem overhead to some 20% of your actual disk space. I'm sure it was worth it :wink:
It certainly was considering the space savings in the MikeOS-4.5 FAT32 (16-bit real mode) FAT32 driver which uses no 32-bit variables
in any form (instructions, registers, combined registers or memory).

_________________
Mike Gonta
look and see - many look but few see

http://mikegonta.com


Last edited by mikegonta on Mon Nov 21, 2016 10:25 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: The 1.44MB FAT32 floppy disk
PostPosted: Sat May 14, 2016 3:27 am 
Offline
Member
Member

Joined: Sat Mar 01, 2014 2:59 pm
Posts: 1103
Brendan wrote:
I disagree. A "really cool" thing would be an OS that doesn't have the massive security and performance problems caused by using (any version of) FAT for storing critical files needed for booting.
Since when was MikeOS about security anyway? It's about a low-level operating system that's easy to understand and hack around with (and on).

_________________
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 42 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group