27 de febrero de 2013

Blog: Eliminando enlaces erróneos

Eliminando enlaces que no llevan a ninguna parte y ordenando un poco el bloque lateral... :-/

Máquina Arcade Gauntlet en Papel

Debido a los comentarios publicados en el Foro de ZonadePruebas acerca del clásico Gauntlet, he decidido publicar estas fotografías de mi máquina arcade hecha 100% en papel...

26 de febrero de 2013

Organizando la RAM del ZX

Estoy reorganizando la RAM para el juego que estoy escribiendo para ZX Spectrum.

Gracias a una hoja de cálculo puedo modificar el valor "inicial" de la memoria donde alojo todos los datos que necesito y así puedo ver qué tamaño consumo finalmente.

;D

25 de febrero de 2013

Código Fuente Convertidor UDG
(BASin > BAS2TAP)

TranslatorBASin es una sencilla utilidad para convertir el formato de los carácteres UDG de BASin "\*" a formato compatible con BAS2TAP "{*}".

Enlace de descarga. (RAR)

Utilización:

- Renombrar el fichero original a convertir como "intro.txt".
- Ejecutar Translator.exe
- La utilidad generará un fichero resultante "output.txt" con todos los carácteres UDG correctamente adaptados a formato compatible BAS2TAP.

Incluye el código fuente que puede ser recompilado con
GLBasic.

LISTADO:

GLOBAL PowerON=1
GLOBAL Check=0
GLOBAL Dato$=""
GLOBAL Linea$=""
GLOBAL Flag_Slash=0

Check=OPENFILE(1,"intro.txt",1)
IF Check=0 THEN END

OPENFILE(2,"output.txt",0)

WHILE PowerON=1

  IF ENDOFFILE(1)=1
    WRITESTR 2,Linea$
    CLOSEFILE 2
    CLOSEFILE 1
    END
  ENDIF

  READSTR 1,Dato$,1

  IF ASC(Dato$)=92 THEN Flag_Slash=1

  IF ASC(Dato$)=13
    IF Flag_Slash=0
      WRITESTR 2,Linea$
      WRITEBYTE 2,13
      WRITEBYTE 2,10
      READSTR 1,Dato$,1
      Linea$=""
      READSTR 1,Dato$,1
      Linea$=Linea$+Dato$
    ELSE
      Flag_Slash=0
      Parser(Linea$)
    ENDIF
  ELSE
    Linea$=Linea$+Dato$
  ENDIF

WEND

FUNCTION Parser: Texto$
  LOCAL Posicion=0
  LOCAL Caracter$=""
  LOCAL Letra$=""
  LOCAL Nueva_Linea$=""
  LOCAL Longitud=LEN(Texto$)
  WHILE Posicion<Longitud
    Caracter$=MID$(Texto$,Posicion,1)
    Posicion=Posicion+1
    IF ASC(Caracter$)=92
      Letra$=MID$(Texto$,Posicion,1)
      Posicion=Posicion+1
      Caracter$="{"+Letra$+"}"
    ENDIF

    Nueva_Linea$=Nueva_Linea$+Caracter$
  WEND

  Linea$=Nueva_Linea$
ENDFUNCTION

23 de febrero de 2013

Convirtiendo formato de cadenas UDG (BASin > BAS2TAP)

Para programar el ZX Spectrum estoy utilizando el Bloc de Notas. Luego ejecuto un fichero BAT que construye la cinta por medio de la utilidad BAS2TAP.

Cuando he realizado bastantes cambios en el código fuente, copio el documento original y lo pego en el programa BASin para poder renombrar el listado. Posteriormente vuelvo a cortar/pegar todo en mi documento txt.

Todo perfecto hasta que se utilizan UDG; BASin reemplaza el código "{a}" (en este ejemplo para escribir el carácter A del set de gráficos definibles por el usuario), por el código "\a".

Cuando vuelvo a construir la cinta, y debido a este cambio realizado, los gráficos que se muestran en pantalla NO corresponden con lo que debería ser.

Para corregir esto, podemos utilizar la opción REEMPLAZAR del Bloc de Notas, pero hay que hacerlo 21 veces, una por cada carácter UDG. Evidentemente esto es un engorro...

Para subsanar esto, he escrito una sencilla utilidad con GLBasic, que sustituye todos los carácteres "\*" por "{*}" que es lo que entiende correctamente BAS2TAP.

