dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: Digrom2/ATA2

Re: Digrom2/ATA2

From: gizz <>
Date: Mon, 21 Jan 2002 00:10:18 +0100

I think I found why digrom2 doesn't work for me :

in ata.c, in the loop that writes sectors,

                while ((size -= (512 * sectors_per_cluster)) >= 0)

There is a test :

                    if (cluster < 2 || (cluster * sectors_per_cluster) >=

That looks to have been pasted from previous MBR & FAT & root dir extraction

but I traced sectors_per_fat which has a value of : 0x2CAC (5855232 bytes
per fat -- correct)

_AND_ when writing ROM1.DAT, which is cluster-located at 0x0D0012,
the test fails because 8 * D0012 == 680090, which is way greater than 2CAC

The thing is, that the cluster value of D0012 seems to be the relative
cluster of ROM1.DAT (proof of that is that if I read the sector at
'first_sector_of_data + sectors_per_cluster * (D0012 - 2)' I get the
effective content of ROM1.DAT), and not a cluster number in the FAT cluster
I wonder if there is not a confusion between cluster number and cluster
value (or maybe it's in my confused head only :)
I'm pessimistic about my conclusion because digrom2 _works_ for you; unless
it is due to the fact that you guys haven't filled your DukeBox as I did,
and therefore, digrom2 works because your ROM?.DAT files are located at the
beginning of the HD...

I'm wrong somewhere ??

(I'm a FAT32 novice :)

Received on 2002-01-21

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy