aaaa... te scrolle :p
To jest jeden i ten sam w każdej linii, dodatkowo wiele z nich ma to samo położenie w poziomie, co pozwala jednorazowo nawalać na ekran te same dane bez pobierania ich na nowo. Czyli pobiera raz i nawala w kilku miejscach. Co innego przerzucać cały ekran dowolnych danych, a co innego powtarzające się fragmenty. Wiele trików jest o to opartych.
Nie zerkałem w kod np. Shocka (chessboard-szachownica), ale tam górna część ekranu jest skopiowana na dół z lustrzanym odbiciem. Generalnie zrobiłbym to tak:
1. LD SP, początek grafiki do wrzutu
2. pop hl
3. ld (nn),hl (górna część) (nn - miejsce na ekranie)
4. ld (nn),hl (dolna część)
5. pop hl
6. ld (nn),hl
... aż do końca linii
7. LD SP, początek linii niżej...
i tak do końca...
a zdaje się tam jeszcze parę linii w całej tej perspektywie też się powtarza.
W NMI 3 (część Doubleback) jest wrzucanie całego ekranu + atrybuty i sprite'y i mini-scroller na dole, ale to jednak niewielka animacja powielana kilkanaście razy, a nie przerzucana grafika. Co by nie mówić, bardzo efekciarskie toto jest

Tu pewnie sprawa ma się nieco inaczej bo walimy te same rzeczy na ekran. W pamięci jest przeliczana mała animacja (nanoszenie jednego planu na drugi) o rozmiarach 4x32 bajtów, następnie procedura klonowania tego na ekranie:
1. LD SP, początek linii z grafiką
2. POP HL / POP DE
3. LD SP, koniec pierwszej linii ekranu pierwszej tercji
4. PUSH DE / PUSH HL (x8)
5. LD SP, koniec linii ekranu pierwszej tercji, ale połówka tercji (za jednym zamachem, żeby potem znowu tego nie pobierać)
6. PUSH DE / PUSH HL (x8)
potem kolejna i kolejna linia... Tym sposobem zapełnisz cały ekran grafiką, ale tylko niewielką i powtarzającą się. No i pewnie z połowę pamięci zajmie procedura przerzucania tego.
Oczywiście to tylko esencja, bez konkretnych pętli i "gotowca" - raczej sama idea...
No i do Gigascreenu ma się nijak :p