Következő Előző Tartalom

5. Framebuffer eszközök használata Atari m68k platformokon

Ez a fejezet bemutatja a framebuffer lehetőségeket Atari m68k platformokon.

5.1 Milyen üzemmódok állnak rendelkezésre Atari m68k platformokon?

Színek    320x200 320x480 640x200 640x400 640x480 896x608 1280x960
---------+---------------------------------------------------------
 1 bit   |                         sthigh   vga2    falh2   tthigh
 2 bites |                 stmid            vga4
 4 bites | stlow                         ttmid/vga16 falh16
 8 bites |         ttlow                   vga256

ttlow, ttmid és tthigh módokat csak a TT használja, a vga2, vga4, vga15, vga256, falh3 és falh16 módokat csak a Falcon használja.

Ha a video=xxx kernel opcióval használod alopció nélkül, a kernel a következő sorrendben fogja végigpróbálni az üzemmódokat, amíg a hardvernek megfelelő módot nem talál:

  • ttmid
  • tthigh
  • vga16
  • sthigh
  • stmid

Megadhatsz egy általad használni kívánt üzemmódot is, ha nem szertnéd, hogy a rendszer automatikusan keresse meg az általad kívánt üzemmódot. Például a video=vga16 4 bites 640x480 felbontású megjelenítőt ad.

5.2 Egyéb alopciók az Atari m68k platformokra

Több alopció megadható a video=xxx paraméterrel:

  • inverse - invertálja a megjelenítőt, így az előtér- és a háttérszínek megcserélődnek. Általában a háttér fekete, de ezzel az alopcióval fehér lesz.
  • font - beállítja a szöveges módban használandó karakterkészletet. Jelenleg csak a VGA8x8, VGA8x16, PEARL8x8 karakterkészleteket választhatod ki. Az alapértelmezés szerint ha a képernyő függőleges mérete kisebb 400 képpontnál, a VGA8x8 karakterkészletet, egyébként a VGA8x16 karakterkészletet használja.
  • internal - egy nagyon érdekes opció. Részletesebb információkért nézd meg a következő fejezetet.
  • external - mint fenn.
  • monitorcap - megadja a multisync-ek képességeit. NE használd fix szinkronizációval rendelkező monitor esetén!

5.3 A belső alopciók használata Atari m68k platformokon

Szintakszis: internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]

Ez a paraméter néhány kiegészítő belső video hardver képességét határozza meg, mint például az OverScan módokat. A (xres) és a (yres) megadja a képernyő kiterjesztett dimenzióit.

Ha az OverScan üzemmódod számára fekete keretre van szükség, az internal: alopció utolsó három argumentumába kell írnod. Az (xres_max) a hardver által engedélyezett legnagyobb vonalhosszúság, az (yres_max) a sorok számának maximuma és az (offset) a képernyő memória látható részének a fizikai kezdetéhez viszonyított eltolás bájtokban.

Gyakran a kiterjesztett belső video hardvert külön aktiválni kell, ehhez kell a "switches=*" opciót használnod. [Megjegyzés: A szerző szerene némi extra információhoz jutni. Az m68k dokumentációja a kernelben nem teljesen világos ennél a pontnál, és neki nincs Atarija! Példák is hasznosak lennének]

5.4 Az Atari m68k platformok külső alopcióinak használata

Szintaxis: external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]]

Ez eléggé összetett, így ez a dokumentáció megpróbálja amennyire csak lehet érthetően elmagyarázni, de a Szerző nagyra értékelné, ha valaki átnézné, hogy nem kutyult-e össze valamit! :o)

Ez az alopció meghatározza, hogy külső video hardvered van (leginkább egy grafikus kárty), és hogyan használhatod Linux-al. A kernel alapértelmezés szerint a belső video hardver ismeretére korlátozott, így neked kell a szükséges paraméterekkel ellátni, hogy használhasd a külső video hardvert. Két korlátozás van: át kell váltanod az indítás előtt abba az üzemmódba és amikor boot-olsz, nem változtathatod meg az üzemmódokat.

