828d9a82d2
[Scan] Calculate speeds from the time the scan took instead of the time spent in commands, and averages from the bytes read.
devel
Natalia Portillo2026-11-01 12:44:11 +00:00
92f20aedbc
[Scan] Start the stopwatch of CD scans when the read starts, it included the setup commands.
Natalia Portillo2026-11-01 12:44:11 +00:00
03ba909e66
[Scan] Show the read speed of SecureDigital devices as MiB/s in the progress, it was being shown as bytes per second.
Natalia Portillo2026-11-01 12:44:11 +00:00
f8ede78e20
[Scan] Start the scan stopwatch on ATA devices, it was never started so the total time was always 0.
Natalia Portillo2026-11-01 12:44:11 +00:00
25e3726c9f
[Gui] Extend the scale of the IBG log graph when a log goes above the default, it was cut at the top.
Natalia Portillo2026-11-01 12:33:30 +00:00
44ee8e45c1
[Gui] Set the default scale of the IBG log graph for CDs to 52x.
Natalia Portillo2026-11-01 12:33:30 +00:00
7d6bc2821e
[Gui] Draw the speed line in the disc speed graph, it was not redrawn when its points changed.
Natalia Portillo2026-11-01 12:33:30 +00:00
3cbd8ec147
[CompactDisc] Do not use FUA when trimming with an OmniDrive.
Natalia Portillo2026-11-01 12:03:52 +00:00
07af0faace
[Xbox] Do not use FUA in the first retry pass with an OmniDrive, only in the following ones.
Natalia Portillo2026-11-01 12:03:52 +00:00
8a25b7dcd4
[CompactDisc] Do not use FUA in the first retry pass with an OmniDrive, only in the following ones.
Natalia Portillo2026-11-01 12:03:52 +00:00
0a023753e0
[CompactDisc] Recover from the drive firmware crash when converging audio C2.
Natalia Portillo2026-11-01 11:51:13 +00:00
22e571358b
[CompactDisc] Recover from the drive firmware crash when reading lead-outs.
Natalia Portillo2026-11-01 11:51:13 +00:00
f226f7af2c
[CompactDisc] Recover from the drive firmware crash when reading the first track pregap.
Natalia Portillo2026-11-01 11:51:13 +00:00
d400683a77
[CompactDisc] Recover from the drive firmware crash when retrying.
Natalia Portillo2026-11-01 11:51:13 +00:00
cdb6185c26
[CompactDisc] Recover from the drive firmware crash when trimming.
Natalia Portillo2026-11-01 11:51:13 +00:00
b36bd33324
[CompactDisc] Recover from the drive firmware crash when reading CD-i Ready discs, it was mistaken for the hole in the disc.
Natalia Portillo2026-11-01 11:51:13 +00:00
c37c686132
[CompactDisc] Recover from the drive firmware crash when reading data.
Natalia Portillo2026-11-01 11:51:13 +00:00
7bd37570f4
[CompactDisc] Recover from the drive firmware crash when reading with an OmniDrive.
Natalia Portillo2026-11-01 11:51:13 +00:00
c6e005e268
[CompactDisc] Add detecting the firmware crash of MediaTek drives, that answer every command with invalid field in CDB, and reviving them by cycling the tray. Aborts if ejecting fails.
Natalia Portillo2026-11-01 11:51:12 +00:00
defe75efca
[IBG] Add restarting the timing of the current row, so a stop in the reads is not counted in it.
Natalia Portillo2026-11-01 11:51:12 +00:00
7dfffe8253
[Dump] Add restarting a speed meter, forgetting what it measured and ignoring the next read.
Natalia Portillo2026-11-01 11:51:12 +00:00
122b477ea2
[SBC] Start timing the dump when the read starts, averages included the setup time.
Natalia Portillo2026-11-01 11:30:46 +00:00
a8c3449fd9
[MHDD] Write the graph next to the log, it was written to the current folder.
Natalia Portillo2026-11-01 11:30:46 +00:00
88aa03bc30
[IBG] Write the last samples when closing the log, they were lost if they did not fill a row.
Natalia Portillo2026-11-01 11:30:46 +00:00
1499f1f086
[CompactDisc] Count the bytes of reads that go back after a subchannel change, their time was already counted.
Natalia Portillo2026-11-01 11:30:46 +00:00
195c745cfc
[Dump] Do not count the bytes of failed reads in the speed and averages, only their time.
Natalia Portillo2026-11-01 11:30:46 +00:00
13185026f4
[MemoryStick] Log the timing of trimming and retrying in the MHDD log.
Natalia Portillo2026-11-01 10:51:38 +00:00
131041baac
[UMD] Log the timing of trimming and retrying in the MHDD log.
Natalia Portillo2026-11-01 10:51:38 +00:00
a8c39aa5a3
[SecureDigital] Log the timing of trimming and retrying in the MHDD log.
Natalia Portillo2026-11-01 10:51:38 +00:00
ea0aaaa9ab
[MiniDisc] Log the timing of trimming and retrying in the MHDD log.
Natalia Portillo2026-11-01 10:51:38 +00:00
78a41c2b30
[Xbox] Log the timing of trimming and retrying with an OmniDrive in the MHDD log.
Natalia Portillo2026-11-01 10:51:38 +00:00
2426a506bb
[Xbox] Log the timing of trimming and retrying with a Kreon drive in the MHDD log.
Natalia Portillo2026-11-01 10:51:38 +00:00
6adf9fc8a7
[SBC] Log the timing of trimming and retrying in the MHDD log.
Natalia Portillo2026-11-01 10:51:38 +00:00
8729d946bf
[CompactDisc] Add the time of OmniDrive retries to the time spent processing commands.
Natalia Portillo2026-11-01 10:51:37 +00:00
06387bcfbb
[CompactDisc] Log the timing of trimming and retrying in the MHDD log.
Natalia Portillo2026-11-01 10:51:37 +00:00
0de23e654f
[ATA] Log the timing of trimming and retrying in the MHDD log.
Natalia Portillo2026-11-01 10:51:37 +00:00
634c351fb6
[MHDD] Add logging retried reads and writing the log to file while it can still grow.
Natalia Portillo2026-11-01 10:51:29 +00:00
c183c0ce7a
[MemoryStick] Resume the IBG and MHDD logs when resuming a dump, instead of overwriting them.
Natalia Portillo2026-11-01 03:45:58 +00:00
14f968010b
[UMD] Resume the IBG and MHDD logs when resuming a dump, instead of overwriting them.
Natalia Portillo2026-11-01 03:45:58 +00:00
d9875966a9
[SecureDigital] Resume the IBG and MHDD logs when resuming a dump, instead of overwriting them.
Natalia Portillo2026-11-01 03:45:58 +00:00
2dd522cbcf
[MiniDisc] Resume the IBG and MHDD logs when resuming a dump, instead of overwriting them.
Natalia Portillo2026-11-01 03:45:58 +00:00
9c392f57e3
[SSC] Resume the IBG and MHDD logs when resuming a dump, instead of overwriting them.
Natalia Portillo2026-11-01 03:45:58 +00:00
afbda39807
[Xbox] Resume the IBG and MHDD logs when resuming a dump with an OmniDrive, instead of overwriting them.
Natalia Portillo2026-11-01 03:45:57 +00:00
126070fe58
[Xbox] Resume the IBG and MHDD logs when resuming a dump with a Kreon drive, instead of overwriting them.
Natalia Portillo2026-11-01 03:45:57 +00:00
5388169662
[SBC] Resume the IBG and MHDD logs when resuming a dump, instead of overwriting them.
Natalia Portillo2026-11-01 03:45:57 +00:00
c84ec00f73
[CompactDisc] Resume the IBG and MHDD logs when resuming a dump, instead of overwriting them.
Natalia Portillo2026-11-01 03:45:57 +00:00
c99e6651bf
[ATA] Resume the IBG and MHDD logs when resuming a dump, instead of overwriting them.
Natalia Portillo2026-11-01 03:45:57 +00:00
d87a3d6c70
[MHDD] Add resuming a log, keeping the records and block map a previous run wrote.
Natalia Portillo2026-11-01 03:45:57 +00:00
1e9af5cf1b
[IBG] Add resuming a log, keeping the rows and totals a previous run wrote to it.
Natalia Portillo2026-11-01 03:45:48 +00:00
6e11fc40f5
[CompactDisc] Do not log lead-out sectors in the MHDD log.
Natalia Portillo2026-11-01 01:55:45 +00:00
7a98b97777
[Dump] Do not log raw DVD and Blu-ray lead-out sectors in the MHDD log.
Natalia Portillo2026-11-01 01:55:45 +00:00
b01e78a81a
[Dump] Do not log raw DVD and Blu-ray lead-in sectors in the MHDD log.
Natalia Portillo2026-11-01 01:55:45 +00:00
42e0ee8106
[CompactDisc] Do not count lead-out sectors. They were in the IBG log, fastest and slowest speed bursts and averages.
Natalia Portillo2026-11-01 01:52:21 +00:00
3f1420af28
[Dump] Do not count raw DVD and Blu-ray lead-out sectors. They were in the IBG log, fastest and slowest speed bursts and averages.
Natalia Portillo2026-11-01 01:52:21 +00:00
ff42de7bec
[Dump] Do not count raw DVD and Blu-ray lead-in sectors. They were in the IBG log, fastest and slowest speed bursts and averages, and slowed down the speed shown when the data started.
Natalia Portillo2026-11-01 01:52:21 +00:00
f86bcad6de
[IBG] Start the graph at the first measured speed. The time before it, like reading the first track pregap, was added to the first row, and it wrote rows with no speed.
Natalia Portillo2026-11-01 01:52:13 +00:00
7fef16417f
[SSC] Show the read speed as MiB/s in the progress, it was being shown as bytes per second.
Natalia Portillo2026-10-31 22:29:52 +00:00
f9e78db8e3
[Dump] Calculate average speeds from the bytes read in this run. They divided the full media size by the time of one run, which is wrong for resumed and aborted dumps. Nothing is reported when nothing was read.
Natalia Portillo2026-10-31 22:29:52 +00:00
3cdeeaf4f4
[Dump] Calculate the average speeds of all other dumpers from the time the dump took instead of the time spent in commands.
Natalia Portillo2026-10-31 22:12:28 +00:00
96a3ea5612
[Retrode] Stop the dump stopwatch when the read ends, it kept running through the rest of the process.
Natalia Portillo2026-10-31 22:12:28 +00:00
c8ba474f3e
[SecureDigital] Label the write speed as such, it was shown as a second average dump speed.
Natalia Portillo2026-10-31 22:12:28 +00:00
62060ec17e
[Dump] Measure the read speed of all other dumpers in wall-clock time over a sliding window. Timing only the read commands gave speeds the devices cannot reach when they read ahead while the host is busy.
Natalia Portillo2026-10-31 22:12:28 +00:00
665bb2c056
[Dump] Do not let the first track pregap speed reach the CD dump speed. It is not part of the dump, but its last value became the slowest speed burst and the first values of the IMGBurn log.
Natalia Portillo2026-10-31 22:12:28 +00:00
253912065b
[Dump] Do not count the first read in the speed meter. It waits for the drive to spin up and seek, holding the speed down for a whole window.
Natalia Portillo2026-10-31 22:12:28 +00:00
870be69e37
[IBG log] Do not overcount the duration of a row. The stopwatch only restarts when a row is flushed, so adding it on every sample counted the same time more than once.
Natalia Portillo2026-10-31 21:43:20 +00:00
c11017689d
[IBG log] Average the samples of a row when storing the maximum speed. It was stored as a multiple of the real peak.
Natalia Portillo2026-10-31 21:43:20 +00:00
edca2c766e
[Dump] Calculate CD average speeds from the time the dump took instead of the time spent in commands.
Natalia Portillo2026-10-31 21:43:20 +00:00
2d284a0879
[Dump] Measure CD read speed in wall-clock time over a sliding window. Timing only the read commands gave impossible speeds, as drives read ahead while the host is busy and then serve reads from their cache. This fixes the speed shown in progress and written to the IMGBurn log.
Natalia Portillo2026-10-31 21:43:12 +00:00
16456b58f3
[PFI decoder] Fix layer 0 end not being printed correctly.
Natalia Portillo2026-10-30 01:10:23 +00:00
9a8e5e3d6e
[ZZZRawImage] Do not show compact disc tags as readable unless the media is a compact disc.
Natalia Portillo2026-10-28 11:36:33 +00:00
e6ae78c15c
[ZZZRawImage] Add extensions to handle DVD-ROM and BD-ROM cases specifically.
Natalia Portillo2026-10-28 11:35:51 +00:00
737fbb8669
[Image options] Do not crash on writable formats that are not media images. Byte-addressable formats such as Atari Lynx are registered as writable images but are not IWritableImage, so listing options threw an InvalidCastException. Fixes#942Natalia Portillo2026-10-25 13:10:22 +00:00
1f9c0a50b8
[Merge] Name the resume sidecar after the output without its extension. The sidecar was written as <name>.<ext>.resume.json, unlike the <name>.resume.json the dump command writes. It now follows the dump naming.
Natalia Portillo2026-10-22 23:03:23 +01:00
202e8b9212
[Merge] Keep the primary's state in the sidecar for secondary sectors that could not be read. With --ignore-sector-not-found a sector chosen from the secondary that is missing there is skipped, leaving the primary's contents in the output. The sidecar still counted it as taken from the secondary, so a bad sector could be reported as repaired. Skipped sectors are now recorded and keep the primary's state, bad or good.
Natalia Portillo2026-10-22 22:43:25 +01:00
88bb53ff7b
[Merge] Write a resume sidecar describing the merged image. The merged image had no resume file of its own, so merging it again, analyzing or converting it fell back to the dump hardware embedded in the image and lost which sectors were still bad.
Natalia Portillo2026-10-22 22:43:25 +01:00
f065577bbb
[Merge] Read the secondary's sectors from the secondary image. For anything other than optical media, the sectors and sector tags chosen from the secondary image were read from the primary instead, so block devices, tapes and flux images came out identical to the primary while the merge reported every sector as taken from the secondary. Optical media take their own path and were unaffected.
Natalia Portillo2026-10-22 22:40:52 +01:00
2bdab381d5
[Arch Linux] Update rolling package runtime dependencies to the ones required by .NET 10.
Natalia Portillo2026-10-21 16:25:48 +01:00
1f29678b41
[RPM] Update runtime dependencies to the ones required by .NET 10.
Natalia Portillo2026-10-21 16:25:48 +01:00
f2ca96edee
[Debian] Update runtime dependencies to the ones required by .NET 10.
Natalia Portillo2026-10-21 16:25:48 +01:00
1eaee6f632
[Convert] Keep the creator and the rest of the metadata when setting the product code and disc number of Wii U images, as each was set alone, clearing everything else, so the creator given by --creator was lost.
Natalia Portillo2026-10-18 03:53:11 +01:00
2c8e5e940f
[Convert] Keep the creator and the rest of the metadata when setting the title, game ID and disc number of GameCube and Wii images, as each was set alone, clearing everything else, so the creator given by --creator was lost.
Natalia Portillo2026-10-18 03:53:11 +01:00
4f67f5a9f6
[Dump] Do not store the sectors an OmniDrive read past the end of the disc unless dumping the Lead-Out, as reads are not clamped to the last sector and the overrun was written to the image and the resume as Lead-Out sectors without --leadout.
Natalia Portillo2026-10-18 03:07:41 +01:00
7a33f75806
[Convert] Convert the tags of the first overflow sector too, as the loop started at the second one while the sectors themselves were converted from the first one.
Natalia Portillo2026-10-18 03:05:17 +01:00
cca7f54bf6
[AaruFormat] Report a sector outside any track as not found instead of as no data, as the converter took it as not dumped and silently dropped it, keeping no data for track flags and ISRC of tracks that do not have them.
Natalia Portillo2026-10-18 03:03:22 +01:00
dc71546d1d
[Convert] Write each Wii plaintext group with long sectors across the 16 sectors as is, hash block first, as the user data was written shifted by the hash block size and the hash block dropped, making every encrypted partition sector of WOD images converted from AaruFormat different from the source.
Natalia Portillo2026-10-18 01:06:15 +01:00
5aba4db724
Dump NGCW even without --raw
Rebecca Wallander
2026-10-17 12:15:49 +02:00
bafeec4c10
[Dump] Leave sectors that are not retried out of the retry and trim progress, as they counted in the maximum and in the sectors still bad but were skipped at once, making the progress jump by their share when a pass went over them, showing 99% with a tenth of the last pass left.
Natalia Portillo2026-10-15 23:12:27 +01:00
7bc8a4fdf8
[NTFS] Read clusters contiguous on disk of uncompressed files at once and look up data runs from the last one used, instead of one cluster at a time scanning all data runs from the start for each.
Natalia Portillo2026-10-14 23:28:59 +01:00
3259af4c9e
[VDI] Cache whole blocks and read every sector requested from them at once, as each sector read the whole block from the image and threw the rest away, making reading files from filesystems inside VDI images take minutes for a few megabytes.
Natalia Portillo2026-10-14 23:28:49 +01:00
f4edbc0451
[DPM] Tell a calibration sweep's rotation period from a half or a third of it by the steps an odd number, or a number not a multiple of 3, of turns away instead of by how far apart its wraps are, as where the drive often answers a turn late its samples drift between turns, the wraps are uneven, and every sweep was rejected.
Natalia Portillo2026-10-14 13:18:04 +01:00
97723b6a02
[DPM] Try the rotation period of a calibration sweep from every step off the slope and keep the one that explains the most steps, as where the drive answered one or more turns late most falls were two turns or more and the fit took twice the period, rejecting every genuine wrap as noise.
Natalia Portillo2026-10-14 13:13:44 +01:00
aa100cd5bf
[Dump] Add an option, also in the GUI, with a list of sectors or ranges of sectors that are not trimmed nor retried if they could not be read, in every dumper and also in CD subchannel retries and C2 audio convergence, with skipping SafeDisc retries now adding its range to that list.
Natalia Portillo2026-10-14 13:02:25 +01:00
e0f1ae96a8
[GUI] Pass the trim checkbox to the dumper as is, as it was inverted and trimming was disabled when checked, which is the default.
Natalia Portillo2026-10-14 12:57:47 +01:00
51bbbb80ae
[CLI] Show single-sector extents of files affected in image analyze as one sector number instead of a range starting and ending on it.
Natalia Portillo2026-10-14 03:27:13 +01:00
b62af58044
[DPM] Before re-anchoring on an audio sector the drive still has from its last read, read one just before what it reads ahead instead of flushing the whole cache, as re-measuring audio bins re-anchored on such sectors and read tens of megabytes of audio for each, taking many minutes.
Natalia Portillo2026-10-13 20:51:39 +01:00