ratx
Member
Apologies if someone previously had discovered this but searching didn't find anything...
I have been playing around with a win32 port of "mkdosfs" ( a linux tool for making FAT/12/16 filesystems ) and have discovered 2 things;
1 - You can use this tool to make SMC filesystems in XP via a cardreader, meaning my SMCrecover thing is no longer needed.. yay?
2 - With mkfdosfs you can reduce the number of bytes in each "allocation sector" to 8192,4096 or even 2048 as opposed to the default 16384.
With the default as 16384 it means _any_ file on the SMC is allocated 16k even if its only 1k - not good if you have a SMC full of 8bit roms/images which are often only a few k.
Eg: a chkdsk of my "emus" SMC using a filesystem created by the gpmanager app:
chkdsk on a SMC with the same data formatted via mkdosfs w/8k block size:
So as you should be able to see I have gained 5mb simply by reformatting with a block size more suited to my data... but remember changing the block size won't make any difference if your SMC is full of files greater than 16k in size.
Anyway I have tested my SMC for a while and it seems to work fine.. but I'm hoping a few other brave souls might want to try and see what results they have...
I have attached mkdosfs.exe; it doesn't seem to "guess" the correct number of blocks for my 128M SMC's so the command line I was using was:
where -s is the block size * 2, d: is the drive of my cardreader, and 255950 is the forced number of blocks. You'll have to work out that figure if you have a 64 or 32 SMC.
cheers
I have been playing around with a win32 port of "mkdosfs" ( a linux tool for making FAT/12/16 filesystems ) and have discovered 2 things;
1 - You can use this tool to make SMC filesystems in XP via a cardreader, meaning my SMCrecover thing is no longer needed.. yay?
2 - With mkfdosfs you can reduce the number of bytes in each "allocation sector" to 8192,4096 or even 2048 as opposed to the default 16384.
With the default as 16384 it means _any_ file on the SMC is allocated 16k even if its only 1k - not good if you have a SMC full of 8bit roms/images which are often only a few k.
Eg: a chkdsk of my "emus" SMC using a filesystem created by the gpmanager app:
Code:
131,006,464 bytes total disk space.
868,352 bytes in 49 folders.
126,287,872 bytes in 1,097 files.
3,178,496 bytes available on disk.
16,384 bytes in each allocation unit.
7,996 total allocation units on disk.
194 allocation units available on dis
chkdsk on a SMC with the same data formatted via mkdosfs w/8k block size:
Code:
130,957,312 bytes total disk space.
450,560 bytes in 49 folders.
121,880,576 bytes in 1,097 files.
8,626,176 bytes available on disk.
8,192 bytes in each allocation unit.
15,986 total allocation units on disk.
1,053 allocation units available on disk.
So as you should be able to see I have gained 5mb simply by reformatting with a block size more suited to my data... but remember changing the block size won't make any difference if your SMC is full of files greater than 16k in size.
Anyway I have tested my SMC for a while and it seems to work fine.. but I'm hoping a few other brave souls might want to try and see what results they have...
I have attached mkdosfs.exe; it doesn't seem to "guess" the correct number of blocks for my 128M SMC's so the command line I was using was:
Code:
mkdosfs.exe -s 16 -F 16 -I d: 255950
where -s is the block size * 2, d: is the drive of my cardreader, and 255950 is the forced number of blocks. You'll have to work out that figure if you have a 64 or 32 SMC.
cheers