The real factory firmware of your Tamagotchi Paradise, on your computer. Not a reimplementation of the game: an ARMv7-M core written from scratch in Rust, with the undocumented SNC73410 peripherals modelled from measurement.
Pick your system. The packages are built by the repository's own publishing pipeline, from code you can read.
capybara.exe. Windows may warn that the publisher is unknown: the executable is not signed with a commercial certificate.64-bit Windows. Your games go in %APPDATA%\Capybara\data, never next to the program.
xattr -dr com.apple.quarantine /Applications/Capybara.app
Apple Silicon. On an Intel Mac, build from source. Your games go in ~/Library/Application Support/Capybara.
chmod +x capybara-*.AppImage && ./capybara-*.AppImage
sudo dpkg -i capybara-*.deb
x86_64. Your games go in ~/.local/share/capybara.
You need your own console.
Capybara ships no game data, and never will. You supply a flash dump of your own console, 16 MB, read from its memory chip. The dump is encrypted, but you have nothing else to find: Capybara works out its key from the dump itself, in about a minute, and nothing of that key is written into the software. That is the only honest and lawful way to use it: you emulate the machine you already own.
Tamagotchi Paradise is a product still on sale, not an abandoned one. Nothing here replaces buying it, and nothing here lets you play without it: you must physically own a console, open it, and read its own memory. What Capybara gives back is what you already paid for, on a screen that does not run on a coin cell. That is the honest line, and the project holds it even where it makes the software harder to start using.
Three buttons and a dial, from keyboard or mouse. Held keys combine, which is how you revive a character. Everything remaps, and the mapping is remembered.
One slot per game, kept per dump. A new game leaves the previous one untouched. The clock keeps running with the window closed, like a real device left in a drawer.
The whole machine frozen, core and peripherals included. One point every minute, kept twelve hours, rewinding to the second.
The shell takes your own images, with a cut-out mask that replaces the silhouette. Colours, opacity, depth, shadows, layer rotation, button size and spacing.
The console's UART is modelled, with a bridge to a port on your computer at 460800 baud. Pair it with a virtual serial port tool and the transfer software talks to your console as if it were plugged in.
A local server publishes the screen and accepts the controls. The console can be watched and played from a phone on the same network.
What runs, and what is still open. The page says it rather than hiding it.
| Area | State |
|---|---|
| ARMv7-M core, Thumb-2 | complete |
| 128 × 128 RGB565 display | complete |
| Buttons, dial, sleep and wake | complete |
| Clock, calendar, ageing | complete |
| Saves and recovery points | complete |
| Sound | complete |
| Serial link | complete |
| Editions | Land, Water, Sky and Jade Forest tested; White Glacier and Orange Tropical untested |
Behind all of this: the pinout, the real memory map, the Sonix load table format, the AES key derivation, and the sixteen ARMv7-M decoding faults found by running real code. Everything was measured on the hardware, nothing was assumed.
Nothing obliges you to trust a binary. The code is open and building takes one line.
git clone https://github.com/infinition/capybara && cd capybara && cargo build --releaseThe binary lands in target/release/capybara. The reverse engineering probes live in examples/ and stay in the repository, because the work continues.