Disfrutar del SuperEverdrive (o cualquier otro Everdrive)

Descomprime siempre las ROMS que pongas en la SD. Es una tontería, pero lo primero que hice fue poner las ROMS que tenía por casa directamente en la SD y cargarlas en el sistema en ZIP, sin descomprimir, ya que los emuladores las admiten así. Mala idea, porque además el SuperEverdrive no te avisa y directamente las flashea (no pasa nada por hacerlo, pero evidentemente no funcionan).

Otra cosita. Divide las ROMS en carpetas dentro de la SD. Esto tiene dos ventajas. Primera: son más fáciles de localizar. Segunda: El gestor de ficheros del SuperEverdrive, si tienes más de 200 archivos en una sola carpeta, no los muestra todos. Lo normal es crear una carpeta por letra del abecedario. Y si vas a compartir la SD con varios Everdrive para distintos sistemas, crea una carpeta “SNES” y desde allí el árbol de carpetas por letra.

Y ahora vamos al tema. Maximizar la compatibilidad de las ROMS que usemos. Antes de nada, es evidente que juegos que utilicen chips especiales que iban integrados en el cartucho original (como el SuperFX) no van a funcionar. Así que hay que olvidarse de jugar a “Pilotwings” con este dispositivo. Esto puede tener una excepción: si habéis adquirido el cartucho con el chip DSP1 o se lo incorporáis (lleva el sitio en la placa) ese tipo de juegos os funcionarán.

Otra cosa a tener en cuenta. El SuperEverdrive convierte a la SNES en multirregión, es decir, puedes jugar a juegos de cualquier región en cualquier SNES. Eso sí, lo que nohace es cambiar la frecuencia de refresco de pantalla (50Hz PAL Europa, 60Hz NTSC EEUU y Japón), por lo que todos los juegos se verán en el formato original de la consola (Si tu consola es PAL, todos los juegos funcionarán a 50Hz), salvo que la hayas modificado por hardware. Existen juegos en los que, además del código de región, también se verifica como protección la frecuencia de la consola, por lo que darían problemas de compatibilidad (más bien funcionan, pero aparece un mensaje del estilo “Este juego no es para esta consola”). Esto pasa principalmente con los juegos de Nintendo, Capcom y Konami, que yo haya comprobado, pero puede haber algún juego más en el que pase. Esta protección no es insalvable, y más adelante se incluye la forma de eliminarla en la mayor parte de los casos.

Cuando vamos a una página de descarga y catalogación de ROMS, veremos que tienen, al final del nombre, unos códigos especiales para identificarlas. Tenéis una explicación de lo que significa cada código en el siguiente enlace:

CODIGOS EN LOS NOMBRES DE LAS ROMS

Esto es importante para saber exactamente cuál es la mejor ROM del mismo juego para nuestro sistema.

Visto todo lo anterior, a la hora de elegir las ROMS a introducir seguiremos la siguiente prioridad (asumiendo que nuestra consola es PAL, si es NTSC evidentemente cambiaríamos lo referente a regiones) de más a menos importante:

– De las roms posibles para cada juego, si existe, elegiremos la versión (S) o la (E), ya que nunca nos dará problemas de compatibilidad regional, y la (S) será la versión adaptada que llegó específicamente a España. Esto puede tener excepciones si sabemos que una versión específica es mejor que otras (por ejemplo, la versión Europea de “Super Metroid” incluye subtítulos forzosos en Alemán o Francés, por lo que no me gusta, aunque la americana/japonesa tiene protección regional). También puede pasar que no exista versión europea, en cuyo caso elegiremos (U) o (J) según nos convenga. Hay que recordar que todas, independientemente de la región, se mostrarán a 50Hz (PAL), así que no conseguiremos nada en ese aspecto usando las NTSC.

– Si existe, elegiremos la versión que contenga [!]. Esto nos garantiza que es un volcado preciso del cartucho original, lo que evita errores e incompatibilidades por mal volcado. En caso de no aparecer ninguna con [!], cogeremos la que no contenga ningún código, que será la más próxima a la versión original.

Con estos dos consejos, raro será el juego que no hagamos funcionar. Aún así existen juegos como “King of Dragons”, para los que es difícil encontrar la versión europea (o no existe) y las NTSC tienen protección regional. ¿Qué hacemos? Pues vamos a desproteger la ROM, o sea, a quitar esa protección modificando la imagen del juego.

Lo primero que vamos a necesitar es una herramienta llamada ucon64. Descargamos cualquiera de la dos versiones para windows (yo lo hice con la mingw, lo único que cambia es el compilador que se ha empleado para crearla, pero deberían ser idénticas) o la que corresponda a nuestro sistema operativo, y la descomprimimos en una carpeta a nuestro gusto. Para los ejemplos yo usaré la carpeta “C:\ucon64”. Es una herramienta que funciona en modo texto, eso sí, pero no es complicado utilizarla.

Pongamos por ejemplo que voy a quitar la protección regional en el juego “Hola Mundo”, del cual tengo la rom llamada “Hola Mundo (U).smc”. Los pasos son los siguientes:

– Copiamos el fichero “Hola Mundo (U).smc” a la carpeta “C:\ucon64”.
– Abrimos un “Simbolo del Sistema” (Inicio -> Accesorios -> Símbolo del Sistema).
– Tecleamos lo siguiente:

cd c:\ucon64

ucon64 -f "Hola Mundo (U).smc"

Veremos que en la carpeta se nos ha creado un “Hola Mundo (U).bak”, que es el fichero original, y tendremos nuestro “Hola Mundo (U).smc” modificado. Ahora ya podremos ponerlo en nuestra SD y jugar sin problema con él en el SuperEverdrive.

Extra: Usar códigos Game-Genie en el SuperEverdrive.
Para terminar, y aprovechando lo anterior, un pequeño extra: vamos a trucar juegos con códigos Game-Genie. El SuperEverdrive no lleva soporte para dichos códigos, pero podemos incorporarlos de forma nativa a nuestras ROMS para jugar con trucos. Para ello, usaremos también la herramienta ucon64. En este caso, el procedimiento es el siguiente:

– Buscamos el código game-genie correspondiente al juego que queremos (ojito con la región) en internet, revistas, etc… Supongamos que hemos encontrado el código AAAA-8888 y el 4444-5555 para el “Hola Mundo” versión EEUU.
– Copiamos el fichero “Hola Mundo (U).smc” a la carpeta “C:\ucon64”.
– Abrimos un “Simbolo del Sistema” (Inicio -> Accesorios -> Símbolo del Sistema).
– Tecleamos lo siguiente:

cd c:\ucon64

ucon64 -gg=AAAA-8888 -gg=4444-5555 "Hola Mundo (U).smc"

Veremos que en la carpeta se nos ha creado un “Hola Mundo (U).bak”, que es el fichero original, y tendremos nuestro “Hola Mundo (U).smc” modificado. Ahora ya podremos ponerlo en nuestra SD y jugar con el truco introducido en el SuperEverdrive. Recomiendo cambiar de nombre el fichero modificado para no sobrescribir el original en la SD y poder jugar sin el truco cuando queramos.

Pues eso es todo de momento. Tened en cuenta que todo lo anterior, aunque específico para el SuperEverdrive, es de aplicación en cualquier otro dispositivo o consola (es decir, es válido para Megadrive, TurboGrafx, etc, así como para cualquier sustituto del Everdrive) aplicando las modificaciones correspondientes.

Códigos en los juegos clásicos.

Muchas veces, cuando descargamos juegos clásicos, vemos que tienen algún tipo de código al lado del nombre. La verdad es que, sin una guía, es difícil llegar a saber lo que significan, y en ciertas ocasiones puede ser importante, así que voy a poner un listado de los principales, que he ido encontrando por la red:

CÓDIGOS STANDARD:

[a] Alternativo: Versión Alternativa de la ROM.
[p] Pirata.
[b] Mal volcado.
[t] Trucado: El juego lleva algún “cargador” de trucos.
[f] Fixed (arreglado).
[T-] Traducción vieja.
[T+] Traducción nueva.
[h] Hack.
(-) Año desconocido.
[o] Overdump (el volcado del juego ha traído datos inútiles, aunque no afecta al funcionamiento).
[!] Dump verificado como bueno.
(M#) Multilenguage (#: Número de lenguages).
(###) Checksum (??k): Tamaño del juego.
ZZZ_ Inclasificada.
(Unl) No licenciada (no se comercializó).
(PAL) Versión para sistema de TV PAL.
(5) Sólo NTSC.
(8) Sólo PAL.
[c] Checksum correcto.
[x] Checksum incorrecto.
[R-] Países.

CÓDIGOS DE PAÍSES:

(1) Japón y Korea
(4) EEUU y Brasil NTSC
(A) Australia
(J) Japón
(B) no EEUU
(K) Korea
(C) China
(NL) Países Bajos
(E) Europa
(PD) Dominio Público
(F) Francia
(S) España
(FC) Canadá (Francés)
(SW) Suecia
(FN) Finlandia
(U) EEUU
(G) Alemania
(UK) Reino Unido
(GR) Grecia
(Unk) Desconocido
(HK) Hong Kong
(I) Italia
(H) Holanda

CODIGOS ESPECIALES :

Gameboy:
[C] Gameboy Color
[S] Super GameBoy
[BF] Bung Fix

GameBoy Advance:
[hI??] Intro hacks

Super Nintendo:
(BS) BS ROMs
(ST) Sufami Turbo
(NP) Nintendo Power

Coleco:
(Adam) Versión ADAM

NeoGeo Pocket:
[M] Solo Mono

NES/FamiCom:
(PC10) PlayChoice 10
(VS) Versus
[hFFE] FFE Copier fmt

Espero que os sea útil 😀

Programación en Web

La programación en Web es muy diferente de la de escritorio, para la programación en Web hay que aprender varios lenguajes y formas de trabajar, todo cambia y puede costar un poco para los que no estamos acostumbrados. En escritorio tomas un PC, eliges un lenguaje, programas y ejecutas, no hay mas, pero cuando estamos en Web hay dos máquinas implicadas, el servidor aloja las páginas, las prepara y las envía a tu ordenador donde se visualizan.Y unos cuantos lenguajes que aprender, no se puede usar uno solo.

HTML

Inicialmente las páginas eran siempre estáticas, el HTML es un lenguaje de marcado de documentos, en el viajan los textos a mostrar junto a los formatos en que se visualizan. El servidor no hace mas que almacenar las páginas HTML, y cuando el navegador le solicita una se la envía tal cual. Es el propio navegador el que monta la página con los formatos que contenga. No hay interactividad alguna, una vez montada la página no se puede modificar, es completamente estático, pero aun así siempre se pueden poner enlaces a otras páginas, que lanzarán estas al llamarlas, pudiendo hacer que el sistema parezca un poco mas interactivo.

La página cuando se lanza tiene un estado, y puede contener campos que sean editables, por ejemplo un formulario de contacto. Cuando se le da el botón de enviar la página se recarga, enviándose a si misma los datos de los campos, en una acción que se denomina POST. Podemos tomar esos datos y enviarlos en un mail por ejemplo tras el Post, esto es lo mas interactivo que puede ser una página web.

CSS

Hemos dicho que junto a los textos viaja el formato, lo que lo hace poco flexible, por ello se idearon las Hojas de Estilo en Cascada (Cascading Style Sheets). En ellas no hay textos, solo las especificaciones de los formatos en que presentarlos, tamaños, colores, márgenes, alineación, todo atributo que se puede cambiar se puede establecer en el elemento o en la Hoja de Estilo. Las hojas de estilo pueden viajar dentro del propio documento o en uno aparte, por lo que el navegador al leer el HTML y encontrar que se llama a una hoja externa, le pide al servidor el fichero y lo procesa.

Las hojas permiten modificar el aspecto de las páginas colo cambiando los estilos, lo que has hace útiles para definir de manera sencilla el aspecto, y han llegado a ser imprescindibles si quieres hacer algo con la misma apariencia en todas las hojas. Se denominan en cascada porque son acumulativas, un atributo de un elemento puede redefinirse parcialmente en otro, por ejemplo podemos establecer un tamaño de letras general, y para ciertos elementos cambiar ese tamaño, manteniendo los mismos colores, alineaciones, márgenes, etc.

LENGUAJES DE SCRIPT

Las páginas no son interactivas, por lo que para mejorarlas se idearon una serie de lenguajes denominados de script, que permiten alterar las páginas antes o después de enviarlas al navegador. Así por ejemplo podemos cargar una lista de registros de una base de datos en el lado del servidor, y montar la página con ellos. Una vez enviada la página el servidor se desentiende, a nuestro navegador le llega una página que puede variar en cada llamada. Esto son script del lado del servidor, la interacción se produce cuando se pide la página, enviando tras el nombre una serie de parámetros, o en el Post al recibir los datos de los campos escritos en la página. Los mas usados son PHP y ASP.

Cuando se ha recibido la página en el cliente, otros lenguajes de script se pueden ejecutar en el mismo, aquí no se puede acceder por ejemplo a la base de datos, pero si es posible cambiar elementos de las páginas, cambiar aspectos y colores, hacer visibles o presentar zonas, o cosas similares. Cada día son mas potentes, el mas usado es JavaScript, en el está escrito por ejemplo Ajax que es una forma de poder refrescar una parte de la página, sin necesidad de volver a enviar toda al servidor.

PHP

El lenguaje PHP permite mezclarse junto al HTML, lo que le hace a veces un poco mas complicado de seguir si no se hace adecuadamente, es un lenguaje con sintaxis de C, en el que podemos definir Objetos y Clases, montando toda la lógica de negocio en el servidor. Cuando se procesa la página se ejecuta el programa en PHP, generándose una página HTML normal, que es enviada al navegador, en ese momento se ha perdido toda interacción. Cuando la página se procesa, se envía una orden POST al servidor, que monta de nuevo la página, pero ya podemos leer datos de ese Post y procesar la página o los datos de la misma.

Las variables no son necesario definirlas, lo que puede ser una fuente de problemas, y su nombre siempre empieza por un signo de dolar, y es débilmente tipado, lo que si no controlamos puede causar problemas. Si el script da un error al montar la página, dará un error que se presentará en el navegador si es grave, pero es complicado seguir el programa ya que se ejecuta en el servidor, y en el cliente se ve solo el resultado, aunque hay sistemas para poder depurar los programas.

JAVASCRIPT

Los script en Java se ejecutan en el navegador, usan la sintaxis del Java pero no es Java, por tanto no necesitan la máquina Java para su ejecución, por lo que también es un lenguaje con sintaxis de C, aunque es Orientado a Objetos no permite definir Clases sino prototipos, aunque lo suyo es usar pequeñas funciones y no grandes programas. Una de sus características es que no necesita definir las variables, y que no es tipado, es sencillo y rápido. Cuando se produce un error no se presenta, solo se ignora el script, por lo que es difícil seguir los fallos, pero al estar en el navegador se pueden ver el código.

Programación en Web

Para hacer un programa en Web necesitamos manejar una Base de Datos y por tanto el lenguaje SQL, las páginas se montarán usando HTML, CSS, PHP y JavaScript, por tanto debemos conocer 5 lenguajes diferentes, y una forma no habitual de interactuar con las páginas, y esto sin pensar en otras tecnologías como ASP.NET, que tienen la ventaja de que incluye casi todo en un solo sistema, y puedes programar sin necesidad de ver lo que hay por debajo.

Empezamos un nuevo blog

Para que todos podáis colaborar escribiendo vuestras noticias y comentarios libremente, siempre que tengan relación con la retroinformática y consolas, juegos, periféricos, libros, etc.

  • Si solo quieres leer: hazlo libremente, puedes pulsar en los enlaces de “Me gusta” si la entrada es de tu agrado, enlazarla a cualquier otro sitio, o copiar su contenido siempre que cites la fuente.
  • Si quieres escribir: debes darte de alta como usuario, y desde ese momento tendrás libertad para escribir artículos y subir imágenes.

Aunque no será habitual ni es nuestro objetivo, ten en cuenta que todo lo que publiques puede ser revisado, corrigiendo textos mal redactados, ajustando faltas de ortografía o eliminando comentarios ofensivos.

Por temas de derecho de autor y sobre todo por cortesía, aunque sean fuentes públicas, si citas textos di de donde los citas con un enlace, si publicas imágenes o vídeos que no sean tuyas dí de donde las has obtenido al pie para evitar problemas.