mamedev / mame

MAME
https://www.mamedev.org/
Other
8.03k stars 2k forks source link

gamecstl.cpp: cannot extract chd with chdman #9563

Open angelosa opened 2 years ago

angelosa commented 2 years ago

If I try to extract the raw image via chdman extracthd -i gamecstl.chd just throws a generic

Input/output error
Fatal error occurred: 1

at around 2% completion. Does the same with correlated gamecstl2 CHD. Note: Trying to run gamecstl/gamecst2 hard drive with a Pentium class driver such as at586 punts again with a "Disk I/O error".

cuavas commented 2 years ago

What do chdman info and chdman verify say about the disk image? It may actually be corrupt.

angelosa commented 2 years ago
chdman - MAME Compressed Hunks of Data (CHD) manager 0.242 (mame0242-171-g30635259f1c-dirty)
Input file:   gamecstl.chd
File Version: 4
Logical size: 20,546,749,440 bytes
Hunk Size:    4,096 bytes
Total Hunks:  5,016,297
Unit Size:    512 bytes
Total Units:  40,130,370
Compression:  zlib (Deflate)
CHD size:     441,547,461 bytes
Ratio:        2.1%
SHA1:         b431af3c42c48ba07972d77a3d24e60ee1e4359e
Data SHA1:    2477468ef1c1d4529057064a319ebfe9fd8facd7
Metadata:     Tag='GDDD'  Index=0  Length=36 bytes
              CYLS:2498,HEADS:255,SECS:63,BPS:512.

chdman verify punts at 2.3%, again with fatal error 1

cuavas commented 2 years ago

It’s likely there‘s actually something wrong with the image file, although it would be nice if it gave a more useful error message.

angelosa commented 2 years ago

Yeah, my images were incomplete ones. Should assert by calculating cylinder/heads/sectors against actual size?