![]() |
Custom Fonts with ASM defb - Printable Version +- Forum (https://www.boriel.com/forum) +-- Forum: Compilers and Computer Languages (https://www.boriel.com/forum/forumdisplay.php?fid=12) +--- Forum: ZX Basic Compiler (https://www.boriel.com/forum/forumdisplay.php?fid=11) +--- Thread: Custom Fonts with ASM defb (/showthread.php?tid=820) |
Custom Fonts with ASM defb - Duefectu - 09-12-2017 Hola: Quiero utilizar un set de caracteres personalizados que tengo en formato defb, pero no encuentro como hacerlo funcionar: Code: REM Fuente personalizada Que estoy haciendo mal? Gracias por vuestra ayuda! Re: Custom Fonts with ASM defb - boriel - 09-12-2017 Duefectu Wrote:Hola:Esta bien. Es un buen truco usar lo que has hecho, pero tienes que declarar la SUB como FASTCALL. Así: Code: SUB FASTCALL Fuente() Así mismo, si usas PRINT, prueba los efectos de PRINT BOLD 1; y PRINT ITALIC 1; por si te sirven para algo. Re: Custom Fonts with ASM defb - Duefectu - 09-12-2017 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! Re: Custom Fonts with ASM defb - boriel - 09-12-2017 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 (<!-- m --><a class="postlink" href="http://zxbasic.net">http://zxbasic.net</a><!-- m -->) y el directorio examples/ que viene con el compilador, con un montón de ejemplos. |