Skip to content
Yet Another ROM Hacking Library
C# PowerShell Other
Branch: master
Clone or download
pleonex ⬅️ Merge pull request #115 from SceneGate/feature/avoid-loops
Check that child node doesn't add parent
Latest commit 60e6422 Sep 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE 📚 Update issue templates Dec 7, 2018
.vscode 🐛 Fix increasing size of substreams Jul 21, 2019
docs 📚 Added version number to docs Aug 14, 2019
src Merge branch 'master' into feature/avoid-loops Sep 22, 2019
tools 💚 Revert DocFX upgrade Aug 9, 2019
.gitattributes Dockerfile to validate Linux on Windows Jun 23, 2019
.gitignore Improve performance of stream compare Aug 22, 2019 📚 Add code of conduct Nov 2, 2017 Fix compatibility with .NET Core Nov 25, 2018
Dockerfile Dockerfile to validate Linux on Windows Jun 23, 2019
LICENSE 📚 Rename license for integration with tools Jun 22, 2019 Create template for pull requests Dec 7, 2018 📚 Update install instructions Sep 14, 2019
azure-pipelines.yml 💚 Disable step of docs in CI Aug 9, 2019
build.cake 💚 Exclude ignored tests Sep 13, 2019
build.ps1 ⬅️ 🔧 Reorganize project and use Cake build system (#63) Oct 12, 2018 ⬅️ 🔧 Reorganize project and use Cake build system (#63) Oct 12, 2018
omnisharp.json 👕 Cleanup of build system files Apr 14, 2019

Yarhl: Yet Another ROM Hacking Library GPL v3 License

Yarhl Logo

Yarhl is a library for ROM Hacking and fan-translation projects. It provides a virtual file system, file format and format conversion features and plugin support. It's built in C# / .NET and works in Windows, Linux and Mac OS X.

NuGet Nuget NuGet Alpha
Build & Test Build Status
Quality report Sonar Gate Total alerts
Coverage Coverage
Project Best Practices CII Best Practices
Quality Details Maintainability Bugs Code smells Duplicated lines
Code Stats Lines of code


Check our on-line API overview: Mastering Yarhl and the API documentation here.


Stable releases are available from

Alpha releases can be found in this GitHub package repository.


Since the unit tests are valited against .NET Core and .NET Framework or Mono both runtime must be installed on the machine.

Linux & Mac OS X

Requirements: Mono and .NET Core.

  1. Clone the repository.

  2. Run ./


Requirements: .NET Framework and .NET Core.

  1. Clone the repository. You can use the GitHub client or the command-line.

  2. Run .\build.ps1

You can also validate a Linux build using Docker with: docker build .

You can’t perform that action at this time.