Language…
8 users online: Astrakitu, Cameron, Gonzales555, Guido_Keller, h.carrell, marvisjj, simon.caio, SysDataSoft - Guests: 143 - Bots: 258
Users: 64,667 (2,403 active)
Latest user: DarthHylian

Item Memory Table Expansion

SMW Patches → Item Memory Table Expansion

Submission Details

Name: Item Memory Table Expansion
Author: Isikoro
Added:
Tool: Asar
Requires Free Space: Yes
Bug Fix: Yes
Featured: No
Description: It is a patch that expands the item memory table and makes it possible to store coin acquisition records etc. in units of 1 tile both vertically and horizontally.
Eliminates the loss of untaken coins above and below the taken coins when warp you to another level. The same applies to Yoshi blocks.
In addition, you can use a dedicated memory table for each level to record earned coins at more levels.
It is also possible to share a memory table at several levels.
By moving the level, in addition to erasing all coins at the source level, it is also possible to initialize the memory table.
It also comes with a memory table read routine for Objectool 0.5.

If you exceed the memory table usage permission range, Mario's graphic will be strange and you can see that it exceeds the permission range. The permission range can be expanded.

It uses a lot of FreeRAM. Also consider using a patch that adds FreeRAM.

-Caution-
If layer 2 is used as the terrain and coins overlap at the initial positions of layer 1 and layer 2, even if only one coin is acquired, it will be recorded in the memory table as if both coins were acquired.
Tags: coin dragon coin item memory lorom object objectool sa-1 tile
Comments: 2 (jump to comments)
Download 5.75 KiB | 172 downloads

Screenshots

View all

Comments (2)

Francium Link
nice!#smw{:TUP:}
 MarioFanGamer Link
Moderated with:
  • Lunar Magic v3.31
  • SA-1 Pack v.1.40
  • Asar 1.81
  • UberASM Tool v1.4
  • BSNES v115
This is quite a complex patch but also one of the most useful ones too considering how saving item memory per column can be limiting in design. In addition, you can have more than three item memory buffers since item memory is now dependent on the level number instead of the item memory index (which instead is used to determine how to handle item memory).

It's also interesting how the use of RAM per item memory also is dependent on the level size. Basically: The more screens a level uses, the more memory it takes. As a result, you don't want to create too large levels without resetting item memory (see below) or assigning more RAM for item memory. This can be easily the case with the horizontal level modes where a higher level also means less horizontal screens.

The same patch also causes some incompatibilities with existing resources. For example, I am very sure that Individual Dragon Coin Save is incompatible with this patch since these use item memory as well and revamp the system a bit. Sprites which use item memory such as these Dragon Coins also are incompatible for this reason due to the lack of a provided routine.

In addition, the routine you provided to clear item memory is quite complicated since I actually meant something more like this:
Code
load:
	STZ $19F8|!addr
	RTS