Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Qué herramientas se utilizaron para fabricar el Fc "Contra" y "Mary" en aquel entonces? Cómo descompilar.

¿Qué herramientas se utilizaron para fabricar el Fc "Contra" y "Mary" en aquel entonces? Cómo descompilar.

Assembly y C son aceptables. Aquí hay un programador/fc_info_33534.html

Secretos de programación de juegos de Ren Yaotang (versión de texto)

Capítulo 1 Descripción general de Nintendo. Estructura del juego

Durante mucho tiempo, debido al bloqueo técnico de Nintendo y la escasez a largo plazo de herramientas de desarrollo de juegos nacionales, los juegos de Nintendo

han estado envueltos en un velo de misterio chino. la gente sólo puede jugar juegos de Nintendo. No pueden entender los programas de juego ni escribir juegos por sí mismos como las computadoras Apple y las máquinas de aprendizaje chinas. En los últimos años, con la llegada de los teclados para la serie de consolas de juegos Ren Yaotang, se han creado gradualmente las condiciones

para levantar el velo, especialmente los teclados de alta gama equipados con interfaces de impresora como "Yuxing" y. "Pirámide" Con la introducción sucesiva de los teclados de las consolas de juegos, los usuarios pueden imprimir el programa fuente del software del sistema simplemente escribiendo un programa de desmontaje simple, proporcionando así una manera de explorar los misterios del software de juegos de Nintendo.

Algunas personas cuestionan que el procesador central de la consola de juegos Ren Yaotang sea una CPU de ocho bits como la máquina de aprendizaje china, pero ¿por qué

puede producir animaciones tan coloridas y sonidos tan hermosos? ? El sonido y los personajes reales son mucho mejores que los del "Atari" estadounidense. ¿Qué pasa con los juegos que son más fuertes que la máquina de aprendizaje china? La clave de la razón está en el diseño de la consola de juegos de Nintendo. p>han sido creativos e innovadores en las computadoras tradicionales de ocho bits, han realizado transformaciones originales en el hardware y han realizado intentos audaces en el software, permitiendo que una CPU desempeñe ambas funciones. Como resultado, la eficiencia de una CPU produjo efectos artísticos maravillosos y extraordinarios. , rápidamente ocupó el mercado de las consolas de juegos con su ventaja absoluta de alta calidad y bajo precio, desencadenando la tercera ola en el campo del entretenimiento doméstico. Este artículo pretende comenzar analizando las características de software y hardware de los juegos de Nintendo y revelar los secretos de la programación de juegos de Nintendo para discutirlos con la mayoría de los fanáticos.

1·1 Características del hardware de la consola de juegos Nintendo

1·1·1 Diagrama de bloques del principio del circuito

El hardware de la consola de juegos Nintendo se divide en dos partes : La parte principal es la consola de juegos. La parte subordinada es la tarjeta de juego. La consola de juegos proporciona el entorno de ejecución del juego y la tarjeta de juego proporciona el software para admitir el juego. El diagrama del circuito se muestra en la Figura 1-1.

En la imagen de arriba, la CPU 6527 es la unidad central de procesamiento. Dado que su tarea es procesar programas, los componentes conectados a ella generalmente tienen el prefijo "P". Por lo tanto, la CPU está representada por el bus de direcciones. mediante PADD, el bus de datos está representado por PDATA y la memoria administrada por la CPU está representada por PRAM, PROM, etc. De manera similar, la tarea de la PPU 6528 es procesar imágenes, por lo que todos los componentes relacionados con ella tienen el prefijo "V".

1·1·2 Unidad Central de Procesamiento 6527 CPU

1. Estructura interna de la CPU

La CPU 6527 es un microcontrolador de ocho bits además del. CPU de la serie 6502, también hay un generador de sonido programable PSG (generador de sonido programable) y 24 registros de solo escritura de ocho bits, cuyo espacio de direcciones está asignado entre $ 4000 y $ 4017. Se utiliza principalmente para operaciones de E/S de la CPU. El funcionamiento del generador de sonido PSG está controlado por estos registros.

1·1·4 Carta de juego

1. Composición básica de las cartas de juego

