Skip to content
This repository was archived by the owner on Jun 2, 2024. It is now read-only.

Systems Memory Mapping

meleu edited this page Feb 10, 2019 · 18 revisions

Work in Progress

This page details how the memory of each supported system is mapped.

NES

Memory map obtained from https://wiki.nesdev.com/w/index.php/CPU_memory_map

Offset Length Description used by RA
$0000 $800 2KB internal RAM
$0800 $800 Mirror of $000-$7FF
$1000 $800 Mirror of $000-$7FF
$1800 $800 Mirror of $000-$7FF
$2000 8 NES PPU registers
$2008 $1FF8 Mirrors of $2000-2007 (repeats every 8 bytes)
$4000 $20 Registers (Mostly APU)
$4020 $1FD Cartridge Expansion ROM
$6000 $200 SRAM
$8000 $4000 PRG-ROM
$C000 $400 PRG-ROM

Famicom Disk System

SNES

https://en.wikibooks.org/wiki/Super_NES_Programming/SNES_memory_map

N64

https://en.wikibooks.org/wiki/N64_Programming/Memory_mapping

GB

http://gameboy.mongenel.com/dmg/asmmemmap.html

GBC

GBA

https://www.coranac.com/tonc/text/hardware.htm#sec-memory

VirtualBoy

Master System

Source: http://www.codeslinger.co.uk/pages/projects/mastersystem/memory.html

TODO: find a more reliable source.

Offset Length Description
0x0C000 0x02000 RAM

MegaDrive (Genesis)

https://en.wikibooks.org/wiki/Genesis_Programming https://wiki.megadrive.org/index.php?title=Main_68k_memory_map see also Jamiras comment here: https://github.com/RetroAchievements/RALibretro/issues/47#issuecomment-455374796

GameGear

Atari 2600

http://www.randomterrain.com/atari-2600-memories-tutorial-andrew-davie-05.html#summary

Offset Length Description
0x00080 0x00080 RAM

Atari 7800

Atari Lynx

ColecoVision

NeoGeo Pocket

PCEngine (TurboGrafx16)

PCEngine CD

Arcade

PC-8001 / PC-8801

The memory map is based on the PC-8801 layout1, but excludes graphics VRAM and extended RAM.

PC-8801

Bank Offset Length Description
0 0x00000 0x10000 Main RAM
1 0x10000 0x1000 Text VRAM

Text VRAM is also known as high-speed RAM, and is used as a main RAM area in some titles.

PC-8001

The entire memory space2 is mapped in the PC-8801 main RAM bank, but only RAM is exposed, so most of the mapped space will remain uninitialized.

Offset Length Description
0x08000 0x08000 RAM

Guidelines

General

Achievement Development

WIP


Portugues

Geral

Desenvolvedores


Español

General

Desarrolladores

Clone this wiki locally