Subversion Repositories freemyipod

Rev

Rev 646 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 646 Rev 650
Line 832... Line 832...
832
            if (l2data < 0x8000) offset = l2data + base;
832
            if (l2data < 0x8000) offset = l2data + base;
833
            else
833
            else
834
            {
834
            {
835
                uint32_t l3idx = sector & 0x1f;
835
                uint32_t l3idx = sector & 0x1f;
836
                uint32_t l3data = ata_bbt[l2data & 0x7fff][l3idx];
836
                uint32_t l3data = ata_bbt[l2data & 0x7fff][l3idx];
837
                for (*physcount = 1; *physcount < count && l3idx + *physcount < 0x20; *physcount++)
837
                for (*physcount = 1; *physcount < count && l3idx + *physcount < 0x20; (*physcount)++)
838
                    if (ata_bbt[l2data & 0x7fff][l3idx + *physcount] != l3data)
838
                    if (ata_bbt[l2data & 0x7fff][l3idx + *physcount] != l3data)
839
                        break;
839
                        break;
840
                offset = l3data + base;
840
                offset = l3data + base;
841
            }
841
            }
842
        }
842
        }