Az első három paraméter magától érthetődik: megadja a képernyő dimenzióit képpontokban: magasság (height), szélesség (width) és mélység (depth). A megadott mélységnek 2^n szín esetén a használandó síkok számának kell lennie. Például ha a 256 színű megjelenítőt szeretnél használni, a mélységnek 8-at kell megadnod. Ez a külső grafikus hardvertől függ, bár így a hardver képességeire leszel lekorlátozva.

Ezután meg kell adnod a kernelnek, hogy szerveződik a memória - add meg betűvel az (org) paramétert:

  • n - hagyományos síkokat használjon, tehát egyik teljes sík a másik után
  • i - átlapolt síkokat használjon, azaz 16 bit az első síkból, majd 16 a következőből, és így tovább. Csak a beépített Atari video módok használják ezt - és nem is létezik ezt a módot támogató grafikus kártya.
  • p - tömörített képpontokat használ, azaz az egymást követő bitek egy képpont összes síkját tartalmazzák. Ez a leggyakoribb megoldás a 256 színű képernyő megjelenítésére a grafikus kártyákon.
  • t - valódi színt használ, azaz ez valójában tömörített képpontokat használ, de nincs szüksége szín feloldó táblára, mint az egyéb tömörített képpont üzemmódok esetében. Ezek az üzemmódok általában a 24 bites megjelenítők - melyek 16.8 millió színt bocsátanak rendelkezésedre.

Habár, monokróm üzemmódok esetében az (org) paraméternek más jelentése van:

  • n - hagyományos színeket használ, azaz 0=fehér, 1=fekete
  • i - invertált színeket használ, azaz 0=fekete, 1=fehér

A következő fontos video hardver elem a videomemória báziscíme. Ezt a (scrmem) paraméter adja meg, hexadecimális, 0x prefix-el rendelkező formában. Ezt a külső video hardvereddel kapott dokumentációból kell megkeresned.

A következő paraméter, az (scrlen) megadja a kernel számára a videómemória méretét. Ha ez hiányzik, az (xres), (yres) és a (depth) paraméterekből számolódik. Manapság nem érdemes ide értéket írni. Hagyd üresen, és tégy két kettőspontot egymás mellé, ha meg kell adnod a (vgabase) paramétert, különben hagyd az egészet.

A (vgabase) paraméter opcionális. Ha nincs megadva, a kernel nem tudja írni és olvasni a video hardver szín regisztereit, ezért neked kell beállítani a megfelelő színeket a Linux indítása előtt. Azonban ha a kártyád VGA kompatibilis, megadhatod a VGA regiszterek címét, így már meg tudja változtatni a szín feloldó táblákat. Az ehhez szükséges információt a külső video hardver dokumentációjában találod meg. Hogy tisztázzuk, a (vgabase) a bázis cím, azaz a 4k-hoz igazított cím. A színregiszterek írásához, olvasásához a kernel a (vgabase) + 0x3c7 és a (vgabase) + 0x3c9 közötti címtartományt használja. Ezt a paramétert hexadecimálisan kell megadni, és elé kell írni a 0x prefixet, ugyanúgy, mint a (scrmem) esetében.

A (colw) csak akkor bír jelentéssel, ha a (vgabase) paraméter is adott. Ez mondja meg a kernelnek, hogy mekkorák a szín regiszterek, azaz mennyi az egy színre jutó bitek száma (piros/zöld/kék). Az alapértelmezett érték általában 6 bit, de gyakori a 8 bit használata is.

A (coltype) a (vgabase) paraméterrel együtt használatos, megadja a grafikus kártyád szín regiszter modeljét a kernelnek. Jelenleg a vga és a mv300 típusok támogatottak. A vga az alapértelmezett.

A (xres_virtual) csak a ProMST/ET4000 kártyák esetén szükséges, ahol a fizikai vonalhosszúság különbözik a láthatótól. A ProMST esetén 2048-at kell megadnod, szemben az ET4000-el, ahol a video kártya inicializálásától függ.


Következő Előző Tartalom