Por DaRKWiZaRDX
IMPORTANTE: Verás algunos términos aquí que no he explicado en la guía, ya que son cosas internas de la consola y no eran necesarias para aprender el lenguaje, cosas tales como sprites, fondo, pAPU, etc. Si necesitas información sobre estos temas te recomiendo buscar documentos en Romhacking.net o en Google.
Memoria del procesador: (64 kB)
RANGO DE MEMORIA |
TAMAÑO |
DESCRIPCIÓN |
$0000 - $07FF | $800 | Espacio de RAM... ¡Aprovéchala bien que es poca! xD |
$0800 - $1FFF | $1800 | Mirroring de la RAM... Un total desperdicio de espacio. |
$2000 - $2007 | 7 | Registros de PPU. |
$2008 - $3FFF | $1FF7 | Mirroring de los registros del PPU... más desperdicio de espacio todavía. |
$4000 - $4015 | $15 | Registros de pAPU (chip de sonido). CON EXCEPCIÓN DE $4014, QUE ES EL REGISTRO DE SPRITE-DMA. |
$4016 - $4017 | 2 | Registros de lectura de joypads. |
$5000 - $5FFF | $1000 | Espacio de expansión de memoria para el chip MMC5 de Nintendo. |
$6000 - $7FFF | $2000 | Save-RAM para juegos que lo usen, además de ser una extensa zona de RAM para el juego. |
$8000 - $FFFA | $7FFA | PRG-ROM. Acá va cargado el código que compone el juego. |
$FFFA - $FFFF | 6 | Vectores de interrupción, indican a la NES cómo reaccionar ante ciertas situaciones (VBLank, Reset y IRQ/BRK respectivamente). Cada vector es un valor de 16bits. |
Memoria de PPU: (16 kB)
RANGO DE MEMORIA |
TAMAÑO |
DESCRIPCIÓN |
$0000 - $0FFF | $1000 | Pattern table nº 0 |
$1000 - $1FFF | $1000 | Pattern table nº 1 |
$2000 - $23BF | $03BF | Name table nº 0 |
$23C0 - $23FF | $003F | Attribute table nº 0 |
$2400 - $27BF | $03BF | Name table nº 1 (Mirror) * |
$27C0 - $27FF | $003F | Attribute table nº 1 (Mirror) * |
$2800 - $2BBF | $03BF | Name table nº 2 (Mirror) * |
$2BC0 - $2BFF | $003F | Attribute table nº 2 (Mirror) * |
$2C00 - $2FBF | $03BF | Name table nº 3 (Mirror) * |
$2FC0 - $2FFF | $003F | Attribute table nº 3 (Mirror) * |
$3000 - $3EFF | $0F00 | Mirror de $2000 - $2EFF |
$3F00 - $3F0F | 16 | Paletas de background (fondo) |
$3F10 - $3F1F | 16 | Paletas de sprites |
$3F20 - $3FFF | $00DF | Mirror de las paletas |
(*) El mirroring depende de lo que se haya definido en el
header.
- Si el mirroring es vertical tendremos las tablas 0 y 2, y las tablas 1 y 3
respectivamente serán sus mirrors.
- Si el mirroring es horizontal tendremos las tablas 0 y 1, y las tablas 2 y 3
respectivamente serán sus mirrors.
- Si usamos una sola pantalla tenemos la 0, y las otras tres son mirrors de
ésta.
- Si optamos por el modo de cuatro ventanas en el header tendremos cuatro Name
Tables independientes.