Actions

SCHG How-to

Extend the level index past $10 in Sonic 2

From Sonic Retro

Revision as of 06:49, 23 December 2010 by Silent.creature (talk | contribs) (Initial Notes and Revisions Done)

Initial Notes and Revisions Done

(Split Trial: due to an unfortunate edit, I'm now trying to split this page to point some fixes - silent.creature)

(Original guide by kram, current revision that fixes major bugs and extends properly by GARY 'M 9)

(Updated again by kram, adding back custom titlecard mappings howto, due to guide being unfinished, thus finally fixing the "ZONE ZONE" bug. Replace all the empty levels with your new ones.)

WARNING: Unless you are working with Xenowhirl's 2007 Sonic 2 disassembly, I strongly recommend you port the Sonic 1 sound driver first before proceeding. A lot of major data shifting will occur in this tutorial and it will make the rom size a lot bigger than it was before. This will break the sonic2 or even sonic2 beta sound driver, thus so you definitely want the sonic 1 sound driver due to the fact that it can take the shifting and still work properly. However, if you are using Xenowhirl's 2007 Sonic 2 disassembly, it is not necessary to port any other sound driver, since that uses disassembled Z80 code which automatically references the correct locations and can thus work properly even if there are massive location shifts.

You probably noticed that all the indexes in the game stop at $10 and when you try to extend it, by extending the MLLB, you get weird glitches or even crashes, that is because you haven't extended all the indexes that need to be extended.

Extending the Titlecard index

Extending the Palette Cycle information

Extending the static palette list

Extending Zone Procedures and Scripts

Extending Animated Pattern Mappings

Extending the 1 Player and 2 Player music playlists

Branch fixes

Fixing Addressing

Extending the demo list

Extending the Collision index

Extending Rings Index

Extending the object index

Extending tiles and patterns index

Extending level and tile layout indexes

Extending the definition of act 2 (setting up our new levels so that they can have bosses in other words)

Extend Level Size Array

Extending the Start Location Index

Notes