Skip to content
Start a project

Published October 25, 2026 · RetroForge Supply Team

Boards & engineeringRelease planning

NES Homebrew Cartridge Compatibility: What to Test Before Release

A backer asks whether your new NES game will work on their console. “It runs in my emulator” is not enough information to answer them.

NES homebrew cartridge compatibility belongs in the sample plan before it becomes a sentence on your campaign page. Test a named game build on a named board and named hardware. Publish what passed, what failed and what you have not checked.

On this page 6 sections
Compatibility approval workflow linking the final ROM, specified cartridge board, named test consoles and recorded results
Compatibility is a test record attached to a particular release. Original RetroForge planning illustration; the diagram does not report completed hardware tests.

Answer the console question with a test record

The Mariana Sequence Kickstarter FAQ separates original NES testing from newer emulation-based hardware and provides a compatibility list for that game. It is a useful example of the question a physical-release page needs to answer. Its results are not a compatibility certificate for another game, board revision or firmware version.

Instead of “works on NES-compatible systems,” prepare a short table before launch. Leave an untested device marked untested. A clear limitation lets a supporter choose the right reward; a broad claim leaves them guessing.

Match the ROM to the board, not just the connector

A mapper controls how the cartridge’s memory is presented to the NES. The shell shape and edge connector do not tell you whether the board implements the behavior your game expects.

Record the mapper and submapper if applicable, PRG and CHR requirements, memory arrangement, save mechanism, intended region and connector format. Have your developer supply these details and the board supplier confirm the proposed implementation. If a flash cartridge runs the ROM during development, still test the actual production-style sample.

NESmaker’s original campaign FAQ explains why it chose Mapper 30 and discusses a Mapper 2 export with feature trade-offs. That historical explanation is useful context, not a current emulator support list. Check the requirements of the specific build you are releasing.

For a hardware enquiry, send those requirements with the ROM version and the consoles you intend to support. RetroForge’s PCB and programming review is a feasibility step. Support for any particular mapper or save design needs project-specific confirmation before an order or public compatibility promise.

Keep original hardware, clones and emulation separate

Use the exact model and region of each test device. For devices with updateable software or FPGA cores, include the relevant version. If you use an adapter, identify it as part of the setup. A result from one configuration should not silently become a claim about the whole product family.

On a small screen, swipe the table to see all columns.

Copy this structure into your release test record
Test setupRecord alongside the resultEvidence needed
Original NESModel, region, modifications, power and display setupNamed sample passes the agreed playthrough and restart checks
Famicom with adapterConsole and adapter model; cartridge connector formatResults from that complete setup, including physical fit
Hardware cloneExact model and region settingSeparate checks for boot, graphics, sound, controls and timing
FPGA-based deviceDevice and firmware or core versionResults on the stated version; no blanket claim for later updates
Emulation-based device or softwareDevice, emulator/core version, settings and ROM identityMapper features and save behavior tested in that configuration

These rows are a test template, not a list of supported devices. Pick the configurations relevant to your audience and state the coverage you can actually complete. Original PAL and NTSC systems should be separate rows if both are promised.

A title-screen boot is only the first check

Agree a test sequence that reaches the parts of the game most likely to expose a mismatch: level transitions, graphics changes, music and sound effects, controller input, reset behavior and a representative extended play session. Check timing on each region you intend to claim.

If the game saves, test its own save and load sequence on the cartridge. Complete a save, turn the console off normally, restart it and verify the expected progress. Repeat with different in-game data and a later save. An emulator save state is a different feature and should not stand in for this check.

A March 2025 NESdev discussion about UNROM 512 flash saving shows why a generic “Mapper 30 supported” label can leave questions unanswered: the developer was specifically trying to establish save support. Record the feature you tested, not just the mapper number.

Keep normal save testing separate from deliberate power-loss testing during a write. If recovery from an interrupted save matters to your release, have the developer define a controlled test and expected outcome. Do not improvise it on your only approved sample.

Freeze the release candidate and keep the evidence

Give the approved ROM an unambiguous version and checksum. Record the board revision, sample identifier, test date, tester, device configuration, steps and outcome. Keep a photo or short video where it helps explain a result, with permission to share it if needed.

Use three plain statuses: passed the agreed checks, failed, or not tested. Add the limitation beside the status. “Boots, but audio differs” is not an unqualified pass; “not available to test” is not a failure.

When the ROM, board or save implementation changes, identify which tests must be repeated before approval. Keep the previously approved files and record why the new revision replaces them. Our sample approval guide explains how to turn these results into a production decision.

Write a compatibility note a backer can use

A practical format is: “Release [version], board [revision], tested on [exact model and region]. [Checks completed]. [Named limitation]. Other devices have not been tested.” Replace every bracket with evidence from your release. Do not publish the template as if the tests have happened.

Separate the physical cartridge from a downloadable ROM reward. If a supporter plans to use a flash cart or an emulator, point them to the requirements for that release and ask for the exact setup when investigating a problem. A manufacturer cannot infer every player’s hardware from a platform name.

Before committing to an NES or Famicom cartridge run, send RetroForge the authorised game build, board requirements, quantity and intended hardware coverage. Agree who performs each check and what evidence comes with sample approval. For campaign pricing and fulfilment, use the separate physical reward budget guide; its cost structure is also useful beyond Game Boy.

This is a release-planning checklist, not a claim that RetroForge has tested every console or supports every NES mapper. Referenced campaigns and community posts are independent sources, not customer cases. Sources reviewed October 25, 2026.