Tag: pico-8

16 posts tagged with "pico-8".

Why Celeste sounded wrong

The cart was byte-identical to the BBS copy, so the fault was in the synth: a music clock cutting bars to a quarter, and a noise fit matched to the wrong metric.

The console's second shell

Two days building the console's second shell, including a crash hunt that ended eight kilobytes from the stack floor.

Cattle Crisis from 9 fps to 58

One day of hardware A/B tests on the H753. The biggest single win was a compiler flag I should have set weeks ago.

Redesigning the cartridge shell around the label

The 3D-printed cartridge shell gets a flush sticker pocket and a chamfered corner, test-fitted virtually before printing anything.

What all the wires are for

A tour of Rusty Nail as it stands, from the OS on screen to the four breakout boards and the cartridge shell with a 16 MiB flash chip inside.

A 3x palette scanout for the HDMI picture

The HDMI picture was pixel-perfect and still looked soft. A full-resolution palette scanout fixed that, after an afternoon lost to a heap that only sometimes existed.

Why the speakers started clicking

The morning after deleting the old Lua core, everything played and then the speakers started clicking. A command trace found three lines of channel semantics and a missing crossfade.

The fixed-point Lua core becomes the default

Stage 9 of the runtime migration, ending the night at 59 fps on jumper wires after a one-byte regression that cost 19 carts.

An evening of unrelated fixes

Three unrelated fixes from one evening. The biggest was a cartridge that finally keeps its saves; the strangest was an iterator that duplicated the player.

z8lua lands behind a flag

The new Lua core measured against the old one on identical silicon, with a licensed PICO-8 as the oracle and a per-cart compatibility matrix.

A runtime baseline before the Lua swap

A permanent benchmark and input tapes recorded from real play, so the new Lua VM has numbers to beat before it lands.

Why I didn't replace the PICO-8 runtime

Whether the homegrown PICO-8 runtime should be replaced with an existing emulator. After twenty-one test cartridges the answer was to keep everything and swap the Lua core.

Downloading PICO-8 carts over WiFi

Rusty Nail can download carts from a pop-up launcher. The WiFi reason-15 failure was my own off-by-one, and a GPIO pin really did die on the bench.

Planning a flash cartridge for the console

Picking a W25Q flash chip for a physical PICO-8 cartridge and mapping how the firmware would read it. Nothing is built yet.

A divide per pixel

Profiling the PICO-8 runtime found a stretched-sprite blit doing an integer divide on every pixel, on a chip with no fast divide.

Running real PICO-8 Lua on a Cortex-M7

Vendoring Lua 5.4 into bare-metal firmware, and why a hardware watchdog beat an instruction-count hook for stopping runaway carts.