aaru-dps / Aaru

Aaru Data Preservation Suite
Other
495 stars 34 forks source link

Unable to convert 2D House of Terror to DICF (DiscJuggler) #299

Open claunia opened 4 years ago

claunia commented 4 years ago

Prerequisites

Check and fill as appropriate:

Description

Neither of the Dreamcast homebrew images found on this page can be converted to DICF.

Exact command line used:

./Aaru i convert 2d_house_of_terror.cdi 2d_house_of_terror_cdi.dicf

Expected behavior:

The images would convert to DICF files.

Actual behavior:

#### CDI:

Aaru 4.5.99.2020-18db5ed8 built by rebecca-Nitro-AN515-52 in Debug Copyright © 2011-2020 Natalia Portillo

Uploading statistics Input image format identified by DiscJuggler. Unable to open image format No error given


### If command was expected to work with a device fill this out:

* **Manufacturer**:
* **Model**:
* **Bus**:
    * [ ] Parallel ATA
    * [ ] Serial ATA
    * [ ] SCSI (any)
    * [ ] ATAPI (mark above if parallel or serial)
    * [ ] USB
    * [ ] FireWire
    * [ ] PCMCIA
    * [ ] SecureDigital
    * [ ] MultiMediaCard

### Output of command execution with debug output enabled

CDI:

Aaru 4.5.99.2020-18db5ed8 built by rebecca-Nitro-AN515-52 in Debug
Copyright © 2011-2020 Natalia Portillo

