RTFSのフォーマット関連ファイルのFIX

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@322 4ee2a332-4b2b-5046-8439-1ba90f034370
This commit is contained in:
shirait 2007-11-22 13:01:11 +00:00
parent a7449d85df
commit 776d0be302
2 changed files with 15 additions and 14 deletions

View File

@ -137,6 +137,7 @@ BOOLEAN pc_mkfs16(int driveno, FMTPARMS *pfmt, BOOLEAN use_raw)
ltotsecs = pfmt->numcyl; ltotsecs = pfmt->numcyl;
ltotsecs *= pfmt->secptrk; ltotsecs *= pfmt->secptrk;
ltotsecs *= pfmt->numhead; ltotsecs *= pfmt->numhead;
ltotsecs -= pfmt->numhide; //ctr modified
if (ltotsecs > 0xffffL) if (ltotsecs > 0xffffL)
{ {
@ -230,7 +231,7 @@ BOOLEAN pc_mkfs16(int driveno, FMTPARMS *pfmt, BOOLEAN use_raw)
} }
if (!devio_write_format(driveno, 0 , &(b[0]), 1, use_raw) ) if (!devio_write_format(driveno, (dword) 0 + pfmt->numhide, &(b[0]), 1, use_raw) )
{ {
goto errex; goto errex;
} }
@ -245,7 +246,7 @@ BOOLEAN pc_mkfs16(int driveno, FMTPARMS *pfmt, BOOLEAN use_raw)
if (fausize == 4) if (fausize == 4)
b[3] = (byte) 0xff; b[3] = (byte) 0xff;
blockno = pfmt->secreserved + (i * pfmt->secpfat); blockno = pfmt->numhide + pfmt->secreserved + (i * pfmt->secpfat); //ctr modified
for ( j = 0; j < pfmt->secpfat; j++) for ( j = 0; j < pfmt->secpfat; j++)
{ {
/* WRITE */ /* WRITE */
@ -259,7 +260,7 @@ BOOLEAN pc_mkfs16(int driveno, FMTPARMS *pfmt, BOOLEAN use_raw)
} }
/* Now write the root sectors */ /* Now write the root sectors */
blockno = pfmt->secreserved + pfmt->numfats * pfmt->secpfat; blockno = pfmt->numhide + pfmt->secreserved + pfmt->numfats * pfmt->secpfat; //ctr modified
rtfs_memset(&b[0], 0, 512); rtfs_memset(&b[0], 0, 512);
for ( j = 0; j < (pfmt->numroot/INOPBLOCK) ; j++) for ( j = 0; j < (pfmt->numroot/INOPBLOCK) ; j++)
{ {

View File

@ -166,18 +166,18 @@ BOOLEAN pc_mkfs32(int driveno, FMTPARMS *pfmt, BOOLEAN use_raw)
for (i=0;i<pfmt->secreserved;i++) for (i=0;i<pfmt->secreserved;i++)
{ {
/* WRITE */ /* WRITE */
if (!devio_write_format(driveno, (dword) i, &(b[0]), 1, use_raw) ) if (!devio_write_format(driveno, pfmt->numhide + (dword) i, &(b[0]), 1, use_raw) ) //ctr modified
{ {
goto errex; goto errex;
} }
} }
#if (INCLUDE_FAT32_BOOT_CODE) #if (INCLUDE_FAT32_BOOT_CODE)
copybuff(&b[0],&FAT32_BOOT_CODE[512],512); copybuff(&b[0],&FAT32_BOOT_CODE[512],512);
if (!devio_write_format(driveno, (dword) 8, &(b[0]), 1, use_raw) ) if (!devio_write_format(driveno, pfmt->numhide + (dword) 8, &(b[0]), 1, use_raw) ) //ctr modified
{ {
goto errex; goto errex;
} }
if (!devio_write_format(driveno, (dword) 2, &(b[0]), 1, use_raw) ) if (!devio_write_format(driveno, pfmt->numhide + (dword) 2, &(b[0]), 1, use_raw) ) //ctr modified
{ {
goto errex; goto errex;
} }
@ -215,8 +215,8 @@ BOOLEAN pc_mkfs32(int driveno, FMTPARMS *pfmt, BOOLEAN use_raw)
ltotsecs = pfmt->numcyl; ltotsecs = pfmt->numcyl;
ltotsecs *= pfmt->secptrk; ltotsecs *= pfmt->secptrk;
ltotsecs *= pfmt->numhead; ltotsecs *= pfmt->numhead;
ltotsecs -= pfmt->numhide;
if (ltotsecs > 0xffffL) if (ltotsecs > 0xffffL)
{ {
/* HUGE partition the 3.xx totsecs field is zeroed */ /* HUGE partition the 3.xx totsecs field is zeroed */
@ -308,8 +308,8 @@ BOOLEAN pc_mkfs32(int driveno, FMTPARMS *pfmt, BOOLEAN use_raw)
rtfs_set_errno(PEINVALIDPARMS); rtfs_set_errno(PEINVALIDPARMS);
goto errex; goto errex;
} }
if (!devio_write_format(driveno, 0, &(b[0]), 1, use_raw) ) if (!devio_write_format(driveno, (dword) 0 + pfmt->numhide, &(b[0]), 1, use_raw) )
{ {
goto errex; goto errex;
} }
@ -321,11 +321,11 @@ BOOLEAN pc_mkfs32(int driveno, FMTPARMS *pfmt, BOOLEAN use_raw)
fr_DWORD( &(b[0x01ec]), (dword)0x00000003); fr_DWORD( &(b[0x01ec]), (dword)0x00000003);
fr_WORD( &(b[0x01fe]), (word)0xaa55); fr_WORD( &(b[0x01fe]), (word)0xaa55);
if (!devio_write_format(driveno, (dword) 7, &(b[0]), 1, use_raw) ) if (!devio_write_format(driveno, pfmt->numhide + (dword) 7, &(b[0]), 1, use_raw) ) //ctr modified
{ {
goto errex; goto errex;
} }
if (!devio_write_format(driveno, (dword) 1, &(b[0]), 1, use_raw) ) if (!devio_write_format(driveno, pfmt->numhide + (dword) 1, &(b[0]), 1, use_raw) ) //ctr modified
{ {
goto errex; goto errex;
} }
@ -347,7 +347,7 @@ BOOLEAN pc_mkfs32(int driveno, FMTPARMS *pfmt, BOOLEAN use_raw)
b[--j] = (byte) 0xff; b[--j] = (byte) 0xff;
} }
blockno = pfmt->secreserved + (i * pfmt->secpfat); blockno = pfmt->numhide + pfmt->secreserved + (i * pfmt->secpfat); //ctr modified
for ( j = 0; j < pfmt->secpfat; j++) for ( j = 0; j < pfmt->secpfat; j++)
{ {
/* WRITE */ /* WRITE */
@ -361,7 +361,7 @@ BOOLEAN pc_mkfs32(int driveno, FMTPARMS *pfmt, BOOLEAN use_raw)
} }
/* Now write the root sectors */ /* Now write the root sectors */
blockno = pfmt->secreserved + pfmt->numfats * pfmt->secpfat; blockno = pfmt->numhide + pfmt->secreserved + pfmt->numfats * pfmt->secpfat; //ctr modified
rtfs_memset(&b[0], 0, 512); rtfs_memset(&b[0], 0, 512);
/* Bug fix 11-22-99 use <pfmt->secpalloc instead of 8 */ /* Bug fix 11-22-99 use <pfmt->secpalloc instead of 8 */
for(k=0;k<pfmt->secpalloc;k++) /* Is 8 blocks per cluster? */ for(k=0;k<pfmt->secpalloc;k++) /* Is 8 blocks per cluster? */