FAQ  •  Register  •  Login

Custom Fonts with ASM defb

<<

Duefectu

Posts: 2

Joined: Tue Sep 12, 2017 12:21 pm

Post Tue Sep 12, 2017 12:26 pm

Custom Fonts with ASM defb

Hola:

Quiero utilizar un set de caracteres personalizados que tengo en formato defb, pero no encuentro como hacerlo funcionar:

  Code:
REM Fuente personalizada
POKE UINTEGER 23606,@Fuente-256

SUB Fuente()
  ASM
    defb 0,128,128,64,23,.........
    defb ...
  END ASM
END SUB


Que estoy haciendo mal?

Gracias por vuestra ayuda!
<<

boriel

Site Admin

Posts: 1463

Joined: Wed Nov 01, 2006 6:18 pm

Location: Santa Cruz de Tenerife, Spain

Post Tue Sep 12, 2017 1:11 pm

Re: Custom Fonts with ASM defb

Duefectu wrote:Hola:

Quiero utilizar un set de caracteres personalizados que tengo en formato defb, pero no encuentro como hacerlo funcionar:

  Code:
REM Fuente personalizada
POKE UINTEGER 23606,@Fuente-256

SUB Fuente()
  ASM
    defb 0,128,128,64,23,.........
    defb ...
  END ASM
END SUB


Que estoy haciendo mal?

Gracias por vuestra ayuda!

Esta bien. Es un buen truco usar lo que has hecho, pero tienes que declarar la SUB como FASTCALL. Así:
  Code:
SUB FASTCALL Fuente()
  ASM
    defb 0,128,128,64,23,.........
    defb ...
  END ASM
END SUB

Esto debería funcionar. Prueba y me dices! :roll:
Así mismo, si usas PRINT, prueba los efectos de PRINT BOLD 1; y PRINT ITALIC 1; por si te sirven para algo.
<<

Duefectu

Posts: 2

Joined: Tue Sep 12, 2017 12:21 pm

Post Tue Sep 12, 2017 1:17 pm

Re: Custom Fonts with ASM defb

Gracias por tu ayuda @boriel

La verdad es que tenia un error en los defb, se me habían colado datos antes, por eso no me salían los caracteres correctos.
Por otra parte sin el FASTCALL, la dirección se desplaza 8 bytes, por lo que el poke debía ser "POKE UINTEGER 23606,@Font1-256+8".
Con el FASTCALL se queda en "POKE UINTEGER 23606,@Font1-256"

Por cierto, me encanta tu compilador. Me ha sorprendido la velocidad. He creado un juego en Assembler y estaba trabajando en uno en C con el Z88dk, pero este compilador de BASIC me ha alegrado bastante! :mrgreen:

Buen trabajo!
<<

boriel

Site Admin

Posts: 1463

Joined: Wed Nov 01, 2006 6:18 pm

Location: Santa Cruz de Tenerife, Spain

Post Tue Sep 12, 2017 2:57 pm

Re: Custom Fonts with ASM defb

Lo del desplazamiento de 8 bytes es porque si no usas FASTCALL, el compilador meterá código de gestión de la Pila: las funciones FASTCALL están pensadas para ser implementadas en ensamblador y sólo un parámetro (que irá en registros).
Si se pone más de un parámetro del 2º en adelante irían en la pila y saldrá un Warning.

Me alegro de que te guste el compilador!! Si echas algo en falta o tienes alguna duda no dudes en preguntar.
También tienes la wiki (http://zxbasic.net) y el directorio examples/ que viene con el compilador, con un montón de ejemplos.

Return to ZX Basic Compiler

Who is online

Users browsing this forum: No registered users and 1 guest

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.

phpBB SEO