Olivia Brooks 23fd1c158e Update Cargo.toml
Employ Tilde requirements due to update strategy employed by serde crate possibly having breaking changes at the patch level.

Patch 217 is fully functional without fault. It is also the only version tested at present.

Patch 218 just revises documentation, so is functionally identical to patch 217.
2025-02-20 14:27:29 -05:00
2025-02-20 13:58:28 -05:00
2025-02-19 14:06:51 -05:00
2025-02-19 08:32:14 -05:00
2025-02-20 18:59:14 +00:00
2025-02-20 14:27:29 -05:00
2025-02-19 09:13:44 -05:00

= kramer
:toc:

// Hello people reading the README source :)

== Prelude

VERY EARLY ALPHA -- NOT YET FUNCTIONAL

I needed a program to efficiently repair the data on optical discs.

== Goals

* [*] CLI Args
** [*] Input device
** [*] Output file (ISO 9660)
** [*] Repair map file
** [*] sequence_length
** [*] brute_passes
** [*] Sector size override?

* Repair Algorithm
** Stage 1: Trial
*** [ ] 1 - From first sector, parse forward to error.
*** [ ] 2 - From last sector, parse backwards to error.
*** [ ] 3 - From center of data for trial, parse forward to error or end of remaining trial domain.
*** [ ] 4 - Stripe-skip remaining data, attempting to read largest trial domains first.
**** [ ] If data keeps reading good, no skip will occur until an error is reached.
** Stage 2: Isolation
*** [ ] From largest to smallest untrustworthy sequence, attempt to read each sequence at half sequence_length.
*** [ ] Same, but at quarter sequence_length.
*** [ ] Same, but at eighth sequence_length.
*** [ ] By sector, parse untrustworthy sequences from start to error, and end to error. Mark mid section for brute force.
** Stage 3: Brute Force
*** [ ] Desperately attempt to recover data from marked sections.
*** [ ] Attempt for brute_passes, retrying all failed sectors.

* [ ] Repair Map
** [ ] I'll figure out some kind of language for this...

== License
Description
Optical disc recovery project.
Readme MIT 336 KiB
Languages
Rust 100%