Blah
Wanna Be Programmer
I think the people who set the original standards knew what they were doing, so I'll leave it as such.
aapje89 posted on May 29 2005 at 06:50 PM said:I dont really understand this sentence, do you mean that it would be faster to read 1 16k block than a 8k block?Squidge posted on May 29 2005 at 02:03 PM said:So a 16kb sector would use up 32 of these blocks (16 bytes are reserved per block for system stuff). An 8kb block size would obviously only use up 16 blocks, so would be quicker to read
I meant, if you have larger files on a 16 block size they use less blocks than on a 8k block size, so I thougt it would be faster to read those files (or is that only with hd's?)
aapje89 posted on May 29 2005 at 05:39 PM said:what files did u use to test it?, I dont think I have a lot of files smaller than 2k on my card.
LOL, yeah i swapped 8 and 16kSquidge posted on May 29 2005 at 11:37 PM said:No, I say reading 8kb would be faster than reading 16kb. Or at least that's what it says above in your quote of my wibbling
Blah posted on May 29 2005 at 02:14 PM said:I think the people who set the original standards knew what they were doing, so I'll leave it as such.
Just found this page with some interesting FAT info and a tool that will test how "space optimised" your SMC is...
http://www.project9.com/fat32/#l
This program helps to calculate how much space could be gained with the use of FAT32.
Just found this page with some interesting FAT info and a tool that will test how "space optimised" your SMC is...
http://www.project9.com/fat32/#l
This program helps to calculate how much space could be gained with the use of FAT32.
C:\GP32\FIRMWARE>mkdosfs.exe -s 4 -F 16 -I h: 63965
mkdosfs.exe 2.8 (28 Feb 2001)
Win32 port by Jens-Uwe Mager <jum******an.de>
Warning: block count mismatch: found 48195 but assuming 63965.
C:\GP32\FIRMWARE>
mkdosfs.exe -s 4 -F 16 -I h: 63965
ratx said: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.
Anyway in answer to your question mkdosfs.exe should detect and mark bad the same blocks slubmans does.
ratx posted on May 28 2005 at 03:01 PM said: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:
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