NES

Imagen de Diskover

Lanzada demo homebrew de Former Dawn [demo 2.7] (11012024)

Desde hace días, ya se puede participar en la campaña Kickstarter de Former Dawn, el nuevo videojuego para NES desarrollado por los chicos de Something Nerdy Studio, que promete espectacularidad y diversión a partes iguales.

Gracias al nuevo mapper MXM-1, el cual lleva más de cinco años en desarrollo, podremos tener por fin un videojuego que saque el máximo rendimiento a nuestra web.

Para ir abriendo boca, aquí tenemos una pequeña demostración de la demo privada que se ha distribuido entre streamers y otros creadores de contendo.

¡Espectacular es poco!

Enlace directo a la campaña: https://www.kickstarter.com/projects/something-nerdy/former-dawn

Imagen de Diskover

Muere Masayuki Uemura, el diseñador de NES y Super Nintendo.

Hoy es un día triste para todos los que sentimos un poco nuestra la consola NES. Su diseñador, Masayuki Uemura, ha fallecido a la edad de los 78 años.

Diseñador de la Famicom y más tarde su versión occidental, NES, fue uno de los genios pertenecientes al equipo de Gunpei Yokoi desde 1972, trabajando en el Departamento de Investigación y Desarrollo de Nintendo desde entonces.

Uemura recibió el encargo del presidente de Nintendo por aquel entonces, Yamauchi, para que crease una consola de 8 bits para la marca, dado el enorme exito que se estaba viendo venir con la salida de consolas en la competencia. Se paso cerca de seis meses investigando y por fin dio con la tecla de lo que sería la Famicom/NES para el año 1983.

Desbordado por el exito inesperado de esta consola, pronto tambien se le encargaría el diseño de su sucesora de 16 bits, la Super Nintendo (SNES) que aparecería en el mercado en 1990, recibiendo igualmente exito y elogios por igual.

Uemura abandonó Nintendo finalmente en 2004 y pasó a dedicarse a la enseñanza en la Universidad privada de Ritsumeikan (Japón), donde también hacía investigación sobre videojuegos.

Desde RetroNES solo nos queda decir: Descanse en paz y gracias por todo, maestro.

Etiquetas: 
Imagen de Diskover

El hardware de la NES. Capítulo IV: Superando las limitaciones de la PPU

cabecera-superando-limites

Como ya he comentado en el anterior artículo, la NES fue diseñada para exprimir hasta el límite cada una de sus capacidades. Dado que sus componentes eran básicos incluso para la época en la que se lanzó a la venta (1983), se preocuparon mucho de, al menos, conseguir un cohesión total entre la CPU, la memoria y la PPU a fin de que no hubiese muchos cuellos de botella o pasos intermedios que retrasasen las operaciones de proceso.

Con ello surgieron una serie de soluciones, algunas ya incluidas en el registro del hardware, que nos facilitaban mucho las cosas a la hora de desarrollar y que vamos a enseñar y demostrar como funcionaban.

 

SPRITE ZERO HIT

Probablemente nadie o muy poca gente ajena al mundo de la programación en NES alla oido hablar de este tal Sprite Zero Hit. Este sprite es un tanto especial: nos permite partir la pantalla en dos trozos independientes de tal forma que cada una de ellas pueda funcionar independientemente. A grosso modo es una interrupción de pantalla primitiva (procedimiento que nos permite mover a diferentes velocidades, o incluso parar, alguna de las partes de la pantalla). Fue concedido para realizar esta función desde los inicios del diseño de la NES.

El Sprite Hit Zero corresponde al último tile de la tabla de tiles designada para sprites. Obligatoriamente debe tener en algun lugar de sus 8x8 pixeles al menos un pixel de color (no es válido el transparente). Este pixel mínimo de color debe colocarse en el lugar de la pantalla donde queramos hacer la interrupción, pero debe tocar algún elemento del background que tambien tenga algún pixel mínimo de color (no transparente).

Es util a la hora de crear HUBs (marcadores de puntos, energía, vidas, etc...) o para crear efectos de rastreado que nos den sensación de movimientos de planos a diferentes velocidades, para que el videojuego gane profundidad visualmente.

Un ejemplo claro lo tenemos en Super Mario Bros. y su marcador. En este caso, el sprite zero hit corresponde al tile que dibuja el bajo de la moneda que representa cuantas llevamos cogiendo. Podían haber elegido otra cosa para hacer el Sprite Hit Zero, pero en este caso escogieron eso. Evidentemente, para averiguar donde está el Sprite Hit Zero se necesita usar un emulador que nos deje ver la tabla de memoria. De otra forma es imposible y solo podríamos averiguarlo mediante intuición y/o conclusiones.


Gracias a ese sprite zero hit, el marcador queda estático mientras el resto de la pantalla hace scroll.

En el videojuego homebrew The Banketh - The Video Game se decidio hacer un Sprite Hit Zero tan solo en las pantallas donde nuestro personaje debe desplazarse en motocicleta por Santander City. De esta forma, el Sprite Hit Zero se decidió que fuera un pixel superpuesto encima del agua. Así se consigue que del pixel para arriba se quede todo estático y el resto pueda moverse.

VBLANK Y BANKSWICHT

En la NES solo se puede cambiar tiles del banco CHR destinado al background cuando la PPU está apagada. No podemos cambiar un tile de un banco por otro tile del mismo banco, o por uno nuevo, a no ser que lo hagamos directamente sobre la RAM de la PPU o que apaguemos esta última durante unos mili segundos para conseguirlo.

La primera opción come muchos recursos a la NES y solo se puede hacer cuando las lineas de escaneado de la pantalla ya han terminado de mostrar todos los gráficos necesarios que componen la pantalla, y nos deja unos pocos ciclos de proceso aun para realizar operaciones sin apagar la pantalla (lo que se conoce como vBlank).

La segunda opción conlleva que la pantalla parpadee a negro durante un corto espacio de tiempo que se hace incomodo a la vista y que sirve para cambiar los tiles que queramos del CHR destinado al background (o el propio background); por lo cual estamos limitados.

El vBlank se suele usar comunmente para animar marcadores de puntos, vidas, etc... espacios del background que normalmente solo tienen que cambiar un tile (o varios, aunque pocos) para mostrar un resultado: el contador de puntos aumenta, la vida del player se rebaja, etc... Aunque se ha visto alguna vez usarse para actualizar tiles y poner otros nuevos en el CHR.

Con la salida de los mapeadores de memoria (mappers) y el poder ampliar el número de chips CHR, se incluyó la posibilidad de usar los selectores de bancos o bankswicht, que permitían elegir que banco CHR usar en todo momento y cuando quisieramos. Esta mejora, además nos permitía hacer cambios de tiles "al vuelo" aunque realmente lo que estábamos haciendo era cambiar hacia que dirección apuntaban.

