Ads keep us online. Without them, we wouldn't exist. We don't have
paywalls or sell mods - we never will. But every month we have large bills
and running ads is our only way to cover them. Please consider unblocking us. Thank you from GameBanana <3
What is UPMEM? The UPMEM is a chip in Sonic & Knuckles responsible for patching Sonic the Hedgehog 2 with Knuckles' Art, His scripts, and the Level Design Changes made specifically for him.
However it's also involved in the process of checking the Lock-On game, namely to see if it should boot the Knuckles in Sonic 2 Data.
In Sonic 3 and 1's case this isn't necessary but this chip is still a requirement for these games to run the intended code.
This seemingly is because some data for Blue Spheres and Sonic 3 & Knuckles is in the UPMEM aswell.
How was this found? Anyone who uses either RetroArch (Genisis Plus GX Core) or the Genesis Plus GX Emulator will notice it has a Lock-On feature in the options menu with one of the options being Sonic & Knuckles.
Most people don't use this as often the full locked-on rom is available to download at any time from most ROM websites today.
However I'm guessing that wasn't the case when Genesis Plus GX was built, This means you needed a Sonic & Knuckles ROM and a UPMEM ROM to achieve Sonic 3 & Knuckles, Blue Sphere, and Knuckles in Sonic 2.
I tried getting lock on to work for the sake of decluttering my ROM list and to play the games as intended in a purely digital format.
There was just one Problem- While I did have the Sonic & Knuckles ROM I was missing the required UPMEM ROM.
This meant I couldn't lock on, I searched all over the internet, and couldn't find the UPMEM ROM.
What I did find was some info: First that the UPMEM was the last 256KB of the Knuckles in Sonic 2 ROM.
Second that it could be extracted with a HEX editor, and a post incorrectly detailing where the last 256KB started. (I know as when I tried going to the location they gave me the Hex Editor couldn't find it.)
So the trail went cold...
Until I joined the Sonic 3 Angel Island Revisited Discord Server and RawData I asked around and was told to find the right offset I needed to do some Math:
KiS2 ROM Size - 256KiB (Keibibytes) = ? MiB (Meibibytes)
I plugged in my rom size and got a result I then gave the result to DaKingofDaCheckerz who then finished of the calculation and gave me the final offset: 0x30000
This is where the UPMEM is located in the Knuckles in Sonic 2 ROM, and it spans to the end of the ROM. Everything before is data from Sonic 2 or Sonic & Knuckles.
Important Notes The ROM from the Knuckles in Sonic 2 Disassembly WILL NOT WORK as we have recently discovered the Disassembly on Sonic Retro for Knuckles in Sonic 2 is severely unfinished, thus serves literally no purpose.
However this leads to another question:
Should I download the ROM then? No, find a Retrode if you can and rip your own cartridge ROM, then use that until Sega Releases Knuckles in Sonic 2 for Sale.
Okay Last Question: Why Would I do This? Simple it helps tidy up your ROM library, so instead of having: -A Vanilla Sonic 1 ROM, -A Vanilla Sonic 2 ROM, -A Knuckles in Sonic 2 ROM, - A Sonic 3 Alone ROM, - A Sonic 3 & Knuckles ROM, - A Sonic & Knuckles Alone ROM and, -A Blue Spheres Alone ROM
You instead only need: -A Vanilla Sonic 1 ROM -A Vanilla Sonic 2 ROM -A Vanilla Sonic 3 (Alone) ROM and -A Vanilla Sonic & Knuckles ROM
It also allows all ROMs listed above to be played Locked On or Alone thus it's like having the KiS2 ROM in your back pocket.
Same goes with Sonic 3 & Knuckles no extra ROMs are needed once the UPMEM is extracted and if you back it up.
Cool! How do I do it? It's very simple you will need:
-A Knuckles in Sonic 2 ROM (Can be Deleted after) -A Hex Editor (HxD Recomended)
Remember the offset I mentioned? This one: 0x30000? Yeah open your Knuckles in Sonic 2 ROM in HxD and simply in the HxD menu go to Search> Go To...
In the box that appears paste that offset only replace the X with another 0 so it will be 00300000 from there highlight all the way to the end of the ROM, then Ctrl+C that bad boy.
Finally in HxD go to File>New... and in the new file just opened press Ctrl+V it will pop up a window asking you if you're sure you want to paste click yes.
Now save this file anywhere you want personally I would save it to the Desktop first before putting it anywhere, Name the file sk2chip.bin and Save it.
Now go to your Desktop and check to see the file's size if the File is 256KB, congratulations! You just ripped the UPMEM and can now declutter your ROM space.
Once the UPMEM is ripped the only thing to do is test it so take "sk2chip.bin" and put it in RetroArch's system folder then boot up your Vanilla Sonic 2 Rom in RetroArch.
Then Press F1 go to options and (provided all your Genesis games use the Genisis Plus GX core) scroll to the 8th option down set it to Sonic & Knuckles press F1 again to exit the menu and...
If the title screen changes to Knuckles in Sonic 2's you have successfully set up Lock-On.
If it doesn't however then it's likely that something went wrong, in which case plug your KiS2 ROM size into the equation I mentioned before, then take your answer and convert the MiB (meibibytes btw) to Bytes.
Finally take the new result and google for it in Hex then try copying from the address given to the end of the ROM if this still doesn't work.
I recommend consulting people from the S3AIR discord server, they were very helpful in providing this info to me, They can likely help you get sorted and rip your UPMEM.