SFC Development Wiki
🌝
Browse Tags
New Document
Editing Non-Power-of-Two ROM Size
Title
Slug
Original Slug (Reference Only)
Redirects
Image
Excerpt
Why a ROM might not be 4, 8, 16, or 32 Mbit, and how it appears in address space
Content
Write
Non-power-of-two ROM size became common in the 16-bit era. Super NES and Genesis games of size 6, 10, 12, 20, 24, and 48 Mbit (0.75, 1.25, 1.5, 2.5, 3, and 6 MiB) exist. Though the exact mapping of ROM to address space depends on the board, most boards behave roughly this way. The larger ROM appears in address space at a lower address, and the smaller ROM is mirrored to appear as large as the larger ROM. A 12 Mbit ROM usually shows up as one copy of the first 8 Mbit and two copies of the last 4 Mbit (ABCC). A 20 Mbit ROM is one copy of the first 16 Mbit and four copies of the last 4 Mbit (ABCDEEEE). This interpretation matches the checksum values in Super NES ROMs' internal header. The following doubling algorithm should produce reasonable results for most ROMs with non-power-of-two sizes: While ROM size is not a power of two: Find the place value of the least significant 1 bit in ROM size Double up that many bytes at the end For example, 10 Mbit is 1310720 ($140000) bytes. Doubling the last $40000 bytes produces 12 Mbit, or 1572864 ($180000) bytes. Further doubling the last $80000 bytes of this produces 16 Mbit, or 2097152 ($200000) bytes.
Preview
Tags
Delete
Drop files here or click to upload.