25 marzo 2013

TheXSample - SXELROM v2.0, para JXD S7300B

TheXSample - SXELROM v2.0, para JXD S7300B



Updates

Para ver los cambios, mirar en la sección de descargas de este artículo.

2013-04-02: Se ha agregado parche de actualización del Tincore Driver y de Tincore Keymapper (Patch_Xsample_2.1.rar)


Uso de este artículo


Se permite utilizar esta review, ya sea copiándola o referenciándola mediante un link, a cualquiera que lo desee, con la única condición de que se mantenga el autor y un enlace a la fuente original de esta review, y que se cita en el siguiente apartado.

Fuente y actualización de la información de este artículo


El artículo original (en español) se encuentra en mi blog.

Para actualizaciones sobre este artículo, sugiero visitar alguno de los enlaces mencionados anteriormente.


Introducción


Esta actualización incorpora cambios orientados a la estabilidad general del sistema, además de presentar nuevas características y soportes en el driver y herramienta de mapeo de Tincore.

Lista de cambios


A continuación, una lista breve de cambios incluidos en esta versión del firmware.

Mas adelante, en este mismo artículo, hay una sección con información extendida sobre estos cambios.

Firmware



  • Nuevos cambios en el kernel permitiendo más ajustes de CPU y valores más conservadores (incluye SetCPU versión de donación)
  • Se incluyen nuevos governors ajustados para el hardware de la consola
  • Pequeños cambios en la gestión de la memoria.
  • Escritura de particiones NTFS habilitada.
  • Velocidad de la rom por defecto a 1.2GHz
  • Todos los cambios de la rom v1.7 stock, como la inclusión de la nueva opción Full Screen


Tincore Driver



  • Soporte para swipes multi-direccionales.
  • Todos los controles pueden ser de tipo swipe (Soporte hasta 20 swipes configurados al mismo tiempo)
  • Creación de driver de joystick estándar para el dispositivo. Funciona y es reconocido por el sistema como joystick analógico de 4 ejes y 16 botones
  • Mejoras y optimizaciones en el código del driver, para conseguir aún menos lag.
  • Nuevo algoritmo de sensibilidades para modos de puntero
  • Soporte para remapeado de teclas


Tincore Keymapper



  • Cambios y mejoras en la interfaz de usuario de la herramienta
  • Mejoras en la rotación de pantalla par ala herramienta.
  • Menús autoajustables para dejar siempre visible los objetos/widgets en pantalla
  • Definición de swipes mediante drag&drop, para puntos de inicio y final
  • simplificación en la definición de áreas para modos puntero
  • Resaltado de grupos de objetos/widgets
  • Calibración de Sticks en 2 modos: Automático y Manual
  • Implementación básica para remapeado de controles para el modo "Key"



Sobre los cambios en el firmware


De los mas relevantes, destaca la habilitación de lectura y escritura en particiones NTFS, con lo que ahora se podrán gestionar ficheros (opiar de la tablet a un disco duro conectado por USB, por ejemplo), renombrar ficheros, etc.

La rom está orientada a la estabilidad mas que al rendimiento, tomando como base que el usuario puede modificar algunos parámetros para ganar velocidad, básicamente con la ayuda de SetCPU que viene incluido en el firmware (versión de donación), y con el subir la velocidad por defecto, que en este caso se ha decidido configurar a 1.2GHz para ganar estabilidad.

Se han visto muchos casos de consolas que se congelan después de etar trabajando un rato con la rom anterior, y todo apunta a que puede ser problema de procesador, ya que la CPU está mal refrigerada y el calor producido posiblemente le afecte en algún momento, y por eso no puede seguir trabajando normalmente, quedándose "congelada".

En la versión anterior de este firmware, se sugirieron una serie de cambios para ser incorporados en el firmware oficial de JXD. Parte de estos cambios han sido incluidos como parte del último firmware oficial 1.7 (los demás serán incluidos en próximas versiones). Este firmware incluye todas las modificaciones sugeridas hasta la fecha, e incluye otras nuevas para optimizar aún mas el sistema y ganar estabilidad en general


Sobre los cambios del Tincore Driver



Se han incorporado nuevos modos de uso en el propio driver, el que ahora mismo se distingue en 3 tipos/disp9ositivos:


  • Key
  • Touch
  • Joystick


Estos modos se pueden mezclar, obteniendo una amplia variedad de opciones para controlar la interacción de la consola con las aplicaciones y juegos.


El modo Key


Incorpora un nuevo método de remapeo de controles, con lo que se puede lograr entre otras cosas:


  • Juegos que tengan soporte específico de teclas, se puedan asignar directamente a botones de la consola.
    Existen algunos juegos que nativamente fueron desarrollados en conjunto con la utilización de un teclado, para interactuar con ellos. Ejemplos son varios juegos de ordenadores antiguos, que asignan teclas de función específicas, y que por lo tanto requieren de un teclado conectad a la consola para poder jugarlos (ejemplo: F15 Strike Eagle)
    Otros ejemplos mas modernos pueden ser Shadowgun, que tiene una configuración específica para jugar con teclado, y que ahora se pueden asignar directamente al driver:
    • D-PAD = Moveimiento del personaje
    • I, H, J, K = Movimiento de la mira
    • 4 = Rordar por el suelo
    • 7 = Recargar arma
    • 8 = Dispoaro/Acción en juego
    • W, A, S, D = Los 4 slots de las armas



  • Redefinir controles para, por ejemplo, utilizar un gamepad/joystick conectado a la consola y que no coincidan los controles del D-PAD del joystick con el del dispositivo.
  • Dar soporte completo para mapear controles en emuladores y programas que no tengan soporte nativo para Joysticks
  • Dar soporte para mapear controles a 2 jugadores en emeuladores (uno utilizando la consola y otro un joystick)



El modo Touch

(Definición de un swipe, dentro de la herramienta de mapeo)

Incorpora la nueva función de swipes para los controles. con este neuvo tipo de función, se pueden ejecutar acciones que antes no era posible con los mapeos existentes, como por ejemplo:


  • Varios FPS utilizan la función de swipe para cambiar entre armas u opciones "in game". Ahora, juegos como Nova3, MC4 o similares, es posible cambiar armas con un botón de la consola.
  • Temple Run Brave: Juegos como este ahora se pueden jugar con control completo de swipes, además de poder asignar acciones como disparar flechas a los objetivos laterales del camino, asignando estos movimientos a botones directamente.
  • Need for Speed Most Wanted: Para activar el nitro era necesario realizar un swipe en el borde de la pantalla. Ahora se puede activar mediante un botón.
  • Captain America: Ahora se puede jugar este título con soporte completo de movimiento mediante controles de la consola (El juego está completamente basado en swipes para ejecutar acciones)


Además, se han incorporado mejoras en los algoritmos de punteros, mejorando los movimientos en juegos que utilizan este tipo de controlador. Juegos como Nova3, ahora giran de forma fluída y no existen "saltos" en los movimientos continuos de giro.



El modo Joystick


Con este nuevo modo, esposible configurar el driver para que se comporte como un dispositivo de joystick, y por tanto lo sjuegos con soporte nativo para este tipo de dispositivos habilitarán las funciones específicas.


Dead Trigger, mostrando la opción para configurar el Gamepad

Pantalla de configuración de acciones/botones del juego


La mayoría de los juegos de tipo "Tradicional" tienen soporte nativo para este tipo de controlador.

Los juegos y aplicaciones interpretarán qu eexiste un joystick/gamepad USB conectado al sistema, y lo utilizarán de forma nativa.

Además, este modo incorpora dentro de sus opciones:

(Calibración de sticks analógicos)


  • Calibración automática de los sticks: Con este método, el driver puede calcular las zonas muertas, y las zonas de activación del stick, y con esto mejorar la experiencia de uso de los mismos.
  • Calibración manual de los sticks (Modo avanzado): Con este modo, y si por alguna razón el modo automático no logra configurar adecuadamente el stick, es posible asignar los valores de calibración de forma manual.


La calibración de los sticks analógicos es muy importante, por que permite conseguir mejores resultados a la hora de utilizar este tipo de controles, además de que da una vida útil mas larga a estos componentes, puesto que si un stick empieza a fallar (no centra correctamente, o los rangos activos empiezan a disminuír) siempre se pueden re-calibrar para seguir utilizándolos, aunque con un poco menos de precisión que si los sticks fuesen nuevos (evidentemente, ya que existe un desgaste de los mismos que no permiten obtener valores precisos, y hay que "relajar" la lectura/interpretación de los valores proporcionados por el hardware)

Si tienes un stick que sientes que se queda "atascado" hacia algún lado, es posible que esta nueva opción te ayude a solucionar el problema, si es que se trata de una mala calibración del stick.

(Dead Trigger con el driver en modo Joystick)


Posibilidad de combinar los modos


Al crear un nuevo diseño/layout para el Tincore Driver (utilizando la herramienta de mapeo Tincore Keymapper), es posible utilizar los 3 dispositivos de forma combinada, para poder obtener los resultados esperados.

Así, es posible utilizar funciones de joysticks en juegos, y a la vez asignar algún botón para realizar swipes o simplemente "tocar" alguna parte en pantalla.


Sobre los cambios en la herramienta de mapeo

(Simplifiación de la definición del área de tipo puntero)

La herramienta ha tenido una serie de cambios orientado a simplificar el uso e interacción con el usuario.


  • Se han simplificado controles, por ejemplo, los de tipo puntero ya no es necesario definir el punto orígen del movimiento.
  • Algunos elementos se pueden redimensionar simplemente con un gesto de Pinch In/Pinch Out (Pellizcos)
  • El panel desplegable para configurar elementos, se desplaza automáticamente a una zona que no "moleste", si estamos moviendo un objeto por la pantalla.

(Redimensión de un D-PAD, mediante pinch in/out)

Estos cambios, junto con otros como el resaltado de objetos seleccionados, hacen que el uso de esta herramienta sea mas simplificado e intuitivo, de cara a la configuración de la interfaz de juego (layout) por parte del usuario.


Problemas conocidos


Existen algunos problemas conociddos, que se esperan solucionar en el siguiente release del firmware.


  • Al crear un nuevo Layout con la herramienta de mapeo, la primera vez se carga incorrectamente (los controles se agrupan hacia el centro horizontal de la pantalla).

Solución: El layout se almacena correctamente (al darle al botón "Save"), por lo que basta con cargar nuevamente el layout para solucionar el problema.


  • Dead Trigger presenta problemas cuando se utiliza el modo joystick, y se toca la pantalla (el juego deja de responder, o responde incorrectamente)

Solución: Es un problema del propio juego, y ya ha sido reportado a los desarrolladores.


  • Utilizando un layout de Keyboard, configurando un stick en joystick, al mantener presionada alguna tecla Keyboard, ésta empieza presionarse sola si movemos el stick (Joystick)

Solución: En realidad no es un problema del driver, sino que es algo del propio Android. Al utilizar un dispositivo de teclado y joystick al mismo tiempo, Android debe "saltar" entre un dispositivo y otro para poder reaccionar a ambos, y producto de este "salto" es que los botones de tecla (keyboard) que se encuentran presionados, empiezan a presionar y soltar en función del dispositivo que está respondiendo a los eventos.
Se sugiere utilizar en la medida de lo posible el modo joystick sin mezclar con los otros modos.


  • El modo puntero a veces no responde adecuadamente cuando se intenta mover de forma precisa (ligeramente) la mira en juegos FPS.

Solución: Es un problema que en muy pocas ocasiones se presenta. En versiones posteriores se espera poder solucionar.


Enlaces de descarga

TheXSample - SXELROM v2.0

Parche velocidades y Swap

Parches de actualización


2013-04-02 : Patch_Xsample_2.1.rar


Change log:




  • Tincore Keymapper


    • Autoprofiles. Al activar esta opción, el keymapper cargará automáticamente los perfiles, según la aplicación que se encuentre ejecutando en primer plano.
    • Selección de Inversión de EJES
    • Dialogos de listas de seleccion de opciones.
    • Eliminacion de controles innecesarios
    • Mejoras en UI (simplificacion de la interfaz)
    • Mejor integracion Holo
    • Iconos escalables
    • Selección de componentes al pulsar controles físicos
    • Renombrado de perfiles
    • Exportación de perfiles *
    • Importación de perfiles *

* Con estas opciones se abre la posibilidad de poder compartir perfiles de aplicaciones entre usuarios.


  • Tincore Driver
    • Aceleracion del driver
    • Inversión de EJES
    • Soporte de accelerometro *
    • Corrección de algunos bugs
    • Soporte para calibración específica del D-PAD **


* Ahora es posible asignar la inclinación horizontal o vertical a alguno de los ejes de los sticks. Con esta opción, se pueden jugar muchos títulos de N64 o PSX (de preferencia en emuladores que tienen soporte para analógicos), y utilizar la inclinación de la consola para controlar la acción en los juegos. Ejemplo: Mario Kart 64 se puede jugar en un "Wiimote Style", o Forsaken, se puede controlar mediante la inclinación de la tablet.

** El D-PAD de la consola, como ya se ha explicado es analógico, pero que se comporta como digital.
Existe un problema con el D-PAD y es que su centro (posición neutra) está desplazado hacia la derecha, por lo que la calibración del analógico puede influír en la respuesta del D-PAD, por ejemplo, que en algunos juegos o emuladores no responda correctamente hacia algún lado, generalmente hacia la izquierda.

