Pstros NDS, el emulador de J2ME olvidado para Nintendo DS

La Nintendo DS pese a sus años, ha gozado de una scene activa donde siempre nos han mostrado un montón de cosas interesantes que jamás pensábamos que fueran posibles de hacer en ella e incluso dado a la cantidad innumerable de aplicaciones homebrew que han salido para la consola todavía queda mucho por explorar. En mis tiempos de ociosidad he investigado y probado algunas aplicaciones homebrew poco conocidas para la Nintendo DS que van desde una calculadora científica hasta una biblia e incluso una aplicación para enviar mensajes de texto SMS (lástima que ya no funcione actualmente), pero lo que más me llamó la atención fue sobre un supuesto emulador de java de celulares móviles.


Con respecto a este emulador, no se tenía mucha documentación e información del mismo, ya que no encontré muchos resultados de lo que se trataba realmente ni tampoco vídeos donde pueda verlo funcionar, sólo sabía que era un entorno virtual de Java y que por lo tanto, podía ejecutar aplicaciones Java aunque no le tenía mucha esperanza, pues a simple vista se trataba de un emulador experimental y en 2º lugar era un emulador que ya se encontraba abandonado desde hace mucho tiempo, por lo que mis expectativas eran sumamente bajas, no fue hasta que un día aparecieron de la nada unos tutoriales en YouTube sobre este supuesto emulador y hasta mostraron un poco su funcionamiento, por lo que en ese momento me puse manos a la obra y leyendo la poca documentación que existía acerca de este emulador, decidí configurarlo adecuadamente y probarlo y este fue el resultado que tuve.

Pstros NDS es una implementación de MIDP que se ejecuta en la máquina java CLDC compilada para Nintendo DS, esta aplicación permite ejecutar aplicaciones del entorno Java ME (MicroEdition), lo que significa de manera resumida, un emulador de J2ME para Nintendo DS.


Desempeño y compatibilidad del emulador

El emulador como mencioné anteriormente, está en una fase experimental y se encuentra abandonado desde hace mucho tiempo por lo que no se esperen de nuevas actualizaciones, posee una compatibilidad algo decente y aceptable para lo que ofrece, existen varios juegos que pueden presentar errores gráficos o glitches así como varios que ni siquiera arrancan, así mismo el rendimiento no es muy bueno para los juegos más pesados, sorpresivamente uno de los pocos juegos que parece ejecutar perfectamente es el Water Rapids (uno de los juegos incluídos en el Nokia 3220), pues este juego solamente funciona bien en KEmulator (el emulador de J2ME para PC) y en un dispositivo Java con resolución 128x128 ya que en J2ME loader el juego se crashea al instante, en un dispositivo Java con mayor resolución a la mencionada anteriormente como por ejemplo un Nokia 6103 (128x160) o Nokia C3 (320x240), el primero presenta problemas de colisiones imposibilitando pasar más allá del primer nivel y el segundo se cuelga al iniciar una nueva partida, por su parte en PSPKVM (el emulador de J2ME para PSP) el juego renderiza incorrectamente los sprites haciendo parecer como si fuera un juego de Atari 2600, y aun así, en KEmulator posee un pequeño glitch que no afecta en nada a la jugabilidad donde sólo se muestra la primera bandera recogida cuando se llega a la pantalla de resultados al finalizar el nivel cosa que no sucede con Pstros NDS lo cual me parece increíble.


Así mismo, el emulador carece de soporte de sonido, parche de directorios y conexión de redes por lo que no esperen que aplicaciones como el lector de documentos .docx o el OperaMini funcionen correctamente, el emulador es compatible tanto en flashcards como en Twilight menu++, la única diferencia entre ambos radica en los tiempos de carga de las aplicaciones siendo ligeramente más rápidos en flashcards.


Requisitos 

• Una flashcard o una consola DSi o 3DS liberada con CFW.

• La última versión de Pstros NDS la cual es la 0.7.2 | Link.

 

Procedimiento de la instalación

Paso 1. Descomprime el archivo .zip y copialo el contenido a su tarjeta SD, dependiendo si utiliza una flashcard como R4 o utiliza Twilight Menu++ haga lo siguiente:

- En flashcard

Cree una carpeta con el nombre que usted quiera y ahí copie todo que el contenido del .zip

- En twilight menu++

Entre a la carpeta "roms" y ahí a dentro cree una carpeta con el nombre "J2ME roms", posteriormente copie y pegue el contenido del .zip dentro de esa carpeta.

Nota: Es posible que al descomprimir los archivos, aparezca un mensaje de que archivo puede tener elementos peligrosos, esto es un falso positivo.


Paso 2. Ejecute la aplicación, dependiendo de su caso debe realizar lo siguiente:

- En flashcard

Busque la carpeta donde colocó el contenido del .zip y ejecute la aplicación KVM.NDS

- En twilight menu++

En la pantalla principal, seleccione la flecha que se encuentra al costado


Posteriormente, pulse B varias veces hasta que llegue a la raíz de la tarjeta SD, acto seguido entra a la carpeta "roms" y después entre a "J2ME roms" y ejecute la aplicación KVM.NDS

