21

Super Mario World (SMW) is known to have several bugs relating to re-use of memory for multiple purposes. For example some memory items are used for more than one type of item, and the designers are supposed to ensure that they never exist on screen at the same time.

Most games of that era use static memory allocation. However I'm surprised that there is apparently so much pressure on memory that they have to double up single bytes. Perhaps there is some other reason.

My question is how is memory allocated by SMW? A memory map would be ideal.

  • 3
    While I can't say whether or not there was a need to reuse memory, it doesn't surprise me that it was done. There are multiple reasons it may have been done, and need is only 1 reason. It could also be a case of premature optimization. Or maybe the developers did not know what their memory limitations would be when they started. Or maybe it was a habit formed by the developers from earlier work, perhaps from NES work or other software work. Or maybe just because "It's not in use at this time, so we'll reuse it. Why not?" There are so many possible reasons. – Aaron Dec 28 '19 at 1:39
  • My guess would be that it's code ported from the Famicom. They just didn't bother to unpick that particular knot. Maybe it was considered mature code. – user Dec 28 '19 at 8:21
35

Memory is allocated statically in Super Mario World. Every RAM location used is hard-coded into the game, although some are re-used by different parts of the code.

A full, annotated, and searchable memory map for Super Mario World (archive) with 824 entries in RAM (4949 total) is presented at SMW Central.

If you're interested in glitches due to re-used memory locations, the user Thomas has identified many re-used locations in this thread (archive).

| improve this answer | |
  • 10
    @wizzwizz4 While you're technical right, the question asks for a memory map, which in this case is maybe best to just pointed to - as he one linked holds about 5000 entries. The only alternative would be declaring the question itself as 'too broad' which would seam as a bit unfair, as the link is a perfect answer. – Raffzahn Dec 27 '19 at 18:02
  • @d-b Are you saying we can downvote users, or what do you actually mean by that? The problem here seems to be with the question (which i have voted to close) - asking for that type of information is not reasonable for stack exchange. – pipe Dec 28 '19 at 3:58
  • Thanks. It looks like there is available free RAM so the mystery of re-use remains. – user Dec 28 '19 at 8:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.