посмотрел сорец на свежую голову
...и смотрю что какой то херни я наплел...
...
вот те мой вариант этой чистилки буфера
Код:
RenderBackground
lxi hl, NOBATTY+1
lxi de, BALLBUF
mvi b, 32
call Copy_B_Bytes_From_HL_To_DE
ret
например
Код:
RenderBackground
lxi hl, NOBATTY+1
lxi de, BALLBUF
mvi b, 32
RenderBackground_1
mov a, m
stax de
inc l
inc e
dcr b
jnz RenderBackground_1
ret
только нужно позабодтится чтобы буфера не пересекали границу 256 байт
я бы написал вообще так
только не говорите что вам жалко 128 байт для этого
Код:
RenderBackground
lxi hl, NOBATTY+1
lxi de, BALLBUF
dup 31 ;повторить 4 строки ниже 31 раз
mov a, m
stax de
inc l
inc e
edup
mov a, m
stax de
ret
посчитайте по тактам разницу
- - - Добавлено - - -
Помоему у вас сильно много оптимизации по памяти
каждый пол пчиха
у вас call туда call сюда
а там по 2 команді и jp еще куда то...
в итоге вместо полезного кода
выполняются одни call-ы и jp-ы...