Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gnu/linux port #28

Open
ghost opened this issue Dec 20, 2016 · 4 comments
Open

gnu/linux port #28

ghost opened this issue Dec 20, 2016 · 4 comments
Labels

Comments

@ghost
Copy link

ghost commented Dec 20, 2016

if someone can help porting to gnu/linux, and perhaps packing as .deb for Debian/Ubuntu/PPA repositories, please do! :)

@markvantilburg
Copy link
Contributor

There is an entry to build for ubuntu on the wiki. https://github.com/ocornut/meka/wiki/Building-on-ubuntu-linux can you try that?

@lucianoloder
Copy link
Contributor

Hi guys
I have just compiled meka on linux mint 17 (a derivative of ubuntu), and it worked OK.

I also compiled allegro5 from github, but didnt use it, i compiled Meka using the ubuntu packages for allegro5. Here are the names of the packages that i have installed in my system:

  • liballegro-audio5-dev
  • liballegro-audio5.0
  • liballegro-image5-dev
  • liballegro-image5.0
  • liballegro-ttf5-dev
  • liballegro-ttf5.0
  • liballegro5-dev
  • liballegro5.0

I dont know for sure, but i believe that only the "-dev" packages are necessary.

I also saw a way of creating .DEB packages using a program called "checkinstall", but it needs a "make install" command, if i am not mistaken. I saw it on this link:

https://community.linuxmint.com/tutorial/view/162

I will try a little more, as soon as i got something i will post here.

@ocornut ocornut added the unixes label Dec 27, 2018
@EndeavourAccuracy
Copy link

GNU/Linux already works just fine, so this issue can be closed.
All the code needs is a tiny Makefile fix, because Allegro is at 5.2 nowadays instead of 5.0.

@ARoxdale
Copy link

Just to note in relation to builds on recent ubuntu 18.04 based systems. I encountered a build issue:

/usr/bin/ld: obj/z80marat.a: relocation R_X86_64_32S against `.data' can not be used when making a PIE object; recompile with -fPIE

I believe the issue is caused by the z80 code using absolute addressing, whereas ubuntu has updated gcc to create position independent executables by default : https://stackoverflow.com/questions/47778099/what-is-no-pie-used-for

The fix which worked for me was to add the option "-no-pie" to g++ at the linker stage. So in the Makefile
LINKER = g++
becomes
LINKER = g++ -no-pie

I hope this helps anyone encountering this issue.

bsittler added a commit to bsittler/meka that referenced this issue Feb 25, 2023
… 15 (Unl)"

This mapper has the ability to toggle between native GG move and
SMS-GG mode. This seems to mostly work though there are minor game
window size glitches after a switch back to native GG mode from SMS-GG
mode.

Mapper number `ocornut#27` is skipped because I hope a different mapper `ocornut#27` will land soon (ocornut#90)

Mapper number `ocornut#28` is skipped because I hope a different mapper `ocornut#28` will land soon (ocornut#91)
bsittler added a commit to bsittler/meka that referenced this issue Feb 26, 2023
…Gear 20 in 1" pushbutton multicart

Since this multicart has no menu and uses a pushbutton or a power-cycle to switch games, I use a bit of SRAM to store its current state. Reset the machine (backspace in GG mode, or alt-backspace in SMS-GG mode) to cycle to the next game.

Mapper `ocornut#27` is skipped because I expect ocornut#90 may land first.
Mapper `ocornut#28` is skipped because I expect ocornut#91 may land first.
Mapper `ocornut#29` is skipped because I expect ocornut#93 may land first.
Mapper `ocornut#30` is skipped because I expect ocornut#94 may land first.

There is still some glitchiness in the save-state mechanism that needs to be resolved, but all games at least start.
bsittler added a commit to bsittler/meka that referenced this issue Feb 27, 2023
… GG 68 in 1" multicart

Mapper ocornut#27 is skipped because I expect ocornut#90 may land first.
Mapper ocornut#28 is skipped because I expect ocornut#91 may land first.
Mapper ocornut#29 is skipped because I expect ocornut#93 may land first.
Mapper ocornut#30 is skipped because I expect ocornut#94 may land first.
Mapper ocornut#31 is skipped because I expect ocornut#95 may land first.

There is still some glitchiness in the save-state mechanism that needs to be resolved, but all games other than Choplifter at least start.
bsittler added a commit to bsittler/meka that referenced this issue Mar 9, 2023
…Super Gear 20 in 1 [Ninja Gaiden]" pushbutton multicart

Since this multicart has no menu and uses a pushbutton or a power-cycle to switch games, I use a bit of SRAM to store its current state. Reset the machine (backspace in GG mode, or alt-backspace in SMS-GG mode) to cycle to the next game.

Mapper `ocornut#27` is skipped because I expect ocornut#90 may land first.
Mapper `ocornut#28` is skipped because I expect ocornut#91 may land first.
Mapper `ocornut#29` is skipped because I expect ocornut#93 may land first.
Mapper `ocornut#30` is skipped because I expect ocornut#94 may land first.

There is still some glitchiness in the save-state mechanism that needs to be resolved, but all games at least start.
bsittler added a commit to bsittler/meka that referenced this issue Mar 17, 2023
… 15 (Unl)"

This mapper has the ability to toggle between native GG move and
SMS-GG mode. This seems to mostly work though there are minor game
window size glitches after a switch back to native GG mode from SMS-GG
mode.

Mapper number `ocornut#27` is skipped because I hope a different mapper `ocornut#27` will land soon (ocornut#90)

Mapper number `ocornut#28` is skipped because I hope a different mapper `ocornut#28` will land soon (ocornut#91)
bsittler added a commit to bsittler/meka that referenced this issue Mar 19, 2023
…me Gear (Unl)

It turns out this multicart is severable and also reversible. This produces three more multicart "ghost ROMs" using the same mapper and some or all of the same data:

Just the first 2MB:
Super 7 in 1 Game Gear [Super 12 in 1] (Unl).gg

Just the last 2MB:
Super 5 in 1 Game Gear [Super 12 in 1] (Unl).gg

The last 2MB, followed by the first 2MB:
Super 12 in 1 Game Gear [alt] (Unl).gg

The menu is written such that it automatically adjusts to each of these subsets/layouts. Perhaps we will find physical carts containing these variations someday too?
bsittler added a commit to bsittler/meka that referenced this issue Mar 19, 2023
… 15 (Unl)"

This mapper has the ability to toggle between native GG move and
SMS-GG mode. This seems to mostly work though there are minor game
window size glitches after a switch back to native GG mode from SMS-GG
mode.

Mapper number `ocornut#27` is skipped because I hope a different mapper `ocornut#27` will land soon (ocornut#90)

Mapper number `ocornut#28` is skipped because I hope a different mapper `ocornut#28` will land soon (ocornut#91)

Add label color clarification since "Super GG 15" is found on different multicarts that appear to have a common origin but different game lists and different label colors

Qualify the name of Super GG 15 with the first menu entry since there are apparently a bunch of very similarly-named cartridges with different menus/games, and the label description only makes sense when you are looking at the physical cartridge
bsittler added a commit to bsittler/meka that referenced this issue Mar 19, 2023
… GG 68 in 1" multicart

Mapper ocornut#27 is skipped because I expect ocornut#90 may land first.
Mapper ocornut#28 is skipped because I expect ocornut#91 may land first.
Mapper ocornut#29 is skipped because I expect ocornut#93 may land first.
Mapper ocornut#30 is skipped because I expect ocornut#94 may land first.
Mapper ocornut#31 is skipped because I expect ocornut#95 may land first.

There is still some glitchiness in the save-state mechanism that needs to be resolved, but all games other than Choplifter at least start.

Qualify the name of this 68-in-1 with the first menu entry since there is apparently another same-looking cartridge which differs only in menu/games
bsittler added a commit to bsittler/meka that referenced this issue Mar 19, 2023
… 30 [Last Action] [Gold & Green Label] (Unl)" and "Super GG 15 [Last Action] [Super GG 30 Gold & Green Label]"

This mapper has the ability to toggle between native GG move and SMS-GG mode. This seems to mostly work though there are minor game window size glitches after a switch back to native GG mode from SMS-GG mode, and Great Baseball hangs at the loading screen due to a problem in the SMS-GG mode initialization (manually jumping to address 0 would fix it.)

This is a single ROM image with three different multicarts.

The overall ROM image is "Super GG 30 [Last Action] [Gold & Green Label] (Unl)" and uses this mapper `ocornut#35`.

The first half of the ROM image is "Super GG 15 [Last Action] [Super GG 30 Gold & Green Label] (Unl)" and also uses this mapper `ocornut#35`.

The second half of the ROM image is identical to the "Super GG 15 [Cliffhanger] [Gold & Yellow Label] (Unl)" ROM and uses the mapper described in ocornut#93 instead.

Mapper `ocornut#27` is skipped because I expect ocornut#90 may land first.
Mapper `ocornut#28` is skipped because I expect ocornut#91 may land first.
Mapper `ocornut#29` is skipped because I expect ocornut#93 may land first.
Mapper `ocornut#30` is skipped because I expect ocornut#94 may land first.
Mapper `ocornut#31` is skipped because I expect ocornut#95 may land first.
Mapper `ocornut#32` is skipped because I expect ocornut#96 may land first.
Mapper `ocornut#33` is skipped because I expect ocornut#97 may land first.
Mapper `ocornut#34` is skipped because I expect ocornut#97 may land first.

I've been calling it "Super GG 30 [Last Action] [Gold & Green Label] (Unl)"

The label calls it:

SUPER GG 30 [in white text on a gold background]

The menu doesn't have a collection title, and I got my cartridge with no box or manual.

This cartridge contains a 2MB ROM (crc32:5346f695) for a 30-item multicart containing 20 distinct games, including GG Cliffhanger, Bart vs. The World (The Simpsons), Robocop 3, Last Action Hero, Mortal Kombat, Pengo, Columns, and Woody Pop; and SMS Ghost House, TransBot, Great Baseball [JP], Hang On, Pit Pot, Spy vs. Spy, Bank Panic, My Hero, Teddy Boy, Great Soccer, Comical Machine Gun Joe, and Super Tennis.

This cartridge is also severable: the first 1MB half by itself comprises "ghost ROM" data (crc32:079e81c7) for a 15-item multicart using the same mapper containing 10 games. I've been calling that one "Super GG 15 [Last Action] [Super GG 30 Gold & Green Label] (Unl)". It may well exist in physical form too.

The second 1MB half by itself is identical to "Super GG 15 [Cliffhanger] [Gold & Yellow Label] (Unl)" which I dumped previously. The menu in that section uses a different mapper. Both mapper and menu are described in ocornut#93

The label also has a game list in black text on a green background:

```
01 LAST ACTION
02 MCRTAL KOMBAT
03 CLIFFHANGER
04 SIMPSON WORLD
05 ROBOCOP 3
06 PENGO
07 COLUMNS
08 WOODY POP
09 GHOST HOUSE
10 ASTRO FLASH
11 GREAT BASEBALL
12 HANG ON
13 PIT POT
14 SPY VS SPY
15 BANK PANIC
16 MY HERO
17 TEDDY BOY
18 GREAT SOCCER
19 JOE MACHINE GUN
20 SATELLITE 7
21 TENNIS
22 EASY GHOST
23 STAR GATE
24 HIGH WAY STAR
25 EASY PIT POT
26 WORLD CUP 94
27 MAD DOG
28 SUPER TENNIS
29 EASY PENGO
30 ARKANOLD
```

The cartridge seems to boot up with a modified Ghost House with bootstrap code mapped initially. The bootstrap code (at offset 0x7FA0 from the start of the modified Ghost House) starts by copying a small 0x2F-byte trampoline from address 0x7FAE to address 0xD00E in RAM and then jumping to it.

This first trampoline writes the following mapper registers:

[0x1FFE=0x04, 0xFFFE=0x1E, 0xFFFF=0x1E, 0x1FFE=0x00]

This maps a modified version of Last Action Hero into ROM and sets both the 0x4000 and 0x8000 pages to point to page offset 0x0E in that game. This first trampoline then copies the 0x0800 bytes starting at address 0xB600 (which is now mapped to offset 0x3B600 from the start of Last Action Hero) to RAM address 0xC000. The trampoline verifies that the paging succeeded by verifying that the byte at 0x0070 (which is now relative to the start of Last Action Hero) is 0xED. If this check fails, the trampoline jumps back to 0x0003, the modified entry point for Ghost House. Otherwise, it executes the copied code (the second trampoline) from RAM address 0xC000.

The second trampoline writes the following mapper registers:

[0x1FFE=0x04, 0xFFFE=0x11, 0x1FFE=0x10]

This maps a modified version of Cliffhanger. After that it checks the byte at 0x0070 again. If that byte is 0x32, a 30-item menu will be displayed; otherwise, a 15-item menu will be displayed.

The menu system uses an arrow cursor "→" to indicate the currently selected menu item, and also displays the item number of the currently selected menu item at the top of each menu screen.

The 30-item menu (which is the version used by my cartridge):

Screen 1:

```
  GAME 01 OF 30

→01.LAST ACTION    [0x1FFE=0x04, 0xFFFE=0x11, 0xFFFF=0x11, 0x1FFE=0x00, 0x1FFF=0x01]; it's part-11-last-action-hero-and-menu-data-256k.gg
 02.MARTAL KOMBAT  [0x1FFE=0x04, 0xFFFE=0x21, 0xFFFF=0x21, 0x1FFE=0x00, 0x1FFF=0x05]; it's part-21-Mortal Kombat - Shinken Kourin Densetsu (JP)-512k.gg
 03.CLIFFHANGER    [0x1FFE=0x04, 0xFFFE=0x51, 0xFFFF=0x51, 0x1FFE=0x10, 0x1FFF=0x01]; it's part-51-cliffhanger-256k.gg
 04.SIMPSON WORLD  [0x1FFE=0x04, 0xFFFE=0x61, 0xFFFF=0x61, 0x1FFE=0x10, 0x1FFF=0x05]; it's part-61-Bart vs. The World (The Simpsons) (JP,US,EU,BR)-256k.gg
 05.ROBOCOP 3      [0x1FFE=0x04, 0xFFFE=0x71, 0xFFFF=0x71, 0x1FFE=0x10, 0x1FFF=0x05]; it's part-71-robocop-3-256k.gg
 06.PENGO          [0x1FFE=0x04, 0xFFFE=0x03, 0xFFFF=0x03, 0x1FFE=0x00, 0x1FFF=0x01]; it's part-03-Pengo (JP)-32k.gg
 07.COLUMNS        [0x1FFE=0x04, 0xFFFE=0x0f, 0xFFFF=0x0f, 0x1FFE=0x00, 0x1FFF=0x01]; it's part-0f-Columns [v1] (JP)-32k.gg
 08.WOODY POP      [0x1FFE=0x04, 0xFFFE=0x41, 0xFFFF=0x41, 0x1FFE=0x10, 0x1FFF=0x01]; it's part-41-woody-pop-32k.gg
```

Screen 2:

```
  GAME 09 OF 30

→09.GHOST HOUSE    [0x1FFE=0x04, 0xFFFE=0x01, 0xFFFF=0x01, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-01-ghost-house-and-menu-32k.sms
 10.TRANSBOT       [0x1FFE=0x04, 0xFFFE=0x05, 0xFFFF=0x05, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-05-TransBot (US,EU,DE,IT,BR)-32k.sms
 11.GREAT BASEBALL [0x1FFE=0x04, 0xFFFE=0x07, 0xFFFF=0x07, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-07-Great Baseball [JP] (JP)-32k.sms
 12.HANG ON        [0x1FFE=0x04, 0xFFFE=0x09, 0xFFFF=0x09, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-09-Hang On (EU,AU,BR,DE,IT)-32k.sms
 13.PIT POT        [0x1FFE=0x04, 0xFFFE=0x0B, 0xFFFF=0x0B, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-0b-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
 14.SPY VS SPY     [0x1FFE=0x04, 0xFFFE=0x0D, 0xFFFF=0x0D, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-0d-Spy vs Spy (JP,KR)-32k.sms
 15.BANK PANIC     [0x1FFE=0x04, 0xFFFE=0x43, 0xFFFF=0x43, 0x1FFE=0x10, 0x1FFF=0x11]; it's part-43-Bank Panic (EU,DE,IT,BR)-32k.sms
 16.MY HERO        [0x1FFE=0x04, 0xFFFE=0x45, 0xFFFF=0x45, 0x1FFE=0x10, 0x1FFF=0x11]; it's part-45-My Hero (US,EU,BR,PT,DE,IT)-32k.sms
```

Screen 3:

```
  GAME 17 OF 30

→17.TEDDY BOY      [0x1FFE=0x04, 0xFFFE=0x47, 0xFFFF=0x47, 0x1FFE=0x10, 0x1FFF=0x11]; it's part-47-Teddy Boy (US,EU,BR,IT)-32k.sms
 18.GREAT SOCCER   [0x1FFE=0x04, 0xFFFE=0x49, 0xFFFF=0x49, 0x1FFE=0x10, 0x1FFF=0x11]; it's part-49-Great Soccer (JP)-32k.sms
 19.JOE MACHINEGUN [0x1FFE=0x04, 0xFFFE=0x4B, 0xFFFF=0x4B, 0x1FFE=0x10, 0x1FFF=0x11]; it's part-4b-Comical Machine Gun Joe (JP)-32k.sms
 20.SATELLITE 7    [0x1FFE=0x04, 0xFFFE=0x4D, 0xFFFF=0x4D, 0x1FFE=0x10, 0x1FFF=0x11]; it's part-4d-Satellite 7 (JP)-32k.sms
 21.TENNIS         [0x1FFE=0x04, 0xFFFE=0x4F, 0xFFFF=0x4F, 0x1FFE=0x10, 0x1FFF=0x11]; it's part-4f-Super Tennis (US,EU,DE)-32k.sms
 22.EASY GHOST     [0x1FFE=0x04, 0xFFFE=0x01, 0xFFFF=0x01, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-01-ghost-house-and-menu-32k.sms
 23.STAR GATE      [0x1FFE=0x04, 0xFFFE=0x05, 0xFFFF=0x05, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-05-TransBot (US,EU,DE,IT,BR)-32k.sms
 24.HIGH WAY STAR  [0x1FFE=0x04, 0xFFFE=0x09, 0xFFFF=0x09, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-09-Hang On (EU,AU,BR,DE,IT)-32k.sms
```

Screen 4:

```
  GAME 25 OF 30

→25.EASY PIT POT   [0x1FFE=0x04, 0xFFFE=0x0B, 0xFFFF=0x0B, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-0b-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
 26.WORLD CUP 94   [0x1FFE=0x04, 0xFFFE=0x49, 0xFFFF=0x49, 0x1FFE=0x10, 0x1FFF=0x11]; it's part-49-Great Soccer (JP)-32k.sms
 27.MAD DOG        [0x1FFE=0x04, 0xFFFE=0x4B, 0xFFFF=0x4B, 0x1FFE=0x10, 0x1FFF=0x11]; it's part-4b-Comical Machine Gun Joe (JP)-32k.sms
 28.SUPPER TENNIS  [0x1FFE=0x04, 0xFFFE=0x4F, 0xFFFF=0x4F, 0x1FFE=0x10, 0x1FFF=0x11]; it's part-4f-Super Tennis (US,EU,DE)-32k.sms
 29.EASY PENGO     [0x1FFE=0x04, 0xFFFE=0x03, 0xFFFF=0x03, 0x1FFE=0x00, 0x1FFF=0x01]; it's part-03-Pengo (JP)-32k.gg
 30.ARKANOLD       [0x1FFE=0x04, 0xFFFE=0x41, 0xFFFF=0x41, 0x1FFE=0x10, 0x1FFF=0x01]; it's part-41-woody-pop-32k.gg
```

The 15-item alternate "ghost ROM" menu (not used with the cartridge I have):

Screen 1:

```
  GAME 01 OF 15

→01.LAST ACTION    [0x1FFE=0x04, 0xFFFE=0x11, 0xFFFF=0x11, 0x1FFE=0x00, 0x1FFF=0x01]; it's part-11-last-action-hero-and-menu-data-256k.gg
 02.MARTAL KOMBAT  [0x1FFE=0x04, 0xFFFE=0x21, 0xFFFF=0x21, 0x1FFE=0x00, 0x1FFF=0x05]; it's part-21-Mortal Kombat - Shinken Kourin Densetsu (JP)-512k.gg
 03.PENGO          [0x1FFE=0x04, 0xFFFE=0x03, 0xFFFF=0x03, 0x1FFE=0x00, 0x1FFF=0x01]; it's part-03-Pengo (JP)-32k.gg
 04.COLUMNS        [0x1FFE=0x04, 0xFFFE=0x0f, 0xFFFF=0x0f, 0x1FFE=0x00, 0x1FFF=0x01]; it's part-0f-Columns [v1] (JP)-32k.gg
 05.GHOST HOUSE    [0x1FFE=0x04, 0xFFFE=0x01, 0xFFFF=0x01, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-01-ghost-house-and-menu-32k.sms
 06.TRANSBOT       [0x1FFE=0x04, 0xFFFE=0x05, 0xFFFF=0x05, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-05-TransBot (US,EU,DE,IT,BR)-32k.sms
 07.GREAT BASEBALL [0x1FFE=0x04, 0xFFFE=0x07, 0xFFFF=0x07, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-07-Great Baseball [JP] (JP)-32k.sms
 08.HANG ON        [0x1FFE=0x04, 0xFFFE=0x09, 0xFFFF=0x09, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-09-Hang On (EU,AU,BR,DE,IT)-32k.sms
```

Screen 2:

```
  GAME 09 OF 15

→09.PIT POT        [0x1FFE=0x04, 0xFFFE=0x0B, 0xFFFF=0x0B, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-0b-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
 10.SPY VS SPY     [0x1FFE=0x04, 0xFFFE=0x0D, 0xFFFF=0x0D, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-0d-Spy vs Spy (JP,KR)-32k.sms
 11.EASY GHOST     [0x1FFE=0x04, 0xFFFE=0x01, 0xFFFF=0x01, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-01-ghost-house-and-menu-32k.sms
 12.STAR GATE      [0x1FFE=0x04, 0xFFFE=0x05, 0xFFFF=0x05, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-05-TransBot (US,EU,DE,IT,BR)-32k.sms
 13.HIGH WAY STAR  [0x1FFE=0x04, 0xFFFE=0x09, 0xFFFF=0x09, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-09-Hang On (EU,AU,BR,DE,IT)-32k.sms
 14.EASY PIT POT   [0x1FFE=0x04, 0xFFFE=0x0B, 0xFFFF=0x0B, 0x1FFE=0x00, 0x1FFF=0x11]; it's part-0b-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
 15.EASY PENGO     [0x1FFE=0x04, 0xFFFE=0x03, 0xFFFF=0x03, 0x1FFE=0x00, 0x1FFF=0x01]; it's part-03-Pengo (JP)-32k.gg
```

Apparent meanings of mapper register writes:

0x1FFE: mode bits, only two are used by the menu system:
- bit 0x10: set to access the second megabyte of the ROM, possibly a chip select or output enable?
- bit 0x04: set to allow "menu mode" mapper base address configuration, otherwise "Sega mode" where 0xFFFE/0xFFFF are relative to the previous base
Initial state seems to be 0x00

0x1FFF: more mode bits
- bit 0x10: if set, game will run in SMS-GG mode, otherwise native-GG mode
- bit 0x40: set to access the second half of each megabyte of the ROM, possibly a chip select or output enable?
- bit 0x01: set in every menu item write, meaning unknown; might be what locks the mapper in "Sega mode"
Initial state seems to be 0x00

0xFFFE: paging/mapping register
- bits 0xF0: when in "menu mode", this sets the base page for 0x0000...0x3FFF and 0x4000...0x7FFF
  - when bits 0x30 are all zero, though, the base page is set from bits 0x0E instead
- bits 0x0F: when in "menu mode", this bit sets the page offset from the base page for 0x4000...0x7FFF
- when in "Sega mode", the previously configured base page mapping is used for 0x0000...0x3FFF
- when in "Sega mode", this sets the paging offset for 0x4000...0x7FFF from the previously configured base page (acts like OR)
Initial state seems to be base page 0x00, paging offset 0x01

0xFFFF: paging/mapping register
- bits 0xF0: when in "menu mode", this sets the base page for 0x8000...0xBFFF
  - when these bits are all zero, though, the base page is set from bits 0x0E instead
- bits 0x0F: when in "menu mode", this bit sets the page offset from the base page for 0x8000...0xBFFF
- when in "Sega mode", this sets the paging offset for 0x8000...0xBFFF from the previously configured base page (acts like OR)
Initial state seems to be base page 0x00, paging offset 0x00

ROM fingerprint info:

2.0M Super GG 30 [Last Action] [Gold & Green Label] (Unl).gg
Checking for export header with matching CRC... NO
sha256:eb15dc26d4859d9d283a6b62fd4ecf7ee4f0a926a36ac38f21c46ec418130ada Super GG 30 [Last Action] [Gold & Green Label] (Unl).gg
sha1:4457147503a99323a567993dc8de4c2d907cbbba Super GG 30 [Last Action] [Gold & Green Label] (Unl).gg
md5:3b0dd118b0ead541b20d5cad6c3c412b Super GG 30 [Last Action] [Gold & Green Label] (Unl).gg
mekacrc:30B066366A883161 Super GG 30 [Last Action] [Gold & Green Label] (Unl).gg
crc32:5346f695 Super GG 30 [Last Action] [Gold & Green Label] (Unl).gg

1.0M Super GG 15 [Last Action] [Super GG 30 Gold & Green Label] (Unl).gg
Checking for export header with matching CRC... NO
sha256:7a6c4ddb8327f491a40ea04961b4827958914908bff007650aec46f66aef22d8 Super GG 15 [Last Action] [Super GG 30 Gold & Green Label] (Unl).gg
sha1:40cededc9047fc1918d1db7b71f4183f387eefaa Super GG 15 [Last Action] [Super GG 30 Gold & Green Label] (Unl).gg
md5:d3821814375194504e67a9a4c517eea7 Super GG 15 [Last Action] [Super GG 30 Gold & Green Label] (Unl).gg
mekacrc:A4D60FD57EA08DF7 Super GG 15 [Last Action] [Super GG 30 Gold & Green Label] (Unl).gg
crc32:079e81c7 Super GG 15 [Last Action] [Super GG 30 Gold & Green Label] (Unl).gg

1.0M Super GG 15 [Cliffhanger] [Gold & Yellow Label] (Unl).gg
Checking for export header with matching CRC... NO
sha256:f9880d0bda227ecfff826a9297034eb61d4da65523cc7e5d1674698a9c1ba301 Super GG 15 [Cliffhanger] [Gold & Yellow Label] (Unl).gg
sha1:8586329967eb26a35fcb8b68dcbdae164509b883 Super GG 15 [Cliffhanger] [Gold & Yellow Label] (Unl).gg
md5:7a63c03931d7cf5a935ca91c9caae2ff Super GG 15 [Cliffhanger] [Gold & Yellow Label] (Unl).gg
mekacrc:8CDA5761ECE8A46A Super GG 15 [Cliffhanger] [Gold & Yellow Label] (Unl).gg
crc32:c818109d Super GG 15 [Cliffhanger] [Gold & Yellow Label] (Unl).gg

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-01-ghost-house-and-menu-32k.sms
Checking for export header with matching CRC... NO
sha256:95559bfb93a051f58e931dbb39b3137e1519b02a8e075b3306ec76ea945c47cd Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-01-ghost-house-and-menu-32k.sms
sha1:850d68733f68dd1fb0b8e8390840ecd32f4536f4 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-01-ghost-house-and-menu-32k.sms
md5:6f47e4e77ed3cba3a4d43b6412ff7bcf Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-01-ghost-house-and-menu-32k.sms
mekacrc:3E3F59321CD85DA7 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-01-ghost-house-and-menu-32k.sms
crc32:5a5e1462 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-01-ghost-house-and-menu-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-03-Pengo (JP)-32k.gg
Checking for export header with matching CRC... NO
sha256:f61b84219ecb4264942835a28c863266488c22b62e61730851a2bb13055db601 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-03-Pengo (JP)-32k.gg
sha1:5883e2d19ab7126d52abc177a97d44bc88c319de Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-03-Pengo (JP)-32k.gg
md5:95cea3a33a3f5915942904b4817b2010 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-03-Pengo (JP)-32k.gg
mekacrc:593C7A3470EED58A Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-03-Pengo (JP)-32k.gg
crc32:ce863dba Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-03-Pengo (JP)-32k.gg

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-05-TransBot (US,EU,DE,IT,BR)-32k.sms
Checking for export header with matching CRC... YES
sha256:3bba00eb4d471c9edc694516f65102300666ca54bd2f2362184df0058583b7ca Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-05-TransBot (US,EU,DE,IT,BR)-32k.sms
sha1:73273e6d44ad7aea828b642d22f6f1c138be9d2b Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-05-TransBot (US,EU,DE,IT,BR)-32k.sms
md5:93bb1e1ee14ac53adb9e6b9e0c135043 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-05-TransBot (US,EU,DE,IT,BR)-32k.sms
mekacrc:DA63DA8BEB8E7C69 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-05-TransBot (US,EU,DE,IT,BR)-32k.sms
crc32:4bc42857 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-05-TransBot (US,EU,DE,IT,BR)-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-07-Great Baseball [JP] (JP)-32k.sms
Checking for export header with matching CRC... NO
sha256:84a62928d7a231657db0a5d77efa77eebda9f5cbefb5d5a68af64af2ecdb88fd Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-07-Great Baseball [JP] (JP)-32k.sms
sha1:e6eaaec61bec32dee5161ae59a7a0902f0d05dc9 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-07-Great Baseball [JP] (JP)-32k.sms
md5:94ca79d4eb2709ad98b850d33728a045 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-07-Great Baseball [JP] (JP)-32k.sms
mekacrc:9F82F97234F38CC1 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-07-Great Baseball [JP] (JP)-32k.sms
crc32:89e98a7c Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-07-Great Baseball [JP] (JP)-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-09-Hang On (EU,AU,BR,DE,IT)-32k.sms
Checking for export header with matching CRC... YES
sha256:0d35d0e232d64e714fa5d07e45acaf01ea9fb5a8f88fe9ac8018719ac2818d6f Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-09-Hang On (EU,AU,BR,DE,IT)-32k.sms
sha1:e601257f6477b85eb0b25a5b6d46ebc070d8a05a Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-09-Hang On (EU,AU,BR,DE,IT)-32k.sms
md5:2864be0d35269c5030a7f297f70e3ac3 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-09-Hang On (EU,AU,BR,DE,IT)-32k.sms
mekacrc:F0A23277115075EF Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-09-Hang On (EU,AU,BR,DE,IT)-32k.sms
crc32:071b045e Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-09-Hang On (EU,AU,BR,DE,IT)-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0b-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
Checking for export header with matching CRC... NO
sha256:be7c284c39c1e18e53f7a97d3950caf93550783cdddcdf9324f9b209353682b9 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0b-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
sha1:b1afa682b2f70bfc4ab2020d7c3047aabbaf9a24 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0b-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
md5:209ee37dcabc263aa462c781d3123fce Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0b-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
mekacrc:B637976CB4B28D1D Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0b-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
crc32:e6795c53 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0b-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0d-Spy vs Spy (JP,KR)-32k.sms
Checking for export header with matching CRC... NO
sha256:e3df51893d16e512cadf3723a58f143dc679127fbe4444662be63fafb4b2a777 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0d-Spy vs Spy (JP,KR)-32k.sms
sha1:c5e004b34d6569e6e1d99bff6be940f308e2c39f Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0d-Spy vs Spy (JP,KR)-32k.sms
md5:2a6ee78e2617886fe540dcb8a1500e90 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0d-Spy vs Spy (JP,KR)-32k.sms
mekacrc:440AA3B0518BF192 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0d-Spy vs Spy (JP,KR)-32k.sms
crc32:d41b9a08 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0d-Spy vs Spy (JP,KR)-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0f-Columns [v1] (JP)-32k.gg
Checking for export header with matching CRC... NO
sha256:9e0a2b9c2af94bdfc95ca5c884fdf40ac9178388a6e8a36ccac263492ad74781 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0f-Columns [v1] (JP)-32k.gg
sha1:d83fd16bd23c51750555a692535daa171ed41af0 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0f-Columns [v1] (JP)-32k.gg
md5:36b33d28235b4c9439ab0f62ab1c97c4 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0f-Columns [v1] (JP)-32k.gg
mekacrc:C8F45DEC67DF2095 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0f-Columns [v1] (JP)-32k.gg
crc32:ac37e092 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-0f-Columns [v1] (JP)-32k.gg

256K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-11-last-action-hero-and-menu-data-256k.gg
Checking for export header with matching CRC... NO
sha256:d4f3d484db06327d82e0431a0bf2ce5848c11e33a268fb781c7d84810e95469d Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-11-last-action-hero-and-menu-data-256k.gg
sha1:0255dbc65ce08b2bae93e92c3b006b8267a428ce Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-11-last-action-hero-and-menu-data-256k.gg
md5:74270887e2580f3357a96677bf3c8333 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-11-last-action-hero-and-menu-data-256k.gg
mekacrc:9AF1C10B6CDF540A Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-11-last-action-hero-and-menu-data-256k.gg
crc32:0418587f Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-11-last-action-hero-and-menu-data-256k.gg

512K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-21-Mortal Kombat - Shinken Kourin Densetsu (JP)-512k.gg
Checking for export header with matching CRC... NO
sha256:504212100521082cb7a3e8764215e25a7c0a08318e049b68fec1404af2e234c2 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-21-Mortal Kombat - Shinken Kourin Densetsu (JP)-512k.gg
sha1:f28e50f1283d7a2516267a13a16a3e6914ae0a18 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-21-Mortal Kombat - Shinken Kourin Densetsu (JP)-512k.gg
md5:ff2bba2287edbd90a560dbbaab18a260 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-21-Mortal Kombat - Shinken Kourin Densetsu (JP)-512k.gg
mekacrc:48AEDFE8EA0EEC5F Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-21-Mortal Kombat - Shinken Kourin Densetsu (JP)-512k.gg
crc32:dbff0461 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-21-Mortal Kombat - Shinken Kourin Densetsu (JP)-512k.gg

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-41-woody-pop-32k.gg
Checking for export header with matching CRC... NO
sha256:5039230e5aef1dd0fbdea81b59ab3166c92169f8fd792a0c4b54668f4d0f01ce Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-41-woody-pop-32k.gg
sha1:94f54edde9dc686e723fb25d11c313ae0b3876a1 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-41-woody-pop-32k.gg
md5:1ff64cb68a2540fff9cc7244efacfed8 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-41-woody-pop-32k.gg
mekacrc:453F53E7E21D0C37 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-41-woody-pop-32k.gg
crc32:ddb4f80e Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-41-woody-pop-32k.gg

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-43-Bank Panic (EU,DE,IT,BR)-32k.sms
Checking for export header with matching CRC... YES
sha256:1f71d828b34afa62ffdd02a7adae69a2377bb4c3e2681172dc11f5bb9e955af5 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-43-Bank Panic (EU,DE,IT,BR)-32k.sms
sha1:661bbe20f01b7afb242936d409fdd30420c6de5f Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-43-Bank Panic (EU,DE,IT,BR)-32k.sms
md5:7a5d3b9963e316cb7f73bbdc2a7311c6 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-43-Bank Panic (EU,DE,IT,BR)-32k.sms
mekacrc:D8A13BCA59CD77E5 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-43-Bank Panic (EU,DE,IT,BR)-32k.sms
crc32:655fb1f4 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-43-Bank Panic (EU,DE,IT,BR)-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-45-My Hero (US,EU,BR,PT,DE,IT)-32k.sms
Checking for export header with matching CRC... YES
sha256:4884bde83e1587f6d5f01750000ae879bebe7ebccc330ea1689d2d27b70c3436 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-45-My Hero (US,EU,BR,PT,DE,IT)-32k.sms
sha1:7583c5fb1963c070b7bda72b447cc3fd611ddf1a Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-45-My Hero (US,EU,BR,PT,DE,IT)-32k.sms
md5:efef7361c9c37bcd6a7b84bc121af5f2 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-45-My Hero (US,EU,BR,PT,DE,IT)-32k.sms
mekacrc:ED4ACAF1CF794680 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-45-My Hero (US,EU,BR,PT,DE,IT)-32k.sms
crc32:62f0c23d Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-45-My Hero (US,EU,BR,PT,DE,IT)-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-47-Teddy Boy (US,EU,BR,IT)-32k.sms
Checking for export header with matching CRC... YES
sha256:dc0525958743bb2e725df0413297bcc6b1b4b744e47f397eb88037aa5157b3aa Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-47-Teddy Boy (US,EU,BR,IT)-32k.sms
sha1:6ae39718703dbf7126f71387ce24ad956710a315 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-47-Teddy Boy (US,EU,BR,IT)-32k.sms
md5:66baea0a42353ffd3f131586e0c9c4d4 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-47-Teddy Boy (US,EU,BR,IT)-32k.sms
mekacrc:C57A94919D619509 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-47-Teddy Boy (US,EU,BR,IT)-32k.sms
crc32:2728faa3 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-47-Teddy Boy (US,EU,BR,IT)-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-49-Great Soccer (JP)-32k.sms
Checking for export header with matching CRC... NO
sha256:b2a524164e1a0a264dc4ac7cb29742293b3384b9369e0ce0cf2ab5ca2b50a1cd Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-49-Great Soccer (JP)-32k.sms
sha1:110536303b7bccc193bef4437ba5a9eb6fd4ac8e Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-49-Great Soccer (JP)-32k.sms
md5:0ed883302e87ca46c1c1a55660e17900 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-49-Great Soccer (JP)-32k.sms
mekacrc:68A3CEF02BC61B2B Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-49-Great Soccer (JP)-32k.sms
crc32:2d7fd7ef Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-49-Great Soccer (JP)-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4b-Comical Machine Gun Joe (JP)-32k.sms
Checking for export header with matching CRC... NO
sha256:ea9c74555e551974a681296c41972c1f6ddd7289fed5502f64e35b8527b6dde4 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4b-Comical Machine Gun Joe (JP)-32k.sms
sha1:33c21d164fd3cdf7aa9e7e0fe1a3ae5a491bd9f5 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4b-Comical Machine Gun Joe (JP)-32k.sms
md5:2d59b3d27f022b04a597e767e6660ca9 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4b-Comical Machine Gun Joe (JP)-32k.sms
mekacrc:59868AC9BD4815B4 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4b-Comical Machine Gun Joe (JP)-32k.sms
crc32:9d549e08 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4b-Comical Machine Gun Joe (JP)-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4d-Satellite 7 (JP)-32k.sms
Checking for export header with matching CRC... NO
sha256:3e659f15fbcc6511dfeb2112762074a8441479bb33887d196eb343e124d14fe5 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4d-Satellite 7 (JP)-32k.sms
sha1:88fc5596773ea31eda8ae5a8baf6f0ce5c3f7e5e Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4d-Satellite 7 (JP)-32k.sms
md5:eac6a843975c50e39eb32f764da2a5ac Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4d-Satellite 7 (JP)-32k.sms
mekacrc:ABFBCE1810529280 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4d-Satellite 7 (JP)-32k.sms
crc32:16249e19 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4d-Satellite 7 (JP)-32k.sms

32K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4f-Super Tennis (US,EU,DE)-32k.sms
Checking for export header with matching CRC... YES
sha256:5fb097b508a482c29f12c2203a0a98a0dd7ce9873e7ef12fb7e0aeea250a99e2 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4f-Super Tennis (US,EU,DE)-32k.sms
sha1:67787f3f29a5b5e74b5f6a636428da4517a0f992 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4f-Super Tennis (US,EU,DE)-32k.sms
md5:2db9404fe79593fd2379921ca822103a Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4f-Super Tennis (US,EU,DE)-32k.sms
mekacrc:F799F9C458560EF7 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4f-Super Tennis (US,EU,DE)-32k.sms
crc32:914514e3 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-4f-Super Tennis (US,EU,DE)-32k.sms

256K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-51-cliffhanger-256k.gg
Checking for export header with matching CRC... NO
sha256:d2c1334a88eed04979602a5c03785f762456a1c2825355e8dd624ad754041c54 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-51-cliffhanger-256k.gg
sha1:7d2f29fed9a08a89caf8d712ce3eba958be5bcb9 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-51-cliffhanger-256k.gg
md5:3320ef44429d9144eba6fda57691d5e1 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-51-cliffhanger-256k.gg
mekacrc:FFEF4861A7F53A93 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-51-cliffhanger-256k.gg
crc32:5f28a4bd Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-51-cliffhanger-256k.gg

256K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-61-Bart vs. The World (The Simpsons) (JP,US,EU,BR)-256k.gg
Checking for export header with matching CRC... NO
sha256:5853018fef97c50b15e2ad4b793177dfb651794d3edde660f21476a2e2f2a0ea Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-61-Bart vs. The World (The Simpsons) (JP,US,EU,BR)-256k.gg
sha1:256672261c9a2d35e10eb06e990e8ebc46fb35c1 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-61-Bart vs. The World (The Simpsons) (JP,US,EU,BR)-256k.gg
md5:b71c156bb1fcfa6c3c48924a7b3747ff Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-61-Bart vs. The World (The Simpsons) (JP,US,EU,BR)-256k.gg
mekacrc:EC249DDDD77540EA Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-61-Bart vs. The World (The Simpsons) (JP,US,EU,BR)-256k.gg
crc32:da7bd5c7 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-61-Bart vs. The World (The Simpsons) (JP,US,EU,BR)-256k.gg

256K Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-71-robocop-3-256k.gg
Checking for export header with matching CRC... NO
sha256:4d4f02ddc85a4b888fa639182e911621ff3f96ee3d94943eedd4b95696bd37fe Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-71-robocop-3-256k.gg
sha1:00eb9d51492e650c1ad6c7effe1a004b83ea7296 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-71-robocop-3-256k.gg
md5:965230322ae040d238f2c8f1fbf253fa Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-71-robocop-3-256k.gg
mekacrc:6F66675B7704FCF2 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-71-robocop-3-256k.gg
crc32:3f466457 Super GG 30 [Last Action] [Gold & Green Label] (Unl)/part-71-robocop-3-256k.gg
bsittler added a commit to bsittler/meka that referenced this issue Mar 20, 2023
…uper Gear 23 in 1 [Ninja Gaiden] (Unl)"

This mapper has the ability to toggle between native GG move and SMS-GG mode. This seems to mostly work though there are minor game window size glitches after a switch back to native GG mode from SMS-GG mode or vice versa (most noticeable when loading from a save state.)

All games can be started and played. However loading a save state results in a crashed game for some games due to incorrect re-initialization across the GG/SMS-GG mode-switching boundary.

Mapper `ocornut#27` is skipped because I expect ocornut#90 may land first.
Mapper `ocornut#28` is skipped because I expect ocornut#91 may land first.
Mapper `ocornut#29` is skipped because I expect ocornut#93 may land first.
Mapper `ocornut#30` is skipped because I expect ocornut#94 may land first.
Mapper `ocornut#31` is skipped because I expect ocornut#95 may land first.
Mapper `ocornut#32` is skipped because I expect ocornut#96 may land first.
Mapper `ocornut#33` is skipped because I expect ocornut#97 may land first.
Mapper `ocornut#34` is skipped because I expect ocornut#97 may land first.
Mapper `ocornut#35` is skipped because I expect ocornut#99 may land first.

I've been calling it "Super Gear 23 in 1 [Ninja Gaiden] (Unl)" but the actual names are different:

SUPER 23 IN 1 [menu]
SUPER GEAR 23 in 1 [box front, box back]
GEAR 23 in 1 [label, box sides]

The box front also says:

SELECT GAMES ON SCREEN
超級强卡 GEAR 23 in 1 (partial simplification of "超級強卡 GEAR 23 in 1", i.e. "super powerful Card GEAR 23 in 1")

NOTE: the use of simplified 强 in place of 強 alongside otherwise-traditional characters may suggest a Taiwanese origin

This is a 1032KB ROM (1MB for the games + 8KB for the menu.) Despite the "23" this actually only contains 20 games - the same ones (including exactly the same bits for every game) as found in the pushbutton "Super Gear 20 in 1 [Ninja Gaiden] (Unl)" described here: ocornut#95

The PCB includes the following ICs:
- National Semiconductor NMC27C64Q, a 64kbit a.k.a. 8KB memory containing the menu
- JM62300, likely an 8Mbit a.k.a. 1MB memory for all the games
- 2× AMI 18CV8PC-25 PEEL's, likely implementing the mapper logic

Newest date codes on mine are from 1993.

The label and the back of the box also include parallel game lists in both English and Traditional Chinese: (some "." punctuators are omitted on the label version, apparently due to a rough image-copying process)

```
01. NINJA GAIDEN / 01. 忍者外傳 (i.e. "Ninja Gaiden")
02. HALLEY WARS / 02. 哈雷慧星 (i.e. "Halley's comet")
03. HEAVY WEIGHT CHAMP / 03. 拳擊手 (i.e. "boxer")
04. ALIEN SYNDROME / 04. 異形風暴 (i.e. "Alien Storm")
05. RSTRO FLASH [typo for ASTRO FLASH] / 05. 噴射機 (i.e. "jet machine")
06. MY HERO / 06. 英雄爭霸戰 (i.e. "Hero Battle")
07. SPY VS SPY / 07. 諜對諜 (i.e. "spy vs. spy")
08. BANK PANIC / 08. 銀行大盗 [simplification/typo of 銀行大盜, i.e. "bank robber"]
09. TEDDY BOY BLUES / 09. 擲骰小子 (i.e. "dice kid")
10. GHOST HOUSE / 10. 鬼屋歷險記 (i.e. "haunted house adventures")
11. SATELLITE 7 / 11. 衛星七號 (i.e. "satellite seven")
12. HANG·ON / 12. 電單車賽 (i.e. "motorcycle race")
13. SOCCER / 13. 足球 (i.e. "soccer" or "football")
14. TENNIS / 14. 網球 (i.e. "tennis")
15. GREAT BASEBALL / 15. 超任棒球 [typo for 超仼棒球, i.e. "super baseball"]
16. PIT POT / 16. 英雄救美 (i.e. "hero saves the beauty")
17. COLUMNS / 17. 寶石方塊 (i.e. "gem cube", a name by which Columns is sometimes known in Chinese)
18. PENGO / 18. 企鵝推水 (i.e. "penguin pushes water"; possibly typo for 企鵝推冰, i.e. "penguin pushes ice" or "Pengo")
19. WOODY POP / 19. 玩具磚王 (i.e. "toy brick king")
20. JOE MACHINECUN [typo for JOE MACHINEGUN] / 20. 機關槍掃射 (i.e. "machine gun strafing")
21.GHOST / 21. 鬼屋 (i.e. "ghost house")
22.ARKANOLL / 22  撞磚 (i.e. "hit a brick")
23.PENGO / 23. 企鵝推冰 (i.e. "penguin pushes ice" or "Pengo")
```

Some character choices suggest a possible Hong Kong origin for the original 20-in-1 label this 23-in-1 label was based on, e.g. 電單車 for motorcycle.

Typographic changes in entries 06 and 21-23, and in the "3" of "GEAR 23 in 1", suggest that those were edited separately from the rest of the label. The remainder is effectively identical to the game list of the "Super Gear 20 in 1 [Ninja Gaiden] (Unl)" pushbutton mulicart. All of this suggests the 23-in-1 version with a menu was created after the 20-in-1 pushbutton version, possibly by different people, yet it still contains more or less the same games.

Menu contents: ("→" is the movable cursor, shown here in the initial position on each screen)

Screen 1:

```
SUPER 23 IN 1

PUSH ↑.↓.1.2.START

 01.NINJA GAIDEN   [0xFFFE=0x00, 0xFFFE=0x04, 0xFFFE=0x08, 0xFFFF=0x08]; it's part-00-Ninja Gaiden (JP)-128k.gg
 02.ALIEN SYNDROME [0xFFFE=0x00, 0xFFFE=0x07, 0xFFFE=0x08, 0xFFFF=0x08]; it's part-0c-Alien Syndrome (JP)-128k.gg
 03.HALLEY WARS    [0xFFFE=0x00, 0xFFFE=0x05, 0xFFFE=0x08, 0xFFFF=0x08]; it's part-04-Halley Wars (JP)-128k.gg
 04.KO BOXING      [0xFFFE=0x00, 0xFFFE=0x06, 0xFFFE=0x08, 0xFFFF=0x08]; it's part-08-Heavy weight Champ (JP)-128k.gg
→05.COLUMNS        [0xFFFE=0x00, 0xFFFE=0x04, 0xFFFE=0x09, 0xFFFF=0x08]; it's part-10-Columns [v1] (JP)-32k.gg
 06.PENGO          [0xFFFE=0x01, 0xFFFE=0x04, 0xFFFE=0x09, 0xFFFF=0x08]; it's part-11-pengo-32k.gg
 07.WOODY POP      [0xFFFE=0x02, 0xFFFE=0x04, 0xFFFE=0x09, 0xFFFF=0x08]; it's part-12-Woody Pop [v0] (JP)-32k.gg
 08.BASE BALL      [0xFFFE=0x02, 0xFFFE=0x07, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-1e-Great Baseball [JP] (JP)-32k.sms
 09.ASTRO FLASH    [0xFFFE=0x00, 0xFFFE=0x05, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-14-astro-flash-32k.sms
 10.MY HERO        [0xFFFE=0x01, 0xFFFE=0x05, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-15-Seishun Scandal (JP)-32k.sms
```

Screen 2:

```
SUPER 23 IN 1

PUSH ↑.↓.1.2.START

 11.SPY VS SPY     [0xFFFE=0x02, 0xFFFE=0x05, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-16-Spy vs Spy (JP,KR)-32k.sms
 12.BANK PANIC     [0xFFFE=0x03, 0xFFFE=0x05, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-17-bank-panic-32k.sms
 13.TEDDY BOY      [0xFFFE=0x00, 0xFFFE=0x06, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-18-Teddy Boy Blues (JP)-32k.sms
 14.GHOST HOUSE    [0xFFFE=0x01, 0xFFFE=0x06, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-19-Ghost House (JP)-32k.sms
→15.SATELLITE 7    [0xFFFE=0x02, 0xFFFE=0x06, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-1a-Satellite 7 (JP)-32k.sms
 16.HANG ON        [0xFFFE=0x03, 0xFFFE=0x06, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-1b-Hang On (EU,AU,BR,DE,IT)-32k.sms
 17.SOCCER         [0xFFFE=0x00, 0xFFFE=0x07, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-1c-Great Soccer (JP)-32k.sms
 18.TENNIS         [0xFFFE=0x01, 0xFFFE=0x07, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-1d-Super Tennis (US,EU,DE)-32k.sms
 19.MACHINE GUN    [0xFFFE=0x03, 0xFFFE=0x04, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-13-Comical Machine Gun Joe (JP)-32k.sms
 20.PIT POT        [0xFFFE=0x03, 0xFFFE=0x07, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-1f-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
```

Screen 3:

```
SUPER 23 IN 1

PUSH ↑.↓.1.2.START

 21.ARKANOID       [0xFFFE=0x02, 0xFFFE=0x04, 0xFFFE=0x09, 0xFFFF=0x08]; it's part-12-Woody Pop [v0] (JP)-32k.gg
→22.EASY PENGO     [0xFFFE=0x01, 0xFFFE=0x04, 0xFFFE=0x09, 0xFFFF=0x08]; it's part-11-pengo-32k.gg
 23.GHOST          [0xFFFE=0x01, 0xFFFE=0x06, 0xFFFE=0x0B, 0xFFFF=0x08]; it's part-19-Ghost House (JP)-32k.sms
```

At power-on the 8KB menu is mirrored 6 times:

0x0000..0x1FFF 8KB menu ROM
0x2000..0x3FFF 8KB menu ROM
0x4000..0x5FFF 8KB menu ROM
0x6000..0x7FFF 8KB menu ROM
0x8000..0x9FFF 8KB menu ROM
0xA000..0xBFFF 8KB menu ROM

Once a menu item is selected, 0xFFFE is written three times with different values depending on the game chosen, and then 0xFFFF is written with 0x08.

Once that write happens, the mapper seems to be locked in Sega mapper mode with the selected base page, which will be OR'ed with the pages selected by the Sega mapper thereafter. This means base pages 0x00, 0x04, 0x08, 0x0C, 0x10, 0x14, 0x18, and 0x1C are sufficient to fully dump the game ROM.

Dumping snippet for the games:
```
        local game_id = 0x18; //0x00;//0x04;//0x08;//0x0c;//0x10;//0x14;//0x18;//0x1C;
        local first_unlock = game_id & 0x03;
        local second_unlock = ((game_id & 0xC) >> 2) | 0x04;
        local third_unlock = ((game_id & 0x10) >> 4) | 0x08;
        local fourth_unlock = 0x08;
        // bit 0x02 in third_unlock seems to mean "SMS-GG mode" as opposed to "GG mode"
        //
        // it is not needed for dumping
        cpu_write(d, 0xFFFE, first_unlock);
        cpu_write(d, 0xFFFE, first_unlock);
        cpu_write(d, 0xFFFE, second_unlock);
        cpu_write(d, 0xFFFE, second_unlock);
        cpu_write(d, 0xFFFE, third_unlock);
        cpu_write(d, 0xFFFE, third_unlock);
        cpu_write(d, 0xFFFF, fourth_unlock);
        cpu_write(d, 0xFFFF, fourth_unlock);
        // After this, use the Sega mapper to dump games 128KB at a
        // time (yes, even consecutive 32KB games can be dumped this
        // way! However you need to power-cycle the cartridge in
        // between.
```

For the menu, simply dump any 8KB page at power-on.

To construct to overall ROM image, place the 1MB games ROM first, and follow it with the 8KB menu ROM. The mapper will initially be in "menu" mode, where all reads will return data from the menu ROM. Once a game mapping is activated, only the selected 128KB, 64KB, or 32KB region (based on the lower bits of the game number) of the first 1MB "games" ROM will be visible.

Note that the "Super Gear 20 in 1 [Ninja Gaiden] (Unl)" ROM dump can be reconstructed from this one by concatenating the game ROM sections in label order (rather than ROM order or menu order) for items 01 through 20 and omitting the 8KB menu ROM.

ROM fingerprint info:

1.1M Super Gear 23 in 1 [Ninja Gaiden] (Unl).gg
Checking for export header with matching CRC... NO
sha256:eed8b645c038acf99da87169daac7283e3b3b9aa56f236fd6af43dd83ce8b6af Super Gear 23 in 1 [Ninja Gaiden] (Unl).gg
sha1:77430840cdedf95547df8e5b70eb4e8a014a0abe Super Gear 23 in 1 [Ninja Gaiden] (Unl).gg
md5:57568901cc57dd5f8557aab1f7d8b3c9 Super Gear 23 in 1 [Ninja Gaiden] (Unl).gg
mekacrc:306E7F66E4B6F9EA Super Gear 23 in 1 [Ninja Gaiden] (Unl).gg
crc32:67a43451 Super Gear 23 in 1 [Ninja Gaiden] (Unl).gg

128K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-00-Ninja Gaiden (JP)-128k.gg
Checking for export header with matching CRC... NO
sha256:c97821952624b660a8e785966042e17e85be28fd90c01e3a40b09ff8394e94ad Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-00-Ninja Gaiden (JP)-128k.gg
sha1:53fad0e2a180d0add8497f0195fd35537f508afb Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-00-Ninja Gaiden (JP)-128k.gg
md5:43174663563199c6a0e7a47719703888 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-00-Ninja Gaiden (JP)-128k.gg
mekacrc:4B1A5BE482A63301 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-00-Ninja Gaiden (JP)-128k.gg
crc32:4ed37a63 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-00-Ninja Gaiden (JP)-128k.gg

128K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-04-Halley Wars (JP)-128k.gg
Checking for export header with matching CRC... NO
sha256:af245727b846b3d13f9f6c4ba6977537408925074a17c44456448779f0953607 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-04-Halley Wars (JP)-128k.gg
sha1:1c9932f592bb12e61acf597985e0bd5041e45da5 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-04-Halley Wars (JP)-128k.gg
md5:9b26a17f41f2f0dc508d0815945e2634 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-04-Halley Wars (JP)-128k.gg
mekacrc:1F25824E7BFAA5D2 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-04-Halley Wars (JP)-128k.gg
crc32:def5a5d0 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-04-Halley Wars (JP)-128k.gg

128K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-08-Heavy weight Champ (JP)-128k.gg
Checking for export header with matching CRC... NO
sha256:d990ebd322393050382ed5b44f108e959605a4a59d38dfcd8e231e6f81ea3d8e Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-08-Heavy weight Champ (JP)-128k.gg
sha1:7cfd703ebdab4b2665f402adeac0060740615b6c Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-08-Heavy weight Champ (JP)-128k.gg
md5:b963441c5edad8396b857a9ad8448995 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-08-Heavy weight Champ (JP)-128k.gg
mekacrc:BFF25E2CEA4F8C00 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-08-Heavy weight Champ (JP)-128k.gg
crc32:beed9150 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-08-Heavy weight Champ (JP)-128k.gg

128K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-0c-Alien Syndrome (JP)-128k.gg
Checking for export header with matching CRC... NO
sha256:2ccac0ba78ce294a28c041e1e2ce1555093160150df0bb5ba8b2c411601e8491 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-0c-Alien Syndrome (JP)-128k.gg
sha1:b72e54493bfa7f13883a608bcf8c9f315dd490ca Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-0c-Alien Syndrome (JP)-128k.gg
md5:df495096e2d7ff9e2c13945e2a2bacba Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-0c-Alien Syndrome (JP)-128k.gg
mekacrc:8E692D2511E6F5CB Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-0c-Alien Syndrome (JP)-128k.gg
crc32:ffe4ed47 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-0c-Alien Syndrome (JP)-128k.gg

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-10-Columns [v1] (JP)-32k.gg
Checking for export header with matching CRC... NO
sha256:9e0a2b9c2af94bdfc95ca5c884fdf40ac9178388a6e8a36ccac263492ad74781 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-10-Columns [v1] (JP)-32k.gg
sha1:d83fd16bd23c51750555a692535daa171ed41af0 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-10-Columns [v1] (JP)-32k.gg
md5:36b33d28235b4c9439ab0f62ab1c97c4 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-10-Columns [v1] (JP)-32k.gg
mekacrc:C8F45DEC67DF2095 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-10-Columns [v1] (JP)-32k.gg
crc32:ac37e092 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-10-Columns [v1] (JP)-32k.gg

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-11-pengo-32k.gg
Checking for export header with matching CRC... NO
sha256:e1051bba30d7b681b7d7a17f9ea280daf1ed1f9f9184f24a5a88afc536c5d1c1 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-11-pengo-32k.gg
sha1:5f1c16d637ff94147ab93690a7acf0a3da7c1155 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-11-pengo-32k.gg
md5:6254d1c010a646fa73142b7c344b31bd Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-11-pengo-32k.gg
mekacrc:593C7A3470EED48B Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-11-pengo-32k.gg
crc32:189e02fa Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-11-pengo-32k.gg

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-12-Woody Pop [v0] (JP)-32k.gg
Checking for export header with matching CRC... NO
sha256:b6b639dcfa1492b5616b83ae4ac8b76ded84c449161291964a2fc3db0f3fb1a2 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-12-Woody Pop [v0] (JP)-32k.gg
sha1:9e7defda6873b7bca5650fad4426a6fb443522d8 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-12-Woody Pop [v0] (JP)-32k.gg
md5:c017baf7fa0de71219dfab91caa59f8f Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-12-Woody Pop [v0] (JP)-32k.gg
mekacrc:902D4CDEE014FD28 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-12-Woody Pop [v0] (JP)-32k.gg
crc32:9c0e5a04 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-12-Woody Pop [v0] (JP)-32k.gg

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-13-Comical Machine Gun Joe (JP)-32k.sms
Checking for export header with matching CRC... NO
sha256:ea9c74555e551974a681296c41972c1f6ddd7289fed5502f64e35b8527b6dde4 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-13-Comical Machine Gun Joe (JP)-32k.sms
sha1:33c21d164fd3cdf7aa9e7e0fe1a3ae5a491bd9f5 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-13-Comical Machine Gun Joe (JP)-32k.sms
md5:2d59b3d27f022b04a597e767e6660ca9 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-13-Comical Machine Gun Joe (JP)-32k.sms
mekacrc:59868AC9BD4815B4 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-13-Comical Machine Gun Joe (JP)-32k.sms
crc32:9d549e08 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-13-Comical Machine Gun Joe (JP)-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-14-astro-flash-32k.sms
Checking for export header with matching CRC... NO
sha256:bf22972cc6e88a0eb3a6f2e483fa769ba4a5573edfe421dbfa75a6697053bef7 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-14-astro-flash-32k.sms
sha1:94a0c358ef4e4c13ae2dc03558a0d5f46a28efd9 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-14-astro-flash-32k.sms
md5:9d9aac5b483d3e750ba120959aaaac20 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-14-astro-flash-32k.sms
mekacrc:2D22172DD72A88E4 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-14-astro-flash-32k.sms
crc32:ea5692a8 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-14-astro-flash-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-15-Seishun Scandal (JP)-32k.sms
Checking for export header with matching CRC... NO
sha256:5c86b5f3531518e20bb875a05e26430aa3fbd3d162164da807826eb4bc4b262c Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-15-Seishun Scandal (JP)-32k.sms
sha1:6942f38e608cc7d70cf9cc8c13ee8c22e4b81679 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-15-Seishun Scandal (JP)-32k.sms
md5:fb2ad2524646bd069e3ec1b51fd7eb39 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-15-Seishun Scandal (JP)-32k.sms
mekacrc:A2297AFAC9472988 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-15-Seishun Scandal (JP)-32k.sms
crc32:f0ba2bc6 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-15-Seishun Scandal (JP)-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-16-Spy vs Spy (JP,KR)-32k.sms
Checking for export header with matching CRC... NO
sha256:e3df51893d16e512cadf3723a58f143dc679127fbe4444662be63fafb4b2a777 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-16-Spy vs Spy (JP,KR)-32k.sms
sha1:c5e004b34d6569e6e1d99bff6be940f308e2c39f Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-16-Spy vs Spy (JP,KR)-32k.sms
md5:2a6ee78e2617886fe540dcb8a1500e90 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-16-Spy vs Spy (JP,KR)-32k.sms
mekacrc:440AA3B0518BF192 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-16-Spy vs Spy (JP,KR)-32k.sms
crc32:d41b9a08 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-16-Spy vs Spy (JP,KR)-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-17-bank-panic-32k.sms
Checking for export header with matching CRC... NO
sha256:1cbb449b665c4766ef5faa1983995c066e91621dc7dd68955de7b800b0590d00 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-17-bank-panic-32k.sms
sha1:70e07afaa6633938124add8cdb476f1bc69f2de0 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-17-bank-panic-32k.sms
md5:97b2bd168b9b41b7a693c199cab9d3ca Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-17-bank-panic-32k.sms
mekacrc:D7A23BCA59CD77E5 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-17-bank-panic-32k.sms
crc32:11d816cb Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-17-bank-panic-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-18-Teddy Boy Blues (JP)-32k.sms
Checking for export header with matching CRC... NO
sha256:42de9fc6028da76b4991ba81b3a666c9ae303e269d8f55c715f6518dcadb8773 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-18-Teddy Boy Blues (JP)-32k.sms
sha1:fb61c04f30c83733fdbf503b16e17aa8086932df Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-18-Teddy Boy Blues (JP)-32k.sms
md5:de5d6c9e1349844b74f53caaf2af680b Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-18-Teddy Boy Blues (JP)-32k.sms
mekacrc:BBE8D843FF8FF6BE Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-18-Teddy Boy Blues (JP)-32k.sms
crc32:316727dd Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-18-Teddy Boy Blues (JP)-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-19-Ghost House (JP)-32k.sms
Checking for export header with matching CRC... NO
sha256:c01f783f10fd4350816932e367bc9439b47e2ee1034a3179dcd93d660deecf43 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-19-Ghost House (JP)-32k.sms
sha1:051e74c499c6792f891668a7be23a11c2c4087af Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-19-Ghost House (JP)-32k.sms
md5:89028bfb152a553adf25668649d39ca6 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-19-Ghost House (JP)-32k.sms
mekacrc:827C30E5ED689206 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-19-Ghost House (JP)-32k.sms
crc32:c0f3ce7e Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-19-Ghost House (JP)-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1a-Satellite 7 (JP)-32k.sms
Checking for export header with matching CRC... NO
sha256:3e659f15fbcc6511dfeb2112762074a8441479bb33887d196eb343e124d14fe5 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1a-Satellite 7 (JP)-32k.sms
sha1:88fc5596773ea31eda8ae5a8baf6f0ce5c3f7e5e Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1a-Satellite 7 (JP)-32k.sms
md5:eac6a843975c50e39eb32f764da2a5ac Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1a-Satellite 7 (JP)-32k.sms
mekacrc:ABFBCE1810529280 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1a-Satellite 7 (JP)-32k.sms
crc32:16249e19 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1a-Satellite 7 (JP)-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1b-Hang On (EU,AU,BR,DE,IT)-32k.sms
Checking for export header with matching CRC... YES
sha256:0d35d0e232d64e714fa5d07e45acaf01ea9fb5a8f88fe9ac8018719ac2818d6f Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1b-Hang On (EU,AU,BR,DE,IT)-32k.sms
sha1:e601257f6477b85eb0b25a5b6d46ebc070d8a05a Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1b-Hang On (EU,AU,BR,DE,IT)-32k.sms
md5:2864be0d35269c5030a7f297f70e3ac3 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1b-Hang On (EU,AU,BR,DE,IT)-32k.sms
mekacrc:F0A23277115075EF Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1b-Hang On (EU,AU,BR,DE,IT)-32k.sms
crc32:071b045e Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1b-Hang On (EU,AU,BR,DE,IT)-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1c-Great Soccer (JP)-32k.sms
Checking for export header with matching CRC... NO
sha256:b2a524164e1a0a264dc4ac7cb29742293b3384b9369e0ce0cf2ab5ca2b50a1cd Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1c-Great Soccer (JP)-32k.sms
sha1:110536303b7bccc193bef4437ba5a9eb6fd4ac8e Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1c-Great Soccer (JP)-32k.sms
md5:0ed883302e87ca46c1c1a55660e17900 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1c-Great Soccer (JP)-32k.sms
mekacrc:68A3CEF02BC61B2B Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1c-Great Soccer (JP)-32k.sms
crc32:2d7fd7ef Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1c-Great Soccer (JP)-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1d-Super Tennis (US,EU,DE)-32k.sms
Checking for export header with matching CRC... YES
sha256:5fb097b508a482c29f12c2203a0a98a0dd7ce9873e7ef12fb7e0aeea250a99e2 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1d-Super Tennis (US,EU,DE)-32k.sms
sha1:67787f3f29a5b5e74b5f6a636428da4517a0f992 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1d-Super Tennis (US,EU,DE)-32k.sms
md5:2db9404fe79593fd2379921ca822103a Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1d-Super Tennis (US,EU,DE)-32k.sms
mekacrc:F799F9C458560EF7 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1d-Super Tennis (US,EU,DE)-32k.sms
crc32:914514e3 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1d-Super Tennis (US,EU,DE)-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1e-Great Baseball [JP] (JP)-32k.sms
Checking for export header with matching CRC... NO
sha256:84a62928d7a231657db0a5d77efa77eebda9f5cbefb5d5a68af64af2ecdb88fd Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1e-Great Baseball [JP] (JP)-32k.sms
sha1:e6eaaec61bec32dee5161ae59a7a0902f0d05dc9 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1e-Great Baseball [JP] (JP)-32k.sms
md5:94ca79d4eb2709ad98b850d33728a045 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1e-Great Baseball [JP] (JP)-32k.sms
mekacrc:9F82F97234F38CC1 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1e-Great Baseball [JP] (JP)-32k.sms
crc32:89e98a7c Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1e-Great Baseball [JP] (JP)-32k.sms

32K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1f-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
Checking for export header with matching CRC... NO
sha256:be7c284c39c1e18e53f7a97d3950caf93550783cdddcdf9324f9b209353682b9 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1f-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
sha1:b1afa682b2f70bfc4ab2020d7c3047aabbaf9a24 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1f-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
md5:209ee37dcabc263aa462c781d3123fce Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1f-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
mekacrc:B637976CB4B28D1D Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1f-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms
crc32:e6795c53 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-1f-Fushigi no Oshiro Pit Pot (JP,KR)-32k.sms

8.0K Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-20-menu-8k.gg
Checking for export header with matching CRC... NO
sha256:3c61e955fd46d1a42f2292a0605539f0a05f1c8684b836e05db59b5cf8da052b Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-20-menu-8k.gg
sha1:c2a7e890f843b05bf78e0a252d4f2bd4963902de Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-20-menu-8k.gg
md5:ba1731cb2e8616f25c8dcfdd1dde201c Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-20-menu-8k.gg
mekacrc:F9049C32B695B03A Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-20-menu-8k.gg
crc32:d59d5e15 Super Gear 23 in 1 [Ninja Gaiden] (Unl)/part-20-menu-8k.gg
bsittler added a commit to bsittler/meka that referenced this issue Mar 20, 2023
…me Gear [Mortal Kombat] (Unl)

It turns out this multicart is severable and also reversible. This produces three more multicart "ghost ROMs" using the same mapper and some or all of the same data:

Just the first 2MB:
Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg

Just the last 2MB:
Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg

The last 2MB, followed by the first 2MB:
Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg

The menu is written such that it automatically adjusts to each of these subsets/layouts. Perhaps we will find physical carts containing these variations someday too?
bsittler added a commit to bsittler/meka that referenced this issue Mar 20, 2023
…ame Gear [Mortal Kombat] (Unl)"

I've been calling this "Super 12 in 1 Game Gear [Mortal Kombat] (Unl)", but the actual name of this Game Gear multicart is not entirely clear to me. The label and packaging are in English and Traditional Chinese. There is small sticker on the back of the cartridge which says "RC". This may suggest a Taiwanese release.

It turns out this multicart is severable and also reversible. This produces three more multicart "ghost ROMs" using the same mapper and some or all of the same data:

Just the first 2MB:
Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg

Just the last 2MB:
Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg

The last 2MB, followed by the first 2MB:
Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg

The menu is written such that it automatically adjusts to each of these subsets/layouts. Perhaps we will find physical carts containing these variations someday too?

On the front of the box it says:

SUPER [behind "12 IN 1" overlay]
12 IN 1 [overlaid on "SUPER"]
GAME GEAR

On the back of the box it says

12 IN 1
SUPER
GAME GEAR

On the cartridge label it says

SUPER 12 IN 1

The menu does not seem to contain any collection title other than possibly "G.G.".

The front of the box also has logos or titles for each of the 12 Game Gear games. The ROM is 4MB long.

The back of the box also has screenshots for each of the 12 games captioned by the game names in both Chinese and English. These games are in the same order and use the same spellings as the list on the cartridge label. The English captions are shown beneath the Chinese captions.

There is also a game list on the cartridge label with each entry written in both English and Chinese: [I hope you'll excuse any errors in transcription or translation, I don't know Chinese and used Google Translate and web searches a bunch to try to make sense of things!]

```
1. MORTAL KOMBAT  龍爭虎鬥 (i.e. "Struggling Dragon, Fighting Tiger", the Chinese name of the Bruce Lee film "Enter the Dragon")
 2. TERMINATOR II  未來戰士二 (i.e. "Future Soldier 2")
 3. JURASSIC PARK  朱羅紀公園 (same pronunciation as 侏羅紀公園, i.e. "Jurassic Park")
 4. TALES SPIN  頑皮熊 (i.e. "playful bear" or "naughty bear")
 5. LITTLE MERMAID  小魚仙 (i.e. "little fish fairy" or "Little Mermaid")
 6. BARE KNUCKLE II  格鬥四人組 (i.e. "Fighting Foursome", how this game was known in Taiwan)
 7. TOM AND JERRY  湯姆歷險記 (i.e. "Adventures of Tom", same as a Chinese name for "Adventures of Tom Sawyer")
 8. GLOBAL GLADIATORS  麥當奴小子 (i.e. "McDonald kid")
 9. INDIANA JONES  聖戰奇兵 (i.e. "Crusaders", the Chinese name of the film "Indiana Jones and the Last Crusade")
10. HOME ALONE  寶貝智多星 (i.e. "Baby Wisdom", the Hong Kong name of the film "Home Alone")
11. DORAEMON  叮噹 (i.e. "Jingle" or "Ding Dong", one of the names used for Doraemon in Hong Kong and Taiwan)
12. BATMAN RETURNS  再戰蝙蝠俠 (i.e. "Fight Again Batman", the name of an early-1990's song by Alex To)
```

The PCB is marked "S32G1" on the solder side. On the component side there are two memories with their markings ground off, and three small DIP PLD's with intact labels: two are ICT PEEL18CV8P-25 and one is TIBPAL16L8-25CN.

The PCB doesn't have any obvious manufacturer information, nor do the cartridge or box.

Menu screen 1: (the "→" is a movable cursor; "03.JURASSIC PARK" is the initially selected item; button 2 cycles to Menu screen 2; button 1 resets menu; Start starts a game)

```
 G.G. SCREEN SELECT
 PUSH 2 - NEXT MENU [ writes 0x48 to 0xFFFE ]
 PUSH ↑.↓.1.START

 01.MORTAL KOMBAT [ writes 0x42, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Mortal Kombat (US,EU)
 02.TERMINATOR 2 [ writes 0x44, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's T2: The Arcade Game (US,EU)
→03.JURASSIC PARK [ writes 0x46, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Jurassic Park (JP)
 04.TALES SPIN [ writes 0x40, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's a modified TaleSpin with menu injected
 05.LITTLE MERMAID [ writes 0x40, 0x10 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Ariel - The Little Mermaid (Disney's) (US,EU,BR)
```

Menu screen 2: (the "→" is a movable cursor; "04.INDIANA JONES" is the initially selected item; button 2 cycles to Menu screen 1; button 1 resets menu; Start starts a game)

```
 G.G. SCREEN SELECT
 PUSH 2 - NEXT MENU [ writes 0x40 to 0xFFFE ]
 PUSH ↑.↓.1.START

 01.BARE KNUCKLE 2 [ writes 0x4E to 0xFFFE, then 0x40 to 0xFFFF ]; it's Streets of Rage II (JP,US,EU,BR)
 02.TOM N JERRY [ writes 0x4C, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Tom and Jerry: The Movie (US,EU)
 03.GLOBAL GLADIAN [ writes 0x4C, 0x10 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Global Gladiators (US,EU)
→04.INDIANA JONES [ writes 0x4A, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Indiana Jones and the Last Crusade (US,EU,BR)
 05.HOME ALONE [ writes 0x4A, 0x10 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Home Alone (US,EU,BR)
 06.DORAEMON [ writes 0x48, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's a modified Doraemon with menu injected
 07.BATMAN RETURNS [ writes 0x48, 0x10 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Batman Returns (JP,US,EU,BR)
```

The mapper starts out in "menu" mapping mode, and only switches to "game" mapping mode once a game is chosen.

In "menu" mapper mode, writes to mapper register 0xFFFE (REG1) in the range 0x40…0x4F set the base 16KB page MAPBASE as follows:

MAPBASE <= (REG1 & 0x0E) << 4 | (REG1 & 0x01)

In menu mapper mode, writes to mapper register 0xFFFE (REG1) in the range 0x00…0x10 update MAPBASE as follows:

MAPBASE <= MAPBASE & 0xF0 | ((REG1 & 0x10) >> 4)

The initial value of MAPBASE is 0x00.

The menu mode page mapping is as follows:

0x0000…0x3FFF: MAPBASE
0x4000…0x7FFF: MAPBASE | 1
0x8000…0xBFFF: MAPBASE

Once 0x40 is written to 0xFFFF (REG0), the mapper switches to "game" mapping mode. This seems to implement a Sega-style mapper where the page numbers are OR'ed with MAPBASE. I do not know whether there is any way to return to the initial "menu" mapper mode after that. The initial values of the Sega-style mapper registers when switching to "game" mapping mode seem to be REG0 = 0x00, REG1 = 0x01.

The game mode page mapping seems to be as follows:

0x0000…0x3FFF: MAPBASE
0x4000…0x7FFF: MAPBASE | (REG1 & 0x1F)
0x8000…0xBFFF: MAPBASE | (REG0 & 0x1F)

All the games inside the ROM are exact copies of official releases except for two: TaleSpin has been modified to embed menu screen 1, and Doraemon has been modified to embed menu screen 2.

ROM fingerprint info:

2.0M Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg
Checking for export header with matching CRC... NO
sha256:5daa438429eb8f51468ddffbabbafbb712dd2f96a7bb85dc011dcabaec728bcd Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg
sha1:db0e38996ebd7d9e37cd320e00fa2f03279634ae Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg
md5:cde6bcb04d6a2a42e0acbc63f812ff83 Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg
mekacrc:F4782D31A464BB73 Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg
crc32:0e098f92 Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg

2.0M Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg
Checking for export header with matching CRC... NO
sha256:7a3e8aab46259fbb546983ef9d9d95a8b3fd6f6b99d141ecbe204bca21b0e508 Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg
sha1:1f9e7674ab6fb4967d3c194a05c2bf95c824e770 Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg
md5:c1c502db651556011d8abdba3b713bf4 Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg
mekacrc:97D2BF32485053BB Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg
crc32:55d04386 Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg

4.0M Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg
Checking for export header with matching CRC... NO
sha256:783cadbc15d4bca885f65ce1fe881fd0225f639f4111e347ad3769c32aaf1b1d Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg
sha1:97832258228e9604b35651fae24ea7563dffbfe9 Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg
md5:8f559ea04b0aed300a0ed614fc0cae35 Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg
mekacrc:8B4AEC63ECB40E2E Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg
crc32:f56d3219 Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg

4.0M Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg
Checking for export header with matching CRC... NO
sha256:5bcff55312a7590ebfff354270de09f010701d45013c1862d771b5a5018b30e8 Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg
sha1:51ee833a01dda02d6517c04698fca6364af80df6 Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg
md5:024de6f771e9af7493fd134b0903b7b2 Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg
mekacrc:8B4AEC63ECB40E2E Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg
crc32:2ff576fa Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg
Checking for export header with matching CRC... NO
sha256:ccaca1d62bfe9e9ba1e3baaad9b51f13298d6347bcbe485820f5bbcf43c7fab8 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg
sha1:e655ff936deaf907349a496b6249ce0dc655917f Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg
md5:7d2c0175e3f96a240d60a428221657df Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg
mekacrc:CDF7E8CE03F2632E Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg
crc32:28c833f2 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg
Checking for export header with matching CRC... NO
sha256:1a4f8d7b649020987072cf02fda184287679ef905899d11f060e8685a76aa216 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg
sha1:d2f1b95a6d0a2cacd93ed307a5a6576f954a7d56 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg
md5:e786fb76fb3808a7b4906aa3ba9ff1a7 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg
mekacrc:F70090C4366C52C1 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg
crc32:97e3a18c Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg

512K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg
Checking for export header with matching CRC... NO
sha256:5d31f573e5a04ebf63a7f33ac8f5cbb5c635fb4fbe9bee2095ec1096e5a46c32 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg
sha1:ef634649b846b3f49d2c68739b36019e4fae0464 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg
md5:f9971dc9d78214f94856f6e886b1c8c2 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg
mekacrc:108F1B645538E075 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg
crc32:07494f2a Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg

512K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg
Checking for export header with matching CRC... NO
sha256:c1e9a061bf6848d8485ff7226c637e3c08e9de4bdce1a94e082d366df63954dc Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg
sha1:12b6f5542b6cebfe872096eab2a885d297eefa2f Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg
md5:d459d14baddfa9f8a69e91f79be71b9b Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg
mekacrc:FF60671102D2A2B3 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg
crc32:9479c83a Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg

512K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg
Checking for export header with matching CRC... NO
sha256:7c6bb90371f15fcc843bbff4667c366cc4d35f8ff90f42b24dc57017fca8db42 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg
sha1:89486678a6a065c56102296eebc7b25c5ef32d21 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg
md5:5797a3efc5bd691a29cd52e8315da9b9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg
mekacrc:2192332A14FC845C Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg
crc32:2f536ae3 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg
Checking for export header with matching CRC... NO
sha256:d928ac6cc9ce788344d92d5e2b13b11084aff54f2c2eb5bd4f7d7ecafe3ebc0e Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg
sha1:52e93a0b566fbb84f20b0d9b3b80e15cb7adf4ad Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg
md5:f9e1dc1cee644889bf61775fe3fb9fb7 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg
mekacrc:604F7D388B3B3D99 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg
crc32:3a92922d Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg
Checking for export header with matching CRC... NO
sha256:81ca0bbb16d29aaf703fe7c152f9a04c7625966c9fde8ef4d543512705dbe0d3 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg
sha1:85994b2f506c7bded0b02a59d96b1d949e48d518 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg
md5:1e8cfd2f30e9ad733f602cf2de696ba9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg
mekacrc:516CF5541BA9E056 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg
crc32:7ac4a3ca Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg
Checking for export header with matching CRC... NO
sha256:62c9932f64a606c22941f65170c1fe5ef3c407db726e7b09c476f29741fd4757 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg
sha1:2607f99263c8dd732d199b2357400638e08402ec Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg
md5:9d396418be6587bed4867070d049ce98 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg
mekacrc:4991B2A2AE8AB8E2 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg
crc32:b875226b Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg
Checking for export header with matching CRC... NO
sha256:46224f06fd31c9d23307a80e53d28143dc59e22dffbfe95a249689df44c4ebf5 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg
sha1:abad566f587affcb35102ed5b45c4e3a8ee22dc9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg
md5:8747c4cc07059d97bc597c5eb757cbd9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg
mekacrc:4CB0035708055746 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg
crc32:dde29f74 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg
Checking for export header with matching CRC... NO
sha256:7b0c81cfced846d057be73cd3805c0fa3e160e241531d16e862f37dedf130204 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg
sha1:514f8bc2e9306f4005d5a8aa2dc49304d48bfc82 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg
md5:c0246eed0c11ebe7a9b144a00ed61df1 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg
mekacrc:DC1F080D96A53D78 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg
crc32:5cd33ff2 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg
Checking for export header with matching CRC... NO
sha256:2625a08d6cc22fceb555af73ca90be5d273174cc118285574d301e21bc1e215f Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg
sha1:ddad863406d429acb218c75042d5e5c511bdad4f Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg
md5:d3a436b1fb64fd6295a30cc12ba6bed9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg
mekacrc:F0E8A87399B7C4F9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg
crc32:d2b6021e Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg

512K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
Checking for export header with matching CRC... NO
sha256:43d27a0d5f823c0fc7390d5c18205a2f73add2645a482bc8fd6d495af503be1c Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
sha1:2804b355347bda6e2903078ba30ed6b3a289ebba Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
md5:5566e332f860dc0f9da1507fd7feb1cd Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
mekacrc:85CFE82DBD812633 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
crc32:0b618409 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
bsittler added a commit to bsittler/meka that referenced this issue May 11, 2023
…ame Gear [Mortal Kombat] (Unl)"

I've been calling this "Super 12 in 1 Game Gear [Mortal Kombat] (Unl)", but the actual name of this Game Gear multicart is not entirely clear to me. The label and packaging are in English and Traditional Chinese. There is small sticker on the back of the cartridge which says "RC". This may suggest a Taiwanese release.

It turns out this multicart is severable and also reversible. This produces three more multicart "ghost ROMs" using the same mapper and some or all of the same data:

Just the first 2MB:
Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg

Just the last 2MB:
Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg

The last 2MB, followed by the first 2MB:
Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg

The menu is written such that it automatically adjusts to each of these subsets/layouts. Perhaps we will find physical carts containing these variations someday too?

On the front of the box it says:

SUPER [behind "12 IN 1" overlay]
12 IN 1 [overlaid on "SUPER"]
GAME GEAR

On the back of the box it says

12 IN 1
SUPER
GAME GEAR

On the cartridge label it says

SUPER 12 IN 1

The menu does not seem to contain any collection title other than possibly "G.G.".

The front of the box also has logos or titles for each of the 12 Game Gear games. The ROM is 4MB long.

The back of the box also has screenshots for each of the 12 games captioned by the game names in both Chinese and English. These games are in the same order and use the same spellings as the list on the cartridge label. The English captions are shown beneath the Chinese captions.

There is also a game list on the cartridge label with each entry written in both English and Chinese: [I hope you'll excuse any errors in transcription or translation, I don't know Chinese and used Google Translate and web searches a bunch to try to make sense of things!]

```
1. MORTAL KOMBAT  龍爭虎鬥 (i.e. "Struggling Dragon, Fighting Tiger", the Chinese name of the Bruce Lee film "Enter the Dragon")
 2. TERMINATOR II  未來戰士二 (i.e. "Future Soldier 2")
 3. JURASSIC PARK  朱羅紀公園 (same pronunciation as 侏羅紀公園, i.e. "Jurassic Park")
 4. TALES SPIN  頑皮熊 (i.e. "playful bear" or "naughty bear")
 5. LITTLE MERMAID  小魚仙 (i.e. "little fish fairy" or "Little Mermaid")
 6. BARE KNUCKLE II  格鬥四人組 (i.e. "Fighting Foursome", how this game was known in Taiwan)
 7. TOM AND JERRY  湯姆歷險記 (i.e. "Adventures of Tom", same as a Chinese name for "Adventures of Tom Sawyer")
 8. GLOBAL GLADIATORS  麥當奴小子 (i.e. "McDonald kid")
 9. INDIANA JONES  聖戰奇兵 (i.e. "Crusaders", the Chinese name of the film "Indiana Jones and the Last Crusade")
10. HOME ALONE  寶貝智多星 (i.e. "Baby Wisdom", the Hong Kong name of the film "Home Alone")
11. DORAEMON  叮噹 (i.e. "Jingle" or "Ding Dong", one of the names used for Doraemon in Hong Kong and Taiwan)
12. BATMAN RETURNS  再戰蝙蝠俠 (i.e. "Fight Again Batman", the name of an early-1990's song by Alex To)
```

The PCB is marked "S32G1" on the solder side. On the component side there are two memories with their markings ground off, and three small DIP PLD's with intact labels: two are ICT PEEL18CV8P-25 and one is TIBPAL16L8-25CN.

The PCB doesn't have any obvious manufacturer information, nor do the cartridge or box.

Menu screen 1: (the "→" is a movable cursor; "03.JURASSIC PARK" is the initially selected item; button 2 cycles to Menu screen 2; button 1 resets menu; Start starts a game)

```
 G.G. SCREEN SELECT
 PUSH 2 - NEXT MENU [ writes 0x48 to 0xFFFE ]
 PUSH ↑.↓.1.START

 01.MORTAL KOMBAT [ writes 0x42, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Mortal Kombat (US,EU)
 02.TERMINATOR 2 [ writes 0x44, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's T2: The Arcade Game (US,EU)
→03.JURASSIC PARK [ writes 0x46, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Jurassic Park (JP)
 04.TALES SPIN [ writes 0x40, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's a modified TaleSpin with menu injected
 05.LITTLE MERMAID [ writes 0x40, 0x10 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Ariel - The Little Mermaid (Disney's) (US,EU,BR)
```

Menu screen 2: (the "→" is a movable cursor; "04.INDIANA JONES" is the initially selected item; button 2 cycles to Menu screen 1; button 1 resets menu; Start starts a game)

```
 G.G. SCREEN SELECT
 PUSH 2 - NEXT MENU [ writes 0x40 to 0xFFFE ]
 PUSH ↑.↓.1.START

 01.BARE KNUCKLE 2 [ writes 0x4E to 0xFFFE, then 0x40 to 0xFFFF ]; it's Streets of Rage II (JP,US,EU,BR)
 02.TOM N JERRY [ writes 0x4C, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Tom and Jerry: The Movie (US,EU)
 03.GLOBAL GLADIAN [ writes 0x4C, 0x10 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Global Gladiators (US,EU)
→04.INDIANA JONES [ writes 0x4A, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Indiana Jones and the Last Crusade (US,EU,BR)
 05.HOME ALONE [ writes 0x4A, 0x10 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Home Alone (US,EU,BR)
 06.DORAEMON [ writes 0x48, 0x00 to 0xFFFE, then 0x40 to 0xFFFF ]; it's a modified Doraemon with menu injected
 07.BATMAN RETURNS [ writes 0x48, 0x10 to 0xFFFE, then 0x40 to 0xFFFF ]; it's Batman Returns (JP,US,EU,BR)
```

The mapper starts out in "menu" mapping mode, and only switches to "game" mapping mode once a game is chosen.

In "menu" mapper mode, writes to mapper register 0xFFFE (REG1) in the range 0x40…0x4F set the base 16KB page MAPBASE as follows:

MAPBASE <= (REG1 & 0x0E) << 4 | (REG1 & 0x01)

In menu mapper mode, writes to mapper register 0xFFFE (REG1) in the range 0x00…0x10 update MAPBASE as follows:

MAPBASE <= MAPBASE & 0xF0 | ((REG1 & 0x10) >> 4)

The initial value of MAPBASE is 0x00.

The menu mode page mapping is as follows:

0x0000…0x3FFF: MAPBASE
0x4000…0x7FFF: MAPBASE | 1
0x8000…0xBFFF: MAPBASE

Once 0x40 is written to 0xFFFF (REG0), the mapper switches to "game" mapping mode. This seems to implement a Sega-style mapper where the page numbers are OR'ed with MAPBASE. I do not know whether there is any way to return to the initial "menu" mapper mode after that. The initial values of the Sega-style mapper registers when switching to "game" mapping mode seem to be REG0 = 0x00, REG1 = 0x01.

The game mode page mapping seems to be as follows:

0x0000…0x3FFF: MAPBASE
0x4000…0x7FFF: MAPBASE | (REG1 & 0x1F)
0x8000…0xBFFF: MAPBASE | (REG0 & 0x1F)

All the games inside the ROM are exact copies of official releases except for two: TaleSpin has been modified to embed menu screen 1, and Doraemon has been modified to embed menu screen 2.

ROM fingerprint info:

2.0M Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg
Checking for export header with matching CRC... NO
sha256:5daa438429eb8f51468ddffbabbafbb712dd2f96a7bb85dc011dcabaec728bcd Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg
sha1:db0e38996ebd7d9e37cd320e00fa2f03279634ae Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg
md5:cde6bcb04d6a2a42e0acbc63f812ff83 Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg
mekacrc:F4782D31A464BB73 Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg
crc32:0e098f92 Super 5 in 1 Game Gear [Mortal Kombat] [Super 12 in 1] (Unl).gg

2.0M Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg
Checking for export header with matching CRC... NO
sha256:7a3e8aab46259fbb546983ef9d9d95a8b3fd6f6b99d141ecbe204bca21b0e508 Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg
sha1:1f9e7674ab6fb4967d3c194a05c2bf95c824e770 Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg
md5:c1c502db651556011d8abdba3b713bf4 Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg
mekacrc:97D2BF32485053BB Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg
crc32:55d04386 Super 7 in 1 Game Gear [Bare Knuckle 2] [Super 12 in 1] (Unl).gg

4.0M Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg
Checking for export header with matching CRC... NO
sha256:783cadbc15d4bca885f65ce1fe881fd0225f639f4111e347ad3769c32aaf1b1d Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg
sha1:97832258228e9604b35651fae24ea7563dffbfe9 Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg
md5:8f559ea04b0aed300a0ed614fc0cae35 Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg
mekacrc:8B4AEC63ECB40E2E Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg
crc32:f56d3219 Super 12 in 1 Game Gear [Bare Knuckle 2] (Unl).gg

4.0M Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg
Checking for export header with matching CRC... NO
sha256:5bcff55312a7590ebfff354270de09f010701d45013c1862d771b5a5018b30e8 Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg
sha1:51ee833a01dda02d6517c04698fca6364af80df6 Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg
md5:024de6f771e9af7493fd134b0903b7b2 Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg
mekacrc:8B4AEC63ECB40E2E Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg
crc32:2ff576fa Super 12 in 1 Game Gear [Mortal Kombat] (Unl).gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg
Checking for export header with matching CRC... NO
sha256:ccaca1d62bfe9e9ba1e3baaad9b51f13298d6347bcbe485820f5bbcf43c7fab8 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg
sha1:e655ff936deaf907349a496b6249ce0dc655917f Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg
md5:7d2c0175e3f96a240d60a428221657df Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg
mekacrc:CDF7E8CE03F2632E Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg
crc32:28c833f2 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-0-menu1-talespin-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg
Checking for export header with matching CRC... NO
sha256:1a4f8d7b649020987072cf02fda184287679ef905899d11f060e8685a76aa216 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg
sha1:d2f1b95a6d0a2cacd93ed307a5a6576f954a7d56 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg
md5:e786fb76fb3808a7b4906aa3ba9ff1a7 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg
mekacrc:F70090C4366C52C1 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg
crc32:97e3a18c Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-1-Ariel - The Little Mermaid (Disney's) (US,EU,BR)-256k.gg

512K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg
Checking for export header with matching CRC... NO
sha256:5d31f573e5a04ebf63a7f33ac8f5cbb5c635fb4fbe9bee2095ec1096e5a46c32 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg
sha1:ef634649b846b3f49d2c68739b36019e4fae0464 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg
md5:f9971dc9d78214f94856f6e886b1c8c2 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg
mekacrc:108F1B645538E075 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg
crc32:07494f2a Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-2-Mortal Kombat (US,EU)-512k.gg

512K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg
Checking for export header with matching CRC... NO
sha256:c1e9a061bf6848d8485ff7226c637e3c08e9de4bdce1a94e082d366df63954dc Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg
sha1:12b6f5542b6cebfe872096eab2a885d297eefa2f Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg
md5:d459d14baddfa9f8a69e91f79be71b9b Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg
mekacrc:FF60671102D2A2B3 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg
crc32:9479c83a Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-3-T2 - The Arcade Game (US,EU)-512k.gg

512K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg
Checking for export header with matching CRC... NO
sha256:7c6bb90371f15fcc843bbff4667c366cc4d35f8ff90f42b24dc57017fca8db42 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg
sha1:89486678a6a065c56102296eebc7b25c5ef32d21 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg
md5:5797a3efc5bd691a29cd52e8315da9b9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg
mekacrc:2192332A14FC845C Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg
crc32:2f536ae3 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-4-Jurassic Park (JP)-512k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg
Checking for export header with matching CRC... NO
sha256:d928ac6cc9ce788344d92d5e2b13b11084aff54f2c2eb5bd4f7d7ecafe3ebc0e Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg
sha1:52e93a0b566fbb84f20b0d9b3b80e15cb7adf4ad Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg
md5:f9e1dc1cee644889bf61775fe3fb9fb7 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg
mekacrc:604F7D388B3B3D99 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg
crc32:3a92922d Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-5-menu2-doraemon-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg
Checking for export header with matching CRC... NO
sha256:81ca0bbb16d29aaf703fe7c152f9a04c7625966c9fde8ef4d543512705dbe0d3 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg
sha1:85994b2f506c7bded0b02a59d96b1d949e48d518 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg
md5:1e8cfd2f30e9ad733f602cf2de696ba9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg
mekacrc:516CF5541BA9E056 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg
crc32:7ac4a3ca Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-6-Batman Returns (JP,US,EU,BR)-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg
Checking for export header with matching CRC... NO
sha256:62c9932f64a606c22941f65170c1fe5ef3c407db726e7b09c476f29741fd4757 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg
sha1:2607f99263c8dd732d199b2357400638e08402ec Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg
md5:9d396418be6587bed4867070d049ce98 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg
mekacrc:4991B2A2AE8AB8E2 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg
crc32:b875226b Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-7-Indiana Jones and the Last Crusade (US,EU,BR)-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg
Checking for export header with matching CRC... NO
sha256:46224f06fd31c9d23307a80e53d28143dc59e22dffbfe95a249689df44c4ebf5 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg
sha1:abad566f587affcb35102ed5b45c4e3a8ee22dc9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg
md5:8747c4cc07059d97bc597c5eb757cbd9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg
mekacrc:4CB0035708055746 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg
crc32:dde29f74 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-8-Home Alone (US,EU,BR)-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg
Checking for export header with matching CRC... NO
sha256:7b0c81cfced846d057be73cd3805c0fa3e160e241531d16e862f37dedf130204 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg
sha1:514f8bc2e9306f4005d5a8aa2dc49304d48bfc82 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg
md5:c0246eed0c11ebe7a9b144a00ed61df1 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg
mekacrc:DC1F080D96A53D78 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg
crc32:5cd33ff2 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-9-Tom and Jerry - The Movie (US,EU)-256k.gg

256K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg
Checking for export header with matching CRC... NO
sha256:2625a08d6cc22fceb555af73ca90be5d273174cc118285574d301e21bc1e215f Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg
sha1:ddad863406d429acb218c75042d5e5c511bdad4f Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg
md5:d3a436b1fb64fd6295a30cc12ba6bed9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg
mekacrc:F0E8A87399B7C4F9 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg
crc32:d2b6021e Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-a-Global Gladiators (US,EU)-256k.gg

512K Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
Checking for export header with matching CRC... NO
sha256:43d27a0d5f823c0fc7390d5c18205a2f73add2645a482bc8fd6d495af503be1c Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
sha1:2804b355347bda6e2903078ba30ed6b3a289ebba Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
md5:5566e332f860dc0f9da1507fd7feb1cd Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
mekacrc:85CFE82DBD812633 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
crc32:0b618409 Super 12 in 1 Game Gear [Mortal Kombat] (Unl)/part-b-Streets of Rage II (JP,US,EU,BR)-512k.gg
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants