Checking the x-loader history, I found this commit from April 2010:
--- a/fs/fat/fat.c
+++ b/fs/fat/fat.c
@@ -145,13 +145,11 @@ fat_register_device(block_dev_desc_t *dev_desc, int part_n return -1;
}
#else
- /* FIXME we need to determine the start block of the
- * partition where the DOS FS resides. This can be done
- * by using the get_partition_info routine. For this
- * purpose the libpart must be included.
- */
- part_offset=63;
- //part_offset=0;
+ part_offset = buffer[DOS_PART_TBL_OFFSET+8] |
+ buffer[DOS_PART_TBL_OFFSET+9] <<8 |
+ buffer[DOS_PART_TBL_OFFSET+10]<<16 |
+ buffer[DOS_PART_TBL_OFFSET+11]<<24;
+ cur_part = 1;
#endif
}
that's probably the limitation for x-loader at least; not sure about the ROM.
Checking the x-loader history, I found this commit from April 2010:
--- a/fs/fat/fat.c device( block_dev_ desc_t *dev_desc, int part_n
return -1; DOS_PART_ TBL_OFFSET+ 8] | DOS_PART_ TBL_OFFSET+ 9] <<8 | DOS_PART_ TBL_OFFSET+ 10]<<16 | DOS_PART_ TBL_OFFSET+ 11]<<24;
cur_part = 1;
+++ b/fs/fat/fat.c
@@ -145,13 +145,11 @@ fat_register_
}
#else
- /* FIXME we need to determine the start block of the
- * partition where the DOS FS resides. This can be done
- * by using the get_partition_info routine. For this
- * purpose the libpart must be included.
- */
- part_offset=63;
- //part_offset=0;
+ part_offset = buffer[
+ buffer[
+ buffer[
+ buffer[
+
#endif
}
that's probably the limitation for x-loader at least; not sure about the ROM.