[zxspectrum] Re: Ula+

  • From: Alessandro Dorigatti <adorigatti@xxxxxxxxx>
  • To: zxspectrum <zxspectrum@xxxxxxxxxxxxx>
  • Date: Sun, 27 Mar 2011 09:49:45 +0200

Ciao Alessandro!
Sono contento di sentire che sei riuscito nell'implementazione dell'ULA+
e che il mio sorgente ti sia servito in qualche modo.

Per quel che riguarda il raddoppio delle linee di schermo, viene
effettuato anche dal mio core, in quanto appunto è necessario arrivare
ad avere un 50Hz con frequenze orizzontali accettabili per i monitor
VGA; la conversione delle frequenze video da PAL a VGA è effettuato da
un ulteriore blocco (scandoubler) che ho preso da un altro core di
Tobias Gubener e che ho adattato per ottenere un effetto "scanline" che
tanto mi piace.

Una curiosità un po' tecnica: il mio output video (come accennato in un
precedente post) è a 16 bit (5 rosso, 6 verde, 5 blu); quando ho scritto
il codice si è posto quindi il problema di come convertire i 3 bit per
canale dell'ULA+ nei 5 + 6 + 5. Nel sito dell'ULA+ ho trovato che
nell'ipotesi di avere un output video a 24bit (quindi 8 bit per canale),
l'algoritmo di conversione dai 3 bit gli 8 è il seguente:

Supponendo che i 3 bit originali siano 'h', 'm', 'l' (high, medium,
low), gli otto bit risultanti saranno i seguenti: hmlhmlml.

Nel mio caso devo necessariamente adottare una conversione diversa e
quindi ho pensato di farla così (cosa che si evince ovviamente dal
sorgente):

Canale rosso (5 bit): hmlml
Canale blu (5 bit): hmlml
Canale verde (6 bit): hmlhml

Ora, dato che sono andato più ad intuito che per dimostrazione, a te
torna questo approccio o secondo te i valori a 3 bit vanno convertiti in
modo differente?

Alessandro


Other related posts: