Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Purpose of ROM bank shifting - multicart support?

Reply to topic
Author Message
  • Joined: 06 Mar 2022
  • Posts: 672
  • Location: London, UK
Reply with quote
Purpose of ROM bank shifting - multicart support?
Post Posted: Tue Apr 16, 2024 12:52 pm
I've often pondered what the purpose of ROM bank shifting is. The linked wiki page says "No known software uses this feature".

Recently it popped into my head that perhaps it was designed to facilitate multicarts.

The shift, perhaps better described as a rotate, has the effect of re-mapping a 128KB chunk of ROM into one of four "super-banks". This should mean that one could put four standalone 128KB games on a cartridge and switch between them without needing for them to be aware of what's happening from the perspective of memory addressing. The only thing that would be needed is some way to facilitate the switching, so potentially the first 128KB game could contain an initial switching menu. This could probably be achieved with a pretty minimal hack to that original ROM, but maybe there's an even more elegant way to do it.

Anyone else had any other ideas about the purpose of ROM bank shifting, would love to hear them!
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14749
  • Location: London
Reply with quote
Post Posted: Tue Apr 16, 2024 1:04 pm
I assumed it was to facilitate multicarts. It doesn’t seem useful for dev work, and the only true multicart Sega made was an old fashioned power-cycle-to-increment hack just like pirates.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3829
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Tue Apr 16, 2024 3:48 pm
I do agree with Maxim - I suspect they were planning to create n-in-1 games cartridge using a single 512 KiB ROM chip with this integrated mapper. Maybe a 3-in-1 with a nice menu at boot, or a 4-in-1 hacking the menu into some free space in the 'first' game ROM.
Also it would work with one 256 KiB and two 128 KiB games I think.
  View user's profile Send private message Visit poster's website
  • Joined: 01 Feb 2014
  • Posts: 880
Reply with quote
Post Posted: Tue Apr 16, 2024 4:17 pm
How does the Astro Warrior / Pit Pot combo cartridge work? Both were separate games prior to the western release, right?
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14749
  • Location: London
Reply with quote
Post Posted: Tue Apr 16, 2024 5:28 pm
Yes, but they are effectively combined at a source level, sharing the interrupt handlers for example.
  View user's profile Send private message Visit poster's website
  • Joined: 06 Mar 2022
  • Posts: 672
  • Location: London, UK
Reply with quote
Post Posted: Tue Apr 16, 2024 5:46 pm
sverx wrote
Also it would work with one 256 KiB and two 128 KiB games I think.

Yes, I think so, also one 384KB and one 128KB should work if one or other hosts the menu.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3829
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Wed Apr 17, 2024 12:26 pm
Maxim wrote
Yes, but they are effectively combined at a source level, sharing the interrupt handlers for example.


So there's really no known official release using that mapper feature - I wonder then how somebody (and who were them?) found out how it worked...
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14749
  • Location: London
Reply with quote
Post Posted: Wed Apr 17, 2024 1:28 pm
I think Charles MacDonald found them by desoldering (or otherwise ROM-replacing) and testing all the registers to see what happens. There’s also some hints at extra registers in the official Sega docs, but I don’t think it mentions this feature.
  View user's profile Send private message Visit poster's website
  • Joined: 14 Aug 2000
  • Posts: 742
  • Location: Adelaide, Australia
Reply with quote
Purpose of ROM bank shifting - multicart support?
Post Posted: Thu Apr 18, 2024 11:29 am
Maxim wrote
There’s also some hints at extra registers in the official Sega docs, but I don’t think it mentions this feature.


Where exactly?
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14749
  • Location: London
Reply with quote
Post Posted: Thu Apr 18, 2024 11:43 am
I was misremembering https://www.smspower.org/Development/GGOfficialDocs#BIfTheCapacityIs2MBytesOrMor... which mentions the bank shift as well as a write protect bit and a work RAM selection bit in the register at $fffc.

This also refers to ROMs below 2MB (16Mbits) only having a single paging slot, and warns that the first and last bytes of save RAM may be corrupted at power on; this seems to not match reality.
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!