Jump to content

touchHLE 0.2.3

¿Quieres enterarte al momento de las nuevas descargas? Síguenos en Twitter, Mastodon o Threads!

touchHLE es un emulador de alto nivel (HLE) de aplicaciones del iPhone OS escrito en Rust para macOS, Windows y Android.

Como HLE, touchHLE es radicalmente diferente de un emulador de bajo nivel (LLE) como QEMU. El único código que ejecuta la CPU emulada es el binario de la aplicación y un puñado de librerías; touchHLE ocupa el lugar del iPhone OS y proporciona sus propias implementaciones de los frameworks del sistema (Foundation, UIKit, OpenGL ES, OpenAL, etc).

2023-03-07-touch-n-go-lite-for-website-3.webp

El objetivo de este proyecto es ejecutar juegos de los primeros días de iOS. Hasta ahora sólo se han probado aplicaciones para iPhone/iPod touch para iPhone OS 2.x. La compatibilidad con aplicaciones iOS modernas/de 64 bits no es explícitamente un objetivo, y es poco probable que se priorice la compatibilidad con aplicaciones que no sean juegos debido a su complejidad. Por otro lado, es probable que en el futuro intentemos dar soporte a aplicaciones para algunas de las versiones de 32 bits más recientes (especialmente 3.x y 4.x) y para el iPad. También es posible que se intente dar soporte al iPhone OS 1.x.

Exención de responsabilidad

Este proyecto no está afiliado ni respaldado por Apple Inc. en modo alguno. iPhone, iOS, iPod, iPod touch y iPad son marcas comerciales de Apple Inc. en Estados Unidos y otros países.

Utilice touchHLE únicamente para emular software que posea legalmente.

Plataformas compatibles

touchHLE ha sido probado y se considera compatible con x64 Windows y x64 macOS. Puede que sea posible compilarlo en Linux y en algunos sistemas AArch64 (al menos una persona lo ha conseguido), pero de momento no ofrecemos garantías. Si eres usuario de Apple Silicon Mac: no te preocupes, la versión x64 de macOS funciona con Rosetta.

Problema conocido en macOS: fuga de memoria de aproximadamente 0,2 MB/segundo (juegos a 30 fps) o 0,4 MB/segundo (juegos a 60 fps). Se han descartado todos los posibles culpables obvios en el propio emulador, por lo que podría tratarse de un problema en el propio macOS, SDL2 o alguna otra dependencia. Afortunadamente, es lo suficientemente lento como para que no suponga un problema en la mayoría de las sesiones de juego, pero puede que quieras vigilarlo.

Las arquitecturas que no sean x64 y AArch64 no están soportadas, y es poco probable que esto cambie.

Sería deseable eventualmente soportar Android. Probablemente no sea demasiado trabajo.

Métodos de entrada:

  • Para la entrada táctil simulada, hay dos opciones:
  • Ratón/trackpad (tocar/mantener/arrastrar pulsando el botón izquierdo del ratón)
  • Cursor virtual usando el stick analógico derecho de un mando de videojuegos (tocar/mantener/arrastrar pulsando el stick o el botón derecho del hombro).
  • Para la entrada simulada del acelerómetro (controles de inclinación), actualmente se requiere un mando de juego con un stick analógico izquierdo. El soporte real del acelerómetro llegará pronto, pero no está en las primeras versiones.

Utilización

Necesitarás una aplicación que puedas ejecutar. Tenga en cuenta que el binario de la aplicación debe ser descifrado para ser utilizable.

