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 first canonical-source candidate for the standalone `friidump`
23 repository. The imported baseline is intentionally conservative: source and
24 maintained documentation were preserved, while disc images, live logs, compiled
25 binaries, build directories, result archives, and unrelated reverse-engineering
28 The baseline source came from:
31 D:\vscode-workspace\friidump
34 No firmware binaries or disc images belong in this Git repository.
38 ### Windows — validated MSVC 32-bit path
40 The maintained Windows helper invokes the Visual Studio 2019 Build Tools
41 32-bit environment and compiles from `msvc32_friidump.rsp`:
47 Clean generated output with:
50 .\build_msvc32.cmd clean
53 The VS Code build tasks are in `.vscode/tasks.json`. The helper currently
57 C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\
60 ### Linux / Unix — CMake
63 cmake -S . -B build -DBUILD_STATIC_BINARY=ON
65 ./build/src/friidump --help
68 The repository candidate was locally compiled with GCC using this path. The
69 build completed successfully. One inherited warning remains in
70 `libfriidump/rs.c` concerning a right-shift count; it is recorded as technical
71 debt and was not silently changed during repository import.
75 List command-line options:
81 GameCube/Wii dump using automatic drive/profile detection:
84 friidump -d <drive> -8 -s -i game.iso
87 Standard readable DVD:
90 friidump -d <drive> -D -i dvd.iso
93 Original Xbox/XGD redump-style image:
96 friidump -d <drive> -T 4 -i xbox.iso
99 Original Xbox/XGD game-partition XISO:
102 friidump -d <drive> -T 4 -X xbox.xiso
105 Consult [`README`](README), [`docs/options`](docs/options), and
106 [`docs/XBOX.md`](docs/XBOX.md) before hardware use.
108 ## Safety and evidence rules
110 FriiDump issues low-level SCSI/MMC and model-specific vendor commands.
112 - Use only drives and media you own or are authorized to examine.
113 - Do not assume two firmware revisions share the same private-command layout.
114 - Prefer exact analyzer-derived profiles over guessed addresses or legacy
116 - Treat live hardware behavior as the final validation boundary.
117 - Keep firmware, media images, memory dumps, and generated logs outside Git.
118 - Preserve provenance for every firmware/profile conclusion.
123 src/ command-line program
124 libfriidump/ disc, drive, dumping, Xbox, and vendor-command logic
125 libmultihash/ checksum implementations
126 docs/ user, Xbox, validation, and historical documentation
127 .vscode/ maintained Windows build helper and tasks
128 build_msvc32.cmd Windows build entry point
129 CMakeLists.txt portable build entry point
132 ## Project boundaries
134 - **PFES** — engineering specification, decisions, evidence status, and history.
135 - **xbox-dvd-tools** — firmware acquisition, extraction, analysis, disc tools,
136 and shared validation utilities.
137 - **mn103s-emulator** — MN103S CPU/emulator and GDR-8050L emulation work.
138 - **friidump** — this dumping application and its maintained drive profiles.
139 - **Firmware archive** — managed server artifacts outside Git.
143 FriiDump is distributed under the GNU General Public License, version 2 or
144 later. See [`COPYING`](COPYING). Existing source-file copyright notices and
145 authors are preserved.