Muchos juegos usaban esto para animar los escenarios. Por ejemplo, en los mapas de Super Mario Bros. 3:

Mario y el Hermano Martillo son sprites, pero los arbustos que se mueven simplemente son tiles del background animados mediante cambios en el bankswicht. Los primeros comen muchos recursos a la NES por que obligamos a la PPU a buscar en todo momento que tiles necesita coger buscándolos por el CHR que estamos usando en ese momento, gastando con ello varios ciclos. Los segundos en cambio simplemente requieren cambiar el numero de bankswicht y ya esta. El tile sigue siendo el mismo, pero ahora tiene un dibujo diferente sin penalizarnos gastando innecesariamente ciclos de memoria, consiguiendo con ello un funcionamiento del videojuego mucho más fluido.

Imaginaros que tenemos tres CHR y que el tile numero 10 contiene un dibujo diferente en cada CHR de esos tres. Si nos las ingeniamos para dibujar en ese mismo tile un arbusto con diferentes formas en cada CHR y luego vamos cambiando mediante bankswicht el CHR que usamos, conseguimos animación sin gastar tantos recursos.

El cambio constante de bancos CHR mediante bankswicht, nos regala unas bonitas animaciones en los escenarios sin gastar apenas recursos.

Con eso conseguimos animar el escenario. Hay otras formas que consisten en almacenarlo en la RAM de la NES pero inicialmente eso otro está pensado para pequeñas cosas como por ejemplo los marcadores de puntos o vidas; o por ejemplo para hacer scroll; que os explicare más adelante.

Otros juegos como Kirby's Adventure, a parte de su gran calidad técnica, explotaban el banckswicht del MMC3 para conseguir cosas muy meritorias.

Te creés de verdad que la torre está rotando, aunque los tiles están quietos. Lo único que se mueve es la cámara.

 

EFECTO DOBLE CAPA Y ACTUALIZACIÓN DE TILES AL VUELO EN LA CHR-RAM

A raíz de bankswicht y la actualización de la RAM de la PPU en el vBlank, se podían también conseguir otros efectos. No hay ni truco ni cartón. Es el mismo sistema pero bien pensado, de tal forma que se podían conseguir interesantes efectos que simulaban doble capa; cosa impensable en una NES, pero que daba un muy buen resultado.

Realmente son un puñado de videojuegos los que llegaron a explotar esta característica, pero sin ninguna duda demostraban hasta que punto se le podía sacar jugo a la PPU.


En 3 Eyes Story en algunas pantallas se hacía un buen uso del bankswicht hasta el punto de, no solo simular capas, si no hasta sombras.
Todo es un mero juego de cambio de bancos de gráficos, atributos de color, etc...

 

Bucky O'hare o Battletoads tambien hacían un buen uso de este efecto actualizando la RAM de la PPU al vuelo.
La imaginación al poder.


Este Sword Master posiblemente sea uno de los primeros juegos que hizo gala de este genial truco.

Metal Storm tampoco se andaba con chiquilladas

Y muchísimo más bruto podemos ver este truco en juegos como Crisis Force, con planos de dirección en vertical a diferente velocidad y actualizaciones constantes en la CHR-RAM.

Crisis Force: Muy veloz. Mejores efectos.

Posiblemente el juego que mejor aplicó este efecto hasta el extremo fue Day of Thunder, que si bien no era un gran videojuego, si nos mostró varias pericias técnicas.

En Days of Thunder toda la carretera se carga al vuelo en la CHR-RAM constantemente. Un trabajo de "chinos"

EFECTO RASTER

El efecto raster es un tipo de rutina gráfica muy sencilla por el cual se consigue mover patrones de la pantalla de izquierda a derecha suavemente. Se utilizaba normalmente para simular carreteras en videojuegos de conducción o incluso escenarios en shooter's.

F1 Race era un videojuego de 1984 que ya hacia muestras de las bondades de esta rutina gráfica

Tetra Star sacaba todabía más partido al efecto raster

 

VECTORES

Con la capacidad de actualizar la CHR-RAM se llegó a experimentar con la posibilidad de introducir gráficos vectorizados simples en algún juego. De esta forma, en 1991 se lanza en Europa el videojuego Elite, un complejo programa de exploración comercial inter planetaria que nos deslumbró con este tipo de gráficos.

Pese a lo meritorio de su trabajo, las caídas de framerate eran constantes, lo que hacían que el resultado final en cuanto a jugabilidad se fuera un poco al traste.

 

 

SPRITES SUPERPUESTOS

Otra de las limitaciones con las que los programadores se tenían que enfrentar normalmente en máquinas de 8 bits tan sencillas, era a la hora de representar sprites que requerian mayor detalle que lo normal. Con una PPU que solo permitia 3 colores por tile, la cosa se ponía complicada, y muchas veces se tenian que buscar la vida para solventar este problema.

Una de las soluciones más comunes que se encontró para salir al paso era la de superponer un sprite encima de otro que previamente se había preparado dejando un espacio vacio para colocar el que necesitasemos. Fue el caso del sprite de Mega Man, personaje del videojuego del mismo nombre cuyo sprite usaba tres colores compuestos por negro, azul y azul claro. La necesidad de representar la cara de Mega Man como alguien con aspecto humano les llevó a encontrar esta solución para que no se viese ajeno a la idea original del proyecto, dandole un aspecto más rico en detalles al poder añadir el negro, blanco y carne.

Este truco era más recurrente de lo que os podéis imaginar, y hay un buen número de videojuegos de NES que tiraron por este sistema para conseguir más detalles en los sprites, sobre todo si es el player. Su inconveniente está en que consumes espacio en la misma línea de sprites, y al tener un límite de 8, podía llegar a ser un problema; así que tiene que haber un buen diseño detrás para que al final no surgiese el incomodo problema de parpadeo de sprites que se suele ver en estas máquinas y que aparece cuando sobrepasamos este límite en línea de sprites.

 

ROTACIÓN DE PALETAS

También a la hora de ahorrar recursos, para mostrar ciertas animaciones se usaban trucos consistentes en rotación de paletas. Mediante esta técnica muchas veces se daba la sensación de movimiento, resplandor o brillo. Un ejemplo claro lo tenemos con las monedas de Super Mario Bros. que cambian de color en un mero movimiento de colores en la paleta. A penas consume unos ciclos de memoria, y no era ningun problema para la PPU hacer esto.

Y otro ejemplo muy claro lo tenemos en Mega Man II, que mediante rotación de paleta nos regala una perfecta animación de una cascada, aunque esta realmente es estática.

 

 

