diff --git a/makerom/ncsd.c b/makerom/ncsd.c index 2827f5b..4f01c64 100644 --- a/makerom/ncsd.c +++ b/makerom/ncsd.c @@ -681,17 +681,14 @@ bool IsCci(u8 *ncsd) u64 GetPartitionOffset(u8 *ncsd, u8 index) { cci_hdr *hdr = (cci_hdr*)ncsd; - u32 media_size = 1 << (hdr->flags[cciflag_MEDIA_BLOCK_SIZE] + 9); - u32 offset = u8_to_u64(hdr->offset_sizeTable[index].offset,LE); - return (u64)offset*(u64)media_size; + u32 offset = ; + return (u64)u8_to_u64(hdr->offset_sizeTable[index].offset,LE) * (u64)GetCtrBlockSize(hdr->flags[cciflag_MEDIA_BLOCK_SIZE]); } u64 GetPartitionSize(u8 *ncsd, u8 index) { cci_hdr *hdr = (cci_hdr*)ncsd; - u32 media_size = 1 << (hdr->flags[cciflag_MEDIA_BLOCK_SIZE] + 9); - u32 size = u8_to_u64(hdr->offset_sizeTable[index].size,LE); - return (u64)size*(u64)media_size; + return (u64)u8_to_u64(hdr->offset_sizeTable[index].size,LE) * (u64)GetCtrBlockSize(hdr->flags[cciflag_MEDIA_BLOCK_SIZE]); } u8* GetPartition(u8 *ncsd, u8 index)