News:

11 March 2016 - Forum Rules

Main Menu

Sonic Spinball ROM Editor

Started by Tony H, June 22, 2022, 06:12:23 PM

Previous topic - Next topic

Tony H

Started a new ROM editor for Sonic Spinball (Genesis/Mega Drive).  About 20% finished.

There are a bunch of different versions of this game, but the editor *should* work on all of them.  It uses pattern searching to find specific strings in the ROM.  These specific strings are in different places in different versions of the ROM, but once the editor finds a match, it knows where it's at in the ROM.

GUI it very early, so will have lots of changes.



Most of what the editor will do when finished is pretty self explanatory in the screenshot.  A quick rundown of some of it:

Can adjust the gravity (can have more or less).

Can adjust how much control you have over Sonic while he is in a ball in the air.

Can make it so that you can reverse gravity by pressing and holding Down on the controller at any time during the game.  Release the Down button to return gravity to normal.  Reverse gravity only works when Sonic is in the air.

Some options to make the bosses easier or harder.

Some options to make the bonus and multi-ball games easier or harder.

An option to open up a warp area in level 1 (warps you to an upper area of the screen.

Has a Dump button that will dump all of the ROM addresses it finds into a text file.

Will work on these versions: USA, Japan, European, Beta, August Prototype, and two versions of the September prototype.  If anyone knows of any versions I missed, let me know (just give me the details, without posting a ROM link).


Found some stuff while looking through the prototypes that I couldn't find on the internet, so it's possible that it's undocumented.  Will post what I found just in case.

There is a Sept 17, 1993 prototype ROM (TCRF has info on it).  The level select button cheat that's everywhere on the internet (for the final release ROM) is different than this Sept 17 prototype:

In the Option menu, press: D, A, D, B, D, C, U, A, B, U, A, C, U, B, C

If entered correctly, you will hear a chime.  The way you select a level is the same as the regular ROM (which is all over the internet).   TCRF says that the level select cheat doesn't work on an early version of the game, so I'm pretty sure this is the one they're talking about.

There is an even earlier prototype (August 1993) that has the level select button cheat enabled by default. However, the buttons you press to start on different levels is a bit different than the regular ROM:

EDIT: Had this wrong at first, but these is the correct buttons to press...

At the title screen, hold A and press Start to start on level 4.  Hold B and press Start to start on level 2.  Hold B + C and press start to start on level 3.

If I find anymore differences in the ROMs, I'll post them here.
The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides

Red Soul

I feel Sonic Spinball tends to be somewhat underrated. It is the only Pinball game I enjoy (exactly because it isn't trying to simulate actual pinball), so it's nice to see it getting editors and such.

Tony H

#2
Quote from: Red Soul on June 27, 2022, 10:19:22 PMI feel Sonic Spinball tends to be somewhat underrated. It is the only Pinball game I enjoy (exactly because it isn't trying to simulate actual pinball), so it's nice to see it getting editors and such.

I agree, underrated.  Has held up well over time, and still fun to play.

A small update on the editor...

Since the earliest prototype (August 1993) has a lot of bugs, and is a lot different in regards to programing from all the other versions, I decided not to support it with the editor.  Almost every single option in the editor required special handling for that proto, which would have meant twice as much work.  The editor will still work on every other version of the ROM, including the other prototypes, and all of the regions.

Have also added a couple more options/adjustments for the level 4 boss.

While working on the level 4 boss stuff, I found that the info on the internet as far as how to beat the boss was not very complete.  Wanted to post this detailed info here since I will forget most of in no time. :-)

Some of this is on the internet, but some of it isn't.

Level 4 boss info: Once you collect the emeralds, you will have access to the boss room (space ship).  Once inside, you will find a button under Robotnik that you can easily hit using the flippers.  Some guides say to hit this button 5 times to get rid of the "armor" on the sides and get access to the top of the spaceship where you can start hitting the glass shield that is protecting Robotnik.  While this is true, here is some details that will help...

* After the first hit of that button, the left robot arm blocking your way up top will disappear.
* The second hit of the button will make the right robot arm disappear.
* The third hit of the button will make both of the socks disappear (they also prevent you from getting to the top).
* Once you hit the button for the third time, you'll have a clear path to get above Robotnik and start attacking his shield.  It takes 10 hits to destroy his shield.
* After you hit the button for the third time, it moves a value of 0x05DC (hex) to a timer.  This timer starts counting down and once it reaches a value of 0x01F4 (hex), the socks will reappear and block your access.  Keep in mind that this timer counts down MUCH faster that one second per number, so you don't have much time before your path to Robotnik is blocked by the socks.  Although I haven't tested it, I'm guessing that the robotic arms will reappear once that timer reaches zero.
* Once you hit that button three times and you open up access (and start the timer), you also have a limit of how many more times you can hit the button before it resets everything and puts the socks and robotic arms back in place.  On the sixth hit of the button, it resets everything and you have to start over.  In other words, you have a small window after the third hit and before the sixth hit to get up to the top, as well as the timer.  Can be very frustrating.
* One other note, if you try to go to the top and one of the socks catches you, it will throw you against a window.  On the third hit of the same window, it will break open and you will be throw out of the spaceship.  Again, very frustrating.

The editor will let you adjust how much time you get after you hit the button for the third time.  Setting this to a higher number will of course give you more time to get to the top for your attack before the obstacles reappear.

You can also adjust how many hits of the button it takes before the game resets everything and you have to start over.  So instead of having a window of between 3 and 6 hits of that button, you can adjust it to something like 20 hits before it resets everything.  This, together with the increased time, will make it much less frustrating to get up to Robotnik.

There is also an option to make it so that the windows that the socks throw you against will never break.

EDIT:  Made a mistake above.  After the 3rd hit of the button, the 4th hit will make the socks reappear. 
The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides

Red Soul

That's a cool change. I'm all for QoL and easing up on frustrating design (some people seem to be masochistic by trade and complain about such things - I always say, if you don't like the changes, play without them instead of complaining).

Tony H

Quote from: Red Soul on June 29, 2022, 05:15:30 PMThat's a cool change. I'm all for QoL and easing up on frustrating design (some people seem to be masochistic by trade and complain about such things - I always say, if you don't like the changes, play without them instead of complaining).

I know what you mean.  Most things in the editor are adjustable so people can decide if they want to make the game easier or harder.  People that want more torture can make the game harder. lol

Another small update:

Instead of having an adjustment for the number of button hits for the level 4 boss access, I found what I think is something better... a new way of getting access to Robotik.  Every time you hit one of the robotic arms or socks that are blocking your access to Robitnik, that robotic arm or sock will no longer block your way.  The specific arm or sock you hit will still be visible, but it's collision detection will be turned off and you will pass right through it.  If you enable this option, you can get up to the top of the ship and start attacking Robotnik with just two hits on either side (one hit for the arm, and one hit for the sock).  You don't even have to hit the button if you don't want to, although you can still use that method if you'd like.

A little more updated/corrected info on the level 4 boss (before I forget): As I mentioned in a previous post, once you hit the button a third time, a value of 0x05DC (hex) is moved to a timer and starts counting down.  While the counter is counting down, you'll have access to Robotnik (for about 30 seconds) as long as you don't press the button any more.  Once that timer value gets down to 0x01F4 (hex), it will give you a warning message about the time.  Once the timer reaches zero, the socks will return and block access to Robotnik.

Also found out that the timer stops counting down whenever you're near the top of the ship, and then continues counting when you get towards the bottom.

The level 4 boss was always the most difficult for me, so I'm spending a lot of time of this part of the editor so the average player (like me) can beat Robotnik and see the game ending.
The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides

Red Soul

Changing solidity is a good way to go about it, I'd say and I agree, it is the most difficult boss by far. The only thing I can think is actually harder is getting there in the first place, haha.

T92


Tony H

Quote from: Red Soul on July 01, 2022, 09:50:58 PMChanging solidity is a good way to go about it, I'd say and I agree, it is the most difficult boss by far. The only thing I can think is actually harder is getting there in the first place, haha.

Yes, getting up to the ship is a pain.  The adjustments for gravity, having more control over Sonic's direction, or reversing gravity (by pressing Down) can make that easier.

Another update:

It can now pull all of the values from the ROM and load them into the editor, and can patch the new values into the ROM.

Fixed the timer for how long you have access to Robotnik (level 4 boss) so it shows seconds instead of the much larger value in the ROM.

Added separate adjustable values for each of the 4 levels that determine how many rings you need to collect to enable the Multi-ball game.  Minor side note: The default values that the editor gets from an un-edited ROM (the values that are shown below) are the total number of rings for each level.

Have added a new option that determines the maximum number of lives you can get from points.  The game normally limits it to 9 lives.  Have also tied this adjustment to the maximum number of lives you can set for starting lives.

Still have to do the Dump button, which will make a text file that shows all of the ROM addresses it found, as well as the values used.  Keep in mind that the ROM addresses will be different depending on which ROM you use.

The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides

Tony H

The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides


Red Soul

Quote from: Tony H on July 14, 2022, 05:06:08 PMFinished the editor:

https://www.romhacking.net/utilities/1690/

Good work! I'll definitely replay Sonic Spinball with tweaks your editor can provide.