BACKGROUNDS SIMULANDO SPRITES

Como decíamos antes, solo podemos poner 64 sprites en pantalla y tan solo 8 en línea. Esto nos limita muchísimo las cosas si queremos plasmar, por ejemplo, figuras muy grandes ¿solución? Dibujar en el background esa figura tan grande que queremos, dado que en esa capa no hay restricciones tan severas.

De esta forma, podemos simular movimiento moviendo el scroll como por ejemplo se hizo en Wrath of the Black Manta:


Este jefe final del primer nivel nos ponia las cosas muy dificiles. Ocupaba casi toda la pantalla de alto.
La vida, los ladrillos y el player son sprites.

Combinando este efecto y sprites superpuesto, podíamos llegar a darle algo de animación al invento. En muchos juegos de Capcom se hizo a la hora de mostrar también jefes finales, y daba muy bien el pego.


En The Little Mermaid se combinaba el background con sprites estrategicamente colocados para hacer jefes finales tan grandees como esta.

Y si, era algo muy común de ver en casi toda la biblioteca del catálogo de NES.

Otro caso parecido al anterior lo vemos en Ninja Gaiden III

EFECTO TRANSPARENCIA

Dentro de los registros de la PPU de la NES, existe uno llamado PPU MASK que nos permite configurar ciertas opciones de color sobre la paleta total (enfasis) consiguiendo soluciones teñidas de azul, rojo o verde; útiles en muchos juegos que necesitan tener unos colores distintos a los acostumbrados por el motivo que sea.

Además, se puede configurar el ultimo bit de la PPU MASK a 1 para poder desbloquear una escala de grises que funciona conforme al número de ciclos de la CPU, y que se usaba muchas veces para tener una visualización de los procesos de la máquina, para saber si nos estabamos pasando de ciclos para evitar ralentizaciones.

Programando eficientemente, se podía llegar a tener cierto control sobre este bit, como demostró Konami en el videojuego Noah's Ark, que tiene fases en las cuales se puede ver como aparece un escenario hundido bajo el agua con una marea que sube y baja, suavemente; al pixel. Este efecto se conseguía precisamente activando este bit de la PPU MASK, dando un resultado asombroso, que casi parecía dar opciones de capas trasparentes a la NES, tal como se podía ver en máquinas mucho más superiores (como por ejemplo la SNES de 16 bits).


En el "Noah's Ark", simplemente están activando el bit de forma variable para simular el agua, pero eso NO va relacionado con el tiempo de proceso en este juego.

VAMOS RESUMIENDO

Como habreís observado, la NES es una máquina tremendamente limitada pero con ciertos detalles que hacian sacar partido a estos escollos para finalmente poder crear videojuegos sorprendentes y muy vistosos.

Hoy en día a muchos les resultará un tema muy trivial, algo que no escapa más allá de una curiosidad muy específica, pero cabe reconocer que es parte de la historia de los videojuegos que ayuda a comprender como fueron evolucionando estas maquinas con el paso de los años.

Actualmente, dentro del panorama homebrew muchos son los que poco a poco consiguen sacar partido a todas estas técnicas y trucos para hacer trabajos sorprendentes en la NES y, por que no decirlo, bonitos. Es el caso de Minnade Mamotte Knight, lanzado en 2017 en formato rom por un nutrido grupo de programadores ya expertos en juegos modernos que en su día empezaron programando en NES.

En el siguiente artículo sobre el hardware de la NES veremos otras características.

Imagen de Diskover

El hardware de la NES. Capítulo III: Haciendo scroll

cabecera scroll

Como hemos visto antes en el funcionamiento de la PPU de la NES, esta tiene ciertas limitaciones; pero aun así no se corta ni un pelo para conseguir hacer otras cosas interesantes como por ejemplo un scroll suave, que hoy en día nos parece obvio, pero que en su momento no lo era tanto para la mayoría de las maquinas.

En una época (años 80 del siglo XX) donde las limitaciones abrían el ingenio de los programadores, no era raro encontrar soluciones más o menos factibles para problemas cotidianos en el mundo de los videojuegos. De esta forma, cuando los videojuegos empezaron a ser cada vez más sofisticados, se hizo necesario el abrir nuevas caracterizaras o metas que ampliasen la jugabilidad. De esta forma, pasar de pantallas estáticas a pantallas en movimiento para generar escenarios era una evolución natural cuanto menos.

Quizá para el diseño de una máquina arcade, era factible tirar de cheques bancarios y fabricar tecnología puntera para el entrenamiento a sabiendas de que en los salones recreativos se iba a recuperar lo invertido con creces. No obstante, en el mundo doméstico la cosa no funcionaba así, y siendo maquinas pensadas para estar durante años en el hogar, los costes de fabricación se median con lupa, así como sus componentes. Una familia no se podía permitir gastar medio sueldo de un año en una maquina, pero si el de medio mes.

Muchas consolas y micrordenadores de la época de la NES decidieron invertir sus cometidos en otras características, como puede ser más velocidad de procesamiento, chips de sonido distintos y más costosos, etc... que conllevaba que hubiese recortes en otros aspectos como, por ejemplo, procesadores gráficos más limitados o con características distintas. De esta forma, mientras que la PPU de la NES peca de controlar pocos colores por sprite y background, no escatimó en otras medidas como pudiese ser el permitir hacer desplazamientos de pantalla (scroll) mediante hardware; una características más de la PPU que daba como resultado un proceso limpio y suave. Otras máquinas eligieron otro camino y se quedaron sin esta característica, lo que provocaba que nunca consiguieran un scroll afable, o que este tuviera que ser generado por rutinas de software, lo que penalizaba a la CPU.

Posiblemente la elección de la NES sea la mejor decisión que pudieron tomar los ingenieros a la hora de crearla sobre el papel, y de esta forma vamos a ver como funcionaba tal característica en su PPU.

 

MOVIENDO LA PANTALLA

Para poder hacer scroll en la NES, esta necesita un espacio en la memoria de vídeo para generar los backgrounds (fondos de pantalla) por donde vamos a movernos. De esta forma, la NES utiliza cuatro tablas de memoria reservadas para este aspecto, configurables, y a las que llama nametables. Cada una tiene un sobre nombre y son A, B, C, y D; y son de 256x240 pixeles cada una. En estas nametables mostramos nuestros backgrounds y atributos de color.

Nada más empezar a programar un juego de NES, se debe configurar las nametables mediante la pauta mirroring: horizontal, vertical o las cuatro a la vez.

- Configurándolas en horizontal, podemos hacer scroll de derecha a izquierda aprovechando dos nametables seguidas. Esto nos da un área de 512x240 pixeles. Si hacemos scroll arriba o abajo pasaríamos por la misma nametable una y otra vez.

