Page 1 of 1

change default font with FZX in nirvana

Posted: Thu Aug 18, 2022 3:19 pm
by fupinet
Hello everyone! :) I have a project on nirvana and i was trying to change fonts and using fzx and i am not sure if it is compatible or not.

I have seen this example, even I get it to work it is impossible to use it with my nirvana project
https://github.com/z88dk/z88dk/blob/mas ... x_reader.c

the problem is that in the example it uses -startup=31 and in the nirvana project use -startup=1

my compile code is:

Code: Select all

zcc +zx -vn -SO3 -startup=1 -clib=sdcc_iy --max-allocs-per-node200000 nirvanadem.c btile.asm -o nirvanadem
appmake +zx -b nirvanadem_NIRVANAP.bin -o nirvanap.tap --noloader --org 56323 --blockname NIRVANAP
appmake +zx -b nirvanadem_CODE.bin -o nirvanadem.tap --noloader --org 32768 --blockname nirvanadem

The error is:

Errors in source file c:\z88dk199c\Lib\Config\\..\..\\libsrc\_DEVELOPMENT\target\zx\zx_crt.asm:

if I put the -startup=1 or -startup=5, no error comes out but it seems that it ignores the fzx

The files I'm using can be downloaded from Cristian's github, author of games created with nirvana.
He changes the fonts of his games using asm. Is it possible to use FZX to change the font in nirvana or is it better to use asm pointing to the address?
https://github.com/cmgonzalez/nirvanap_demo

Thank you!

Re: change default font with FZX in nirvana

Posted: Fri Aug 19, 2022 4:05 pm
by derekfountain
The nirvana example uses printf(), and hence requires stdio. To use FZX with stdio you need to use a stdio driver which supports it. There are two of those: number 8, which enables FZX but doesn't support control codes embedded in the output string, and number 9, which enables FZX and does support embedded control codes (and hence is larger).

The nirvanademo uses control codes for string positioning, so you want to use -startup=9 when building:

Code: Select all

zcc +zx -vn -SO3 -startup=9 -clib=sdcc_iy --max-allocs-per-node200000 nirvanadem.c btile.asm -o nirvanadem

Re: change default font with FZX in nirvana

Posted: Sun Aug 21, 2022 2:23 pm
by Timmy
fupinet wrote: Thu Aug 18, 2022 3:19 pm Hello everyone! :) I have a project on nirvana and i was trying to change fonts and using fzx and i am not sure if it is compatible or not.
Short answer: No.

Long answer:

It's probably, in theory, possible to use a combination of fzx and nirvana, as shown in https://worldofspectrum.org/forums/disc ... le-routine (somewhere middle on page, not the first post).

And if you're not using them at the same time and not in the same screen locations, it could work.

If you want try it, I'm certainly not going to stop you.

Re: change default font with FZX in nirvana

Posted: Sun Aug 21, 2022 3:05 pm
by derekfountain
Really Timmy? I tried the demo the OP linked to with stdio and -startup=9 and it seems to work fine:

Image

Re: change default font with FZX in nirvana

Posted: Sun Aug 21, 2022 5:23 pm
by Timmy
Oh, in that case it's all cool then. I was always told they were mostly incompatible.

Thanks!

Re: change default font with FZX in nirvana

Posted: Mon Aug 22, 2022 8:58 am
by fupinet
Thank you very much! It has worked for me.
I've tried various fonts and some have more height and sit a bit down. There are parameters with fzx offset.

and another question, testing without nirvana using -clib=ansi and setting #pragma define ansicolumns=42 could change the number of columns... is there a similar parameter in fzx or using -clib=sdcc_iy?

Re: change default font with FZX in nirvana

Posted: Thu Aug 25, 2022 3:03 pm
by derekfountain
fupinet wrote: Mon Aug 22, 2022 8:58 am and another question, testing without nirvana using -clib=ansi and setting #pragma define ansicolumns=42 could change the number of columns... is there a similar parameter in fzx or using -clib=sdcc_iy?
What exactly are you trying to achieve? Specifying a number of columns with proportionally spaced fonts doesn't seem to make a lot of sense?

Re: change default font with FZX in nirvana

Posted: Thu Aug 25, 2022 10:16 pm
by fupinet
sorry I didn't think they were proportional fonts, I was looking to change the default font and after trying the fonts by varying the column number I thought it could be done. And then I've seen that some are a little down, so I asked if there is a parameter to move the source

Re: change default font with FZX in nirvana

Posted: Sun Aug 28, 2022 8:50 am
by derekfountain
FZX is a font engine for the Spectrum:

https://spectrumcomputing.co.uk/entry/2 ... ectrum/FZX

It's been integrated into z88dk so you can use its features from C.

As you were unaware of that I suspect it's probably not what you should be using at the moment. :)

Re: change default font with FZX in nirvana

Posted: Mon Aug 29, 2022 1:07 pm
by fupinet
Hello, I have seen this documentation:

https://github.com/z88dk/z88dk/blob/mas ... cification

parameters:
height, tracking and lastchar


but I don't quite understand how they are used, I don't see an example code.

Re: change default font with FZX in nirvana

Posted: Wed Aug 31, 2022 8:33 am
by fupinet
hello, the fzx.lib file is not in the z88dk folder, is it necessary to include it for fzx to work? I have been testing and got the following error: file open: fzx.lib

Re: change default font with FZX in nirvana

Posted: Wed Aug 31, 2022 9:08 am
by derekfountain
I've never used FZX and I'm not sure how much knowledge there is about it in the z88dk world.

You could try starting a new thread with an appropriate subject line and your example code so far.