Home

Awesome

DEPRECATION NOTICE

All of the existing tooling is implemented elsewhere and most of the functionality I was planning to have also mostly exist at this point, so there is no reason to fragment tooling. If you arrived on this repository, I suggest using UNFLoader instead. It supports almost all flashcarts in the wild and has many additional functionality. Other things are being implemented on libdragon itself. I will not be maintaining this repository anymore.

ED64 Tools

Build

This repository contains essential tools to be used with everdrive64 (v3 and x7) and libdragon. Libdragon is not a requirement as long as your ROM supports the UNFLoader protocol. Tested to be working with OS v3.05 on an everdrive64 v3. Should also work on an X7.

Loader

Use this to upload your z64 images to ED64. Make sure you have node.js (>= 14) and install globally;

npm install -g ed64

Or you can grab the pre-built executable from the releases and put it somewhere on your PATH if you are on Windows. Then you won't need node.js on you machine.

Then invoke the loader;

loader64 <rom file> [flags]

You can start listening for UNFLoader style text messages and pipe them to the stdout after boot by providing --keep-alive.

loader64 <rom file> --keep-alive

ED64 example

In the ./src folder you can find a N64 program. To be able to use it;

When using libdragon all standard error will go serial over USB.

Creating a new project

Create a new NPM project;

npm init

install libdragon and ed64;

npm i libdragon --save
npm i ed64 --save

Add following to your NPM scripts;

"prepare": "libdragon init"

This will install and initialize libdragon when you do npm i for your repository. Keep in mind that your vendored libdragon copy will need initialization. e.g git submodule update --init if you are using it as a submodule.

To update libdragon, run;

npm i libdragon@latest --save
npm i

The second npm i will actually initialize the container if necessary, thanks to the prepare script.

To invoke the locally installed loader;

npx loader64 <rom file> [flags]

Tasklist

Development

You can run npm run format to automatically check and fix javascript code style and npm run lint to fix linter error that are auto fixable.

To invoke the local version do;

npx loader64 <rom file> [flags]

Funding

If this tool helped you, consider supporting its development by sponsoring it!