- Configurándolas en vertical, podemos hacer scroll de arriba a abajo aprovechando dos nametables seguidas. Esto nos da un área de exploración de 256x480 pixeles. Si hacemos scroll a la derecha o a la izquierda pasaríamos por la misma nametable una y otra vez.

- Configurando las cuatro a la vez, podemos hacer scroll libre por las cuatro nametables. Esto nos da un área de exploración de 512x480 pixeles.

Podemos configurar solo una simple nametable dándonos igual como hayamos configurado previamente el mirroring dejando el scroll estático. No pasa nada. Los primeros juegos de NES eran así y no hacían uso de esta peculiaridad como puede ser Donkey Kong, Tennis, Mario Bros., Baseball, etc...

Por ejemplo, Donkey Kong Jr. tiene un mirroring vertical, pero deja la pantalla estática en el Nametable A. Podrían haberlo configurado como mirroring horizontal, pero estaríamos igual dado que la pantalla nunca se mueve del Nametable A. Internamente queda así con su mirroring vertical:

En el caso de Lode Runner, tiene un mirroring horizontal. Usa la Nametable A y la Nametable B para crear los niveles, y con ello realiza el scroll.

Gauntlet sin embargo, aprovecha las cuatro nametables para crear los niveles.

Otros juegos más modernos siguieron limitándose a este tipo de scroll simple horizontal con buenos resultados, como pudieron ser Maniac Mansion:

O por ejemplo el videojuego TMNT Fighter entre otros:

Y luego tenemos casos como Devil World, que estaba creado con mirroring horizontal para moverse con suavidad de derecha a izquierda... pero cuando se movía de arriba a abajo surgió la primera experimentación con el scroll más allá de sus límites. No consiguieron encontrar la manera de hacerlo suave debido a que tenían que mantener constantemente el sprite zero en el marcador superior, y solo consiguieron hacerlo "a trompicones", actualizando tiles a lo bestia (cada 8 pixeles). Fueron unos primeros pasos, que conste.


¡Un momento! Hogan´s Alley hace scroll horizontal más allá de los límites! ¡De hecho, el juego tipo B, consta de 3 nametables en horizontal! Si, pero mediante un truco. Ya os comenté en el artículo anterior, que si quieres cambiar alguna nametable, la PPU debe apagarse durante unos instantes, dejándonos un parpadeo negro como consecuencia ¿entonces?

Bueno, el scroll lo hace la maquina cuando superamos a los enemigos de X habitación, por tanto no lo controlamos nosotros a voluntad y eso es una ventaja para la máquina. La nametable se actualiza cuando disparamos la zapper en algún momento, aprovechando que la pantalla se vuelve negra.

Entonces... ¿Y si quiero hacer niveles más grandes que el limite establecido?

 

El SCROLL MÁS ALLÁ DE SUS LÍMITES

Bien, aquí vienen los problemas, y la solución se encontró durante el desarrollo de Excitebike sobre el año 1984, y luego fue ampliamente explotado con la salida de Super Mario Bros. en 1985.

La idea que se encontró fue la de actualizar bloques de tiles fuera del área de visión. Una genialidad que solventó un problema muy gordo. La NES podía seguir haciendo un scroll suave mientras los escenarios se iban actualizando poco a poco fuera "donde no lo viésemos".

Este truco servia tanto si querías hacer scroll horizontal, como scroll vertical.

Con el paso de los meses, la técnica se depuró aun más y ya se podía hacer scroll vertical u horizontal sin penalizar tanto a la RAM, pudiendo guardar en un buffer los sitios por donde pasabamos, pudiendo volver sobre nuestros pasos. Juegos como Megaman hicieron gala de ello.


Pero yéndonos más allá ¿estábamos limitados al scroll horizontal y vertical? ¿no podíamos usar ese truco de actualizar bloques de tiles en cualquier dirección? Claro que si, y Rare dio con ello.

Aunque en el mismo año en que salia al mercado Super Mario Bros., Hudson Soft mostró su videojuego Raid on Bungeling Bay con scroll multidireccional, este era muy primitivo y no permitía colisiones sobre el background.

Rare llamó mucho la atención en Nintendo desde sus inicios por ser unos jóvenes ingleses que, sin saber muy bien como ni por que, se empeñaron en hacer un juego para la NES llamado Slalom allá por 1986 mediante el efecto raster que ya se usaba en su día en muchos juegos de conducción.

El problema es que Rare no tenía el equipo de desarrollo para programar aplicaciones en NES y todo lo que hicieron fue gracias a la ingeniería inversa. De hecho, la NES todavía no había salido ni en Europa. Evidentemente, cuando estos chicos se presentaron en las oficinas de Nintendo son su prototipo, los japoneses se quedaron con la boca abierta.

Pero como iba diciendo, Rare dio con la solución al scroll multidireccional con colisiones en 1987 cuando mostró su Wizards & Warrior al mundo y meses después RC-Pro AM.

Nota: los errores gráficos de las nametables están causados por el emulador.

Podéis apreciar perfectamente que corresponde al background y que son los sprites.

Aprovechando las cuatro nametables, los tiles de alrededor del área de visión (nuestra cámara) se iban actualizando según nos moviésemos por el escenario. Chapó.

 

PROBLEMAS DIFICILES DE SOLVENTAR

¿Os habréis dado cuenta de que muchos juegos de NES tienen una especie de error gráfico cuando la pantalla se mueve, sobre todo si son videojuegos donde el desplazamiento es en diferentes direcciones?

Bueno, esos "gliches" aparecen cuando por la forma de cargar metatiles que tiene el programa en cuestión, se queda corta de RAM y no le da tiempo a cargar los nuevos metatiles que forman el background a tiempo fuera de la pantalla visible. Por eso podemos ver como cambian estos, viendo durante un corto espacio de tiempo los metatiles de la primera columna de la pantalla.

Programadores más audaces conseguían apurar el código para que este error no ocurriese, pero lo cierto es que en gran parte del catalogo de NES que salió a la venta, ocurría.

 

PARA IR FINALIZANDO

Como podéis ver, la NES era una máquina tremendamente limitada pero en la que se invirtió muchísimo tiempo para investigar y poder solventar problemas o escollos a fin de darnos unos resultados satisfactorios.

Espero que esta información os sea de alguna forma de utilidad. No os perdáis el próximo capitulo.

Imagen de Diskover

El hardware de la NES. Capítulo II: El funcionamiento de la PPU

bank sprites nes

