Portan Doom en teléfonos basicos con chip Spreadtrum SC6531

enero 10, 2023 0 Comments

Doom port

Logran ejecutar doom en un celular basico

Doom ha dado de que hablar nuevamente y es que en este artículo hablaremos de un nuevo proyecto con este juego que ha logrado llegar a lugares que uno nunca hubiera pensado. Y es que gracias al esfuerzo y creatividad de muchos programadores se ha llevado la expresión «Si tiene pantalla, tiene Doom» hasta su máxima expresión.

El proyecto del que hablaremos hoy es parte del proyecto FPDoom y en el cual la novedad es que se preparó un port de Doom para teléfonos básicos basados en el chip Spreadtrum SC6531.

Para quienes desconoce de Doom deben saber que es considerado uno de los videojuegos pioneros de disparos en primera persona al presentar, en la época de las computadoras compatibles con IBM, características novedosas como gráficos 3D, espacialidad de tercera dimensión, juego en red multijugador y soporte para modificaciones

El código fuente de Doom se lanzó al público el 23 de diciembre de 1997. Aunque Doom se creó originalmente para DOS, el lanzamiento fue de la versión de Linux y el código fuente tuvo que ser portado de nuevo a DOS y a otros sistemas operativos.

El código fuente se publicó originalmente bajo una licencia propietaria que prohibía el uso comercial y no requería que los programadores proporcionaran el código fuente para las modificaciones que publicaron en formato ejecutable. A día de hoy, la mayoría de los source ports de Doom son de código abierto. La GPL de GNU requiere que los autores que usan código GPL en su software también liberen el código fuente modificado.

La idea de llevar Doom a estos equipos es debido a las más modificaciones del chip Spreadtrum SC6531 y sobre todo que estos ocupan aproximadamente una gran cantidad de mercado de teléfonos básicos en China, Rusia y otros países.

El chip se basa en el procesador ARM926EJ-S con una frecuencia de 208 MHz (SC6531E) o 312 MHz (SC6531DA), la arquitectura del procesador ARMv5TEJ. Y aunque todo suena demasiado bien, se menciona que el port tiene un alto grado de complejidad de portabilidad y que se debe a los siguientes factores:

  • No hay aplicaciones de terceros disponibles en estos teléfonos.
  • Pequeña cantidad de RAM: solo 4 MB (las marcas/vendedores a menudo enumeran esto como 32 MB, pero esto es engañoso, ya que se refieren a megabits, no megabytes).
  • Documentación cerrada (solo puede encontrar una fuga de una versión anterior e inferior), por lo que se extrajo mucho utilizando el método de ingeniería inversa.

Por el momento, solo se ha investigado una pequeña parte del chip: USB, pantalla y teclas, por lo que solo puedes jugar en un teléfono conectado a una computadora con un cable USB (los recursos para el juego se transfieren desde la computadora), y allí yampoco hay sonido en el juego.

En su forma actual, el juego se lanza en 6 de los 9 teléfonos probados basados ​​en el chip SC6531.

¿Como instalar Doom en SC6531?

Para los interesados en probar el proyecto, pueden seguir las instrucciones de compilación que se comparten en el siguiente enlace.

Para poner este chip en modo de arranque, se necesita saber qué tecla mantener durante el arranque (para el modelo F + F256, esta es la tecla «*», para Digma LINX B241 – la tecla «central», para F + Ezzy 4 – la tecla «1», para Vertex M115 – «arriba», para Joy’s S21 y Vertex C323 – «0»).

Para ejecutar el juego se menciona que se debe crear un directorio de trabajo workdir y colocar ahí el archivo de recursos de Doom, por ejemplo, doom1.wad de la versión shareware de Doom 1.

Posterior a ello se deben ejecutar los siguientes comandos en un script y luego conectar el teléfono:

./spd_dump --wait 300 fdl nor_fdl1.bin 0x40004000 fdl fpdoom.bin ram
cd workdir && ../libc_server -- --bright 50 --rotate 3 doom

–bright X es el brillo de la pantalla del teléfono (X = 0..100).
–rotate S[,K]es la rotación de la pantalla/teclado en unidades de 90 grados (-1 o 3 = -90, 1 = +90, etc.)

Se menciona que todas las pantallas LCD de este tipo de teléfonos son verticales, por lo que si tu equipo cuenta con una pantalla horizontal, eso significa es una pantalla LCD vertical colocada horizontalmente, por lo que se debe usar diferentes valores S y K.

Ademas de ello se pueden agregar opciones adicionales para Doom, por ejemplo doom -timedemo demo1.

Finalmente si estás interesado en poder conocer más al respecto sobre este port, asi como tambien la lista de modelos compatible, puedes consultar los detalles en el siguiente enlace.

 


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.