Стал переделывать шырину буфера (на 40 байт на строку вместо 32-ух)
Заменил в этой строке на ld a,40

Сообщение от
ALKO
ld a,32 ; ну а вот и наше смещение
sub c ; теперь в A - смещение для строки
1 ; всё начинаем цикл
Затем процедура переброски буфера на экран:
Код:
VIRT_WIDE_ATTR_TO_SCR
halt
di
ld de,REAL_SCREEN
ld hl,MAIN_BUFF ; главный буфер
; ldir
LD B,24
WIDE_LOOP
push bc
ld bc,32
ldir
ld bc,8 ; 40 ширина буфера минус 32 область реального экрана - остаток
add hl,bc
pop bc
DJNZ WIDE_LOOP
ei
RET
Но почему-то позиция XY атрибутов начинается с косяком. То, что должно быть 0 по X, равняется 32-8.
И вместо отсечения - переход на следующую строку...
- - - Добавлено - - -
ааа.. кажется я поооонииил.. пока не уверен наверняка, но по-моему там сорс-дестинейшн адреса блитинга спрайтов нарушены (ибо я их изначально делал под запас буфера с вертикальным скроллом)