Оказывается, что z88dk определяет шрифты только до 127, с 128 нужно задать самому
. Я взял из z88dk\examples\console\dstar_gencon.c код для простого вывода доп. символов 0x80 - 0x83:
#include <stdio.h>
#include <font/font.h>
#include <sys/ioctl.h>
static unsigned char udgs[] = {
0b01111110, // Wall
0b10101001,
0b11000111,
0b10110001,
0b11001011,
0b10100101,
0b10101001,
0b01111110,
0b00000000, // bubble
0b00000000,
0b00011000,
0b00100100,
0b00100100,
0b00011000,
0b00000000,
0b00000000,
0b00000000, // movable ball
0b00111100,
0b01110110,
0b01111010,
0b01111010,
0b01111110,
0b00111100,
0b00000000,
0b00000000, // movable block
0b01111110,
0b01000010,
0b01000010,
0b01000010,
0b01000010,
0b01111110,
0b00000000};
void print(const char *name, void *font);
int main() {
void *param = &udgs;
console_ioctl(IOCTL_GENCON_SET_UDGS, ¶m);
printf("%c%c\n",1,32);
print("default", (void *)15616);
printf("Test \x80\x81\x82\x83");
getchar();
}
void print(const char *name, void *font)
{
console_ioctl(IOCTL_GENCON_SET_FONT32, &font);
printf("This is font %s\n",name);
for ( int i = 32 ; i < 128 + 4; i++ ) {
printf("%c",i);
}
printf("\n\n");
}
Компилировал как zcc +zx -vn -lndos fontexample.c -create-app -o fontexample.bin.
Вам остаётся в udgs добавить свою графику символов.
и File > Export as C include.