Ordinario. Las tarjetas de juego de un solo programa generalmente constan de dos piezas de ROM o EPROM. La capacidad de la ROM está determinada por la cantidad de programas de juego.

El tamaño está determinado por el juego de Nintendo más simple, por lo que esta tarjeta. tiene una ROM de 16K para almacenar el programa y una ROM de 8K para almacenar las fuentes gráficas (actualmente existen circuitos integrados de paquete blando que combinan la ROM de dos bloques sellados). El tamaño típico de un programa de juego de Nintendo es 40K. Utiliza una ROM de 32K para almacenar el programa y una ROM de 8K para almacenar las fuentes.

Cuando el volumen del programa es grande

más de 40K, es necesario ampliar la capacidad de la ROM.

2. Funciones de cada pin de la tarjeta de juego

El La tarjeta de juego es un conector de 60 pines, las funciones de cada pin se muestran en las Figuras 1 a 4.

3. Introducción a las funciones de pines de ROM más utilizadas

Los modelos de ROM o EPROM más utilizados en tarjetas de juego son 27C64 (8 p>

X 32K), 27C512 (8 Mbit ( 8 x 256K) a chips de 8 Mbit (8X 1000K). Entre ellos, 27C64~27C512 son chips de 28 pines, y 27C1000 o chips de mayor capacidad son de 32 pines (el 27C1000 individual sigue siendo de 28 pines, que usa OE.

CE Se usa uno de los pines como la línea de dirección).

1·2 Características del software de juegos Renyaotang

Hay cientos de software de juegos Renyaotang populares, y el contenido ha sido cubierto Política, economía, ejército, guerra , educación, gestión

Gestión, deportes, entretenimiento y otros campos. Se puede decir que los juegos de Nintendo han tenido en cuenta todos los grupos de edad de hombres, mujeres, mayores, de mediana edad, jóvenes, jóvenes y jóvenes.

Capa, profundamente amada por personas de todo el mundo. Quizás esta sea la razón principal de su rápida popularidad. Sin embargo, aunque los juegos de Nintendo tienen contenidos en constante cambio y tramas diferentes, sus estructuras de software y métodos de procesamiento son básicamente los mismos y tienen características completamente diferentes.

1·2·1 La estructura del software de los juegos de Nintendo

En resumen, la estructura del software de los juegos de Nintendo se puede dividir en dos categorías: estructura básica y estructura extendida.

1. Estructura básica

El software básico del juego Ren Yaotang está dividido en 40K bytes (las tarjetas estándar están marcadas como LB). Los juegos típicos incluyen "1942", "Super Mario", "House Demolisher", etc. 32k es el programa de control del juego para la ejecución de la CPU; 8K es la fuente gráfica, procesada por la PPU

Administración. También hay una estructura de baja configuración con una capacidad de software de 24K (etiquetada LA), que es uno de los primeros software. Entre ellos, el programa de control es de 16K; la fuente es de 8K. Los juegos típicos incluyen "Rocket Car", "Circus", "Golden Nuggets I y II", etc.

La dirección de almacenamiento del programa de control del software 40K está en el espacio $8000-$FFFF administrado por la CPU; la dirección de fuente está en el espacio $0000-$1FFF administrado por la PPU

>. La dirección de almacenamiento del programa de control del software de 16K es $C000-$FFFF; la dirección de fuente también es $0000-$1FFF.

2. Estructura extendida

El software con una capacidad de más de 40K es una estructura extendida. Según la estructura básica, amplían el área del programa de control

o amplían el área de fuentes. El método de extensión consiste en cambiar los bancos de almacenamiento de espacio en un determinado rango de direcciones. Generalmente, el área del programa se cambia en el espacio $8000-$BFFF; el área de fuente se cambia en el espacio $0000-$1FFF. El tipo de conmutación es ligeramente diferente según el tamaño de la capacidad del software:

Para la tarjeta de 48K (marcada como LC), la parte del programa es de 32K; la parte del módulo es de 16K, dividida en dos almacenamientos de 8K.

Los juegos típicos incluyen "The Goonies", "Legend of Shadows", etc.

Las tarjetas de juego con una capacidad de 24k-48K generalmente se denominan tarjetas de gama baja o de gama baja. juegos /p>

Hay dos estructuras para la tarjeta de 64K (etiquetada como LD): una es que la parte del programa es de 32K; la parte de fuente es 32x, que se divide

en cuatro memorias de 8K. juegos típicos Hay "Labyrinth Suite", "Smart City", "Saloman Snake Generation", "Fist of the North Star Generation", etc., el segundo tipo es que el programa y el tamaño de fuente usan 64k, divididos en cuatro; Un volumen de almacenamiento típico son los juegos "Mickey Mouse Adventure", "Adventure Island", "Tetris 1, 2", etc.

No hay muchos juegos de 80K (marcados como LE). Los más comunes incluyen "Chinese Boxing", "Gold Medal Mary", etc. La parte del programa es de 48K.

Los primeros 32K están divididos en dos bancos de memoria de 16k; la parte de fuente es de 32k, dividida en cuatro bancos de memoria de 8k.

Los juegos con 64k y 80k suelen denominarse tarjetas de gama media.

Para la tarjeta de 128K (marcada como LF), la parte del programa y la parte de la fuente se combinan para usar 128k y se dividen en ocho almacenamientos de 16K

Los primeros siete almacenamientos La dirección del cuerpo es asignado entre $8000-$BFFF: el último banco de memoria (llamado HOME BANK)

está asignado entre $0000-$FFFF Los juegos típicos incluyen "Magic Village", "Wrath" y "Fire Bird Fang". , "Soldado del futuro", "Rockman",

"1943", "1944", "Fuerzas especiales integradas", "Motocicleta Crash Thunder", etc.

Este tipo de tarjeta de juego generalmente está equipada con una RAM (memoria dinámica de acceso aleatorio) de 8K para almacenar la fuente utilizada actualmente.

Para la tarjeta de 160k (etiquetada LG), el programa la parte es 128K; la parte de fuente es 32K. Los juegos típicos incluyen "Yitian Tu

Dragon Chronicles", "Three-dimensional Racing", "Happy Ding Dong", etc.

Para. Tarjetas de 256K (marcadas como LH), la parte del programa es de 128K; la parte de fuente es de 128K. Los juegos típicos incluyen "Korra", "Castlevania", "Double Dragon", "Squirrel Adventures" y "Weapons of the World". "Operación Conjunta), etc. Además, juegos de 256.000 como "Soul", "Red Fortress", "Green Corps", "3D Basketball" y "Red Dead Redemption" se han comprimido en 128.000 juegos.

Juegos, versiones de 256.000 de este Este tipo de juegos ahora son raros y los más comunes son las versiones comprimidas de 128 K;

Los juegos con una capacidad de 128 K a 256 K generalmente se denominan tarjetas de alta gama o tarjetas potentes.

Para los juegos con una capacidad superior a 256K, se denominan tarjetas especiales, como "Fudo Meiouden", "Tomahawk", "Peacock King", "Big Whirlwind"

El La capacidad del juego ha alcanzado los 2M-4M. Sin embargo, debido a las limitaciones de la velocidad de procesamiento de la CPU, la resolución de imagen y el rango de sonido de las consolas de juegos de la serie Nintendo, incluso si se aumenta la capacidad del software, el efecto del juego no mejorará mucho. Ha alcanzado el nivel de las máquinas arcade. , por lo que todavía es raro que un solo juego tenga una capacidad superior a 256K.

1·3 Métodos de procesamiento de imágenes para juegos de Nintendo

Esta sección presenta brevemente los métodos de procesamiento de imágenes para juegos de Nintendo.

Principio de visualización de pantalla 1·3·1

Aunque la CPU de la consola de juegos Nintendo sigue siendo una CPU de la serie 65, su método de visualización es completamente diferente al de la máquina de aprendizaje china.

Diferente. Su pantalla de visualización se compone de tres categorías y cuatro capas de páginas de visualización. Los tres tipos de páginas de visualización son: página de dibujos animados (personaje o animación), página de fondo y página de fondo inferior. La página de dibujos animados se utiliza para mostrar los personajes del juego. Tiene dos páginas: página cero de dibujos animados: el personaje se muestra antes del fondo; página de dibujos animados, el personaje se muestra detrás del fondo. La resolución de visualización del dibujante es de 256x240 puntos y la caricatura se puede mover en unidades de puntos. La página de fondo se utiliza principalmente para mostrar la pantalla del juego. Tiene cuatro páginas de visualización. Los dos lados de cada página están conectados entre sí y dispuestos para formar la palabra "田". 32 columnas * 30 filas, y cada imagen se compone de bloques gráficos de $60. Puedes elegir cualquier página para mostrar en el juego. La página de fondo inferior se utiliza principalmente para visualización monocromática de área grande para resaltar los efectos del cielo azul, praderas, desierto, mar, etc. La resolución de pantalla es 1x1. La disposición de las páginas de visualización de cuatro capas de adelante hacia atrás es: página de paso cero de tarjeta, página de fondo, página de dibujos animados y página de fondo inferior (consulte la Figura 1-6). La disposición predeterminada del sistema es que la página de fondo 00 se superpone con la página de dibujos animados

Jia y la página de fondo inferior el contenido de la página de visualización frontal puede cubrir el contenido de la página de visualización trasera, por lo que. es fácil de construir

En una secuencia de imagen tridimensional con una cierta profundidad de campo.

1·3·2 Tecnología de procesamiento de fondo

La visualización de la pantalla de fondo en los juegos de Nintendo adopta el modo de personaje, y cada personaje generalmente se denomina bloque gráfico de fondo. Cada bloque gráfico es una matriz de puntos de 8 * 8 y sus datos de fuente se almacenan en una sección de memoria administrada por la PPU, llamada biblioteca de fuentes de fondo, que generalmente usa direcciones de $ 1000 a $ 1FFF, *** 4K bytes cada fuente. se compone de 16 unidades consecutivas, por lo que se pueden definir hasta 256 caracteres a la vez y los números de secuencia son del 0 al 255. Al mostrar caracteres, simplemente ingrese los caracteres. Simplemente ingrese el número de serie en la unidad de visualización correspondiente en la pantalla. /p>

.

El procesamiento en segundo plano en el juego Ren Guantang lo completa la PPU de forma independiente. Cada página de fondo corresponde a 1024 unidades de la PPU, que es una correspondencia secuencial. La dirección PPU correspondiente de la página de fondo 00 es $2000--$23FF, de los cuales $2000 a $23BF

corresponden a 960 unidades de visualización gráfica, $23C0--23FF es la unidad de coincidencia de color de la página de visualización. ; la página de fondo 10 corresponde a La

dirección PPU es $2400-$27FF de manera similar, las dos páginas siguientes corresponden a $2800---$2BFF, $2C00

$2FFF. Dado que solo hay una VRAM de 2K (RAM utilizada por la PPU) en la consola de juegos, generalmente solo se usan las dos primeras páginas, que generalmente se denominan página de fondo cero y página de fondo. En el juego, puedes controlar las direcciones horizontal y vertical de la pantalla configurando interruptores suaves, de modo que los dos paneles puedan yuxtaponerse horizontalmente o conectarse verticalmente.

En los juegos reales, a menudo se utiliza el desplazamiento horizontal y el desplazamiento vertical de la pantalla de fondo. Por ejemplo, (por el contrario, en el juego, los niveles primero, quinto, sexto, séptimo y octavo se desplazan horizontalmente, mientras que el tercer nivel se desplaza verticalmente. ¿Cómo se logran estos efectos de desplazamiento de la pantalla?

Sabemos que el desplazamiento de la pantalla en la máquina de aprendizaje china se logra reescribiendo repetidamente el contenido de la unidad de mapeo de visualización. Este método tiene una velocidad de procesamiento lenta y procedimientos de control prolongados. Introduce el concepto de ventana de visualización mediante un procesamiento especial. hardware Cuando se mueve la pantalla, el contenido de cada unidad de visualización permanece sin cambios y la ventana de visualización se mueve en la dirección opuesta

Muévete en la dirección direccional, logrando así el desplazamiento horizontal y vertical. Por ejemplo, el método de control de desplazamiento horizontal en el primer nivel de "Contra" es. Las dos páginas de fondo están conectadas horizontalmente. Cuando comienza el juego, la página de fondo cero se llena con 32 columnas, mientras que la página de fondo solo se dibuja. 12 columnas. La ventana de visualización está alineada con la página cero. Cuando el personaje del juego avanza a la pantalla. Cuando la ventana de visualización está en una determinada posición a la derecha, la ventana de visualización se moverá un bloque hacia la derecha y el 13. La columna de la página se dibujará al mismo tiempo; de esta manera, cada vez que la ventana de visualización se mueva un bloque hacia la derecha, se dibujará una columna en la pantalla, haciendo así que la pantalla del juego sea continua. >Continuamente, cada vez que se mueve una página de la pantalla (32 columnas), el contador de páginas se incrementará en uno. Cuando el número acumulado de páginas alcance un cierto número, la ventana ya no se moverá.

y continúe. El control de desplazamiento de esta pantalla es extremadamente simple y se puede lograr simplemente insertando los datos de desplazamiento en el interruptor suave de desplazamiento $2005. El programa de control de F BASIC es:

. POKE &H2005, x:POKE &H2005, 0

x es el parámetro de desplazamiento El programa de control en lenguaje máquina es:

LDA x

STA $ 2005<. /p>

LDA #$00

STA $ 2005

El desplazamiento vertical de la pantalla es más simple, como el tercer nivel de "Contra" - la barrera natural de la cascada es En una pantalla vertical, el personaje tiene que saltar de abajo hacia arriba para batirse en duelo con el diablo al final del nivel. Durante el juego, la pantalla sigue desplazándose hacia arriba a medida que el personaje salta.

Actual -

Este proceso de desplazamiento se realiza en una página. El método de control es que cada vez que el personaje avanza a una determinada posición en la parte superior de la pantalla,

reescribe la parte inferior. posición de la pantalla de datos gráficos, convirtiéndola en una línea que se moverá a la pantalla. Luego, mueva la ventana de visualización un cuadro hacia arriba. Dado que la ventana se mueve en una página de visualización, la línea inferior es la línea superior. En este momento, una página puede entenderse como un cilindro conectado en la parte superior e inferior. La ventana de visualización es un cilindro un poco más grande que se coloca fuera del cilindro de la imagen. Mover la ventana un espacio significa girarla hacia arriba. >

Cuadrícula). El programa de control F BASIC es,

POKE &H2005, 0:POKE &H2005, Y

Y es el parámetro de desplazamiento. El programa en lenguaje de máquina correspondiente es,

LDA #$00

STA $2005

LDA Y

STA $2005

Todas las operaciones de entrega y desplazamiento de imágenes anteriores se completan durante la respuesta de la CPU a las interrupciones no enmascarables (las interrupciones no enmascarables se emiten y responden durante el seguimiento de campo del televisor. En este momento, la pantalla del televisor está en negro), entonces sentimos las huellas del desplazamiento del sermón.

Acerca del dibujo y movimiento de la pantalla de fondo en los juegos de Nintendo y la realización de efectos como división, desplazamiento y distorsión de la pantalla, se discutirá en detalle en el Capítulo 6.

1·3·3 Tecnología de procesamiento de animación

La unidad más pequeña que compone la animación en los juegos de Nintendo es un bloque de dibujos animados. Cada bloque de dibujos animados es una matriz de puntos de 8X8. igual que un personaje

Mismo tamaño. El bloque de dibujos animados también tiene una biblioteca de fuentes gráficas y la dirección PPU correspondiente es $0000-$OFFF. Los datos del módulo de palabras de cada bloque de dibujos animados también constan de 16 unidades consecutivas, por lo que se pueden definir hasta 256 bloques de dibujos animados a la vez y los números de secuencia son 0-255.

Regulaciones de CPU 6527. Solo 64 puntos de 8x8 Los bloques de dibujos animados de matriz pueden mostrarse en una pantalla al mismo tiempo [esto está determinado por la asignación de RAM del área de definición de dibujos animados en la PPU

]. Por ejemplo, en "Super Mario", Mary]. Antes de comer hongos rojos, el tamaño de la matriz era de 16x16 (es decir, compuesta por 4 bloques de dibujos animados). Después de comer hongos rojos, el cuerpo duplicó su tamaño y se volvió de 32X 32 puntos (es decir, compuesto de

). Una caricatura compuesta por 16 bloques de dibujos animados, pero la cantidad de bloques de dibujos animados que se deben mostrar en los juegos reales a menudo excede con creces este límite, como el popular juego de lucha "Street Fighter". En, una caricatura es una matriz de puntos de 128 * 64. (compuesto por 128 bloques de dibujos animados) y, a veces, incluso más grandes.