Próximamente pondré en el blog esta utilidad, así como su código fuente a disposición de todo aquel interesado en utilizarla.

18 de febrero de 2013

BAS2TAP-iOS en World of Spectrum

Martijn van der Heide, administrador y desarrollador de execelentes utilidades para el ZX Spectrum me envía un email informándome de que ha puesto en su FTP la utilidad BAS2TAP que recompilé para iOS.

Así que desde ya se puede descargar libremente esta utilidad alojada en WOS.

Enlace a BAS2TAP-iOS en Litiopixel.

Enlace a la página de utilidades en WOS.

15 de febrero de 2013

Enlazando con Retroinvaders

Retroinvaders, página de referencia en el mundo de los videojuegos, consolas, retroinformática, juegos antiguos y modernos (con aspecto de antiguos), cine,etc. ha tenido la amabilidad de invitarme a añadirme a su listado de blogs y así formar parte de su sitio como "aportador de RSS".

Tras recibir la invitación de José Zanni como webmaster del sitio, tenía pendiente el presentar a los seguidores de Litiopixel este nuevo enlace. Desde hace un tiempo, cada vez que publico un nuevo post en este blog, éste se publica automáticamente en Retroinvaders.

Blog muy recomendable, actualmente tiene la friolera de 222 sites enlazados... y con ellos, una cantidad ingente de información. De obligada lectura, por supuesto.

Gracias José ;D

Prueba pantalla de carga 1

Primeras pruebas de pantalla de carga para ZX Spectrum...

Tengo aún que pelearme con el tema de los atributos de color, aunque es posible que por temas del diseño, la versión final sea monocromo.


Imagen Original:

Imagen retocada con algunos FX:

Imagen convertida a tamaño ZX:

Muestra de carga en emulador:

6 de febrero de 2013

Optimizando la rutina de combate

Terminadas la rutina de carga del mapa; renderizado de pantallas y objetos; control de movimiento... tras realizar algunos retoques a los sprites utilizados, toca enfrentarse con el asunto de los combates.

Dispongo ya de un código bastante simple, pero quiero dedicar un poco más de tiempo en esta parte del programa ya que resulta ser uno de los apartados más peliagudos de un RPG ya que los combates tienen que resultar interesantes y sobre todo equilibrados.

4 de febrero de 2013

Sinclair BASIC.tmbundle en Textastic (iOS)

Quiero poder escribir código para el ZX de forma cómoda con el iPad, así que he estado buscando plugins para Textastic (iOS) que tengan declarado el lenguaje Basic del ZX.

He contactado con el creador del plugin (Andy Herbert) pero desafortunadamente ya no tenía copia de fichero, así que preguntando en diferentes foros finalmente lo he conseguido... ;D

Enlace al fichero: (Sinclair BASIC.tmbundle.rar)

Compatible con Textastic, Textmate, Sublime Text,....

1 de febrero de 2013

BAS2TAP para iOS (iPhone / Ipad)

Tras algunos días haciendo pruebas, por fin he conseguido instalar y compilar usando GCC en iOS.

Una de las primeras pruebas que se me ocurrió tras probar con un Hello World fué recompilar la utilidad BAS2TAP (ZX Spectrum). Esta utilidad convierte un fichero Basic en formato TAP (cinta), dejándolo disponible para cargar en un emulador.

Enlace a mi Dropbox con el fichero.

Hay que tener jailbreak en el dispositivo iOS donde se ejecute, he probado en el iPhone e iPad y funciona sin problemas, aunque desconozco si hay que tener instalado todo el tema de librerias, desarrollo, etc...

Instalación y uso:

-Descargar y descomprimir con el ipad, iFile va perfecto para este asunto.

-Debido a que es un programa de terminal, se ejecuta desde consola. Yo descargué MobileTerminal desde Cydia.

-Copiar en la misma carpeta el programa y el fichero fuente para pasar a cinta. En iFile recomiendo la carpeta /Inicio (icono izquierda) que es el path que nos encontramos al ejecutar el terminal.

Ejecución en terminal:

./bas2tap opciones CodigoFuente.bas NombreCinta.tap

Sí, hay que teclear el ./bas2tap, con punto y barra.

Para ver las opciones teclear simplemente ./bas2tap