[zxspectrum] Re: Ula+

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

Ho riflettuto un po' sull'algoritmo adottato per i canali a 5 bit (Red e
Blue) e ritengo sia sbagliato.

Invece di convertire i 3 bit HML in 5 bit HMLML, è necessario utilizzare
la conversione HMLHM, per ottenere una distribuzione più lineare
possibile dei 32 valori possibili.

Nel caso invece del canale a 6 bit (green) l'algoritmo (HMLHML) mi pare
corretto.

Non so se anche nel tuo caso hai canali con 5 o 6 bit; se questo è il
caso, probabilmente devi modificare leggermente l'implementazione come
descritto sopra!

Fammi sapere!
Alessandro

On Sun, 2011-03-27 at 09:49 +0200, Alessandro Dorigatti wrote:
> 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: