the cutting room mirror

Sonic Spinball (Sega Master System, Game Gear)

This article has a talk page!This article has a talk page!
view on tcrf.net

A demake of the Genesis game that was rushed out the door due to the international release of Sonic Drift getting cancelled. Yes, really.

Level Skip#

Play sound effects 0, 2, 1, 5, 6, 6 in the Sound Test, then pause during gameplay and press Down.

Free-Movement Mode#

In the Options menu, play sound effects 0, 9, 0, 1, 6, 8 in the Sound Test (the screen will shake to confirm), then pause during gameplay and press 2.

Build Date#

Present at 0x4C8D (SMS)/0x4C61 (GG):

Sega Master System

Game Gear

1994-05-30 P.M. FINAL REV. 22 (M)


SonicSpinballMS-BuildDate.png

1994-05-30 P.M. FINAL REV. 20 (K)


SonicSpinballGG-BuildDate.png

It can be displayed in the Options menu by playing sound effects 0, 5, 0, 3, 6, 0 in the Sound Test.

Uncompiled Code#

Present at 1EFAE is a fragment of code, likely from a printout of the code.

FFFFFFFFFFFFFFFFFFFFFF52
:103E8000FFFFFFC025F60FC025A00FC025580EFF6D
:103E9000FFFFFFC025F60FC025A00FC025580EFF5D
:103EA000FFFFFFC025F60FC025A00FC025580EFF4D
:103EB000FFFFFF020010000A001B0019021A020F88
:103EC0000014001A0018000A020E0018021600184A
:103ED0000415001602190015041604150217000D2A
:103EE00000130215061A04130009001B0219040A24
:103EF0000419061A060B001B041A081A0A080019EE
:103F0000081A0C16061A0E1A1018060D021C000FBD
:103F1000021B060C001B081B0A1B0C1B0E1B101D92
:103F2000001C02FFFF1B000C0009001A021A001BF4
:103F300002160016021B041B061D00FFFF1A0019C3
:103F40000011001C00130014000E00080009000AF4
:103F50000011010D001C010B000C000F0017001DCB
:103F6000001D011A01FFFF12001900140012010BBD
:103F700000100010011300170018001701FFFF7A4E
:103F80003E1A32FFFF3224C82A0280010000097E57
:103F900023666F22D3D7AF32D6D73E1032DED7C9D1
:103FA000C9C9C93289DA7832D7D77932D8D73A89AC
:103FB000DAC3A27FC9C9C9C97EB7C8E5CDB67FE15A
:103FC0002318F4F3DBBE3A0CC8D3BF3A0DC8F64051
:103FD000D3BF010007AFD3BE0B78B120F8FBC9C92E
:103FE000A77CDD7D247D9C7BCF7BDD7DFA7B247CE3
:103FF000544D52205345474100000000000000008E
:00000001FF0AF4
:103F50000011010D001C010B000C000F0017001DCB
:103F6000001D011A01FFFF12001900140012010BBD
:103F700000100010011300170018001701FFFF7A4E
:103F80003E1A32FFFF3224C82A0280010000097E57
:103F900023666F22D3D7AF32D6D73E1032DED7C9D1
:103FA000C9C9C93289DA7832D7D77932D8D73A89AC
:103FB000DAC3A27FC9C9C9C97EB7C8E5CDB67FE15A
:103FC0002318F4F3DBBE3A0CC8D3BF3A0DC8F64051
:103FD000D3BF010007AFD3BE0B78B120F8FBC9C92E
:103FE000A77CDD7D247D9C7BCF7BDD7DFA7B247CE3
:103FF000544D52205345474100000000000000008E
88
1C58 C5                 M   PUSH    BC
1C59 21 00 00           M   ld  HL,RobotnicShipAnim
1C5C                    M   XREF    CreateState
1C5C CD 00 00           M   CALL    CreateState
1C5F D1                 M   POP DE
1C60 38 00              M   JR  C,AppendRightError_1988
1C62 21 4B D7           M   ld  HL,StateRight
1C65 19                 M   add HL,DE
1C66 71                 M   ld  (HL),C
1C67                    M               AppendRightError_1988
1C67                            _YSpeed 3
1C67 FD 36 28 06        M   ld  (IY+ItemYSpeedHi),lo(3*SpdFac)
1C6B FD 36 27 00        M   ld  (IY+ItemYSpeedLo),0
1C6F                      

1C6F                            _Goto   EndItemsCheck
1C6F 18 00              M   JR  EndItemsCheck
1C71                      

