/* * _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; }