Para evitar esto, en juegos/emuladores que se utilice específicamente un D-PAD en vez de un analógico, se sugiere recalibrar el driver para usar el D-PAD como entrada principal. Para esto, basta con abrir la herramienta y seleccionar "Calibrate" en el Stick 0, y utilizar el D-PAD para calibrar el dispositivo.

Nota: La calibración se almacena en el perfil del juego, por lo que no afectará a otros perfiles creados con el keymapper.

Requisitos

Tener instalada la rom TheXSample-SXELROM v2.0 antes de instalar este parche.

Instrucciones


  • Descomprimir el rar en la raíz de la microSD
  • Arrancar la consola con [Vol+] y [POWER] y seleccionar "Apply upadte from EXT".
  • Seleccionar el parche que se desea aplicar:
    • Patch1200
    • Patch1320
    • Patch1500

La app se instala en data, esto es, como aplicación de usuario, y elimina la anterior.


Agradecimientos


Mucha gente participa de forma directa e indirecta en el desarrollo de esta Rom: failrunner, Christian Troy, fun_, LomaX, fuser-invent, Tincore, Namco69, Yoshi41, Skelton, Deen0X y más que se quedan por nombrar.

Especial mención para Durruti, fuente de inspiración en especial para Skelton y Tincore

Espero que esta rom sea del agrado y utilidad de quienes la deseen probar.

Zalu2!

Deen0X / TheXSample

15 comentarios:

  1. Gracias desde Chile, lo pondré a prueba cuando llegue a casa y te cuento.

    ResponderEliminar
  2. Gracias Hermano por tu excelente trabajo!

    No veo la hora de llegar a casa y probarlo!

    Un abrazo fuerte desde Mexico!

    HL

    ResponderEliminar
  3. great work!
    the screen problem still exists? changing 60Mhz to 50Mhz when the unit goes into standby mode? thanks!

    ResponderEliminar
  4. Hi Kmilloz

    yes, is a random problem that the team is researching for a solution. maybe it is a problem in the screen driver, but we are not sure about this.

    if we found how to solve this, for sure we release a firmware or patch.

    ;)

    ResponderEliminar
  5. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  6. After upgrading, these emulators do not work: 2600.emu, md.emu, pce.emu, snes9x ex, I tested several versions, the physical controls do not work ... The games carry,but the controls, they do not work ... Could anyone help me? Thank you.

    ResponderEliminar
  7. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  8. updated emulators and used the "noadc_keytouch" and now all work! Thank you for the tip Skelton.

    ResponderEliminar
  9. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  10. Hola Deen0X! ¿Cómo se hace funcionar los botones físicos de la consola? Voy a intentar explicarlo de la forma más clara posible para hacerme entender a ver si resuelves mi problema porque parece que soy el único que lo tiene.
    Instalé la v2.0 de SKELROM.
    No he hecho nada más. Pongo el RetroArch, el emulador de Snes por ejemplo, cargo un juego (ROM) y los botones físicos no van. Me aparece el mensaje HID 7: noadc_keytouch, p:0 y solo puedo manejar los juegos con los botones en la pantalla.
    No sé si tengo que mapear con el Tincore pero yo quiero jugar principalmente a los juegos de 8 y 16 bits como una consola normal; es decir, con los botones físicos de un pad.
    Parece que al usuario vfd72 de HTCMania le pasaba algo similar pero se le solucionó.
    Me podéis ayudar? Gracias.

    ResponderEliminar
  11. Buenas Salvador

    Basicamente, tienes que abrir el Tincode Keymapper, seleccionar o , abrir el retroarch, ir a settings (en la esquina superior derecha) y buscar donde se definen las teclas.

    ahí tienes que definir cada tecla del emulador (DPAD UP, DOWN, BUTTON_X, etc) y luego de eso ya tendrás configurado retroarch para todos los emuladores.

    Zalu2!

    ResponderEliminar
  12. Hola Deen0X, solo comento para decir que todos mis anteriores problemas de estabilidad se han solucionado milagrosamente con esta actualización. Mil gracias al equipo y a ti por acercárnoslo y estar atento respondiendo los comentarios. En serio, muchas gracias! solo falta solucionar el problema del refresco de la pantalla al suspenderse y quedará perfecto!

    ResponderEliminar
  13. Amigo, podrias re subir los archivos de nuevo a algun lado, los links de todo lo relacionado a esta consola estan caidos. Saludos.

    ResponderEliminar
  14. Saludos desde Colombia, tengo una consola VERTIZE nwg.10 muy similar a la JXD S7800 que se queda en el logo al encenderlo.
    Algún consejo que tengan a bien ofrecerme?
    Gracias.

    ResponderEliminar