Skip to content

Extensions

Extension keys let parsers, emulators, and third parties attach data to a bundle’s header, or to a single part, under a reverse-DNS text key, without the core spec having to know about them. The spec defines the mechanism and the round-tripping rules; this catalogue lists the keys people have defined.

A key’s schema belongs to its producer, and those entries are non-normative: the page records a shape these specifications observed, and the producer may change it without notice. A key under a reserved name works the other way, because it belongs to no one producer. These specifications define it, its page carries a normative schema even though carrying the key is optional, and it moves with the format’s version rather than with anybody’s release. The Owner column below is what tells the two apart.

Registration is first-come and non-blocking; to add a key, open a PR with a new extensions/<key>.md page and a row in the table.

KeyOwnerApplies toPurpose
com.1retro.forge1retroheader, partWhat a Forge parser found, and which parser found it.
x.1sav.rtc(spec)header, partA clock reading normalized to a Unix instant.
x.1sav.rtc.mbc3(spec)header, partThe clock an MBC3 Game Boy cartridge keeps.
x.1sav.rtc.s3511a(spec)header, partThe latched state of a GBA cartridge’s Seiko RTC.