Posiblemente una de las grandes incógnitas que guarda la NES dentro de sus tripas sea el cómo gestiona los recursos gráficos con los cuales fue diseñada, en un época donde la tecnología estaba viviendo el inicio de una nueva era de la información pero cuyos recursos eran todavía muy caros y se necesitaba de mucho ingenio para aprovechar al máximo de lo que se disponía a un coste razonable. Este es el caso de la PPU de la NES: básica pero enormemente funcional.

La PPU o Picture Processing Unit (Unidad de Procesamiento de Imagen) es un chip integrado que actúa como "tarjeta gráfica" en la NES y que tiene una capacidad de 2 kb de RAM. Ya he comentado en el anterior artículo sus bondades: Es capaz de paginar de golpe 512 tiles (8 kb en formato ROM o RAM). Estos están divididos en dos bancos de memoria: un banco de 256 tiles para los background (los fondos, escenarios, etc...) y otro para los sprites que formemos (figuras del juego). Cada tile puede ser de 8x8 o de 8x16 pixeles. Normalmente se usa la primera opción, y rara vez la segunda.

Cuando conectamos nuestros cartuchos en la NES, el chip CHR que se encarga de guardar nuestros gráficos, se conecta directamente con la PPU. Los 8 Kb que contiene el CHR se van paginando, según necesidades, sobre los 2 kb de la PPU para que esta pueda procesar lo que necesitemos en ese instante y de esta forma, mediante orden de la CPU, se muestran en pantalla.

 

TILES Y SPRITES

Un tile o varios tiles juntos forman los sprites, aunque algunas personas llaman directamente a los tiles como sprites y al conjunto de tiles como metasprites. Es lo mismo.

La PPU de la NES tiene la capacidad de poner 64 sprites en pantalla, pero no puede haber más de 8 tiles en la misma linea de muestreo de la pantalla, así que los sprites que formamos pueden ser compuestos como mínimo de 1 tile, pero no de más de 8 tiles de ancho. Si tal cosa ocurriese, los siguientes sprites no se verían y permanecerían invisibles.


Más de 8 tiles en linea da como resultado parpadeos o directamente tiles invisibles

Gracias a los sprites podemos ver al personaje que controlamos en el videojuego, los enemigos, objetos, etc... No es obligatorio que sea así, pero digamos que es lo más normal.

Por ejemplo, estos son todos los tiles y paletas de colores que necesita Super Marío Bros. para formar el componente gráfico del videojuego.

- El banco de la izquierda muestra los tiles necesarios para hacer los sprites de Mario, Luigi, enemigos, objetos, etc...

- El banco de la derecha muestra los tiles necesarios para hacer los background de los niveles.

- La primera fila de colores muestra 4 paletas de 1+3 colores para usar en los background y la segunda fila de colores muestra otras 4 paletas de 1+3 colores correspondientes para usar en los sprites.

Como podéis observar, el primer color de cada paleta es el color azul (en este caso). Ese primer color se comparte obligatoriamente en todas las demás, por eso hablamos de paletas de 1+3 colores a elegir. Ese color marca el color de fondo total que tendrá la pantalla donde estemos y se le suele llamar backdrop. Sin embargo, para los sprites, ese primer color se ignora y simplemente es transparente. Así pues, realmente los background y sprites juegan con tres colores por paleta, solo que los background lo interpretan como color y los sprites como invisible. La imagen resultante da una solución como esta:

El caso de Super Mario Bros. es el típico donde sus sprites están formados por tiles de 8x8. La mayoría de los juegos de NES usan ese formato, pero hay muchos otros que utilizaron la opción de 8x16 tiles. La ventaja de esta otra opción es que puede ayudarnos a crear sprites resultantes más grandes sin que lleguemos a superar la barrera de los 64 sprites en pantalla y de esta forma poder mostrar muchos personajes en pantalla. La desventaja de esto es que si en un principio, en nuestro banco de memoria tenemos 256 tiles de 8x8, estos se verán reducidos a 128 tiles de 8x16 con lo cual perderíamos detalle a la hora de crear muchos sprites distintos. Un ejemplo de esto sería el caso del videojuego Teenage Mutant Ninja Turtles que lanzó Konami en 1989:

 
Tiles 8x8 en Blaster Master VS. tiles 8x16 en TMNT (animación cedida por Brad Smith)

Como podéis ver, si se hubiese usado una configuración de 8x8 tiles, se consumirían muchos recursos y puede que al poner diferentes enemigos u objetos en pantalla, se superase el límite de 64 sprites, con el eventual problema añadido de hacer calcular a la CPU la posición de todos estos, que daría como resultado un videojuego lento e inestable.

Al poner una configuración de 8x16 tiles, aprovechamos recursos aunque también perdemos otras ventajas e incluso puede que algunos tiles desperdicien mucho espacio, como pueden ser en este caso la cabeza superior de la tortuga Leonardo. Como ya digo, esta elección se hace al inicio del desarrollo del videojuego, dado que no se puede cambiar en cualquier momento, por tanto, es necesario tener muy claro el diseño del mismo sobre el papel ya desde un inicio.

Sea como sea, esta es la herramienta básica para poder poner sprites en pantalla. Una de las características más reconocidas de esta PPU es la de poder hacer mirroring en los sprites. Esto significa que un tile, cual sea, se puede espejar e incluso rotar en posición, de tal forma que no nos hace falta dibujar nuestro sprite mirando hacia todas las direcciones; simplemente se le añade el atributo que espeja o rota y listo (normalmente un bit en la cadena hexadecimal que crea el tile, basta para esto). Una forma muy loable de ahorrar recursos.


Un mismo sprite, cuatro posiciones diferentes, cero recursos consumidos

BACKGROUNDS, FONDOS Y PRIORIDADES

Los background o fondos que componen la pantalla del juego se forman con la otra tabla de 256 tiles que tenemos. Aquí, el color que comparten las cuatro paletas si es visible, a este se le asigna la posición backdrop y normalmente se elige un color que sea muy frecuente en el juego, para ahorrar trabajo.

Los tiles del background, no guardan información del color, si no que guardan la posición de color según paleta y su correspondiente atributo. La tabla de atributos que componen los background que dan color a estos mapas están limitados a 16x16 pixeles. Lo que quiere decir que en un área de 16x16 pixeles solo se puede usar una misma paleta. Estos atributos se ponen por debajo de los tiles que componen el background y de esta forma colorean el escenario.


The Banketh - The Video Game [RetroNES Software] (2016)

La ventaja con esta técnica es que un mismo tile o conjunto de tiles nos pueden servir para crear diferentes imágenes sin malgastar recursos (recordad que solo tenemos 256 tiles). De esta forma, el tile que usamos para representar arena, también nos puede valer para representar agua, simplemente cambiándole el atributo de color a la hora de componer el background final; de colores amarillentos a colores azulados.