Por ahora no hay interfaz gráfica de usuario. Si eres usuario de Windows y no estás familiarizado con la línea de comandos, estas instrucciones pueden resultarte útiles:

  • Lo más fácil y rápido es arrastrar y soltar el archivo .ipa o la carpeta .app de la aplicación sobre touchHLE.exe.
  • Para configurar las opciones, edite el archivo touchHLE_options.txt. Para obtener una lista de opciones
    • Mantenga pulsada la tecla Mayús y haga clic con el botón derecho del ratón en el espacio vacío de la ventana de la carpeta.
    • Haga clic en "Abrir con PowerShell".
    • Escriba .\touchHLE.exe --help y pulse Intro.
  • También puedes ejecutar aplicaciones directamente desde la línea de comandos:
    • Mueva el archivo .ipa o el paquete .app a la misma carpeta que touchHLE.exe.
    • Mantenga pulsada la tecla Mayús y haga clic con el botón derecho del ratón en el espacio vacío de la ventana de la carpeta.
    • Haga clic en "Abrir con PowerShell".
    • Escriba .\touchHLE.exe "TuNombreDeAppAquí.ipa" (o .app según corresponda) y pulse Intro. Si desea especificar opciones, añada un espacio después del nombre de la aplicación (fuera de las comillas) y, a continuación, escriba las opciones, separadas por espacios.

Actualmente la detección de idioma no funciona en Windows. Para cambiar la preferencia de idioma de la aplicación, puede escribir SET LANG= seguido de un código de idioma ISO 639-1 y pulsar Intro antes de ejecutar la aplicación en la línea de comandos. Algunos códigos de idioma habituales son: en (English), de (Deutsch), es (Español), fr (français), it (italiano) y ja (日本語). Ten en cuenta que es la propia aplicación la que determina qué idiomas son compatibles, no el emulador.

Todos los datos guardados por la aplicación (por ejemplo, las partidas guardadas) se almacenan en la carpeta touchHLE_sandbox.

Si el emulador se bloquea casi inmediatamente al ejecutar un juego que aparece en la lista de juegos compatibles, comprueba si tienes activada alguna superposición, como la superposición de Steam, la superposición de Discord, el servidor de estadísticas de RivaTuner, etc. Lamentablemente, por muy útiles que sean estas herramientas, funcionan inyectándose en otras apps o juegos y no siempre limpian después de sí mismas, por lo que pueden romper touchHLE... no es culpa nuestra. 😢 Actualmente sólo RivaTuner Statistics Server se sabe que es un problema. Si encuentras otra superposición que no funciona, por favor dínoslo.

touchHLE es una aplicación creada por hikari_no_yume.


Que novedades incluye la versión 0.2.3   See changelog

Released

Compatibilidad:

  • Nuevas aplicaciones que funcionan: Dungeon Hunter, Crystal Defenders: Vanguard Storm, Zombie Infection, Gangstar: West Coast Hustle, Asphalt 4: Elite Racing, Prince of Persia: Warrior Within, Resident Evil 4: Mobile Edition, Command & Conquer: Red Alert, SimCity, Asphalt 5, Cut the Rope, Skater Nation, Iron Man 2, Shrek Forever After, Spore Origins, Defender Chronicles, Real Racing, Tom Clancy's Splinter Cell: Conviction, Assassin's Creed, N.O.V.A. Near Orbit Vanguard Alliance, Brothers in Arms 2: Global Front, Ferrari GT: Evolution, Castle Frenzy, Hero of Sparta 2, Hero of Sparta, Bridge Odyssey, Terminator Salvation, Brothers In Arms: Hour Of Heroes, Crusade Of Destiny, Arvale, Battlefield: Bad Company 2, Ms. PAC-MAN, Dark Nebula, FIFA 10, Crash Bandicoot Nitro Kart 2, Driver, Sacred Odyssey: Rise of Ayden, Nanosaur 2, Cro-Mag Rally, Bugdom 2.

Mejoras en el soporte de la API:

  • Se han realizado diversas aportaciones pequeñas.

  • UITextField ahora admite la entrada de texto real con un teclado. En Windows y macOS se utiliza el teclado físico, mientras que en Android se realiza mediante el teclado de software del sistema.

  • Se han añadido implementaciones parciales de UIScrollView y UITextView.

  • Core Animation y UIKit ahora admiten transformaciones afines, lo que permite rotar elementos de la interfaz, una función necesaria para varios juegos. Se ha de tener en cuenta que la autorrotación aún no es compatible.

  • Se ha añadido soporte parcial para animaciones explícitas de Core Animation.

  • La biblioteca dinámica libz ya está disponible, compilada desde el código fuente utilizando una cadena de herramientas de código abierto limpia.

  • ALAC y Microsoft IMA ADPCM ahora son compatibles en Audio Toolbox, con las mismas salvedades que otros códecs comprimidos.

  • Se ha cambiado a las versiones ARMv7 en lugar de ARMv6 de libstdc++ y libgcc.

  • Se ha añadido soporte para ciertos cambios en el formato binario de iPhone OS 3.1 (las aplicaciones de iPhone OS 3.1 todavía se consideran no compatibles).

  • Se ha incluido soporte limitado para el modo multijugador local a través de Wi-Fi en algunos juegos.

