Repository navigation
First public release of ROM Builder — a Rust/egui desktop tool for assembling,
inspecting, and exporting multi-bank ROM images for programmable memory ICs
(EPROM / EEPROM / NOR flash), aimed at retro-computing projects.
Highlights
- Bank layout — divide a target IC into linear banks of a chosen ROM size
(4k–512k) and place ROMs into them. - Multi-ROM per bank — drop a ROM smaller than a bank and fill the leftover
space with more ROMs as indexed sub-slots (0,0.1,0.2, …). - Target IC catalog — UV EPROMs (2716–27C080), Winbond reusable EEPROM-types
(W27Cxxx), parallel EEPROMs (28C/AT28C), and NOR flash (SST39SF, Am29F, AT29C);
pick by size or from a filterable IC list. - Bank map — color-coded grid (unused / filled / duplicated) with legend and
pagination; duplicate banks/slots highlighted by checksum. - Hex preview and local name suggestions from strings inside a ROM.
- Smart Add ROM — exact-size drops in; larger ROMs can be trimmed or spread
across banks; smaller ones keep the free remainder. - Safety prompts — confirmations (Enter/Esc) before clipping to a smaller
chip, splitting/consolidating on a layout change, removing banks, or quitting
with unsaved changes; Save highlights when there are pending changes. - Projects — save/restore the full editing state as a
.romprojfile. - Export — chip-sized
.binplus a.metadata.txtsummary. - Keyboard shortcuts: Ctrl+N/O/S/E for New/Open/Save/Export.
Build & run
Requires a stable Rust toolchain.
cargo run # build and launch
cargo build # debug build -> build/debug/rom-builder.exe