Repository navigation
Building from Source
- .NET SDK 10.0.301 (pinned by
global.json) - Git
- Optional: PowerShell 7 for packaging/soak scripts
- Optional: Python 3.12+ for the documentation site
- Optional: a legally obtained BIOS/disc corpus for real-content tests
git clone https://github.com/purelogiccode/5DO.git
cd 5DO
dotnet build 5DO.sln -c Release
dotnet test 5DO.sln -c Release
dotnet format 5DO.sln --verify-no-changesThe release layout is one bundle per system, containing both apps. The bundles are framework-dependent: users must install the .NET 10 Runtime. Publish the two apphosts as framework-dependent single files:
$rid = 'win-x64'
dotnet publish src/FiveDo.Cli/FiveDo.Cli.csproj -c Release -r $rid `
--self-contained false -p:PublishSingleFile=true -p:PublishTrimmed=false `
-m:1 -o "artifacts/bundle/$rid/cli"
dotnet publish src/FiveDo.Frontend.Avalonia/FiveDo.Frontend.Avalonia.csproj `
-c Release -r $rid --self-contained false -p:PublishSingleFile=true `
-p:PublishTrimmed=false -m:1 -o "artifacts/bundle/$rid/frontend"
pwsh -NoProfile -File packaging/package-bundle.ps1 `
-Rid $rid `
-CliPublishDirectory "artifacts/bundle/$rid/cli" `
-FrontendPublishDirectory "artifacts/bundle/$rid/frontend" `
-OutputDirectory "artifacts/bundles"The script removes PDB and XML documentation files, copies the README/license/notices/
whatsnew/release notes, and writes PACKAGE.txt and SHA256SUMS.txt. It does not copy
the .NET runtime.
Optional NativeAOT CLI:
dotnet publish src/FiveDo.Cli/FiveDo.Cli.csproj -c Release -r win-x64 `
--self-contained true -p:FiveDoNativeAot=true -p:PublishSingleFile=trueCI builds 5do-win-x64.zip, 5do-linux-x64.tar.gz, and 5do-osx-x64.tar.gz and
publishes them to the GitHub release.
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --require-hashes -r requirements-docs.txt
mkdocs build --strict5DO is donationware: non-commercial, source-available software under the FreeDO modified GNU LGPL. No BIOS ROMs or game images are distributed. "3DO" and "Panasonic" are trademarks of their respective owners; 5DO is not affiliated with or endorsed by them.