1 # FriiDump — Project Frankenstein Branch
3 FriiDump is a command-line optical-disc dumping tool for Nintendo GameCube,
4 Nintendo Wii, standard DVD-ROM, and selected Original Xbox/XGD workflows. This
5 repository preserves the Project Frankenstein development branch based on
8 The branch extends the original FriiDump code with:
10 - analyzer-derived HLDS `0xE7` drive profiles for GameCube/Wii dumping;
11 - native GDR-8050L and GDR-3120L Xbox/XGD paths;
12 - redump-style Original Xbox/XGD1 reconstruction and metadata;
13 - optional game-partition XISO output;
14 - media preflight, profile reporting, and STOP UNIT cleanup;
15 - validated Windows/MSVC and Linux/CMake build paths.
17 The original detailed user documentation remains in [`README`](README).
18 Xbox-specific behavior is documented in [`docs/XBOX.md`](docs/XBOX.md).
22 This is the active canonical Project Frankenstein FriiDump repository. Authority
23 was accepted at annotated tag `v0.5.3.5-pf1`. The imported baseline is
24 intentionally conservative: source and
25 maintained documentation were preserved, while disc images, live logs, compiled
26 binaries, build directories, result archives, and unrelated reverse-engineering
29 The baseline source came from:
32 D:\vscode-workspace\friidump
35 No firmware binaries or disc images belong in this Git repository.
40 repository: /srv/project-frankenstein/repos/friidump.git
41 authority marker: /srv/project-frankenstein/catalog/authority/friidump.json
42 canonical tag: v0.5.3.5-pf1
47 ### Windows — validated MSVC 32-bit path
49 The maintained Windows helper invokes the Visual Studio 2019 Build Tools
50 32-bit environment and compiles from `msvc32_friidump.rsp`:
56 Clean generated output with:
59 .\build_msvc32.cmd clean
62 The VS Code build tasks are in `.vscode/tasks.json`. The helper currently
66 C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\
69 ### Linux / Unix — CMake
72 cmake -S . -B build -DBUILD_STATIC_BINARY=ON
74 ./build/src/friidump --help
77 The canonical repository baseline was locally compiled with GCC using this path. The
78 build completed successfully. One inherited warning remains in
79 `libfriidump/rs.c` concerning a right-shift count; it is recorded as technical
80 debt and was not silently changed during repository import.
84 List command-line options:
90 GameCube/Wii dump using automatic drive/profile detection:
93 friidump -d <drive> -8 -s -i game.iso
96 Standard readable DVD:
99 friidump -d <drive> -D -i dvd.iso
102 Original Xbox/XGD redump-style image:
105 friidump -d <drive> -T 4 -i xbox.iso
108 Original Xbox/XGD game-partition XISO:
111 friidump -d <drive> -T 4 -X xbox.xiso
114 Consult [`README`](README), [`docs/options`](docs/options), and
115 [`docs/XBOX.md`](docs/XBOX.md) before hardware use.
117 ## Safety and evidence rules
119 FriiDump issues low-level SCSI/MMC and model-specific vendor commands.
121 - Use only drives and media you own or are authorized to examine.
122 - Do not assume two firmware revisions share the same private-command layout.
123 - Prefer exact analyzer-derived profiles over guessed addresses or legacy
125 - Treat live hardware behavior as the final validation boundary.
126 - Keep firmware, media images, memory dumps, and generated logs outside Git.
127 - Preserve provenance for every firmware/profile conclusion.
132 src/ command-line program
133 libfriidump/ disc, drive, dumping, Xbox, and vendor-command logic
134 libmultihash/ checksum implementations
135 docs/ user, Xbox, validation, and historical documentation
136 .vscode/ maintained Windows build helper and tasks
137 build_msvc32.cmd Windows build entry point
138 CMakeLists.txt portable build entry point
141 ## Project boundaries
143 - **PFES** — engineering specification, decisions, evidence status, and history.
144 - **xbox-dvd-tools** — firmware acquisition, extraction, analysis, disc tools,
145 and shared validation utilities.
146 - **mn103s-emulator** — MN103S CPU/emulator and GDR-8050L emulation work.
147 - **friidump** — this dumping application and its maintained drive profiles.
148 - **Firmware archive** — managed server artifacts outside Git.
152 FriiDump is distributed under the GNU General Public License, version 2 or
153 later. See [`COPYING`](COPYING). Existing source-file copyright notices and
154 authors are preserved.