poi c'è un'altra modalita nominata "bitmap" in cui ogni carattere di 4x8 pixels dei 4 colori totali puo cambiarne singolarmente 3 ma la memoria utilizzata è tale da non consentire scrolling.
La memoria usata da un bitmap multicolor o hires e' sempre la stessa, 8000 bytes. E lo scrolling bitmap non e' affatto impossibile, giochi come Stormlord e Mayhem in monsterland lo dimostrano. E' solo complesso e dispendioso in termini di cicli macchina richiesti per farlo.
Stormlord usa sicuramente una sorta di double buffering, usa infatti birmap a $e000 e $6000 costruendo il bitmap da una parte e poi copiandolo nell'altro. Ovviamente in memoria non c'e' un bitmap lunghissimo che viene scrollato, non ci starebbe fisicamente. Ogni schermata e' fatta di "pezzettini" opportunamente copiati nel bitmap alla bisogna.
Questo demo con sorgente dimostra la tecnica di scrolling bitmap chiamata VSP (Variable screen position) che, a quanto pare, evita di spostare fisicamente tutto il blocco di memoria occupato dalla bitmap - spostare 8000 bytes a sinistra, di un bit solamente, e' DAVVERO dispendioso - ma solo di visualizzare la bitmap a posizioni orrizontali variabili, consentendo la copia solo della "nuova" parte che entra nello schermo, simulando di fatto uno scrolling.
iancoog.altervista.org/hid/VSP1.ZIP
Espandere in una dir, caricare da vice VSP.P00 e usare joy #2
E' un po' piu' veloce dello scrolling di Stormlord perche' le 3 schermate sono gia' fisicamente contigue in memoria. Il gioco invece ha anche l'onere della composizione della schermata ad ogni frame.
Il primo demo ad usare questa tecnica e' stato questo
http://noname.c64.org/csdb/release/?id=6176Va anche ricordato che ogni cella carattere puo' avere colori diversi, ci sono modalita' bitmap particolari che arrivano ad avere anche 16 colori per ogni cella.
E' il bello del C64, superare i limiti hardware presupposti.