Questa sezione descrive le opzioni framebuffer sulle piattaforme Atari m68k.
Colori 320x200 320x480 640x200 640x400 640x480 896x608 1280x960 -------+--------------------------------------------------------- 1 bit | sthigh vga2 falh2 tthigh 2 bit | stmid vga4 4 bit | stlow ttmid/vga16 falh16 8 bit | ttlow vga256
ttlow, ttmid e tthigh
sono usati solo dalla TT, whilst vga2,
vga4, vga15, vga256, falh3 e falh16
sono usati solo dalla Falcon.
Quando usate con l'opzione del kernel video=xxx
, senza sub-opzioni,
il kernel effettuerà il rivelamento delle modalità nel seguente ordine,
finché non troverà una modalità che è possibile con l'hardware
stabilito.
ttmid
tthigh
vga16
sthigh
stmid
Puoi specificare la modalità specifica che intendi usare, se non
desideri d'effettuare l'autorivelamento per le modalità che preferisci.
Per esempio, video=vga16
ottiene uno schermo 640x480 a 4 bit.
Ci sono un po' di sub-opzioni disponibili col parametro video=xxx
:
inverse
- inverte la visualizzazione dei colori di sfondo e
primo piano sullo schermo in modo che questi siano invertiti.
Normalmente lo sfondo è nero, ma con questa sub-opzione viene impostato
a bianco.font
- imposta il carattere da utilizzare nelle modalità
testuali. Attualmente si può selezionare solo VGA8x8
, VGA8x16
,
PEARL8x8
. Predefinito è l'utilizzo del VGA8x8
solo se la
dimensione verticale dello schermo è inferiore ai 400 pixel, altrimenti
diventa predefinito il VGA8x16
.internal
- un'opzione molto interessante. Vedi la prossima
sezione per informazioni.external
- come sopra.monitorcap
- descrive le capacità per multifrequenze. NON
usare con un monitor a frequenza fissa!
Sintassi: internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]
Questa opzione specifica le capacità interne estese di alcuni hardware
video, ad esempio le modalità OverScan. (xres)
e (yres)
danno le dimensioni estese dello schermo.
Se la tua modalità OverScan necessita di un bordo nero, dovrai scrivere
gli ultimi tre argomenti della sub-opzione internal:
.
(xres_max)
è la lunghezza massima delle righe che l'hardware
permette, (yres_max)
è il massimo numero di righe e (offset)
è
lo spazio in bytes tra la parte visibile della memoria video ed il suo
inizio fisico.
Spesso, le capacità interne estese del video hardware devono essere
attivate, per far questo si deve utilizzare l'opzione "switches=*"
.
[Nota: l'Autore desidererebbe informazioni aggiuntive su questo punto,
per favero. La documentazione sul m68k nel kernel non è abbastanza
chiara su questo punto e lui non possiede un Atari! Anche esempi possono
essere utili]
Sintassi:
external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]]
Ciò è piuttosto complicato, quindi il presente documento tenterà di spiegarlo nel modo più chiaro possibile, ma l'Autore apprezzerà molto se qualcuno potrà darci una controllata per vedere se s'è dimenticato di fsckare qualcosa! :o)
Questa sub-opzione specifica che hai un hardware video esterno (molto probabilmente una scheda grafica) e come utilizzarlo con Linux. Il kernel è fondamentalmente limitato a ciò che conosce dell'hardware video interno, pertanto gli si dovrà fornire i parametri necessari affinché sia in grado d'utilizzare l'hardware video esterno. Ci son due limitazioni: devi passare a questa modalità prima dell'avvio del sistema e, una volta avviato, non potrai più cambiare modalità.
I primi tre parametri sono evidenti: danno le dimensioni in pixel dello schermo in altezza, larghezza e profondità. La profondità fornita dovrebbe essere il numero di colori definiti come 2^n il numero di piani richiesto. Per esempio, se desideri usare una visualizzazione a 256 colori, dovrai indicare 8 come la profondità. Ciò dipende dall'hardware grafico esterno, per cui sarai limitato da quel che l'hardware può fare.
Conseguentemente a questo, dovrai pure informare il kernel su come la
memoria video è organizzata - fornendo una lettera come parametro
(org)
.
n
- usa piani normali, ad esempio un intero piano dopo un
altroi
- usa piani interlacciati, cioè 16 bit del primo piano,
quindi 16 bit del piano successivo e così via. Solamente le modalità
video proprie dell'Atari l'utilizzano - e non esistono schede grafiche
in grado di supportarla.p
- usa pixel a packetti ("packed"), ad esempio bit
consecutivi significano tutti di un pixel. Questo è la modalità più
comune per visualizzazioni a 256 colori su schede grafiche.t
- usa colori reali, ad esempio questo è effettivamente
"packed" pixel, ma non richiede, ma non richiede una tavola di
confronto dei colori ("colour lookup table") come invece le altre
modalità a pacchetti di pixel fanno. Queste modalità sono usualmente a
24 bit - che forniscono 16.8 milioni di colori.Comunque, per modalità monocromatiche, il parametro (org)
ha
un significato differente
n
- usa colori normali, cioè 0=bianco, 1=neroi
- usa colori invertiti, cioè 0=nero, 1=biancoIl prossimo punto importante a proposito dell'hardware video è
l'indirizzo di base della memoria video. Questo è dato dal parametro
(scrmem)
come numero esadecimale con un prefisso 0x
. Lo dovrai
recuperare dalla documentazione in allegato al tuo hardware video
esterno.
Il successivo parametro, (scrlen)
, informa il kernel delle
dimensioni della memoria video. Se manca, viene calcolato dai parametri
(xres)
, (yres)
e (depth)
. Non è comunque più utile
scrivere un valore per questo parametro. Per lasciarlo vuoto, scrivi due
punti e virgola consecutivi se devi indicare il parametro
(vgabase)
, altrimenti ignoralo semplicemente.
Il parametro (vgabase)
è opzionale. Se non è dato, il kernel non
può leggere/scrivere alcun registro dei colori per l'hardware video e di
conseguenza dovrai impostare gli appropriati colori prima dell'avvio di
Linux. Ma se la tua scheda è compatibile VGA puoi dare al kernel
l'indirizzo dove può trovare il registro VGA in modo che possa
modificare la tavola di confronto dei colori. Questa informazione può
essere rintracciata nella documentazione del tuo hardware video esterno.
Per chiarire, (vgabase)
è l'indirizzo di base, ad esempio
un indirizzo allineato a 4k. Per leggere/scrivere i registri dei
colori, il kernel utilizza l'intervallo d'indirizzo compreso tra
(vgabase) + 0x3c7
e (vgabase) + 0x3c9
. Questo parametro è dato
in esadecimale e dev'avere un prefisso 0x
, proprio come
(scrmem)
.
(colw)
è significativo solo se il parametro (vgabase)
viene
specificato. Avvisa il kernel su quanto grande sia ogni registro dei
colori, ad esempio il numero di bit per ogni singolo colore
(rosso/verde/blu). Il valore preimpostato è di solito 6 bit, ma è pure
comune specificare 8 bit.
(coltype)
è usato col parametro (vgabase)
ed informa il kernel
sul modello del registro dei colori della tua scheda grafica.
Attualmente le tipologie supportate sono vga
e mv300
. vga
è quella preimpostata.
(xres_virtual)
è richiesto solo per le schede ProMST/ET4000 in cui
la lunghezza fisica delle righe è diversa da quella visibile. Con la
ProMST dovrai indicare 2048, mentre per la ET4000 dipende
dall'inizializzazione della scheda.