BxROM 512k test ROM

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
BxROM 512k test ROM
by on (#137082)
Just a simple ROM to test whether an emulator or device has support for the oversized 512k BxROM mapper. If successful, it should display a digit counting in hex from 0-F repeatedly in the middle of the screen.

So far I've seen it pass on FCEUX, Nintendulator, puNES, Nestopia, VirtuaNES, PowerPak and Everdrive N8. Maybe it's pretty universally supported by now, making the test kind of unnecessary, but since I'm currently working on a game that targets this mapper variant, I wanted to make sure.
Re: BxROM 512k test ROM
by on (#137085)
Another test for oversize BNROM and AOROM is BNTest.
Re: BxROM 512k test ROM
by on (#137087)
Aha! So we've been here before.
Re: BxROM 512k test ROM
by on (#137102)
Anyone tried up to 8MB yet?
Re: BxROM 512k test ROM
by on (#137116)
rainwarrior wrote:
Aha! So we've been here before.

No harm in that. On the contrary, the more test ROMs the better. His might miss something yours doesn't.
Re: BxROM 512k test ROM
by on (#137123)
Dwedit wrote:
Anyone tried up to 8MB yet?

That'd require something a bit more powerful than a PowerPak though. Besides, once you're past 512 KiB, you probably want battery save or switchable mirroring or a separately switchable sample bank or some other feature associated with ASIC mappers. What demo did you have in mind?
Re: BxROM 512k test ROM
by on (#137124)
Nestopia's loader supports BxROM up to 4 MiB:
Code:
                                                UNL_BXROM                  = MakeId<   34, 4096,    8,  8,  0, CRM_8,  NMT_X,  0 >::ID,

There's no particularly good reason (afaict) for this limit; the only plausible limitation (transforming board properties into a 32-bit UID) should be able to encode all PRG sizes from 2¹⁴ bytes up through 2²⁸...
Re: BxROM 512k test ROM
by on (#137126)
The largest power-of-two game in original iNES format is 2 MiB. Anything bigger that's still a power of 2 needs NES 2.0 format. To extend the definition of BxROM to non-power-of-2 ROM sizes, such as 4 MiB minus 16 KiB, we'd need to define what bank number each written value maps to. All have to work because we need to have a valid reset vector even with an unpredictable power-up state.
Re: BxROM 512k test ROM
by on (#137128)
Nestopia enforces powers of 2 (!(PROM & (PROM-1U))), as well as supporting parts of NES2.0 (oversize PRG and CHR, as well as some but not all PRG RAM and CHR RAM sizes).