/* * gfx_load_default_font — забрать активный системный знакогенератор * через BIOS WIN_GET_ZG (fn 0xB8) в _gfx_font_buf и включить его. */ #include "../_bgi.h" /* BIOS WIN_GET_ZG (0xB8): DE = приёмник, возвращает 2 КБ. */ static void bios_get_zg(uint8_t *dest) __naked { (void)dest; __asm push ix ; BIOS клобберит IX ex de, hl ; DE = dest (аргумент пришёл в HL) xor a ; шрифт 0 (системный) ld c, #0xB8 rst #0x08 pop ix ret __endasm; } void gfx_load_default_font(void) { bios_get_zg(_gfx_font_buf); _gfx_font_ptr = _gfx_font_buf; _gfx_font_loaded = 1; }