En ambos casos, luego iniciará la aplicación Pstros NDS, se abrirá el directorio y de la misma manera con los botones de navegación y el botón A encuentre la carpeta donde había colocado el contenido del .zip.

 

Instalación de los juegos

Los juegos deben estar en dentro de la misma carpeta donde se copio el contenido, en el caso de twilight menu++ deben estar adentro de la carpeta "J2ME roms", los juegos deben estar compuestos de un archivo .jar (el ejecutable) y un archivo .jad (identificador) respectivamente. Es posible encontrar los juegos compuestos en esos 2 formatos, pero en la mayoría de los casos sólo encontraremos los .jar, por lo que sí solamente consigue el archivo ejecutable (.jar) no se preocupe ya que en el siguiente procedimiento les enseñaré a cómo conseguir el archivo .jad de su programa.


Generando el archivo .jad

Paso 1. Extraer el archivo MANIFEST.MF

Con un programa como Winrar, puede abrir el archivo .jar y en la carpeta "META-INF", se encuentra un archivo llamado MANIFEST.MF, ese archivo lo debe extraer y deberá contener el mismo nombre que el archivo ejecutable y cambiarle la extensión MF a .jad, ejemplo: Game.jar, Game.jad.


Nota: Si no dispone del Winrar, cree una copia del .jar y cámbiele la extensión a .zip e intente descomprir el archivo MANIFEST.MF de la misma manera.


Paso 2. Modificar el archivo

Ahora deberá abrir el archivo .jad con el bloc de notas e ingrese los siguientes parámetros:

MIDlet-Jar-URL: Debe incluir el nombre exacto del ejecutable .jar, por ejemplo, si tenemos nuestro juego nombrado Game.jar y Game.jad, entonces debemos anotar el parámetro:

MIDlet-Jar-URL: Game.jar

MIDlet-Jar-Size: Representa el tamaño del archivo .jar en bytes, para determinar el tamaño exacto del archivo, pulsamos clic derecho y seleccionamos propiedades

NDS-resolution: Representa que resolución de pantalla que mostrará el juego, este parámetro es opcional pero es sumamente recomendable especificar la resolución en caso de que sean juegos con resoluciones superiores o inferiores a 176x192 (resolución por defecto del emulador) para mejorar la compatibilidad y prevenir posibles errores gráficos o de colisión. La resolución máxima que admite la consola es de 256x192.

 

Otras configuraciones

Mapeo de controles

Los controles se encuentran mapeados de la siguiente manera:

Nintendo DS - Dispositivo móvil

- D-pad arriba - tecla arriba

- D-pad abajo - tecla abajo

- D-pad izquierdo - tecla izquierda

- D-pad derecho - tecla derecha

- Botón B - tecla fire (tecla central)

- Botón A - tecla 3

- Botón X - tecla 0

- Botón Y - tecla 1

- START - tecla #

- SELECT - tecla *

 

Estos controles se pueden cambiar ingresando el parametro NDS-key-[button]: [key] en el archivo .jad del juego.

Reemplace [button] por: A,B,X,Y,L,R,Start,Select,Left,Right,Up,Down.

Reemplace [key] por:  keyNum0, keyNum1...keyNum9, keySoftLeft, keySoftRight, keyFire, keyLeft, keyRight, keyUp, keyDown, keyStar, keyCross.

Ejemplo: NDS-key-A: keyNum5

 

Mapeo de la pantalla

NDS-screen-X: Establece la posición X de la pantalla (los valores negativos son válidos). De forma predeterminada, la posición X de la pantalla se establece para centrar la imagen. Ejemplo: NDS-screen-X: 0

NDS-screen-Y: Establece la posición Y de la pantalla (los valores negativos son válidos). De forma predeterminada, la posición Y de la pantalla se establece para centrar la imagen. Ejemplo: NDS-screen-Y: -10

Comentarios

  1. Não funcionou comigo por favor me ajude

    ResponderBorrar
    Respuestas
    1. Qual método você está usando? Flashcard ou Twilight Menu++, especifique seu problema para que eu possa ajudá-lo.

      Borrar
  2. Hice todos los pasos. Tengo el archivo jar y jad. sin embargo, parece seleccionar un .class, hago clic y vuelvo. el juego no entra

    ResponderBorrar
    Respuestas
    1. Que método estás utilizando, flashcard o Twilight menu++, es normal que al acceder al directorio aparezcan muchos archivos .class (estos archivos son de demostración) sólo debe navegar con el pad y encontrar su juego (.jad), si el juego no funciona a pesar de haber seguido todos los pasos correspondientes significa que no es compatible.

      Borrar
    2. i'm using flashcard.
      the message is: JVM exited with 1
      Press A to load a class

      Borrar
  3. gostaria de um emulador pra abrir roms no formato jar. meu r4 é R4 Revolution for DS nintendo de lite, nao consguir achar nada que funcione, se tiver algum tutorial agradeceria muito

    ResponderBorrar

Publicar un comentario