Usabilidad:

  • Se han añadido o mejorado las opciones por defecto para varios juegos.

  • El selector de aplicaciones cuenta ahora con una función de "Opciones rápidas". Esto proporciona una forma más rápida y sencilla de configurar algunas opciones comunes.

  • Los iconos de las aplicaciones en el selector ahora se ordenan por el nombre visible de la aplicación, sin distinguir entre mayúsculas y minúsculas.

  • El acelerómetro (controles de inclinación) ahora puede simularse mediante un ratón, en lugar de un mando de juegos o un acelerómetro real. Basta con mantener pulsado el botón derecho del ratón y mover el cursor.

  • Se ha añadido la nueva opción --disable-analog-stick-tilt-controls para desactivar el uso de los sticks analógicos del mando de juegos en la simulación del acelerómetro. Esto resulta útil en dispositivos que tienen tanto un mando integrado como un acelerómetro real, ya que touchHLE, por defecto, solo utilizará el acelerómetro real si no se detecta ningún mando.

  • Las compilaciones y lanzamientos de touchHLE para Android ahora tienen un icono y metadatos de versión significativos. También utilizan ahora un nombre de paquete diferente para las versiones preliminares frente a las versiones finales, lo que permite instalarlas de forma simultánea.

  • Las versiones de touchHLE para macOS ahora se presentan como un paquete de aplicación (directorio .app) en lugar de un archivo "ejecutable de Unix" básico. Esto debería solucionar los problemas que algunos usuarios tenían al ejecutar touchHLE fuera de un terminal, y permite colocar la aplicación en la carpeta Aplicaciones como cualquier otra app gráfica. Para ello, los datos de usuario (aplicaciones, opciones, etc.) se almacenan ahora en "Application Support" en lugar de en el directorio actual, y los archivos incluidos (fuentes, dylibs, etc.) forman parte ahora del paquete de la aplicación. Si se prefiere el diseño antiguo, todavía se puede obtener si se extraen todos los archivos del paquete.

  • El botón del "Gestor de archivos" en Android ahora funciona de forma más fiable, especialmente la primera vez que se pulsa.

  • Se ha añadido la nueva opción --force-composition=, que es una solución alternativa que puede resolver problemas de renderizado en algunos juegos, a costa del rendimiento. En algunos juegos se aplica mediante las opciones por defecto.

  • La mayoría de los errores que causan el cierre de touchHLE ahora generan un cuadro de mensaje gráfico, en lugar de que el mensaje de error solo se encuentre en el registro.

  • touchHLE ahora escribe los mensajes de registro en un archivo en todas las plataformas, no solo en Android. El archivo ha pasado de llamarse log.txt a touchHLE_log.txt.

  • Se han añadido dos nuevas opciones para el manejo de la entrada del stick analógico (--stick-to-touch=) y la cruceta de 8 direcciones (--dpad-to-touch=) a través de un mando de juegos.

Calidad:

  • Se ha corregido un problema en algunos teléfonos Android donde el acelerómetro no se podía utilizar.

  • Se ha corregido el multi-touch en algunos juegos.

  • Los iconos de las aplicaciones ahora se muestran con un brillo satinado cuando es necesario.

  • Los iconos y las etiquetas de las aplicaciones en el selector se muestran ahora con desplazamientos de píxeles enteros, lo que los hace más nítidos y simétricos.

Otros:

  • La decodificación de MP3 ahora utiliza Symphonia en lugar de dr_mp3. No se espera que esto afecte a la compatibilidad.

