Language…
20 users online:  Ahrion, Anas, anonimzwx, autisticsceptile1993, Batata Douce, drkrdnk,  Eden_, Hammerer, LadiesMan217, LuigiTron, magianegra21, masl, Maw, NewPointless, ppp9q,  Ringo, sinseiga, Sokobansolver, Sparx, The_Uber_Camper - Guests: 262 - Bots: 314
Users: 64,795 (2,376 active)
Latest user: mathew

$0EF0F0 by GreenHammerBro

Address Length Type Description Submitter
$0EF0F0 3856 bytes Empty Empty.

However, starting with LM v1.80, this is used for sprite extra bit sizes. See detail.

GreenHammerBro
Detail: LM180
Originally posted by LM help
Custom Sprite List Sizes
Starting in version 1.80, Lunar Magic allows sprites to have a user-defined size for the number of bytes they take up in the sprite list for the level. These extra bytes can be set when adding a sprite manually.

Typically the sizes would be set by a 3rd party utility. To set them yourself, you must create and store a 0x400 byte table containing the sprite sizes somewhere inside the ROM (first 0x100 bytes are for sprites 00-FF that use an extra bit of 0, next 0x100 are for sprites 00-FF that use an extra bit of 1, etc). Place the SNES address for this table at 0x7750C PC. Then put 0x42 at 0x7750F to enable use of the table by Lunar Magic.

The max size value for a sprite is currently 0xF.

Warning: This will only enable the table for use by Lunar Magic. It's up to you or a 3rd party utility to modify the game code to take the new sizes into account.


$0EF30C-$0EF40B: Sprites 00-FF that use an extra bit of 0
$0EF30F: Put $42 to indicate that this area is a table for LM to use
$0EF40C-$0EF50B: Extra bit of 1
$0EF50C-$0EF60B: Extra bit of 2
$0EF60C-$0EF70B: Extra bit of 3
While somewhat accurate, the ROM Map is only for submissions relevant to the original game. Guideline 4 states:
Originally posted by guidelines

Don't submit addresses relevant only for hacked ROMs.

The purpose of this section is to hold information only about the original, unmodified SMW ROM. If you want to include some information about a hacked ROM, please use the Hijack Map instead.


That being said. There's a reason why I said somewhat. While the examples would normally be correct, it seems that you misunderstood them somewhat.

First of all, this table is for extra byte sizes, not for extra bits. It depends on the value of the extra bit (with 0x100 bytes, 1 per sprite number) to see which number to load.

Quote
$0EF30C-$0EF40B: Sprites 00-FF that use an extra bit of 0
$0EF40C-$0EF50B: Extra bit of 1
$0EF50C-$0EF60B: Extra bit of 2
$0EF60C-$0EF70B: Extra bit of 3

These ROM areas aren't hardcoded to be specifically there; they can be put anywhere in the ROM, preferably in the expanded area - you should specify that these are examples.

Quote
$0EF30F: Put $42 to indicate that this area is a table for LM to use

This is correct. However, you should mention that $0EF30C-$0EF30E holds the pointer to the tables you mentioned above.

To give you a better, example, this is how PIXI handles this:
Code
org $0EF30C
	autoclean dl Size	; pointer to sprite size table
	db $42			; enable LM custom sprite size 

freedata
Size:
	incbin "DefaultSize.bin"
	incbin "_CustomSize.bin"

DefaultSize.bin holds the values for extra bit valuess 0/1. It's all set to 03 because it also accounts for other sprite loading data. _CustomSize.bin holding the values when the extra extra bit is 2 or 3; its value is 03+extra byte amount.