El inconveniente radica en que como los atributos están limitados a un espacio de 16x16, podemos tener el problema de que el background parezca que tenga pocos colores. Hay que ser muy buen grafista para sacar partido a este arte.

De esta forma, una pantalla de cualquier juego de NES se forma de esta manera:

- Backdrop al fondo del todo, que es el color que se comparte.
- Sprites de baja prioridad (esto se configura).
- Background (el fondo en si formado por tiles).
- Sprites de alta prioridad (esto se configura).

Como podéis ver, podemos asignar a los sprites si estos tienen que ser de baja o alta prioridad. Esto nos puede ser muy útil para explicar al programa si estos deben aparecer encima o detrás del escenario. Nos amplia posibilidades y nuevas formas de juego que muchos ya explotaron en su día. Un ejemplo claro lo tenemos con SMB. 3:


¡Hop! ahora no me ves

En cualquier momento, nuestros sprites pueden tener una prioridad alta, con lo cual estarán por encima del escenario, o baja, con lo cual pasarían por detrás de este y solo serian visibles cuando ocupan el espacio cubierto por el color compartido en la tabla de atributos del background. En el caso de Super Mario Bros. 3, cuando Mario pasa a tener una prioridad baja, solo se le podría ver cuando esta sobre los atributos con el color azul del cielo, que es el color compartido en la paleta de este background.

Estos son los concepto mínimos para entender como funciona el procesador gráfico de la NES. Para muchos os será de mucha ayuda a la hora de entender como funcionaba esta máquina. Para otros incluso os resulte de gran utilidad si queréis meteros en el mundillo homebrew. Sea como sea, seguro que para la mayoría os resulta cuanto menos curioso.

Etiquetas: 
Imagen de Diskover

El hardware de la NES. Capítulo I: Conceptos básicos

El hardware de la NES

La intención de este artículo no es más que la de demostrar las maravillas que se consiguieron hacer con una NES a lo largo de su vida útil y más tarde en el entorno de la scene homebrew que tan viva está hoy en día. No puedo ser muy técnico debido a mi falta de cualidades en entornos de programación o conocimientos, pero intentaré ser lo más preciso posible.

Partimos de una máquina limitada que a lo largo de los once años de estancia en el mercado (1983-1994), fue evolucionando tanto técnicamente como por hardware, compitiendo cara a cara contra Sega Master System, PC-Engine, SNES y Mega Drive.

Originalmente, debido al hecho de abaratar costes, la NES fue diseñada para que fuese ampliable constantemente. Algo muy inteligente para su diseñador, Masayuki Uemura. De hecho, el tiempo le dio la razón.

Así pues, la consola al desnudo, originalmente, nos presentaba una máquina escueta y limitada pero muy por encima de su competencia, lo cual era todo un logro. Estamos hablando del año 1983, y sus competidoras más cercanas en aquella época se reducian a la Atari 2600, Colecovision, Intellivision, etc... máquinas tambien de 8 bits (Intellivision es de 16 bits, ojo), pero muy escuetas o vagas en el resto de sus apartados.

Para entender esto, debemos repasar las características técnicas con las que la NES (Famicom en Japón) salió al mercado:

CPU (procesador): RP2A03, 1,79 MHz (NTSC) o RP2A03, 1,63 MHz (PAL) fabricado por Ricoh y basado en el MOS 6502.

- Dispositivo DAC.

- Controlador DMA.

RAM: 2Kb.

PPU (procesador gráfico): RP2C02, 5,37 MHz (NTSC) o RP2C07, 5,32 MHz (PAL).

- Paleta: Compuesta por 48 colores y cinco grises de base; rojo, verde, y azul se pueden oscurecer individualmente en regiones específicas de la pantalla usando código temporizado. Esta paleta dicen que fue seleccionada por el propio Shigeru Miyamoto y le supuso un verdadero dolor de cabeza. Es un tanto extraña dado que abundan los tonos azules pero sin embargo escasea el tono rojo.

- Colores en pantalla: 52 colores en una línea de escaneo (color de fondo + 4 conjuntos de 3 colores de cuadro + 4 conjuntos de 3 colores de sprite).
- Animaciones (sprites) apoyadas por hardware.
- Sprites en pantalla: 64 (sin recarga en mitad de pantalla).
- Tamaños de sprite: 8x8 u 8x16 pixeles.
- Memoria de video: PPU conectada a 32 KB de vídeo RAM. PPU contiene 2 KB de RAM interno atribuible/de cuadro; 256 bytes de RAM de posición de sprite; 28 bytes de RAM de paleta (que permite selección de color de fondo); 8 KB de ROM/RAM de patrones de cuadros en el cartucho.
- Resolución: 256x240 píxeles.

La forma de funcionar la PPU se merece un artículo más grande que próximamente se desarrollará. Pero debeís saber que podemos tener por cada fondo 4 paletas de colores con 1+3 colores distintos. Y en los sprites tambien: 4 paletas de colores con 1+3 colores distintos.
Esto significa que aunque tengamos nuestras cuatro paletas con cuatro colores, al menos un color debe de ser compartido entre todas ellas. En el caso de los background es el color que se usa como fondo plano, y en el caso de los sprites, es el color que se usa como transparente.

SONIDO: Generadores de tonos (dos cuadrados, un triángulo, un ruido, y generador PCM). Se llegaron ha hacer auténticas maravillas con estos canales. Para muestra, la OST del videojuego Super Spy Hunter (Battle Formula en Japón) de Sunsoft, compañía que dominó ampliamente este chip de sonido sin ningún apoyo externo de hardware.

Los dos generadores de tonos cuadrados y el triangular se encargaban de generar la sintonía del juego; tonos agudos y graves. Mientras que el canal de ruido se encargaba de hacer las percusiones. Además, gracias al PCM se podian reproducir samples que normalmente se usaban para introducir sonidos nuevos o incluso voces, aunque debido al tamaño tan grande que estos tenían, se limitaban muchas veces a sonidos simples de medio segundo.

Todos estos canales se usaban indistintamente para música como para sonido, por lo que muchas veces era un problema reproducir una banda sonora completa ya que en intervalos de tiempo, un cenal podía ser interrumpido por un sonido, cortandose la sintonía. Males menores con las que tuvimos que sobrevivir.

A partir de estos componentes básicos se desarrollarón casí un millar de videojuegos diferentes, y demostraron la evolución de una época y una máquina a la par.

Una vez sabido esto hay que comentar que cuando se desarrolla un juego básico en NES, los cartuchos constan de un chip llamado PRG de 16Kb o de hasta 32Kb, que es donde se introduce todo el código lógico de los juegos; el programa en si. Y otro chip llamado CHR de hasta 8Kb que es donde se almacenan los gráficos, divididos en dos bancos de memoria de 256 azulejos (tiles) cada uno, lo que nos da 512 azulejos distintos divididos en dos bancos de memoria: uno para usar en los backgrounds (fondos), y otro para usar en sprites.