¿Cómo se logra esto?

Resulta que en los juegos reales, el control de tiempo compartido se realiza en los dibujos animados. El llamado control de tiempo compartido consiste en mostrar diferentes partes de la semi-telecomunicaciones en diferentes momentos, confiando en la inercia visual del ojo humano para producir una sensación continua, como "Contra" La visualización de dibujos animados en el juego (los dos positivos). personajes, enemigos, balas disparadas y el cierre y apertura del búnker son todos dibujos animados) es la mitad de los dibujos animados que se muestran para cada interrupción.

La operación de definición de dibujos animados es extremadamente simple El sistema estipula que un bloque de dibujos animados está definido por cuatro unidades de memoria consecutivas. La primera unidad de pulgada especifica la coordenada Y de la visualización del dibujo animado. la biblioteca de fuentes, el tercero es el estado de visualización del bloque de dibujos animados (combinación de colores, volteado hacia la izquierda y hacia la derecha, al revés y en qué página de dibujos animados se muestra), y el cuarto es el estado de visualización La coordenada X Puede ser arbitraria. especifique la página de memoria para definir los dibujos animados durante la programación (generalmente elija dos páginas o tres páginas, es decir, $ 200 a $ 2FF, $ 300

$3FF /p>

La definición de dibujos animados y). El control de movimiento en los juegos de Nintendo se analizará en el Capítulo 7.

