Repository navigation
Releases
ROBOX Recompiled v0.1.8
Two downloads. If you are unsure, take the first one.
| download | requires | notes |
|---|---|---|
ROBOX-Recompiled-win64.zip |
any 64-bit CPU | The one to take. Runs everywhere. |
ROBOX-Recompiled-win64-avx2.zip |
AVX2: Intel Haswell (2013) or newer, AMD Zen (2017) or newer | Faster on hardware that supports it. |
Extract the whole folder and keep SDL2.dll beside the executable. You still
need your own copy of the game; the setup screen on first launch will ask for
it.
Fixed in this release
` closes the console again. In v0.1.7 it opened it and would not
close it — only Escape did. Dropping the keyboard capture cleared the port's
snapshot of which keys were down, so the key you were still holding read as a
brand-new press on the very next frame: the console closed and reopened before
a frame was drawn. The snapshot is left alone now, and ` is a plain
toggle.
If you took v0.1.7, replace it with this; nothing else differs.
Everything v0.1.7 added
Mods are text files now
There is a Lua runtime in the port. Every .lua in mods/lua/ is loaded at
startup and reloaded the moment you save it, so changing a mod does not
mean rebuilding the game. Scripts can read and write guest memory, move the
player, read input, draw over the frame, change level, play audio, fetch a
file, and hook the game's own functions. They can also run code inside the Lua
5.1 the game itself embeds and has never used for anything but tileset tables.
MODDING.md in the repository documents the whole surface. This download
ships the examples in mods/lua/; rename one to _name.lua to switch it off,
which is how the ones you are not using arrive.
A console, on the tilde key
` opens and closes a console over the game.
] level 01b warp, by id or by name
] tp 500 250 move the robot
] anim 4 the dance sequence the game never plays
] peek 0x801FADA4 32 hex dump guest memory
] = robox.player.get("x") * 2 evaluate Lua
] bind F5 "level 100; dance"
About forty commands — levels, the player, memory and registers, audio, key
binds, aliases and exec scripts. help lists them, Tab completes, Up and
Down walk the history, PgUp and PgDn scroll. It is itself a Lua mod
(mods/lua/console.lua), so it is editable like anything else, and other mods
can add their own commands to it.
Escape still opens the settings menu (and also closes the console).
` used to be an alias for the menu, for browsers that swallow Escape;
that alias is now F1.
Party mode plays a playlist
F6 still starts it. It can now be given a list of tracks and will play them
back to back, downloading and caching each one on first use; F7 skips, and
party, skip and playlist work in the console. The list ships empty —
whatever you put in it is fetched by everyone you give the mod to, so point it
at things you have the right to pass on.
Underneath that, replacement music can now be started directly by a mod rather
than only when the game starts a song, and while a mod's track is playing the
game's own music is muted rather than stopped — so turning it off hands the
soundtrack straight back.
Source
Everything above is in the repository at the tag for this release. The project
is GPL-2.0-or-later; THIRD-PARTY.md says what came from where.
ROBOX Recompiled v0.1.7
Superseded by v0.1.8.
The console opens with`in this build but will not close with it — only Escape does.
Fixed in v0.1.8; nothing else differs.
Two downloads. If you are unsure, take the first one.
| download | requires | notes |
|---|---|---|
ROBOX-Recompiled-win64.zip |
any 64-bit CPU | The one to take. Runs everywhere. |
ROBOX-Recompiled-win64-avx2.zip |
AVX2: Intel Haswell (2013) or newer, AMD Zen (2017) or newer | Faster on hardware that supports it. |
Extract the whole folder and keep SDL2.dll beside the executable. You still
need your own copy of the game; the setup screen on first launch will ask for
it.
New in this release
Mods are text files now
There is a Lua runtime in the port. Every .lua in mods/lua/ is loaded at
startup and reloaded the moment you save it, so changing a mod does not
mean rebuilding the game. Scripts can read and write guest memory, move the
player, read input, draw over the frame, change level, play audio, fetch a
file, and hook the game's own functions. They can also run code inside the Lua
5.1 the game itself embeds and has never used for anything but tileset tables.
MODDING.md in the repository documents the whole surface. This download
ships the examples in mods/lua/; rename one to _name.lua to switch it off,
which is how the ones you are not using arrive.
A console, on the tilde key
` drops a console over the game.
] level 01b warp, by id or by name
] tp 500 250 move the robot
] anim 4 the dance sequence the game never plays
] peek 0x801FADA4 32 hex dump guest memory
] = robox.player.get("x") * 2 evaluate Lua
] bind F5 "level 100; dance"
About forty commands — levels, the player, memory and registers, audio, key
binds, aliases and exec scripts. help lists them, Tab completes, Up and
Down walk the history, PgUp and PgDn scroll. It is itself a Lua mod
(mods/lua/console.lua), so it is editable like anything else, and other mods
can add their own commands to it.
Escape still opens the settings menu. ` used to be an alias for it,
for browsers that swallow Escape; that alias is now F1.
Party mode plays a playlist
F6 still starts it. It can now be given a list of tracks and will play them
back to back, downloading and caching each one on first use; F7 skips, and
party, skip and playlist work in the console. The list ships empty —
whatever you put in it is fetched by everyone you give the mod to, so point it
at things you have the right to pass on.
Underneath that, replacement music can now be started directly by a mod rather
than only when the game starts a song, and while a mod's track is playing the
game's own music is muted rather than stopped — so turning it off hands the
soundtrack straight back.
Source
Everything above is in the repository at the tag for this release. The project
is GPL-2.0-or-later; THIRD-PARTY.md says what came from where.
ROBOX Recompiled v0.1.6
Two downloads. If you are unsure, take the first one.
| download | requires | notes |
|---|---|---|
ROBOX-Recompiled-win64.zip |
any 64-bit CPU | The one to take. Runs everywhere. |
ROBOX-Recompiled-win64-avx2.zip |
AVX2: Intel Haswell (2013) or newer, AMD Zen (2017) or newer | Faster on hardware that supports it. |
Extract the whole folder and keep SDL2.dll beside the executable. You still
need your own copy of the game; the setup screen on first launch will ask for
it.
Fixed in this release
Earlier releases were built with -march=native, which targets the exact CPU
that compiled them. That silently raised the requirement to Intel Haswell or
AMD Zen, and on anything older the executable took an illegal instruction
before a single line of its own code ran -- no window, no error, no log. Double
clicking it did nothing at all.
That is what the first download fixes: it is built to a plain x86-64 baseline
and runs on any 64-bit processor. The AVX2 build is offered separately for
people whose hardware can use it, and states its requirement rather than
inheriting one by accident.
Note for low-power machines: starting is not the same as running well. The
recompiled game code is the frame-time bottleneck, and on Atom-class chips
(Celeron and Pentium N-series) it will start and be playable only marginally.
RECOMP_IR_SCALE=1 lowers the internal resolution and helps the GPU side.
ROBOX Recompiled v0.1.5
Windows x64.
If the window freezes while streaming
Reported: streaming over Discord, the game freezes while you are clicked into the window and runs normally when you click away. Disabling Discord's overlay made no difference; F11 fixed it.
The cause is the presentation path, not the game. Windows promotes a focused borderless-fullscreen window to independent flip presentation, bypassing the compositor — and a screen capture that needs a composed copy then fights it every frame until the present blocks. Unfocused, the window falls back to ordinary composition and runs, which is why the symptom reads backwards.
F11 is the fix, and it now sticks. Both display settings persist to nand/video.cfg:
| setting | written when |
|---|---|
fullscreen |
F11 toggles it |
internal_scale |
the settings menu changes it |
Previously either would reset on the next launch, so a fix had to be rediscovered every time. That had also been quietly undoing anyone who raised the internal resolution for a capture.
RECOMP_WINDOWED and RECOMP_IR_SCALE still override the saved values, so there is always a way in from outside if a saved setting ever leaves the window somewhere unusable.
Getting started
You need your own copy of the game. No game data is included. On first launch a setup screen offers two routes: install from your own Robox WAD (which also needs a 16-byte key.bin, not included), or point it at an existing unpacked copy.
Included
ROBOX.exe and SDL2.dll.
Licensed GPL-2.0-or-later. Parts of the renderer are ported from Dolphin; see THIRD-PARTY.md.
ROBOX Recompiled v0.1.4
Windows x64. Fixes a rendering issue that affected anyone using Windows display scaling.
The picture was being downscaled and stretched back
The process was not DPI-aware, so Windows virtualised it. On a 1920x1080 panel at 125% scaling, the desktop reports itself as 1536x864 — the game rendered into a 1536x864 buffer and the compositor stretched that back up to the real 1920x1080. Every pixel was resampled at the last step, which looks soft and blocky no matter how high the internal resolution is set.
Now fixed. On that same display the drawable goes from 1536x864 to 1920x1080.
If you use any display scaling above 100% — which most people on a high-resolution laptop or a 4K monitor do — this is a visible improvement.
Also
RECOMP_IR_SCALE=1..4 is now documented. It sets the internal resolution over the native 640x480 framebuffer, defaulting to roughly your panel height (2x at 1080p, 3x at 1440p, 4x at 4K). Raise it for supersampling — a 3080 will not notice.
Note that the in-game menu's internal-resolution setting is not saved between launches; the environment variable is the way to make it stick for now.
Getting started
You need your own copy of the game. No game data is included. On first launch a setup screen offers two routes: install from your own Robox WAD (which also needs a 16-byte key.bin, not included), or point it at an existing unpacked copy.
Included
ROBOX.exe and SDL2.dll.
Licensed GPL-2.0-or-later. Parts of the renderer are ported from Dolphin; see THIRD-PARTY.md.
ROBOX Recompiled v0.1.3
Windows x64. A clean run now leaves nothing behind but its own config.
Changes
Four bring-up diagnostics were writing files on ordinary runs. All are now behind ROBOX_DUMPS=1:
| what | where it went |
|---|---|
| a PNG of every unique texture the game touched | logs/tex_dumps/ |
| 88 MB of guest RAM on a stall | logs/mem1.bin, logs/mem2.bin |
| the software rasterizer's first frame | soft_efb.ppm |
The texture dumper is the one that had been most visible: it wrote to an absolute path on a machine that no longer exists, so it silently failed for years and looked disabled. Correcting that path in v0.1.2 turned it back on, and it began filling logs/tex_dumps on any launch that drew anything.
Crash handling is unchanged — a crash still writes logs/crash.log, and the watchdog still reports freezes with a register dump.
What the game creates on first run
| file | what it is |
|---|---|
controls.cfg |
the key map, editable |
mods/mods.cfg |
which mods are on |
mods/wav_music.cfg |
how to swap a song for your own audio |
mods/robox.dls |
the soundfont, built from your own copy of the game |
nand/ |
saves, and rebinds made from the in-game menu |
Nothing is overwritten once it exists.
Getting started
You need your own copy of the game. No game data is included. On first launch a setup screen offers two routes: install from your own Robox WAD (which also needs a 16-byte key.bin, not included), or point it at an existing unpacked copy — the .dol and the Assets folder, which need not be in the same place.
Included
ROBOX.exe and SDL2.dll.
Notes
- Launches fullscreen; F11 toggles, F12 shows a frame counter, Escape opens the controls menu.
- Co-op is a work in progress and is off by default.
Licensed GPL-2.0-or-later. Parts of the renderer are ported from Dolphin; see THIRD-PARTY.md.
ROBOX Recompiled v0.1.2
Windows x64.
Changes
- No console window. The executable was built for the console subsystem, so launching it left a cmd window sitting behind the game for the whole session. It is now a GUI-subsystem binary.
controls.cfgis written on first run. It was a file the repository shipped but no release ever carried, so downloaded builds fell back to built-in key bindings nobody could see or edit. It is now created beside the executable, documented in its own comments, and never overwritten once it exists.
What the game creates on first run
| file | what it is |
|---|---|
controls.cfg |
the key map, editable |
mods/mods.cfg |
which mods are on |
mods/wav_music.cfg |
how to swap a song for your own audio |
mods/robox.dls |
the soundfont, built from your own copy of the game |
nand/ |
saves, and rebinds made from the in-game menu |
None are overwritten once they exist, so your edits survive.
Since v0.1.0
Normal runs are silent — no logs/run.log and no axmix.wav unless you ask for them with RECOMP_LOG=1 or ROBOX_AXDUMP=1. A crash still writes logs/crash.log either way.
Getting started
You need your own copy of the game. No game data is included. On first launch a setup screen offers two routes: install from your own Robox WAD (which also needs a 16-byte key.bin, not included), or point it at an existing unpacked copy — the .dol and the Assets folder, which need not be in the same place.
Included
ROBOX.exe and SDL2.dll.
Notes
- Launches fullscreen; F11 toggles, F12 shows a frame counter, Escape opens the controls menu.
- Co-op is a work in progress and is off by default.
Licensed GPL-2.0-or-later. Parts of the renderer are ported from Dolphin; see THIRD-PARTY.md.
ROBOX Recompiled v0.1.1
Quiet build. Windows x64.
Changes
- Normal runs are silent. The previous build wrote
logs/run.logon every launch, capturing all ~430 engine log sites. That is now off unless you setRECOMP_LOG=1, and a clean run leaves nologs/directory at all. - No more
axmix.wav. A debug WAV of the audio mixer was being written unconditionally beside the executable, running to a two-minute cap — roughly 23 MB per launch, silently. It is now behindROBOX_AXDUMP=1. - Crash dumps are unaffected. If the game crashes it still writes
logs/crash.logwith registers and the guest backtrace. The fatal handlers open that file at the point of failure rather than holding a log open all session, which is what lets a clean run leave nothing behind. - The overlay font can now be exported as an installable TrueType with
tools/font_to_ttf.py.
Getting started
You need your own copy of the game. No game data is included. On first launch a setup screen offers two routes:
- Install from a WAD — point it at your own Robox WAD and it decrypts the contents, decompresses the executable, unpacks the assets and builds the soundfont. Drop the WAD beside the executable and it finds it without being asked. This route needs a Wii common key as a 16-byte
key.bin, which is not included. - Locate files manually — if you already have the game unpacked, pick the
.doland then theAssetsfolder. They do not have to be in the same place.
Either way it happens once and the choice is remembered.
Included
ROBOX.exe and SDL2.dll. Everything else is either generated on first run or comes from your own copy.
Notes
- Launches fullscreen; F11 toggles, F12 shows a frame counter, Escape opens the controls menu.
- A
mods/folder is created beside the executable on first run.mods/mods.cfgturns each mod on or off. - Co-op is a work in progress and is off by default.
Licensed GPL-2.0-or-later. Parts of the renderer are ported from Dolphin; see THIRD-PARTY.md.
ROBOX Recompiled v0.1.0
First public build. Windows x64.
You need your own copy of the game. No game data is included. On first launch a setup screen offers two routes:
- Install from a WAD — point it at your own Robox WAD and it decrypts the contents, decompresses the executable, unpacks the assets and builds the soundfont. Drop the WAD beside the executable and it finds it without being asked. This route needs a Wii common key as a 16-byte
key.bin, which is not included. - Locate files manually — if you already have the game unpacked, pick the
.doland then theAssetsfolder. They do not have to be in the same place.
Either way it happens once and the choice is remembered.
What this is
Robox (WiiWare, Dreambox Games, 2010) translated ahead of time from PowerPC to C — 12,831 functions — and linked against a host reimplementation of the parts of the Wii it used: the GX graphics pipeline on OpenGL, the AX audio mixer, the OS threading and heap layer, and the disc/NAND filesystem. There is no interpreter and no JIT.
Included
ROBOX.exe and SDL2.dll. Everything else the game needs is either generated on first run or comes from your own copy.
Notes
- Launches fullscreen; F11 toggles, F12 shows a frame counter, Escape opens the controls menu.
- A
mods/folder is created beside the executable on first run.mods/mods.cfgturns each mod on or off. - Co-op is a work in progress and is off by default.
logs/run.logis written next to the executable and is the useful thing to attach to a bug report.
Building from source
The repository does not contain the recompiled code — it is generated at build time from a DOL you supply, using WiiRecomp. See the README.
Licensed GPL-2.0-or-later. Parts of the renderer are ported from Dolphin; see THIRD-PARTY.md.