Comúnmente a este tipo de juegos se les conoce como NROM por no tener ningún tipo de mapeador de memoria ampliable (mapper), chips que aparecieron más tarde.

Estas capacidades básicas son las que la NES puede paginar por si misma de golpe por el bus de datos, que son 32Kb de PRG ROM/RAM y 8Kb de CHR ROM/RAM.

Con esta base hubo una primera tirada de juegos muy básicos entre 1983 y 1985, donde podíamos encontrarnos con juegos tan simples como Donkey Kong o más complejos como Super Mario Bros. A estos se les cataloga dentro de la “Primera Epoca de la Famicom/NES”.

Es a partir de 1985 cuando la cosa empieza a cambiar y empiezan a aparecer los primeros mappers, que permitían paginar mucha más memoria, tanto en PRG como en CHR con lo cual se conseguían hacer juegos más grandes hasta llegar a los 712Kb en juegos oficiales (en piratas y no oficiales se llegó a más).

En general, una buena parte de los juegos de la NES usaron el mapper de Nintendo MMC1 o más tarde el MMC3. En otro artículo hablaré de ellos.

Con los nuevos mappers se incluían más bancos de memoria PRG o CHR, y un selector de banco tipo 74XX para poder seleccionar en todo momento el banco que se desease leer. Dado que la NES solo puede leer de golpe 32Kb de ROM y 8Kb para los gráficos, lo que se hacia era constantemente cambiar de bancos para leer datos y poder mostrar mas funciones o gráficos distintos. Con el paso de los años esto se fue perfeccionando, las compañías sacaron partido a los mappers y algunas crearon los suyos propios, mientras otras exprimieron las que proporcionaba la propia Nintendo donde pudimos llegar a ver genialidades como Kirby´s Adventures.

En el próximo artículo nos adentraremos de lleno en los cartuchos de NES.

Etiquetas: 
Imagen de Diskover

Nintendo Mini Classic por dentro

Ya queda menos para la puesta en venta de la versión pequeña de nuestra querida NES. El viernes 11 de noviembre por fin podréis haceros de una Nintendo Mini Classic, como ya os informamos hace unos meses.

En varios sitios de todo el globo ya se ha puesto a la venta y algunos ya se han atrevido a destriparla. De esta forma podemos confirmar que la Nintendo Mini Classic por dentro esta compuesta de un procesador Allwinner R16 (4x Cortex A7, Mali400MP2 GPU), 256 MB de RAM DDR3, y una memoria flash de 512 MB, que es la que contiene los treinta juegos instalados.

Lamentablemente, esta memoria flash viene soldada a la placa de la consola y en principio va a ser imposible modificarla para añadir otros juegos.

Básicamente, es un ordenador Raspberry pi corriendo una distribución GNU/Linux bajo licencia de código abierto (bajo GNU GPL2). Los juegos instalados son meras roms funcionando en un emulador programado para tal propósito.

Al parecer este emulador no esta dando buenos resultados con algunos juegos que hacen uso del canal de sonido noise de la NES para reproducir ciertos efectos o sonidos, representándolos de manera distinta o directamente omitiéndolos; cosa que ha llamado bastante la atención tratándose de un producto Nintendo cuyo códigos fuentes son propios y no deberían tener ningún problema para emular al 100% una máquina propia.

Llama la atención la potencia de la máquina, cuyo procesador es más potente que el de una Nintendo Wii (2006) o una Nintendo 3DS (2011). Esta potencia viene justificada (en principio) por la necesidad de hacer compatible la maquina con las grandes resoluciones HD de los televisores de hoy en día.

Recordad que su precio rondara los 60€ y que este viernes ya puede ser vuestra.

Imagen de Diskover

Nintendo 3DS XL NES Edition. La mas esperada

A sabiendas de como son estos chicos de Nintendo, no había dudas de que tarde o temprano acabarían sacando alguna edición especial de la Nintendo 3DS con motivo recordatorio de nuestra querida NES.

No espereís, mas. Ya está aquí. Hoy mismo ha salido a la venta por unos suculentos 199,99 $. Por ahora solo en el mercado estadounidense, pero pronto se distribuirá en Europa y Asia.

Para los que no os aguanteis, ya la teneís disponible en GameStop. Mola, eh...

Imagen de Mokona

Los pads de NES, Súper Nintendo y clónicas de Famicom

mando NES

Este artículo tiene como propósito detallar el funcionamiento de los pads de NES, SNES y las clónicas de Famicom, asimismo describir y aprovechar la compatibilidad existente en su arquitectura para realizar adaptaciones.

 

Introducción

Aunque en apariencia los pads de Súper Nintendo, NES y clónicas de Famicom son distintos, su funcionamiento parte de las mismas bases, por lo que es posible, por ejemplo, utilizar un pad de Súper Nintendo en una NES, o viceversa, así como todas las variantes que vengan a nuestra mente.

NES conectada al pad y extensión de SNES

 

Fundamentos

Aunque no detallaré el diagrama de cada pad, es preciso puntualizar que  Nintendo en la arquitectura del pad de la NES utilizó un circuito CMOS 4021 para  lograr un flujo de datos de 8 bits, mismos que corresponden a cada uno de los botones del pad (Arriba, Abajo, Izquierda, Derecha, Select, Start, A y B). Esta  información viaja a través de 5 cables que llegan a la NES, identificados de la siguiente forma:

- Tierra (GND)

- Fuente (+5 V)

- Control (CTRL o Strobe)

- Reloj (Clock o CLK)

- Datos (Data o Out)

 

Al diseñar la arquitectura del pad de la SNES, Nintendo partió del diseño existente del pad de la NES, realizando algunos ligeros cambios y agregando otro circuito CMOS 4021 en un mismo circuito, dando como resultado la posibilidad de agregar 8 botones más al pad a los ya existentes, aunque en la práctica sólo se utilizan 4 (X, Y, R y L).

También es preciso puntualizar que Nintendo realizó un cambio en el orden de los botones en el pad de la SNES, por lo cual el que era el botón A en el diseño original del pad de la NES se convierte en el botón B en la SNES, y el botón B de la NES cambia a el botón Y. Todos los datos en el pad de la SNES viajan de igual forma a través de 5 cables, mismos que se identifican de la forma ya descrita.

Los pads de las clónicas de Famicom tienen la misma arquitectura que los de la NES, por lo cual no hay ningún cambio significativo en el diseño, a pesar del hecho de que algunos incluyan  botones Turbo para A y B, o que se incluyan 6 o más botones en el diseño físico del pad, pero al final siguen representando las mismas funciones de los botones A y B.

 

