mirror of
https://github.com/aaru-dps/Aaru.Server.git
synced 2025-12-16 19:24:27 +00:00
AROS i386 boot floppies start with a PC boot sector before the
Amiga BootBlock (that is unused).
This commit is contained in:
@@ -219,6 +219,14 @@ namespace DiscImageChef.Filesystems
|
|||||||
byte[] sector = imagePlugin.ReadSectors(0 + partitionStart, 2);
|
byte[] sector = imagePlugin.ReadSectors(0 + partitionStart, 2);
|
||||||
BootBlock bblk = BigEndianMarshal.ByteArrayToStructureBigEndian<BootBlock>(sector);
|
BootBlock bblk = BigEndianMarshal.ByteArrayToStructureBigEndian<BootBlock>(sector);
|
||||||
|
|
||||||
|
// AROS boot floppies...
|
||||||
|
if(sector.Length >= 512 && sector[510] == 0x55 && sector[511] == 0xAA &&
|
||||||
|
(bblk.diskType & FFS_Mask) != FFS_Mask && (bblk.diskType & MuFS_Mask) != MuFS_Mask)
|
||||||
|
{
|
||||||
|
sector = imagePlugin.ReadSectors(1 + partitionStart, 2);
|
||||||
|
bblk = BigEndianMarshal.ByteArrayToStructureBigEndian<BootBlock>(sector);
|
||||||
|
}
|
||||||
|
|
||||||
// Not FFS or MuFS?
|
// Not FFS or MuFS?
|
||||||
if((bblk.diskType & FFS_Mask) != FFS_Mask &&
|
if((bblk.diskType & FFS_Mask) != FFS_Mask &&
|
||||||
(bblk.diskType & MuFS_Mask) != MuFS_Mask)
|
(bblk.diskType & MuFS_Mask) != MuFS_Mask)
|
||||||
|
|||||||
Reference in New Issue
Block a user