mirror of
https://github.com/aaru-dps/Aaru.git
synced 2026-02-04 00:54:33 +00:00
MAME-formatted HDI image unable to have filesystem identified #855
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @einstein95 on GitHub (Dec 13, 2021).
Originally assigned to: @claunia on GitHub.
Version
5.3.0
Commit hash
No response
Tested debug version?
Which operating systems have you used?
What is the architectural bit size you're using?
What processor are you using?
Image format
HDI
Application that created the image
NHC for Linux Ver.0 alpha49 2021/10/03; MAME v0.238
What were you doing when it failed?
Destination image format
No response
Filesystem
FAT12
Description
Created this blank HDI image with NHC, formatted it in MAME's PC-9801RS driver using MS-DOS 6.22 (
mame pc9801rs -hard1 test.hdi -flop1 msdos62:flop1). Removing the 0x1000-long header gives a raw image thatpartedcan identify properly:However, unlike other .HDI images (presumably made in other emulators), attempting to list the files on the image in aaru led to failure.
Exact command line used
aaru i info test.hdi
Expected behavior
Similar output to a supported HDI image
etc.
Actual behavior
Output was only
Output of command execution with debug output enabled
Affected image
test.zip
@claunia commented on GitHub (Feb 7, 2022):
The image is incorrect.
It indicates it has an HDD of 100 cylinders, 16 heads and 63 sectors per track.
However the partition indicates an HDD of at least 600 cylinders (with that HDD size it would indicate 17 sectors per track and 8 heads), with the DOS partition indeed found at byte offset 73728 (4096 + 1cyl = 4096 + 1178*512 = 4096 + 69632 = 73728).
Please open a bug report to MAME so they can correct their HDI implementation.
Parted, not knowing the size of a cylinder, is making the same assumptions and you can see it's telling you incorrect values (that the partition is half the size it really is, as 600 cylinders 8 heads 17 sectors would be 41779200 bytes.
If you want to manually fix the image with Aaru, take the latest commit and use the following command line:
aaru.dll i convert -g 600/8/17 test.hdi test.aifThen it works: