Jak na odkurzanie nie jest źle
Mam tylko jedną sugestię - jeśli wolna pamięć nie przeszkadza to zamiast LDIR używaj zestawu LDI zwłaszcza tam, gdzie to ma znaczenie dla czasu wykonania. Nie wiem czym assemblujesz - w pasmo kod scrollujący cały blok atrybutów poprawiłbym tak:
screen_scroll:
ld hl, APOS + 1
ld de, APOS
; ld bc, 16*32-1
; ldir
rept 16*32-1
ldi
endm
ret
Kod się wydłuża, ale dla każdego (poz ostatnim) transferowanego bajtu oszczędzasz 5 taktów procesora
Poza tym takie drobiazgi jak używanie sla na pamięci (shifty arytmetyczne zjadają znacznie więcej czasu niż logiczne a na pamięci to już w ogóle
)
Gratulacje, za chęci i efekt
I nie, żeby moje było lepsze czy coś - scroller na atrybutach jest ostatnim przykładem jak mi się jeszcze chciało
http://speccy.pl/articles.php?article_id=12