> home

BMP2Tile remade for macOS

A native Apple Silicon reimplementation of maxim-zhao/bmp2tile, the tool for converting images to Sega Master System tiles, tilemaps and palettes. C++20, SDL3, Dear ImGui — ought to build on other platforms but untested. A full reimplementation, not a line-by-line port of the original C#.

Download bmp2tile-mac.zip 1.8 MB · Apple Silicon · unsigned

Unsigned build — Gatekeeper will warn on first launch; right-click the app and choose Open once to bypass it. Or build it yourself from the source included.

BMP2Tile GUI walking through the Source, Tiles, Tilemap and Palette tabs, loading an image and saving compressed output.

What it does

Loads an indexed BMP (preserving the on-disk palette order), or a PNG / GIF /24-32bpp BMP quantized down to one. Chops it into 8×8 tiles with duplicate and mirror detection, then saves tiles, tilemap and palette in whatever format devkitSMS / SMSlib expects. Four GUI tabs — Source, Tiles, Tilemap, Palette — or drive it headlessly from the CLI binary, which has no SDL / Dear ImGui dependency at all.

Compression formats

Every format devkitSMS can load, ported to match the reference tool byte-for-byte: ZX7, PSGaiden, STC0, STC4 and STM all match bmp2tile 0.67's output exactly. APLib is a hybrid — the bitstream format is faithfully ported, but the match finder is a from-scratch hash-chain/greedy parser rather than the original's optimal suffix-array search, so it produces a larger but fully correct bitstream.

Building it

Two binaries, one Makefile:

xcode-select --install        # if you haven't already

make cli                      # no network access needed
./build/bmp2tile_cli --help

brew install sdl3 pkg-config
make gui                      # fetches Dear ImGui on first run
./build/bmp2tile

make                          # both
make bundle                   # wraps bmp2tile in a double-clickable .app

bmp2tile_cli is CLI-only with zero SDL/ImGui dependency. bmp2tile runs the GUI with no arguments, or drops into the same CLI mode when given some.

  • C++20
  • SDL3
  • Dear ImGui
  • Apple Silicon
  • SMS / Game Gear