haroldo-ok

Flashback Sms — Development skill for Claude Code

Development community

A W.I.P. vibe-port of Flashback to Sega Master System using Arena and Claude Code.

How to install Flashback Sms

This entry records only its repository, not the path inside it, so there is no exact command to give. Open haroldo-ok/flashback-sms and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Flashback Sms does

A W.I.P. vibe-port of Flashback to Sega Master System using Arena and Claude Code.

Alternatives in Development

  • Vibe Kanban — Get 10X more out of Claude Code, Gemini CLI, Codex, Amp and other coding agents 23.5k ★
  • Hapi — App for Claude Code / Codex / Gemini / OpenCode, vibe coding anytime, anywhere 3.6k ★
  • Agent Of Empires — Manage multiple Claude Code, OpenCode agents from either TUI or Web for easy access on mobile 3.1k ★

README

Flashback (DOS demo) → Sega Master System

**Status: milestone 3 in progress.** The cutscenes, the room backgrounds of the demo's three levels, and a *replay* of real level-1 gameplay (Conrad, monsters and objects as hardware sprites) all run from a 4 MB ROM, checked pixel-exact against a host model of the same ROM bytes. The **first slice of the game logic** now runs on the Z80: each level's live object table is built from the level data exactly as the original engine builds it, and the result is checked against the engine. The rest of the logic (the object script interpreter, collision, input) is not ported yet, so the gameplay you see is still the recorded replay, and there is no sound.

Build

make fbdump                        # headless extractor (links REminiscence, GPL)
make capture DEMO=path/to/DATA     # real engine renders -> capture/*.fbv, rooms_L*.fbr
make convert                       # cutscene encoder + room converter + bank packer
make verify                        # decode the packed bytes, compare with the captures
make                               # -> flashback.sms (4096 KB)
make check                         # emulator playtest + pixel-exact comparison

Needs SDCC ≥ 4.2 and devkitSMS (`~/.devkitsms`), plus Python 3 with numpy and Pillow.

What's in the ROM

Cutscenes all 34 in the demo. They share one tile dictionary (45,804 tiles, 1.47 MB), and VRAM acts as a cache for 768 cells. Mean error from ideal is 0.0–2.3% per clip.
Rooms 163 room slots, 97 unique images, from levels 1, 3 and 5. The full 256×224 room fills the 32×28 nametable and scrolls vertically.
Simulated gameplay the ported logic drives the sprite renderer: 3820 8x16 sprites (245 KB) keyed by animation number, streaming through 32 VRAM slots. This replaced the recorded replay, which is no longer in the ROM.
Level data object tables, node maps and animation records for all three levels (~50 KB each, bank-safe so no record straddl