<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Framebuffer HOWTO: Utilizzare i device framebuffer su piattaforme Atari m68k</TITLE> <LINK HREF="Framebuffer-HOWTO-7.html" REL=next> <LINK HREF="Framebuffer-HOWTO-5.html" REL=previous> <LINK HREF="Framebuffer-HOWTO.html#toc6" REL=contents> </HEAD> <BODY> <A HREF="Framebuffer-HOWTO-7.html">Avanti</A> <A HREF="Framebuffer-HOWTO-5.html">Indietro</A> <A HREF="Framebuffer-HOWTO.html#toc6">Indice</A> <HR> <H2><A NAME="s6">6. Utilizzare i device framebuffer su piattaforme Atari m68k</A></H2> <P> <P>Questa sezione descrive le opzioni framebuffer sulle piattaforme Atari m68k. <P> <H2><A NAME="ss6.1">6.1 Che modalità sono disponibili sulle piattaforme Atari m68k?</A> </H2> <P> <P> <PRE> 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 </PRE> <P><CODE>ttlow, ttmid e tthigh</CODE> sono usati solo dalla TT, whilst <CODE>vga2, vga4, vga15, vga256, falh3 e falh16</CODE> sono usati solo dalla Falcon. <P>Quando usate con l'opzione del kernel <CODE>video=xxx</CODE>, senza sub-opzioni, il kernel effettuerà il rivelamento delle modalità nel seguente ordine, finché non troverà una modalità che è possibile con l'hardware stabilito. <P> <UL> <LI><CODE>ttmid</CODE></LI> <LI><CODE>tthigh</CODE></LI> <LI><CODE>vga16</CODE></LI> <LI><CODE>sthigh</CODE></LI> <LI><CODE>stmid</CODE></LI> </UL> <P>Puoi specificare la modalità specifica che intendi usare, se non desideri d'effettuare l'autorivelamento per le modalità che preferisci. Per esempio, <CODE>video=vga16</CODE> ottiene uno schermo 640x480 a 4 bit. <P> <H2><A NAME="ss6.2">6.2 Sub-opzioni addizionali sulle piattaforme Atari m68k</A> </H2> <P> <P>Ci sono un po' di sub-opzioni disponibili col parametro <CODE>video=xxx</CODE>: <P> <UL> <LI><CODE>inverse</CODE> - 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.</LI> <LI><CODE>font</CODE> - imposta il carattere da utilizzare nelle modalità testuali. Attualmente si può selezionare solo <CODE>VGA8x8</CODE>, <CODE>VGA8x16</CODE>, <CODE>PEARL8x8</CODE>. Predefinito è l'utilizzo del <CODE>VGA8x8</CODE> solo se la dimensione verticale dello schermo è inferiore ai 400 pixel, altrimenti diventa predefinito il <CODE>VGA8x16</CODE>.</LI> <LI><CODE>internal</CODE> - un'opzione molto interessante. Vedi la prossima sezione per informazioni.</LI> <LI><CODE>external</CODE> - come sopra.</LI> <LI><CODE>monitorcap</CODE> - descrive le capacità per multifrequenze. NON usare con un monitor a frequenza fissa!</LI> </UL> <P> <H2><A NAME="ss6.3">6.3 Utilizzare la sub-opzione "internal" sulle piattaforme Atari m68k</A> </H2> <P> <P>Sintassi: <CODE>internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]</CODE> <P>Questa opzione specifica le capacità interne estese di alcuni hardware video, ad esempio le modalità OverScan. <CODE>(xres)</CODE> e <CODE>(yres)</CODE> danno le dimensioni estese dello schermo. <P>Se la tua modalità OverScan necessita di un bordo nero, dovrai scrivere gli ultimi tre argomenti della sub-opzione <CODE>internal:</CODE>. <CODE>(xres_max)</CODE> è la lunghezza massima delle righe che l'hardware permette, <CODE>(yres_max)</CODE> è il massimo numero di righe e <CODE>(offset)</CODE> è lo spazio in bytes tra la parte visibile della memoria video ed il suo inizio fisico. <P>Spesso, le capacità interne estese del video hardware devono essere attivate, per far questo si deve utilizzare l'opzione <CODE>"switches=*"</CODE>. [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] <P> <H2><A NAME="ss6.4">6.4 Utilizzare la sub-opzione "external" sulle piattaforme Atari m68k</A> </H2> <P> <P>Sintassi: <CODE>external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]]</CODE> <P>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) <P>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à. <P>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. <P>Conseguentemente a questo, dovrai pure informare il kernel su come la memoria video è organizzata - fornendo una lettera come parametro <CODE>(org)</CODE>. <P> <UL> <LI><CODE>n</CODE> - usa piani normali, ad esempio un intero piano dopo un altro</LI> <LI><CODE>i</CODE> - 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.</LI> <LI><CODE>p</CODE> - 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.</LI> <LI><CODE>t</CODE> - 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.</LI> </UL> <P><EM>Comunque</EM>, per modalità monocromatiche, il parametro <CODE>(org)</CODE> ha un significato differente <P> <UL> <LI><CODE>n</CODE> - usa colori normali, cioè 0=bianco, 1=nero</LI> <LI><CODE>i</CODE> - usa colori invertiti, cioè 0=nero, 1=bianco</LI> </UL> <P>Il prossimo punto importante a proposito dell'hardware video è l'indirizzo di base della memoria video. Questo è dato dal parametro <CODE>(scrmem)</CODE> come numero esadecimale con un prefisso <CODE>0x</CODE>. Lo dovrai recuperare dalla documentazione in allegato al tuo hardware video esterno. <P>Il successivo parametro, <CODE>(scrlen)</CODE>, informa il kernel delle dimensioni della memoria video. Se manca, viene calcolato dai parametri <CODE>(xres)</CODE>, <CODE>(yres)</CODE> e <CODE>(depth)</CODE>. Non è comunque più utile scrivere un valore per questo parametro. Per lasciarlo vuoto, scrivi due punti e virgola consecutivi se devi indicare il parametro <CODE>(vgabase)</CODE>, altrimenti ignoralo semplicemente. <P>Il parametro <CODE>(vgabase)</CODE> è 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 <EM>chiarire</EM>, <CODE>(vgabase)</CODE> è l'indirizzo di <EM>base</EM>, ad esempio un indirizzo allineato a 4k. Per leggere/scrivere i registri dei colori, il kernel utilizza l'intervallo d'indirizzo compreso tra <CODE>(vgabase) + 0x3c7</CODE> e <CODE>(vgabase) + 0x3c9</CODE>. Questo parametro è dato in esadecimale e dev'avere un prefisso <CODE>0x</CODE>, proprio come <CODE>(scrmem)</CODE>. <P><CODE>(colw)</CODE> è significativo solo se il parametro <CODE>(vgabase)</CODE> 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. <P><CODE>(coltype)</CODE> è usato col parametro <CODE>(vgabase)</CODE> ed informa il kernel sul modello del registro dei colori della tua scheda grafica. Attualmente le tipologie supportate sono <CODE>vga</CODE> e <CODE>mv300</CODE>. <CODE>vga</CODE> è quella preimpostata. <P><CODE>(xres_virtual)</CODE> è 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. <P> <HR> <A HREF="Framebuffer-HOWTO-7.html">Avanti</A> <A HREF="Framebuffer-HOWTO-5.html">Indietro</A> <A HREF="Framebuffer-HOWTO.html#toc6">Indice</A> </BODY> </HTML>