/*
 * gfx_set_visible_page — выбрать видимую страницу (ESTEX $54 SELPAGE).
 *
 * Прямой OUT в порт 0xC9 бит 0 переключил бы регистр, но не уведомил
 * бы display-учёт DSS — экран остаётся в рассогласованном состоянии
 * (один из свопов показывается чёрным).  Через syscall DSS доволен.
 */

#include "../_bgi.h"

void gfx_set_visible_page(uint8_t page)
{
    _gfx_visible_page = page & 1;
    __asm
        push  ix
        ld    a, (__gfx_visible_page)
        ld    b, a                       ; B = страница 0/1
        ld    c, #0x54                   ; ESTEX SELPAGE
        rst   #0x10
        pop   ix
    __endasm;
}