No te pierdas nada, síguenos en Twitter, Mastodon o Threads!
Preguntas, aportes y peticiones en el foro.

  • Contenido similar

    • Por Dekuwa
      NTAR es la biblioteca de Archivado y Recuperación de Trazas de Red. El objetivo principal de NTAR es proporcionar una forma extensible de almacenar y recuperar trazas de red en sistemas de almacenamiento masivo.
      El formato de archivo NTAR incluye soporte para guardar diversos detalles por captura y por paquete ("metadatos") de una manera sencilla pero potente.
      NTAR implementa un nuevo estándar de volcado que pretende superar los límites del formato de volcado actual de libpcap/WinPcap, permitiendo al usuario guardar paquetes procedentes de múltiples interfaces y diferentes enlaces de datos en un único archivo de traza.
    • Por Dekuwa
      PPSSPP puede ejecutar y reproducir juegos de PSP en Windows en resolución Full HD. Incluso puede mejorar las texturas que de otro modo serían demasiado borrosas, ya que fueron creadas para la pequeña pantalla de la PSP original.
      Incluso en PCs modernos, a menudo se puede ejecutar al doble de la resolución original.

      También hay versiones para Android, Switch, Xbox 360 o Xbox One.
      PPSSPP es un proyecto fundado por Henrik.
    • Por Dekuwa
      PPSSPP puede ejecutar y reproducir juegos de PSP en Android en resolución Full HD. Incluso puede mejorar las texturas que de otro modo serían demasiado borrosas, ya que fueron creadas para la pequeña pantalla de la PSP original.
      Incluso en teléfonos y tabletas Android modernos, a menudo se puede ejecutar al doble de la resolución original.

      También hay versiones para Windows, Switch, Xbox 360 o Xbox One.
      PPSSPP es un proyecto fundado por Henrik.
       
    • Por Dekuwa
      PKHeX es un editor de partidas guardadas para los juegos de la serie principal de Pokémon. Con él, los usuarios pueden manipular varios tipos de archivos de guardado, incluidos: .sav, .dsv, .dat, .gci, .raw y .bin.
      PKHeX también puede leer y escribir archivos .pk, que son archivos de Pokémon individuales, y archivos .pgt, .pcd, .pgf y .wc, que son archivos de Regalo Misterioso.

      PKHeX for macOS es una aplicación de macOS creada utilizando Wineskin. Por lo tanto, no es un port nativo de PKHeX. Mediante el uso de Wineskin, podemos recrear un entorno donde los archivos ejecutables funcionen en macOS.
      Todas las funciones del programa original deberían funcionar en esta aplicación.
      PKHeX for Mac ha sido creado por Kaphotics.
    • Por Dekuwa
      360Controller es un controlador que hace compatible el mando de Microsoft Xbox 360 en la plataforma Mac OS X, incluyendo el acceso a los motores de vibración y a los LED.
      Incluye un complemento para el Apple Force Feedback Framework para que algunos juegos puedan activarlos, junto con un Panel de Preferencias que permite comprobar que todo se ha instalado correctamente.
      Se admiten tanto los mandos de 360 con cable conectados por USB como los mandos inalámbricos conectados a través del Wireless Gaming Receiver para Windows.
      Instalación
      Simplemente complete el paquete de instalación para instalar el controlador. El instalador recomendará reiniciar; si no lo hace, el controlador solo se podrá utilizar si el mando ya está conectado o si se conecta en el plazo de un minuto tras finalizar la instalación.
      Uso
      El controlador expone un mando de juego estándar con una serie de controles habituales, por lo que cualquier juego que admita dispositivos de juego debería funcionar. En algunos casos, esto puede requerir una actualización del fabricante del juego o una versión parcheada.
      El Panel de Preferencias utiliza los entornos de trabajo estándar de Mac OS X para acceder a dispositivos HID y a las funciones de Force Feedback, por lo que debería ser una buena prueba de que la instalación es funcional.
      360Controller ha sido creado por Colin Munro.
      ACTUALIZACIÓN: Puede encontrar una versión mejorada, con soporte para el mando de Xbox One, aquí: Xbox Controller Driver for macOS.
×
×
  • Crear nuevo...