CURSO de ASM 6502 [NES]

INTRODUCCIÓN

Por DaRKWiZaRDX

¡Bienvenid@ a mi curso de ASM de 6502! Aquí explicaré cómo manipular el procesador Motorola 6502 (más bien el 65c02), utilizado en la célebre consola de videojuegos "Nintendo Entertainment System" (NES). Si eres romhacker (lo más probable) esto te servirá para poder modificar más a fondo un juego que con los métodos tradicionales (editor gráfico, de texto, etc.) . Durante este curso intentaré ir algo acelerado pero intentando dejar las bases bien puestas en cada sección, si aun así no entiendes algo puedes enviarme un mail, buscar en otro documento o preguntar en foros, que para eso están. También intentaré que la guía sea lo más comprensible que pueda, usando ejemplos simples. Algo que debes tener en cuenta es que esto no es para principiantes (tampoco es una cosa avanzadísima, pero alguien que recién comienza con el romhacking puede perderse fácilmente), así que si crees que tienes suficiente experiencia con el romhacking y quieres avanzar, sigue leyendo, de lo contrario, adquiere experiencia, sube nivel, evoluciona y .... er, digo... empieza por algo más básico.

INTRODUCCIÓN A LA NES

Características básicas de la NES:

(Sólo las que nos interesan xD)

* Velocidad de reloj de procesador: 1.7897725 MHz (NTSC) o 1.773447 MHz (PAL)
* Direccionamiento de 16bits.
* $800 bytes de RAM, sí, es bastante poco, pero la mayoría de las veces puedes usar también 2 kB más (en $6000).
* Tres registros de 8bits a disposición del programador.
* "Picture processing unit" (Unidad procesadora de gráficos) con 4 kB de memoria de video separada de la RAM del procesador.
* Lectura Big-Endian: Esto significa que al leer números de 16bits se lee primero el byte más bajo y luego el alto.

Por supuesto tiene muchas características más, algunas las explicaré (en cuanto sea necesario para el curso), mientras que las más avanzadas tendrías que buscarlas en internet (aunque a menos que planees escribir un emulador o algo así, no creo que las necesites).

INDICE

Numeración binaria
Registros
Instrucciones básicas
La pila
Modos de direccionamiento
Saltos y branchs
Fin

Apéndices

I - Encontrar una rutina de texto con FCEUXD
II - Mapa de memoria