Los conectores y sus pins

Nintendo Entertainment System

Los pads de NES utilizan un conector especial diseñado por Nintendo compuesto por 7 pins en dos hileras verticales.

 

Cada uno de los cables del pad llega a los pins en este orden:

1. Tierra

2. Reloj

3. Control

4. Datos

5. Fuente

6. No se usa

7. No se usa

 

Super Nintendo Entertainment System

Los pads de SNES utilizan un conector especial diseñado por Nintendo también compuesto por 7 pins en una hilera horizontal.

 

Cada uno de los cables del pad llega a los pins en este orden:

1. Tierra

2. No se usa

3. No se usa

4. Datos

5. Control

6. Reloj

7. Fuente

 

Clónicas de Famicom

Los pads de clónicas de Famicom utilizan comúnmente un conector DB-9 (también conocido como serial), compuesto por 9 pines en 2 hileras horizontales.

 

Cada uno de los cables del pad llega a los pins en este orden:

1. No se usa

2. Datos

3. Control

4. Reloj

5. No se usa

6. Fuente

7. No se usa

8. Tierra

9. No se usa

 

Con toda esta información podemos deducir que con un simple cambio de conector o el cable completo, podremos utilizar un pad de una consola en otra. Al realizar  estas adaptaciones hay que considerar lo siguiente:

 

Consideraciones

Al adaptar un Pad de SNES a la NES o clónica de Famicom:

-         Los botones Y y B tomarán las funciones de los botones B y A respectivamente.

-         Los botones X, A, L y R no tendrán ninguna función.

-         En el caso de la NES, el pad podrá ser usado con el NES Four Score o NES Satellite.

-         Podrás usar la mayoría de los pads con función de Turbo o Slow , como por ejemplo los de Asciiware.

-         Periféricos de SNES como el Mouse, Super Scope, Justifier o adaptadores para 4 o más jugadores como los de Hudson no funcionarán en la NES ni en la clónica de Famicom.

 

Al adaptar un Pad de NES o Clónica de Famicom a la SNES:

-         Por razones obvias, además de las flechas de dirección, Select y Start, sólo se podrán usar los botones Y y B, los cuales tomarán la función de los botones B y A respectivamente.

-         Las funciones de turbo estará disponible en la mayoría de los casos.

-         Periféricos de NES como la Zapper, Power Pad, Nes Satellite, Four Score entre otros, no funcionarán con la SNES.

 

Al adaptar un Pad de NES a la Clónica de Famicom:

-         Todas las funciones del pad de NES son compatibles con la clónica de Famicom.

-         Dispositivos como la Zapper, NES Satellite o Four Score no son compatibles con las clónicas de Famicom, al menos no con esta adaptación, ya que estos periféricos utilizan los pines 6 y 7 de la NES.

-         El NES MAX y NES Advantage son compatibles al hacer la adaptación.

 

¿Por qué querría hacer alguna de estas adaptaciones?

Desde mi punto de vista pueden existir las siguientes razones:

-         Los pads de las clónicas siempre han sido de menor calidad y se descomponen con facilidad, por lo cual es bastante práctico utilizar los pads de Nintendo en una clónica, ya que son más resistentes y de gran calidad.

-         El pad de SNES tiene un mejor diseño, por lo que es más cómodo jugar en una NES o clónica de Famicom con este Pad.

-         Ahorro de espacio, pues no requerirás un control para cada consola.

-         Podrás usar, por ejemplo, el Fighter Stick SN de SNES en la NES o clónica en lugar del NES Advantage, y por consecuencia aprovechar sus opciones de Turbo y Slow.

Al final, las razones más validas serán tus propias necesidades.

NES conectada al pad Fighter Stick  de SNES

 

¿Cómo adaptar un pad a otra consola?

En realidad no es nada complejo realizar esta adaptación, y de hecho con lo que se ha explicado hasta el momento se deduce como realizarla, pues bastará con cambiar el conector y colocar cada cable en  el pin correspondiente para que el pad funcione en otra consola.

Como material básico se requiere:

-         Destornillador (Para abrir los pads en caso de que desees sustituir el cable con el conector)

-         Cautín / Estañador (Para unir los cables o soldar las puntos de los mismo a los pins)

-         Pinzas de corte

-         Conector o el cable con el conector

-         Cinta aislante

-         Multímetro (Para medir continuidad e identificar que cable corresponde a cada pin).

En el caso de los conectores o cables completos de NES o SNES deberás conseguirlos de algún pad que no utilices o descompuesto, ya que estos conectores no son comerciales. En el caso de los conectores de clónicas de Famicom podrás conseguirlo en una tienda de refacciones de cómputo, pues normalmente se usa un conector Serial o DB-9.

Particularmente, y de ser posible, recomiendo que si tienes una extensión para cable de SNES o NES la utilices para hacer la adaptación, pues así no mutilarás tus pads.

Extensión de pad de SNES con conector de pad de NES adaptado en paralelo.

 

Por último, jamás te guíes por el color de los cables, ya que muy rara vez estos son idénticos entre los pads. Así que mejor usa el multímetro para identificar que cable corresponde a cada pin en el pad.

Por ejemplo, si deseas conectar un pad de SNES a la NES, el cable correspondiente de cada pin del pad de SNES debe ir en los siguientes pines del conector de NES:

Si deseas conectar un pad de NES a la SNES, el cable correspondiente de cada pin del pad de NES debe ir en los siguientes pines del conector de SNES:

Si deseas conectar un pad de NES a una clónica de Famicom, el cable correspondiente de cada pin del pad de NES debe ir en los siguientes pines del conector de clónica de Famicom:

 

Para finalizar

Aunque es muy difícil que estas adaptaciones pudiesen causar algún daño a tu consola, cualquier modificación hecha a tus pads será bajo responsabilidad propia.

Si tienes alguna duda con gusto será atendida, y en medida de lo posible resuelta, en los foros de RetroNES.

Agradezco a Diskover por el espacio y la oportunidad de hacer publica esta información.

Aquí les dejo algunas fotos de las adaptaciones que he hecho:

Pad de SNES conectada a la NES por medio de una extensión.

 

Pad de SNES conectada a la NES y SNES.

 

Clónica de Famicom con Pad de NES adaptado a conector DB-9.

 

Esta información es producto de investigación personal. Nintendo, NES, SNES, Súper Nintendo, Nintendo Entertainment System, Súper Nintendo Entertainment System y Famicom son marcas Registradas de Nintendo.

Etiquetas: 

Páginas

Suscribirse a RSS - NES