KBNLresearch / ipmlab

Image Portable Media Like A Boss
Apache License 2.0
3 stars 1 forks source link

Isobuster exits with 1005 error #15

Closed bitsgalore closed 2 years ago

bitsgalore commented 2 years ago

After batch with 1 succesful extraction this subsequently happens with all extractions (also re-processing previously successful floppy). IsoBusterv displays a "Extracting Aborted" dialog.

From the IsoBuster docs, all 10xx error codes indicate "Extraction aborted by user". So it seems something is interrupting IsoBuster.

bitsgalore commented 2 years ago

Previously reported for Iromlab here: https://github.com/KBNLresearch/iromlab/issues/68

Can reproduce outside of Ipmlab using below command line:

"C:\Program Files\Smart Projects\IsoBuster\IsoBuster.exe" /d:E: /ei:test.img /et:u /ep:oea /ep:npc /c /m /nosplash /l:test.log
bitsgalore commented 2 years ago

Most likely a hardware issue: the error occurred repeatedly with one specific USB floppy drive ("Y-E DATA USB FLOPPY DRIVE"), and stopped happening after exchanging it with another one ("NEC USB 000x"). Could be a faulty cable, as at some point the drive "spontaneously" re-connected after touching the USB connector at the PC's end. Issue seems completely unrelated to write blocker.

bitsgalore commented 2 years ago

Update: happens with "NEC USB 000x" drive as well. Starts after imaging a couple of floppies, then subsequently keeps happening. In trial run, the trigger appears to be one particular floppy ("CSS BESTANDEN La Peyne"); all subsequent floppies then turn up this error.

Imaging the triggering floppy with IsoBuster's GUI results in "unreadable sector" errors. Since in cli mode we use the /ep:oea options (No Prompt, On Error: Abort extraction), the 1005 error code does make sense (since we instructed IsoBuster to auto-abort in case of errors). But this doesn't explain why subsequent floppies fail as well!

Side note: wouldn't it make more sense to replace unreadable data with zeroes ( /ep:oez if I understand correctly). But docs are a bit unclear of what options really do:

oea: No Prompt, On Error: Abort extraction oeo: No Prompt, On Error: Ommit the sector oez: No Prompt, On Error: Zero (replace all data with null bytes, in case of raw only the user data is replaced and the EDC/ECC is calculated) oee: No Prompt, On Error: Error (replace the sector with erronous data)

i.e. description of oez suggest that all data (including readable sectors??) is replaced with null bytes; for oee it's not clear what is meant by "erroneous data". In GUI we see this:

VirtualBox_Windows 10_22_08_2022_18_15_16

which is also not very clear (what is "dummy data"?)

bitsgalore commented 2 years ago

Changed to /ep:oez: https://github.com/KBNLresearch/ipmlab/commit/02c7dfb40e54bb42511b1314c6138521303bc2ff

BUT both IsoBuster exit code and code in log file are now 0 in case of unreadable sectors, which means there's now no record of problems with such faulty disks! Same with /ep:oee.

bitsgalore commented 2 years ago

Corrupted sector using oez option:

oez

Same corrupted sector using oee option:

oee