1C71                        ;=== Re Entry (into the volcano) ===
1C71                      Reentry:
1C71                            _AppendRight    ReentryAnim
1C71                    M   XREF    AppendRight
1C71 CD 00 00           M   CALL    AppendRight
1C74                    M   bcs AppendRightError_1992
1C74 38 00              M   jr  C,AppendRightError_1992
1C76 C5                 M   PUSH    BC
1C77 21 00 00           M   ld  HL,ReentryAnim
1C7A                    M   XREF    CreateState
1C7A CD 00 00           M   CALL    CreateState
1C7D D1                 M   POP DE
1C7E 38 00              M   JR  C,AppendRightError_1992
1C80 21 4B D7           M   ld  HL,StateRight
1C83 19                 M   add HL,DE
1C84 71                 M   ld  (HL),C
1C85                    M               AppendRightError_1992
1C85                            _YSpeed 3
1C85 FD 36 28 06        M   ld  (IY+ItemYSpeedHi),lo(3*SpdFac)
1C89 FD 36 27 00        M   ld  (IY+ItemYSpeedLo),0
1C8D                      

1C8D                      EndItemsCheck:
1C8D FD 7E 05               ld  A,(IY+ItemYHi)      ;Check if hit stop point
1C90 FD BE 31               cp  (IY+ItemParm0)
1C93                        bne EndItemsNext
1C93 20 00              M   jr  NZ,EndItemsNext
1C95                      

1C95 FD 7E 04               ld  A,(IY+ItemYLo)
1C98

(Source: RetroSpark)

Developer Messages#

Each level in the game has a secret monitor with the text "見る" ("to see") on it. Breaking this monitor will display a message, depending on the level:

Toxic Pools: '08-XX-XX...'
Lava Powerhouse: 'XX-31-XX...'
The Machine: 'XX-XX-71...'
Final Showdown: 'XX-XX-XX, SFX GET THAT???'

Combining all four messages results in a hint to play sound effects 0, 8, 3, 1, 7, 1 in the options menu. Do so, then break any of the hidden monitors to display another message:

TRY THESE SFX! 02-11-66, 09-01-68, 02-15-66, 04-25-57, * * * FIND THE REST ON YOUR OWN ***

These are the codes for huge sprites, the free movement mode, the level skip, and fast music, respectively.

There is also an additional message, not connected to the others. Play sound effects 0, 3, 1, 8, 9, 2 in the options menu. Breaking any of the hidden monitors will now display this message:

HAPPY BIRTHDAY, BLL, 03-18-92

"BLL" may refer to programmer Frank Lucero's daughter(?), Brianna, who is listed in the game's credits under Special Thanks.

(Source: Hillbert)

Scene Selection#

Playing certain sequences of sound effects in the options menu will warp the player to any screen, level, boss fight, or bonus stage in the game. These are divided into three subsets, so to go to the desired place, first enter one of the codes in the first table to toggle the necessary subset, then enter the code in the second table corresponding to the desired place. The screen will shake after each code is entered.

Scene Set

Code

Set 1

01, 01, 01, 01, 03, 00

Set 2

01, 01, 01, 01, 03, 01

Set 3

01, 01, 01, 01, 03, 02 or 01, 01, 01, 01, 03, 03

Code

Scene Set 1

Scene Set 2

Scene Set 3

01, 01, 01, 01, 04, 00

Sega Logo (GG)
Title Screen (SMS)

Bonus Stage 1 Score Screen

Bonus Stage 3 Title Card

01, 01, 01, 01, 04, 01

Title Screen

Lava Powerhouse Title Card

Bonus Stage 3

01, 01, 01, 01, 04, 02

Opening Cutscene 1 (Fortress Rising)

Lava Powerhouse

Bonus Stage 3 Score Screen

01, 01, 01, 01, 04, 03

Opening Cutscene 2 (Sonic and Tails arrive)

Lava Powerhouse Boss

Final Showdown Title Card

01, 01, 01, 01, 04, 04

Opening Cutscene 3 (Sonic enters Fortress)

Bonus Stage 2 Title Card

Final Showdown

01, 01, 01, 01, 04, 05

Toxic Pools Title Card

Bonus Stage 2

Final Showdown Boss

01, 01, 01, 01, 04, 06

Toxic Pools

Bonus Stage 2 Score Screen

Ending Cutscene 1 (Sonic and Robotnik falling)

01, 01, 01, 01, 04, 07

Toxic Pools Boss

The Machine Title Card

Ending Cutscene 1 (Sonic and Robotnik falling)

01, 01, 01, 01, 04, 08

Bonus Stage 1 Title Card

The Machine

Ending Cutscene 2 (Fortress destruction)

01, 01, 01, 01, 04, 09

Bonus Stage 1

The Machine Boss

Credits

For example, to go to Lava Powerhouse, enter 01, 01, 01, 01, 03, 01 (toggles scene set 2), then 01, 01, 01, 01, 04, 02.

(Source: Hillbert)