DEBUG (Analyze command): --cicm-xml=
DEBUG (Analyze command): --comments=
DEBUG (Analyze command): --count=64
DEBUG (Analyze command): --creator=
DEBUG (Analyze command): --debug=True
DEBUG (Analyze command): --drive-manufacturer=
DEBUG (Analyze command): --drive-model=
DEBUG (Analyze command): --drive-revision=
DEBUG (Analyze command): --drive-serial=
DEBUG (Analyze command): --force=False
DEBUG (Analyze command): --format=
DEBUG (Analyze command): --input=2d_house_of_terror.cdi
DEBUG (Analyze command): --media-barcode=
DEBUG (Analyze command): --media-lastsequence=0
DEBUG (Analyze command): --media-manufacturer=
DEBUG (Analyze command): --media-model=
DEBUG (Analyze command): --media-partnumber=
DEBUG (Analyze command): --media-sequence=0
DEBUG (Analyze command): --media-serial=
DEBUG (Analyze command): --media-title=
DEBUG (Analyze command): --options=
DEBUG (Analyze command): --output=2d_house_of_terror_cdi.dicf
DEBUG (Analyze command): --resume-file=
DEBUG (Analyze command): --verbose=False
DEBUG (Analyze command): Parsed options:
Uploading statistics
DEBUG (Format detection): Trying plugin Aaru Format
DEBUG (Format detection): Trying plugin ACT Apricot Disk Image
DEBUG (Format detection): Trying plugin Alcohol 120% Media Descriptor Structure
DEBUG (Format detection): Trying plugin Anex86 Disk Image
DEBUG (Anex86 plugin): fdihdr.unknown = 0
DEBUG (Anex86 plugin): fdihdr.hddtype = 0
DEBUG (Anex86 plugin): fdihdr.hdrSize = 0
DEBUG (Anex86 plugin): fdihdr.dskSize = 0
DEBUG (Anex86 plugin): fdihdr.bps = 0
DEBUG (Anex86 plugin): fdihdr.spt = 0
DEBUG (Anex86 plugin): fdihdr.heads = 0
DEBUG (Anex86 plugin): fdihdr.cylinders = 0
DEBUG (Format detection): Trying plugin Apple ][ Interleaved Disk Image
DEBUG (Format detection): Trying plugin Apple 2IMG
DEBUG (Format detection): Trying plugin Apple Disk Archival/Retrieval Tool
DEBUG (Format detection): Trying plugin Apple DiskCopy 4.2
DEBUG (DC42 plugin): tmp_header.diskName = ""
DEBUG (DC42 plugin): tmp_header.dataSize = 0 bytes
DEBUG (DC42 plugin): tmp_header.tagSize = 0 bytes
DEBUG (DC42 plugin): tmp_header.dataChecksum = 0x00000000
DEBUG (DC42 plugin): tmp_header.tagChecksum = 0x00000000
DEBUG (DC42 plugin): tmp_header.format = 0x00
DEBUG (DC42 plugin): tmp_header.fmtByte = 0x00
DEBUG (DC42 plugin): tmp_header.valid = 0
DEBUG (DC42 plugin): tmp_header.reserved = 0
DEBUG (Format detection): Trying plugin Apple New Disk Image Format
DEBUG (Format detection): Trying plugin Apple NIB
DEBUG (Format detection): Trying plugin Apple Universal Disk Image Format
DEBUG (Format detection): Trying plugin Basic Lisa Utility
DEBUG (Format detection): Trying plugin BlindWrite 4
DEBUG (Format detection): Trying plugin BlindWrite 5
DEBUG (Format detection): Trying plugin CDRDAO tocfile
DEBUG (Format detection): Trying plugin CDRWin cuesheet
DEBUG (Format detection): Trying plugin CisCopy Disk Image (DC-File)
DEBUG (Format detection): Trying plugin CloneCD
DEBUG (Format detection): Trying plugin CopyTape
DEBUG (Format detection): Trying plugin CPCEMU Disk-File and Extended CPC Disk-File
DEBUG (CPCDSK plugin): header.magic = ""
DEBUG (Format detection): Trying plugin d2f disk image
DEBUG (Format detection): Trying plugin D88 Disk Image
DEBUG (D88 plugin): d88hdr.name = ""
DEBUG (D88 plugin): d88hdr.reserved is empty? = True
DEBUG (D88 plugin): d88hdr.write_protect = 0x00
DEBUG (D88 plugin): d88hdr.disk_type = D2 (0)
DEBUG (D88 plugin): d88hdr.disk_size = 0
DEBUG (Format detection): Trying plugin Digital Research DiskCopy
DEBUG (Format detection): Trying plugin DIM Disk Image
DEBUG (Format detection): Trying plugin DiscFerret
DEBUG (Format detection): Trying plugin DiscJuggler
DEBUG (DiscJuggler plugin): dscLen = 3197
Input image format identified by DiscJuggler.
DEBUG (DiscJuggler plugin): maxS = 3
DEBUG (DiscJuggler plugin): s = 0
DEBUG (DiscJuggler plugin): maxT = 10
DEBUG (DiscJuggler plugin): t = 0
DEBUG (DiscJuggler plugin):     filename = G:\2d_house_of_terror.cdi
DEBUG (DiscJuggler plugin):     mediumType = 152
DEBUG (DiscJuggler plugin):     maxI = 2
DEBUG (DiscJuggler plugin):     index[0] = 150
DEBUG (DiscJuggler plugin):     index[1] = 452
DEBUG (DiscJuggler plugin):     maxC = 0
DEBUG (DiscJuggler plugin):     trackMode = 0
DEBUG (DiscJuggler plugin):     session = 1
DEBUG (DiscJuggler plugin):     track = 0 + 0 + 1 = 1
DEBUG (DiscJuggler plugin):     trackStart = 0
DEBUG (DiscJuggler plugin):     trackEnd = 601
DEBUG (DiscJuggler plugin):     readMode = 2
DEBUG (DiscJuggler plugin):     trackCtl = 0
DEBUG (DiscJuggler plugin):     isrc = 
DEBUG (DiscJuggler plugin):     isrc_valid = 0
DEBUG (DiscJuggler plugin):     sessionType = 0
DEBUG (DiscJuggler plugin):     trackFollows = 1
DEBUG (DiscJuggler plugin):     endAddress = 4294901760
DEBUG (DiscJuggler plugin): t = 1
DEBUG (DiscJuggler plugin):     filename = G:\2d_house_of_terror.cdi
DEBUG (DiscJuggler plugin):     mediumType = 152
DEBUG (DiscJuggler plugin):     maxI = 2
DEBUG (DiscJuggler plugin):     index[0] = 0
DEBUG (DiscJuggler plugin):     index[1] = 9537
DEBUG (DiscJuggler plugin):     maxC = 0
DEBUG (DiscJuggler plugin):     trackMode = 0
DEBUG (DiscJuggler plugin):     session = 1
DEBUG (DiscJuggler plugin):     track = 1 + 0 + 1 = 2
DEBUG (DiscJuggler plugin):     trackStart = 602
DEBUG (DiscJuggler plugin):     trackEnd = 10138
DEBUG (DiscJuggler plugin):     readMode = 2
DEBUG (DiscJuggler plugin):     trackCtl = 0
DEBUG (DiscJuggler plugin):     isrc = 
DEBUG (DiscJuggler plugin):     isrc_valid = 0
DEBUG (DiscJuggler plugin):     sessionType = 0
DEBUG (DiscJuggler plugin):     trackFollows = 1
DEBUG (DiscJuggler plugin):     endAddress = 4294901760
DEBUG (DiscJuggler plugin): t = 2
DEBUG (DiscJuggler plugin):     filename = G:\2d_house_of_terror.cdi
DEBUG (DiscJuggler plugin):     mediumType = 152
DEBUG (DiscJuggler plugin):     maxI = 2
DEBUG (DiscJuggler plugin):     index[0] = 0
DEBUG (DiscJuggler plugin):     index[1] = 8399
DEBUG (DiscJuggler plugin):     maxC = 0
DEBUG (DiscJuggler plugin):     trackMode = 0
DEBUG (DiscJuggler plugin):     session = 1
DEBUG (DiscJuggler plugin):     track = 2 + 0 + 1 = 3
DEBUG (DiscJuggler plugin):     trackStart = 10139
DEBUG (DiscJuggler plugin):     trackEnd = 18537
DEBUG (DiscJuggler plugin):     readMode = 2
DEBUG (DiscJuggler plugin):     trackCtl = 0
DEBUG (DiscJuggler plugin):     isrc = 
DEBUG (DiscJuggler plugin):     isrc_valid = 0
DEBUG (DiscJuggler plugin):     sessionType = 0
DEBUG (DiscJuggler plugin):     trackFollows = 1
DEBUG (DiscJuggler plugin):     endAddress = 4294901760
DEBUG (DiscJuggler plugin): t = 3
DEBUG (DiscJuggler plugin):     filename = G:\2d_house_of_terror.cdi
DEBUG (DiscJuggler plugin):     mediumType = 152
DEBUG (DiscJuggler plugin):     maxI = 2
DEBUG (DiscJuggler plugin):     index[0] = 0
DEBUG (DiscJuggler plugin):     index[1] = 3059
DEBUG (DiscJuggler plugin):     maxC = 0
DEBUG (DiscJuggler plugin):     trackMode = 0
DEBUG (DiscJuggler plugin):     session = 1
DEBUG (DiscJuggler plugin):     track = 3 + 0 + 1 = 4
DEBUG (DiscJuggler plugin):     trackStart = 18538
DEBUG (DiscJuggler plugin):     trackEnd = 21596
DEBUG (DiscJuggler plugin):     readMode = 2
DEBUG (DiscJuggler plugin):     trackCtl = 0
DEBUG (DiscJuggler plugin):     isrc = 
DEBUG (DiscJuggler plugin):     isrc_valid = 0
DEBUG (DiscJuggler plugin):     sessionType = 0
DEBUG (DiscJuggler plugin):     trackFollows = 1
DEBUG (DiscJuggler plugin):     endAddress = 4294901760
DEBUG (DiscJuggler plugin): t = 4
DEBUG (DiscJuggler plugin):     filename = G:\2d_house_of_terror.cdi
DEBUG (DiscJuggler plugin):     mediumType = 152
DEBUG (DiscJuggler plugin):     maxI = 2
DEBUG (DiscJuggler plugin):     index[0] = 0
DEBUG (DiscJuggler plugin):     index[1] = 6307
DEBUG (DiscJuggler plugin):     maxC = 0
DEBUG (DiscJuggler plugin):     trackMode = 0
DEBUG (DiscJuggler plugin):     session = 1
DEBUG (DiscJuggler plugin):     track = 4 + 0 + 1 = 5
DEBUG (DiscJuggler plugin):     trackStart = 21597
DEBUG (DiscJuggler plugin):     trackEnd = 27903
DEBUG (DiscJuggler plugin):     readMode = 2
DEBUG (DiscJuggler plugin):     trackCtl = 0
DEBUG (DiscJuggler plugin):     isrc = 
DEBUG (DiscJuggler plugin):     isrc_valid = 0
DEBUG (DiscJuggler plugin):     sessionType = 0
DEBUG (DiscJuggler plugin):     trackFollows = 1
DEBUG (DiscJuggler plugin):     endAddress = 4294901760
DEBUG (DiscJuggler plugin): t = 5
DEBUG (DiscJuggler plugin):     filename = G:\2d_house_of_terror.cdi
DEBUG (DiscJuggler plugin):     mediumType = 152
DEBUG (DiscJuggler plugin):     maxI = 2
DEBUG (DiscJuggler plugin):     index[0] = 0
DEBUG (DiscJuggler plugin):     index[1] = 1681
DEBUG (DiscJuggler plugin):     maxC = 0
DEBUG (DiscJuggler plugin):     trackMode = 0
DEBUG (DiscJuggler plugin):     session = 1
DEBUG (DiscJuggler plugin):     track = 5 + 0 + 1 = 6
DEBUG (DiscJuggler plugin):     trackStart = 27904
DEBUG (DiscJuggler plugin):     trackEnd = 29584
DEBUG (DiscJuggler plugin):     readMode = 2
DEBUG (DiscJuggler plugin):     trackCtl = 0
DEBUG (DiscJuggler plugin):     isrc = 
DEBUG (DiscJuggler plugin):     isrc_valid = 0
DEBUG (DiscJuggler plugin):     sessionType = 0
DEBUG (DiscJuggler plugin):     trackFollows = 1
DEBUG (DiscJuggler plugin):     endAddress = 4294901760
DEBUG (DiscJuggler plugin): t = 6
DEBUG (DiscJuggler plugin):     filename = G:\2d_house_of_terror.cdi
DEBUG (DiscJuggler plugin):     mediumType = 152
DEBUG (DiscJuggler plugin):     maxI = 2
DEBUG (DiscJuggler plugin):     index[0] = 0
DEBUG (DiscJuggler plugin):     index[1] = 2697
DEBUG (DiscJuggler plugin):     maxC = 0
DEBUG (DiscJuggler plugin):     trackMode = 0
DEBUG (DiscJuggler plugin):     session = 1
DEBUG (DiscJuggler plugin):     track = 6 + 0 + 1 = 7
DEBUG (DiscJuggler plugin):     trackStart = 29585
DEBUG (DiscJuggler plugin):     trackEnd = 32281
DEBUG (DiscJuggler plugin):     readMode = 2
DEBUG (DiscJuggler plugin):     trackCtl = 0
DEBUG (DiscJuggler plugin):     isrc = 
DEBUG (DiscJuggler plugin):     isrc_valid = 0
DEBUG (DiscJuggler plugin):     sessionType = 0
DEBUG (DiscJuggler plugin):     trackFollows = 1
DEBUG (DiscJuggler plugin):     endAddress = 4294901760
DEBUG (DiscJuggler plugin): t = 7
DEBUG (DiscJuggler plugin):     filename = G:\2d_house_of_terror.cdi
DEBUG (DiscJuggler plugin):     mediumType = 152
DEBUG (DiscJuggler plugin):     maxI = 2
DEBUG (DiscJuggler plugin):     index[0] = 0
DEBUG (DiscJuggler plugin):     index[1] = 6518
DEBUG (DiscJuggler plugin):     maxC = 0
DEBUG (DiscJuggler plugin):     trackMode = 0
DEBUG (DiscJuggler plugin):     session = 1
DEBUG (DiscJuggler plugin):     track = 7 + 0 + 1 = 8
DEBUG (DiscJuggler plugin):     trackStart = 32282
DEBUG (DiscJuggler plugin):     trackEnd = 38799
DEBUG (DiscJuggler plugin):     readMode = 2
DEBUG (DiscJuggler plugin):     trackCtl = 0
DEBUG (DiscJuggler plugin):     isrc = 
DEBUG (DiscJuggler plugin):     isrc_valid = 0
DEBUG (DiscJuggler plugin):     sessionType = 0
DEBUG (DiscJuggler plugin):     trackFollows = 1
DEBUG (DiscJuggler plugin):     endAddress = 4294901760
DEBUG (DiscJuggler plugin): t = 8
DEBUG (DiscJuggler plugin):     filename = G:\2d_house_of_terror.cdi
DEBUG (DiscJuggler plugin):     mediumType = 152
DEBUG (DiscJuggler plugin):     maxI = 2
DEBUG (DiscJuggler plugin):     index[0] = 0
DEBUG (DiscJuggler plugin):     index[1] = 882
DEBUG (DiscJuggler plugin):     maxC = 0
DEBUG (DiscJuggler plugin):     trackMode = 0
DEBUG (DiscJuggler plugin):     session = 1
DEBUG (DiscJuggler plugin):     track = 8 + 0 + 1 = 9
DEBUG (DiscJuggler plugin):     trackStart = 38800
DEBUG (DiscJuggler plugin):     trackEnd = 39681
DEBUG (DiscJuggler plugin):     readMode = 2
DEBUG (DiscJuggler plugin):     trackCtl = 0
DEBUG (DiscJuggler plugin):     isrc = 
DEBUG (DiscJuggler plugin):     isrc_valid = 0
DEBUG (DiscJuggler plugin):     sessionType = 0
DEBUG (DiscJuggler plugin):     trackFollows = 1
DEBUG (DiscJuggler plugin):     endAddress = 4294901760
DEBUG (DiscJuggler plugin): t = 9
DEBUG (DiscJuggler plugin):     filename = G:\2d_house_of_terror.cdi
DEBUG (DiscJuggler plugin):     mediumType = 152
DEBUG (DiscJuggler plugin):     maxI = 2
DEBUG (DiscJuggler plugin):     index[0] = 0
DEBUG (DiscJuggler plugin):     index[1] = 932
DEBUG (DiscJuggler plugin):     maxC = 0
DEBUG (DiscJuggler plugin):     trackMode = 0
DEBUG (DiscJuggler plugin):     session = 1
DEBUG (DiscJuggler plugin):     track = 9 + 0 + 1 = 10
DEBUG (DiscJuggler plugin):     trackStart = 39682
DEBUG (DiscJuggler plugin):     trackEnd = 40613
DEBUG (DiscJuggler plugin):     readMode = 2
DEBUG (DiscJuggler plugin):     trackCtl = 0
DEBUG (DiscJuggler plugin):     isrc = 
DEBUG (DiscJuggler plugin):     isrc_valid = 0
DEBUG (DiscJuggler plugin):     sessionType = 0
DEBUG (DiscJuggler plugin):     trackFollows = 0
DEBUG (DiscJuggler plugin):     endAddress = 0
DEBUG (DiscJuggler plugin): session.StartTrack = 1
DEBUG (DiscJuggler plugin): session.StartSector = 0
DEBUG (DiscJuggler plugin): session.EndTrack = 10
DEBUG (DiscJuggler plugin): session.EndSector = 40613
DEBUG (DiscJuggler plugin): session.SessionSequence = 1
DEBUG (DiscJuggler plugin): s = 1
DEBUG (DiscJuggler plugin): maxT = 1
DEBUG (DiscJuggler plugin): t = 0
DEBUG (DiscJuggler plugin):     filename = G:\2d_house_of_terror.cdi
DEBUG (DiscJuggler plugin):     mediumType = 152
DEBUG (DiscJuggler plugin):     maxI = 2
DEBUG (DiscJuggler plugin):     index[0] = 150
DEBUG (DiscJuggler plugin):     index[1] = 261946
DEBUG (DiscJuggler plugin):     maxC = 0
DEBUG (DiscJuggler plugin):     trackMode = 2
DEBUG (DiscJuggler plugin):     session = 2
DEBUG (DiscJuggler plugin):     track = 0 + 10 + 1 = 11
DEBUG (DiscJuggler plugin):     trackStart = 51864
DEBUG (DiscJuggler plugin):     trackEnd = 313959
DEBUG (DiscJuggler plugin):     readMode = 1
DEBUG (DiscJuggler plugin):     trackCtl = 4
DEBUG (DiscJuggler plugin):     isrc = 
DEBUG (DiscJuggler plugin):     isrc_valid = 0
DEBUG (DiscJuggler plugin):     sessionType = 2
DEBUG (DiscJuggler plugin):     trackFollows = 0
DEBUG (DiscJuggler plugin):     endAddress = 51864
DEBUG (DiscJuggler plugin): session.StartTrack = 11
DEBUG (DiscJuggler plugin): session.StartSector = 51864
DEBUG (DiscJuggler plugin): session.EndTrack = 11
DEBUG (DiscJuggler plugin): session.EndSector = 313959
DEBUG (DiscJuggler plugin): session.SessionSequence = 2
DEBUG (DiscJuggler plugin): s = 2
Unable to open image format
No error given
claunia commented 4 years ago

The image differs from known images in ways that makes it not compatible with my implementation. Will need to reverse engineer those differences to support it.

claunia commented 3 years ago

Error changed in 1ec948ced487c6a5db132c57f513e3b17a2dc405 to:

System.IndexOutOfRangeException : Index was outside the bounds of the array.
   at Aaru.DiscImages.AaruFormat.WriteSectorLong(Byte[] data, UInt64 sectorAddress) in /home/claunia/Development/Aaru/Aaru/Aaru.Images/AaruFormat/Write.cs:line 2101
   at Aaru.DiscImages.AaruFormat.WriteSectorsLong(Byte[] data, UInt64 sectorAddress, UInt32 length) in /home/claunia/Development/Aaru/Aaru/Aaru.Images/AaruFormat/Write.cs:line 2326
   at Aaru.Tests.Issues.OpticalImageConvertIssueTest.Convert() in /home/claunia/Development/Aaru/Aaru/Aaru.Tests/Issues/OpticalImageConvertIssueTest.cs:line 152