Technical Discussion February 4 2008

Topic 1: Memory manager for Nintendo DS

Eric explained the memory model of the Nintendo DS and proposed a memory manager for feedback.

Memory is broken into:

  • Palette memory
  • Tile data (8x8 pixel tiles that refer to palette entries)
  • Map data (arrangement of tiles that appear on the screen)
  • OAM (sprites)

Goals:

  1. Where tiles are located is hidden
  2. ROM to RAM mapping to minimize duplicate tiles
  3. RAM to ROM mapping for cleanup

The proposed memory manager would work like malloc and free. The free tiles would be maintained in a linked list and chunks could be allocated by a variety of allocation schemes. Tiles are contiguously allocated. It is up to the object allocating memory to manage it. This solves goal 1 but does not solve goal 2.

It was suggested that LRU could be used to swap out old tiles assuming that there is a ROM to RAM mapping. Contiguous allocation isn't need for tile maps so it was suggested that it would be more flexible if it wasn't contiguous.

Links mentioned:

Members Present

  • Colin Hume
  • Dave Bregman
  • Ryan Bujnowicz
  • Ted Tate
  • Eric Raue
Add a New Comment
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License