Autore Topic: Grafica Bitmap Con Scrolling?  (Letto 2284 volte)

Uzumaki.Naruto

  • Utente
  • **
  • Post: 201
  • Gioco Preferito: Last ninja 1
Grafica Bitmap Con Scrolling?
« il: 03 Luglio 2008, 14:08:02 »
 Salve ragazzi! Scusate la lunga assenza ma la Patria quando chiama, chiama!
Torno sul mio bene o male funzionante C64 e dovendo sistemare un po' di vecchi floppy mi imbatto in quel (a mio modesto parere) capolavoro di Stormlord e da sempre mi sono chiesto una cosa in merito a questo titolo.
Vengo al sodo: spiegandolo a parole mie so che il C64 ha due modalità grafiche o per meglio dire tre; la risoluzione Hi-res 320x200 in cui la grafica risulta simile allo Spectrum ossia in ogni carattere di 8x8 pixels ci possono essere solo colore carattere e colore di sfondo quindi due. Poi vi sono due modalita multicolor entrambe a 160x200: una in cui ogni carattere ora di 4x8 pixes puo avere 3 colori piu uno di sfondo ma solo uno di questi 4 colori puo cambiare per ogni carattere lasciando invariati gli altri tre per tutti i caratteri, ma questa modalita permette in questo modo di usufruire di piu memoria per lo scrolling semi-hardware del C64; 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.
Bene!
Ora nel gioco Stormlord sembra che oltre lo scrolling fluidissimo siano stati usati colori a volonta in totale stile "bitmap" proprio come un Amstrad CPC!

Geni del C64 mi sapete spiegare come sia stato possibile questo miracolo ed il tutto in un unico caricamento?
Grazie! :ciauz:  
<---:=[ [Uzumaki Naruto ]=:--->
http://www.msx.org
http://tigameshelf.net
http://www.retrogaminghistory.com
"...Dal fanatismo alla barbarie c'è solo un passo..." Denis Diderot

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Grafica Bitmap Con Scrolling?
« Risposta #1 il: 03 Luglio 2008, 20:37:42 »
 
Citazione da: "Uzumaki.Naruto"
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=6176

Va 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.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -