snes multicart game menu

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
snes multicart game menu
by on (#218107)
Hello guys, I was looking for some help or advice on how to create a multicart menu.
I'm currently working on a 4-in-1 game (Ancient Stone tablets) and instead of using LED to indicate wich chapter I'm in, a boot menu would be nicer.
I know it can be done on a custom board (wich I can definintely make) because I saw some chinese bootleg repro cart that have a similar features.

I was more looking for some info on how to make it
Ie: Rom modification, IC circuits, etc.

I dont have any idea where to start from and I dont want to purchase someone else work just to copy it.

Hope someone here can give me a hint.
Thank you
Re: snes multicart game menu
by on (#218112)
the easiest way is to probably to make a circuit that latches the upper bank address bits. To break out the ROM address lines, this way you can make game 1 00:8000 = 00000 and then game 200:8000 = 10000 etc which means you don't need to patch the roms. So your menu code sets the bits and then has a way to trigger a reset. You would need to map it in the open bus where you know the games to write to.
Re: snes multicart game menu
by on (#218122)
To add a menu, you need the following:
* A program to run on the SNES and display the things you want in response to the joypad
* A communication protocol from the SNES's CPU to the cartridge
* A device on the cartridge to react to that communication and change the upper address lines (or chip selects) on the ROM (or ROMs) in the cart.

As far as implementation, there's boundless variation in how one could implement each constraint.
Re: snes multicart game menu
by on (#218126)
The simplest thing that could possibly work would behave similarly to AOROM, BNROM, or GNROM on the NES. In these mappers, a write to a 74LS161 latch controls the ROM's upper address lines, selecting which game runs. A menu would be inserted into the first program on the cartridge, and at the end, it would jump to the start of the selected program. The other three programs would have their reset vectors patched to zero out the latch and jump to the menu.
Re: snes multicart game menu
by on (#238473)
I recently come across this source code:
http://www.romhacking.net/documents/633/

I'm currently able to edit the text, so its a good start.
But i'd like to know a bit more about the bank address bits to use.
Idealy i'd like to avoid to patch the roms.

I'm currently working on a multicart revision that is controlled by a PIC16F18857 wich I still have some pin left.