Super Mario World
|Super Mario World (U) [!]|
|Type||Normal + Batt|
|ROM Speed||150ns (SlowROM)|
|ROM map | RAM map | Text table | Notes | Tutorials|
Super Mario World was the first SNES game, and is quite possibly the most extensively hacked SNES game.
See also: List of Super Mario World utilities
There are ostensibly many complete hacks of Super Mario World.
See also: List of Super Mario World hacks
Super Mario World uses an object-based format to store it's levels. These objects are grouped into 4 main categories:
- Standard objects
- Tileset specific Objects
- Extended Objects
- Direct MAP16 Objects
Standard objects Standard objects are such items are concrete blocks or pipes that use mainly the first page of 8x8 and 16x16 tiles.
Tileset Specific Objects Tileset specific objects are objects lists chosen by level tileset, and mainly use graphics from the second 8x8 page, and both normal MAP16 pages. These objects, being tileset specific, are not available nearly as widely as other objects.
Extended Objects These objects are objects that were so far out to left field, or just used so rarely, they were stored in their own definition.
Direct MAP16 objects Inclusion of an ASM hack by FuSoYa in Lunar Magic allows hackers to incorpaorate specific tiles in the MAP16 tables into a level. Normally, you would need a special object to do so, which is one reason for the disporportionate number of extended objects one tile high and one tile wide.
Blocktool is a program that allows you to enter your own custom block code and have it executed when certain events happen and when conditions are right. Unfortunately, when you have too many blocks, Super Mario world cannot handle nearly as many sprites onscreen at the same time, and your game experience goes down the drain due to immnse slowdown. This is because of a loop in blocktool that execute once a frame for every custom block you have in your hack. Example: 21 blocks = 21 loops through the blocktool code, every frame. See where the slowdown comes from?
Blocktool Ω is a new version of blocktool under development by Sukasa that aims to elimanate slowdown, regardless of how many custom block you have, by using a (large) 41/2-bank table and the SNES's multiplication registers to save time and CPU cycles.
RATS tags are some of the most important tags in an SMW ROM to a hacker. These tags are a way of reserving sections of the SMW ROM for your own use, so that it will not be overwritten by Lunar Magic. The format of the tag is quite simple, but seems complex from how it is explained elsewhere.
First, you have the ASCII text string "RATS" to write in. Then, you have a 16-bit number of the amount of bytes you want to reserve. Second, you have another 16-bit number that is the reverse of the first number. To get this number easily, just take the number &hFFFF and subtract your first number from it. After that, you can place your data following the tag, and then finally, you end your RATS tage with an &hFF after your data. Easy!
See also: Super Mario World:Fun facts
- Old forum thread containing ROM addresses
- New forum thread containing ROM addresses
- RAM map - The first memory map
- Memory Map 2 - The newer memory map with more features, but it currently has fewer addresses.
- Super Mario World Data Repository - New tile sets and a neat ASM hack
- OK! Impala - Translated Super Mario World into Dutch. It can be downloaded here.
- Acmlm's Board - The official Message board of Lunar Magic