1·4 Procesamiento de sonido de los juegos de Nintendo

Al principio y al final de la mayoría de los juegos de Nintendo, siempre se acompaña una música de fondo armoniosa y hermosa que sigue el progreso del juego

Los movimientos de los personajes también emiten efectos sonoros realistas de vez en cuando, y los sonidos se emiten en conjunto con el movimiento del fondo y los movimientos de los personajes

Los tres trabajan en paralelo sin interferir entre sí. Muchos amigos han jugado juegos de mesa chinos, como "Catch a Thief" y "Fuji Battle", etc., la emisión de sonido en estos juegos no se puede realizar a la vez. al mismo tiempo que los movimientos del personaje, es decir, no hay sonido cuando el personaje se mueve;

El movimiento del personaje debe detenerse al reproducir el sonido. El procesamiento de sonido en los juegos de Nintendo es realmente único. Dado que hay un generador de sonido programable integrado en la CPU 6527

, el programa de control de sonido es especial: el sistema de producción de sonido de los juegos de Nintendo consta de cinco partes

correspondientes a. $40DO-$4013 veinte unidades administradas por la CPU. Cada parte utiliza cuatro unidades y sus funciones

p>

Utilice el siguiente orden: volumen del timbre, envolvente de la forma del tono, ajuste fino del tono y tono. ajuste grueso. La primera, segunda y tercera partes pueden reproducir melodías armoniosas.

También puedes seleccionar cualquier parte para producir efectos de sonido, como ejecutar el programa F BASIC.

POKE &H4015, 1 :POKE &H4000 255, 255, 255, 255

puede emitir un sonido de alarma con una frecuencia que varía de baja a alta durante hasta tres minutos. La cuarta parte puede imitar ruidos continuos, como viento, lluvia, campanas, pasos, trenes, etc. La quinta parte puede imitar el habla humana. En los juegos de Nintendo

la música de fondo generalmente se reproduce usando las primeras tres partes, y el programa de interpretación también se procesa en la interrupción. La producción de sonido de las cinco partes

es la principal. switch Controlado por $4015, los bits D0-D4 de $4015 controlan el estado de funcionamiento de la primera a la quinta parte, configurados en 0 para apagar y configurados en 1 para encender.