Difference between revisions of "PM RAM"

From SublabWiki
Jump to: navigation, search
(* Corrected start/end locations.)
m (+ added memory schema for frame buffer only access and placed the tables in a wrapper table for a better overview.)
 
(One intermediate revision by one other user not shown)
Line 5: Line 5:
  
 
== RAM Layout ==
 
== RAM Layout ==
 +
 +
{| border="0" cellpadding="16" style="text-align: left;vertical-align: top"
 +
|+'''Memory layout schema's'''
 +
 +
| style="vertical-align: top" |
  
 
{| border="1" style="text-align:left"
 
{| border="1" style="text-align:left"
|+'''Ram Memory Break down'''
+
|+'''PRC rendering sprites with Tile Map 0, 1 or 2'''
 +
! Start
 +
! End
 +
! Size
 +
! Description
 +
|-
 +
| $1000
 +
| $12FF
 +
| $0300 (768B)
 +
| [[PM PRC#Frame Copy Stage|Frame Buffer]]
 +
|-
 +
| $1300
 +
| $135F
 +
| $0060 (96B)
 +
| [[PM PRC#Sprite Rendering Stage|Sprite Attributes]]
 +
|-
 +
| $1360
 +
| $141F
 +
| $00C0 (192B)
 +
| [[PM PRC#Map Rendering Stage|Tile Map]]
 +
|-
 +
| $1420
 +
| $1FFF
 +
| $0BE0 (3040B)
 +
| General Purpose Memory
 +
|}
 +
 
 +
 
 +
{| border="1" style="text-align:left"
 +
|+'''PRC rendering sprites with Tile Map 3'''
 
! Start
 
! Start
 
! End
 
! End
Line 32: Line 66:
 
| $0B20 (2848B)
 
| $0B20 (2848B)
 
| General Purpose Memory
 
| General Purpose Memory
 +
|}
 +
 +
 +
| style="vertical-align: top" |
 +
 +
{| border="1" style="text-align:left"
 +
|+'''PRC rendering only sprites'''
 +
! Start
 +
! End
 +
! Size
 +
! Description
 +
|-
 +
| $1000
 +
| $12FF
 +
| $0300 (768B)
 +
| [[PM PRC#Frame Copy Stage|Frame Buffer]]
 +
|-
 +
| $1300
 +
| $135F
 +
| $0060 (96B)
 +
| [[PM PRC#Sprite Rendering Stage|Sprite Attributes]]
 +
|-
 +
| $1360
 +
| $1FFF
 +
| $0CA0 (3232B)
 +
| General Purpose Memory
 +
|}
 +
 +
 +
{| border="1" style="text-align:left"
 +
|+'''PRC blitting directly from frame buffer'''
 +
! Start
 +
! End
 +
! Size
 +
! Description
 +
|-
 +
| $1000
 +
| $12FF
 +
| $0300 (768B)
 +
| [[PM PRC#Frame Copy Stage|Frame Buffer]]
 +
|-
 +
| $1300
 +
| $1FFF
 +
| $0D00 (3328B)
 +
| General Purpose Memory
 +
|}
 +
 +
 +
{| border="1" style="text-align:left"
 +
|+'''PRC off (no BG, Sprites or frame buffer)'''
 +
! Start
 +
! End
 +
! Size
 +
! Description
 +
|-
 +
| $1000
 +
| $1FFF
 +
| $1000 (4096B)
 +
| General Purpose Memory
 +
|}
 +
 
|}
 
|}

Latest revision as of 14:20, 20 April 2009

RAM Overview

The memory used in the Pokemon Mini is general purpose static ram. It is high speed and there is no performance hit for accessing it other than the instruction processing speed. The biggest problem with the system is that the ram is small, and also shared with the picture rendering chip. Sections of this memory can be disabled, but up to 1248 bytes of 4k can be re-purposed for video.

General purpose memory is considered unused and is safe for all use at any time. Disabling various parts of the picture rendering chip can free up additional memory.

RAM Layout

Memory layout schema's
PRC rendering sprites with Tile Map 0, 1 or 2
Start End Size Description
$1000 $12FF $0300 (768B) Frame Buffer
$1300 $135F $0060 (96B) Sprite Attributes
$1360 $141F $00C0 (192B) Tile Map
$1420 $1FFF $0BE0 (3040B) General Purpose Memory


PRC rendering sprites with Tile Map 3
Start End Size Description
$1000 $12FF $0300 (768B) Frame Buffer
$1300 $135F $0060 (96B) Sprite Attributes
$1360 $14DF $0180 (384B) Tile Map
$14E0 $1FFF $0B20 (2848B) General Purpose Memory


PRC rendering only sprites
Start End Size Description
$1000 $12FF $0300 (768B) Frame Buffer
$1300 $135F $0060 (96B) Sprite Attributes
$1360 $1FFF $0CA0 (3232B) General Purpose Memory


PRC blitting directly from frame buffer
Start End Size Description
$1000 $12FF $0300 (768B) Frame Buffer
$1300 $1FFF $0D00 (3328B) General Purpose Memory


PRC off (no BG, Sprites or frame buffer)
Start End Size Description
$1000 $1FFF $1000 (4096B) General Purpose Memory