/*
 * _bgi_begin — открыть W3-сессию для пакетного рисования: DI, сохранить
 * текущую страницу W3 и замапить _gfx_bank (видеобанк 0x50..0x5F).
 * Композитные примитивы обрамляют одной парой _bgi_begin/_bgi_end весь
 * внутренний цикл — W3-танец оплачивается один раз на операцию, а не
 * на пиксель.  НЕ реентерабельно (сейв в _gfx_saved_w3): между begin и
 * end IRQ выключены.
 *
 * Real код (поглощён из старого libc/gfx/_gfx_w3_video_begin.c) — не
 * обёртка.  Mode-agnostic: использует только _gfx_bank/_gfx_saved_w3.
 */
#include "../_bgi.h"

void _bgi_begin(void) __preserves_regs(b,c,d,e,h,l) __naked 
{
    __asm
        in    a, (#0xE2)
        ld    (__gfx_saved_w3), a
        ld    a, (__gfx_bank)
        out   (#0xE2), a
        ret
    __endasm;
}
