22

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.

2
  • 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, 2019 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, 2019 at 8:21

1 Answer 1

36

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).

3
  • 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, 2019 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, 2019 at 3:58
  • Thanks. It looks like there is available free RAM so the mystery of re-use remains.
    – user
    Dec 28, 2019 at 8:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .