/* * _videomode_raw_set — установить видеорежим (ESTEX SETVMOD $50), * БЕЗ валидации класса режима. Публичный settextmode (conio) * оборачивает его text-only проверкой; gfx_init/gfx_done зовут * напрямую, чтобы входить В графические режимы. * Возврат: 0 или -1 (errno из кода ESTEX). */ #include #include int _videomode_raw_set(uint8_t mode) __naked { (void)mode; __asm ;; SDCC __sdcccall(1): единственный uint8_t уже в A. push ix ld bc, #0x0050 ; ESTEX SETVMOD (B=0 (страница), C=0x50) rst #0x10 jr c, _vmr_err ld de, #0 pop ix ret _vmr_err: call __errno_set ld de, #-1 pop ix ret __endasm; }