cnvogelg / amitools

Various tools for using AmigaOS programs on other platforms
257 stars 71 forks source link

xdftool fails with FSError: Invalid Root Block #78

Closed boojum closed 7 years ago

boojum commented 7 years ago

I'm trying to unpack couple of adfs but xdftool fails on all of them. Here's the example output:

xdftool -v perihelion_1of5.adf info
auto open command: ['info']
auto open exit_code: 0
opening volume: perihelion_1of5.adf
'info' FSError: Invalid Root Block(2):block=RootBlock:@880
closing volume: perihelion_1of5.adf
closing image: perihelion_1of5.adf

It fails on all five files with similar message, only difference being RootBlock, for example:

xdftool -v perihelion_2of5.adf info
auto open command: ['info']
auto open exit_code: 0
opening volume: perihelion_2of5.adf
'info' FSError: Invalid Boot Block(1):block=BootBlock:@0
closing volume: perihelion_2of5.adf
closing image: perihelion_2of5.adf

The adf files in question can be found here.

As a side not, adfs work as they should with FS-UAE.

cnvogelg commented 7 years ago

Hi,

this is expected behavior.. The disk you mention are typical game disk that use custom track loaders to fetch the game data from disk without any dos file system.

If you insert such a disk in your favorite emulator or a real Amiga after booting the workbench you will see its a NDOS disk, i.e. no dos file system found.

Since xdftool expects a valid dos file system it can't read any information from these disks. If you want to extract game data you have to disassemble/understand the track loader and grab the raw tracks from the disk image.