Ready64 Forum

Commodore 64 => Programmazione, Grafica e Musica => Topic aperto da: Uzumaki.Naruto - 04 Maggio 2009, 12:34:00

Titolo: Colorazione In Basic
Inserito da: Uzumaki.Naruto - 04 Maggio 2009, 12:34:00
 Ciao a tutti!
Avrei intenzione di convertire sul :c64: 64 alcuni giochi in bacic scritti esclusivamente per TI99 e spulciando il manuale per i vari riferimenti alle locazioni di memoria mi salta all'occhio una mancanza: avrei necessita di colorare anche il fondo di un caratte e volevo sapere se vi erano limiti in basic per questo e quindi usare un colore di fondo con la locazione 53281 comune a tutti o vi è una mappa di memoria accessibile dal basic stesso che permette l'allocazione singola per caratte di un colore di fondo.
Il TI99 permetteva, seppur limitatamente, questa possibilita e non credo che non sia possibile col  :c64: 64 data la libera accessibilita alla memoria. :)
Grazie anticipatamente per le risposte.
Titolo: Colorazione In Basic
Inserito da: Freshness79 - 04 Maggio 2009, 13:17:34
 Nel 64, che io sappia, il modo più comodo per fare quello che dici é usare l'EBCM (http://www.devili.iki.fi/Computers/Commodore/C64/Programmers_Reference/Chapter_3/page_120.html) (Extended Background Color Mode).
In sostanza viene ridotto il numero di caratteri (solo 64 disponibili) ma é possibile sfruttare 4 diversi colori di sfondo. Per discriminare il colore di sfondo del carattere vengono usati i 2 bit più significativi del carattere stesso.
Ad esempio il carattere 193 é in realtà il carattere 1 con colore di background 3.
In questo modo quindi si hanno a disposizione 4 colori per schermata: se poi giochi un po' con i raster puoi fare in modo che alcuni di essi siano liberamente configurabili ad ogni riga (o, visto che lavori a caratteri, ogni 8).

 
Titolo: Colorazione In Basic
Inserito da: Uzumaki.Naruto - 04 Maggio 2009, 13:22:15
 
Citazione
In questo modo quindi si hanno a disposizione 4 colori per schermata: se poi giochi un po' con i raster puoi fare in modo che alcuni di essi siano liberamente configurabili ad ogni riga
Si ma è gestibile da basic????
Titolo: Colorazione In Basic
Inserito da: Freshness79 - 04 Maggio 2009, 13:36:58
 Assolutamente si, lascia perdere la parte sui raster chiaramente!
Titolo: Colorazione In Basic
Inserito da: Uzumaki.Naruto - 04 Maggio 2009, 13:41:45
 Visto ma forse ho capito che in questo caso devo anche ridefinire i caratteri poiché i grafici standard del C64 vengono sostituiti dai caratteri letterali corrispondenti.

Ho detto giusto?
Titolo: Colorazione In Basic
Inserito da: Freshness79 - 04 Maggio 2009, 14:05:43
 Direi di si... hai a disposizione solo i primi 64 caratteri contro i 256 normalmente disponibili.
Titolo: Colorazione In Basic
Inserito da: Uzumaki.Naruto - 04 Maggio 2009, 14:12:27
 OK! Sarà un bel lavoro di "data" quindi ma credo di farcela! Grazie! :lol: