/*
 * clrscr_attr — очистить экран (80×32) пробелами с заданным атрибутом.
 * ESTEX CLEAR ($56): A=символ-заполнитель, B=атрибут, DE=верхний левый
 * угол, H=строк, L=колонок.
 */

#include "_conio.h"

void clrscr_attr(uint8_t attr) __naked
{
    (void)attr;
    __asm
        push  ix
        ;; SDCC __sdcccall(1): первый uint8_t аргумент в A.
        ld    b, a                  ; B = атрибут (цвет заливки)
        ld    de, #0x0000           ; верхний левый угол
        ld    hl, #0x2050           ; H=32 строки, L=80 колонок
        ld    a, #0x20              ; заполнение пробелом
        ld    c, #0x56              ; ESTEX CLEAR
        rst   #0x10
        pop   ix
        ret
    __endasm;
}
