Стал переделывать шырину буфера (на 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.
И вместо отсечения - переход на следующую строку...

- - - Добавлено - - -

ааа.. кажется я поооонииил.. пока не уверен наверняка, но по-моему там сорс-дестинейшн адреса блитинга спрайтов нарушены (ибо я их изначально делал под запас буфера с вертикальным скроллом)