/* * p2_platform.c — пакетный координатный вывод screen model через ESTEX. * * WINREST 5Ah не принимает идентификатор BIOS-окна: D/E/H/L задают * абсолютный прямоугольник активной текстовой страницы, B:IX — источник. * ABI SDCC __sdcccall(1) подтверждён P1-пробой. */ #include #include "p2_screen.h" void p2_winrest(uint8_t row, uint8_t col, uint8_t height, uint8_t width, uint8_t page, uint16_t offset) __naked { (void)row; (void)col; (void)height; (void)width; (void)page; (void)offset; __asm ld iy, #2 add iy, sp ld d, a ld e, l push ix ld l, 3 (iy) ld h, 4 (iy) ld bc, #0xC000 add hl, bc push hl pop ix ld h, 0 (iy) ld a, 1 (iy) ld l, a ld a, 2 (iy) ld b, a ld c, #0x5A di rst #0x10 ei pop ix pop hl inc sp inc sp inc sp inc sp inc sp jp (hl) __endasm; }