Grafické režimy ZX Spectrum - ZX Spectrum graphic modes
Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
The ZX Spectrum se obecně považuje za omezené grafické možnosti ve srovnání s jinými domácí počítače stejné éry, jako je Commodore 64, do značné míry kvůli jeho nedostatku vyhrazeného grafického čipu. Po celou dobu svého komerčního života a pozdější činnosti na internetu demoscene, byly vyvinuty různé techniky, které poskytují (nebo emulují) vylepšení grafického výstupu spektra.
Paleta barev
The ZX Spectrum (a kompatibilní) počítačů používá variantu 4bitové filozofie palety RGBI. Výsledkem je, že každá z barev 3bitové palety má a základní a Jasný varianta, s výjimkou černé. The Jasný polovina palety je generována pomocí maximálních úrovní napětí na displeji pro každou ze tří barevných složek R / G / B, které barva používá. The základní polovina palety se zobrazí pouhým snížením těchto napětí.
V kódování ZX Spectrum jsou barevné komponenty v pořadí GRB (od většiny po nejméně významný bit), spíše než v běžnějším pořadí RGB. Objednávka GRB má tu výhodu, že se čísla barev stanou seřazenými zvýšením jas, takže při zobrazení na černobílém displeji by uspořádaná sekvence 0 až 7 vytvořila přechod z černé na bílou. Konkrétně modrý má binární váhu 1, Červené má hmotnost 2 a zelená má váhu 4. Stejně jako u každého binárního čísla se tyto váhy sčítají a vytvářejí jedno desetinné číslo, které odpovídá zobrazené barvě, jejíž účinek lze vidět v následující tabulce (zvláštní pozornost věnujte sloupci „binární hodnota“ ).
Pro jakoukoli hodnotu n od 0 do 7 lze pomocí následujících příkazů nastavit nebo změnit barvy obrazovky:
- OKRAJ n, barva pro okolní oblast mimo hlavní bitmapu.
- PAPÍR n, barva pozadí (bitová hodnota pixelu 0) pro barevnou buňku, která má být změněna.
- INKOUST n, barva popředí (bitová hodnota pixelu 1) pro barevnou buňku, která má být změněna.
Příkaz BRIGHT lze dále použít ke změně nastavení „jasného“ příznaku příkazů PAPER a INK ( Já v RGBJá), což jim umožňuje přístup k celé paletě 15 barev. Nastavení „0“ a „1“ vypíná a zapíná jasný režim (v uvedeném pořadí). Jelikož se pro výběr jasu pro barvy popředí a pozadí v barevné buňce používá pouze jeden bit v bajtu atributu barvy, není možné vybrat oba Jasný a základní barevné režimy ve stejné barevné buňce. Příkaz BORDER nepoužívá jasný příznak, tedy pouze osm základní barvy jsou podporovány.
Počítáme-li od nejméně významného bitu, bajt atributu vyhrazuje tři bity pro barvu popředí, tři bity pro barvu pozadí, jeden bit pro jasný příznak a jeden bit pro blikající efekt (což způsobí, že se zobrazení videa střídá s popředím a barvy pozadí pravidelně).
číslo barvy Binární hodnota JAS 0 (RGB) JAS 1 (RGB) název barvy EGA / VGA 16col. ekvivalent JAS 0 EGA / VGA 16col. ekvivalent JAS 1 0 000 #000000 #000000 Černá 0 0 1 001 # 0000D7 # 0000FF modrý 4 12 2 010 # D70000 # FF0000 Červené 1 9 3 011 # D700D7 # FF00FF purpurová 5 13 4 100 # 00D700 # 00FF00 zelená 2 10 5 101 # 00D7D7 # 00FFFF tyrkysová 6 14 6 110 # D7D700 # FFFF00 žlutá 3 11 7 111 # D7D7D7 #FFFFFF bílý 8 15
BRIGHT BLACK barva nebyla ve všech modelech emulátorů ZX Spectrum a ZX Spectrum (ale je možné regulovat paletu v několika emulátorech (např. EmuZWin, ZX Spin), včetně jasně černé).
- barvy simulované jako RGB předpokládají, že nejsou jasné jako 85% napětí (0,55 V) a světlé jako 100% (0,65 V).[1] Prohlížení na displeji PAL by podléhalo gama a jako takové by se jiné než jasné hodnoty jevily světlejší. Každý model ZX Spectrum používal různá napětí pro barvy, takže zde uvedené hodnoty jsou pouze orientační.
0,00,00 | 0,00,01 | 0,00,02 | 0,00,03 | 0,00,04 | 0,00,05 | 0,00,06 | 0,00,07 |
0,01,00 | 0,01,01 | 0,01,02 | 0,01,03 | 0,01,04 | 0,01,05 | 0,01,06 | 0,01,07 |
0,02,00 | 0,02,01 | 0,02,02 | 0,02,03 | 0,02,04 | 0,02,05 | 0,02,06 | 0,02,07 |
0,03,00 | 0,03,01 | 0,03,02 | 0,03,03 | 0,03,04 | 0,03,05 | 0,03,06 | 0,03,07 |
0,04,00 | 0,04,01 | 0,04,02 | 0,04,03 | 0,04,04 | 0,04,05 | 0,04,06 | 0,04,07 |
0,05,00 | 0,05,01 | 0,05,02 | 0,05,03 | 0,05,04 | 0,05,05 | 0,05,06 | 0,05,07 |
0,06,00 | 0,06,01 | 0,06,02 | 0,06,03 | 0,06,04 | 0,06,05 | 0,06,06 | 0,06,07 |
0,07,00 | 0,07,01 | 0,07,02 | 0,07,03 | 0,07,04 | 0,07,05 | 0,07,06 | 0,07,07 |
1,00,00 | 1,00,01 | 1,00,02 | 1,00,03 | 1,00,04 | 1,00,05 | 1,00,06 | 1,00,07 |
1,01,00 | 1,01,01 | 1,01,02 | 1,01,03 | 1,01,04 | 1,01,05 | 1,01,06 | 1,01,07 |
1,02,00 | 1,02,01 | 1,02,02 | 1,02,03 | 1,02,04 | 1,02,05 | 1,02,06 | 1,02,07 |
1,03,00 | 1,03,01 | 1,03,02 | 1,03,03 | 1,03,04 | 1,03,05 | 1,03,06 | 1,03,07 |
1,04,00 | 1,04,01 | 1,04,02 | 1,04,03 | 1,04,04 | 1,04,05 | 1,04,06 | 1,04,07 |
1,05,00 | 1,05,01 | 1,05,02 | 1,05,03 | 1,05,04 | 1,05,05 | 1,05,06 | 1,05,07 |
1,06,00 | 1,06,01 | 1,06,02 | 1,06,03 | 1,06,04 | 1,06,05 | 1,06,06 | 1,06,07 |
1,07,00 | 1,07,01 | 1,07,02 | 1,07,03 | 1,07,04 | 1,07,05 | 1,07,06 | 1,07,07 |
Dithering
Tato poměrně krátká paleta barev naléhala na grafické umělce (např ZX-Art ) uchýlit se k různým technikám rozkladu; nejjednodušší z nich zaměstnává objednané vzory, jak je vyčerpávajícím způsobem znázorněno v opačném grafu. Dithering také velmi dobře funguje s originálem Složené video připojení k analogovému KAMARÁD TV, generování míchání barev podél vodorovných linií pixelů.
Standardní režim
Hardwarová implementace
Originální ZX Spectrum má rozlišení obrazovky 256 × 192 pixelů. Informace o barvě jsou překryty tímto jako mřížka oblastí 8 × 8 pixelů známých jako bloky atributů; v rámci každého bloku atributů lze z palety 8 použít pouze dvě barvy (černá, modrá, červená, purpurová, zelená, azurová, žlutá a bílá). Celý blok atributů může být navíc označen jako „světlý“, což má za následek celkem 15 možných barev (protože jasná i tmavá černá jsou stejné barvy # 000000). U mnoha programů bylo toto omezení evidentní jako střet atributů.
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 32 × 24
- barvy: 15
Skutečné rozlišení přes připojení kompozitního videa
Kvůli omezením originálu Složené video připojení k analogové televizi PAL, sousední pixely byly ve skutečnosti horizontálně rozmazané. Výsledné rozlišení záviselo na kvalitě televizoru a na barevných kombinacích použitých u každého konkrétního obrazu, ale ve většině případů bylo podobné ~ 128 x 192.
Tento efekt byl použit ke zvýšení počtu zobrazených barev na obrazovce téměř všemi grafickými designéry pomocí technik rozkladu. Tímto způsobem je možné dosáhnout téměř 64 barev. Některé emulátory poskytují určitý druh „rozmazaného“ zpracování obrazu, který se snaží tento efekt simulovat.
- Podrobnosti:
- Pixely: ~ 128 × 192
- Atributy: 32 × 24
- barvy: ~ 128 (vzhledem k barevným a světlým barevným variantám)
Monochromatické televizory a monitory
Použitím a monochromatický monitor nebo černobílý televizor (nebo snížení nastavení barev barevného televizoru), je možné využít rozdílů v intenzitě v celém barevném rozsahu spektra a generovat 15stupňový obraz ve stupních šedi v rozlišení 256 × 192.
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 32 × 24
- barvy: 15 stupňů šedi
Hicolour (8x1 atributy)
Hardwarová implementace
Několik klonů Spectrum třetích stran, včetně Timex Sinclair stroje a Pentagon, podporují režim obrazovky, ve kterém mají bloky atributů velikost 8 × 1 pixelů místo obvyklých 8 × 8. Obrazovka v tomto režimu trvá 12 KB RAM. V případě Timex je tento režim aktivován příkazem OUT 255,2. Kromě toho lze tento režim obrazovky generovat pomocí rozhraní MB03 + Ultimate, diskového systému MB-02 DMA hardware (kde je tato technika známá jako Multitech) a je také k dispozici jako režim 2 na SAM Coupé.
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 32 × 192
- barvy: 15
Implementace softwaru
Atributy „8x1“
Na ostatních modelech Spectrum lze tento efekt replikovat využitím skutečnosti, že ULA znovu generuje informace o atributech na každém řádku pixelů při generování video výstupu; je možné zapsat novou hodnotu do příslušného paměťového místa mezi po sobě jdoucími řádky, a tak způsobit zobrazení jiné dvojice barev. Procesor Spectrum však není dostatečně rychlý na to, aby zapisoval na celou řadu bajtů atributů v jedné řádce skenování, takže atributů 8 × 1 lze dosáhnout pouze na 20 sloupcích.[2] Tato technika je různě známá jako Hicolour, Vícebarevný, FLI nebo Duhový procesor režimu.[3]
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 32 × 192 (omezeno na oblast 18x192)
- barvy: 15
Atributy „8x2“
Variancí této metody je změna celé řady atributů v průběhu dvou řádků skenování, což má za následek bloky atributů 8 × 2 pixelů po celé šířce obrazovky.[4]
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 32 × 96
- barvy: 15
"4x1" atributy
Zvláštní případ zahrnuje střídání mezi dvěma dostupnými barvami na buňku atributu pro každý 4 pixely, což umožňuje, aby každá oblast 4 × 1 byla považována za nezávisle barevný „pixel“ (i když omezení jedné úrovně jasu na buňku 8 × 1 je stále v účinek).
- Podrobnosti:
- Pixely: 64 × 192
- Atributy: 64 × 192
- barvy: 15
ULAplus
ULAplus je kompatibilní se standardním displejem ZX Spectrum, pokud se používá pouze k úpravě 16 základních barev. Jakýkoli software, který používá plných 64 barev, bude spouštět atributy „flash“ původního spektra.
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 32 × 24
- barvy: 64 (z 256)
- Stroj: ZX Spectrum SE, Chloe 280SE, Chloe 140SE, ZX-Uno (www.zxuno.com), zx128u +
- Rozhraní: MB03 + Ultimate
Prokládané / přepínané režimy
Střídáním dvou obrazovek na každém přerušení snímku (50 Hz) je teoreticky možné simulovat zdvojnásobení rozlišení vertikálního zobrazení ze 192 na 384 řádků.
Klony Timex a ZX Spectrum 128K implementují oblast „stínové“ obrazovky, kterou lze přepnout na místo pomocí jediného příkazu OUT, což se pro tento účel často využívá k rychlému přepínání mezi dvěma obrazy (i když toho lze dosáhnout také se standardní blokovou kopií, i když ne přes celou obrazovku).
Při sledování na televizní obrazovce CRT (v té době standardní) je blikání méně nápadné než na moderním monitoru. tady (Varování: propojený obrázek bliká velmi rychle, což by mohlo potenciálně způsobit záchvaty u lidí s fotocitlivá epilepsie ).
Tato technika ve skutečnosti nedosahuje skutečného prokládaného zobrazení, protože spektru chybí schopnost synchronizace s hardwarem displeje na tak nízké úrovni. Efekt je spíše podobný Anti aliasing, přičemž určité pixely se objevují v poloviční intenzitě.[3]
- Podrobnosti:
- Pixely: 256 × 384
- Atributy: 32 × 24
- barvy: 15
GigaScreen
Atributy (barvy) obrazu se na obrazovce střídají při 50 Hz, přičemž se při míchání využívá kódování barevného systému PAL. Tímto způsobem se paleta zvětší na přibližně 36 barev.[5]
U strojů Pentagon je k dispozici hardwarová modifikace, která přímo kombinuje dvě alternativní oblasti obrazovky do video signálu, čímž eliminuje blikat spojené s touto metodou. Kromě toho mohou být společně použity techniky gigascreen a hicolour k výrobě ještě bohatších barev; tento formát byl pojmenován DithVIDE a Bzither, obě jména odkazující na dithering metody používané při převodu skutečná barva obrázky do formátu.
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 32 × 24
- barvy: 36
3barevná / vícebarevná / RGB-3 / mezichromová
Tři samostatné obrázky, které obsahují červenou, zelenou a modrou vrstvu, se rychle zobrazují na obrazovce, jeden za druhým, a spoléhají se na vytrvalost zraku efekty sloučit tři vrstvy do jednoho barevného obrázku. Výsledkem je 8barevný obraz, kde každý pixel může být zbarven samostatně.[6]
Tento efekt je simulován na jiném obrázku, na který je odkazováno tady (Varování: propojený obrázek bliká barvy velmi rychle, což by mohlo potenciálně způsobit záchvaty u lidí s fotocitlivá epilepsie ); blikání je méně patrné při sledování na televizní obrazovce.
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 256 × 192
- barvy: 8
Emulovaný
256 × 192, 256 barev, „256 barevný režim“, žádné atributy
SPEC256, EmuZWin a Es.pectrum emulátory mají režim obrazovky 256 × 192 pixelů, kde každý pixel může být v jedné z 256 barev. Toho je dosaženo rozšířením velikost slova emulovaného Z80 od 8 bitů do 64, takže pro každý pixel je k dispozici osm bitů dat; obrazovka tak zabírá 48 kB paměti. Tento režim existuje pouze na emulátoru a pro jeho použití je nutné upravit softwarovou grafiku.
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 256 × 192
- barvy: 256
Kompatibilní stroje a rozhraní
Později stroje kompatibilní se ZX Spectrum nabídly další režimy videa. Ty jsou založeny na standardním režimu 256 x 192, ale nejsou kompatibilní s původním spektrem.[3]Také rozhraní, rozhraní Spectra a MB03 + Ultimate Rozhraní rozšiřuje displej Spectrum a podporuje více barev nebo další režimy videa.
512 × 192 černobíle
Tento režim se používal hlavně k zobrazení textové obrazovky se sloupci 64 × 24 nebo 80 × 24 a zobrazit ji mohou pouze počítače Timex Sinclair a některé ruské klony. Pro tento režim existují dva grafické editory, které podporuje ZÁKLADNÍ 64 a některé CP / M implementace. Trvá také 12 kB (12KiB ) RAM.
- Podrobnosti:
- Pixely: 512 × 192
- Atributy: žádné
- barvy: 2 (čtyři palety: černá a bílá, modrá a žlutá, červená a azurová, purpurová a zelená)
- Stroj: Timex Sinclair, MB03 + Ultimate
512 × 192x4
- Podrobnosti:
- Pixely: 512 × 192
- Atributy: 512 × 192
- barvy: 4 (od 128) na řádek
- Stroj: Sam Coupé
Vrstva 2 (256 × 192x256)
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 256 × 192
- barvy: 256
- Stroj: ZX Spectrum Next
256 × 192x16
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 256 × 192
- barvy: 16 (od 128) na řádek
- Stroj: Sam Coupé
384x304x16
- Podrobnosti:
- Pixely: 384x304
- Atributy: 48 × 38
- barvy: 16
- Stroj: Pentagon
512x384x2
- Podrobnosti:
- Pixely: 512 × 384
- barvy: jednobarevné
- Stroj: Pentagon, Timex Sinclair 2128
16c
HAM256
- Podrobnosti:
- Pixely: 256 × 192
- Atributy: 32 × 192
- barvy: 32 na řádek (od 256)
- Stroj: ZX Spectrum SE, ZX-Uno
Radastan
Tento režim zobrazuje pixely dvojnásobné velikosti 128 x 96. Každý pixel obsahuje jednu ze šestnácti barev. Pixely jsou uloženy v lineární vyrovnávací paměti jako 4bitové křupky (tj. 2 pixely na bajt). Vyrovnávací paměť má délku 6144 bajtů a zabírá stejnou paměť jako paměť RAM 256 x 192 pixelů.
- Podrobnosti:
- Pixely: 128 x 96
- Atributy: každý pixel má samostatnou barvu
- barvy: 16 (z 256)
- Stroj: ZX-Uno
Reference
- ^ http://www.zxdesign.info/ddrivedesign.shtml
- ^ https://spectrumcomputing.co.uk/index.php?cat=96&id=30003
- ^ A b C http://8bit.yarek.pl/tool/zx.extra/index.html
- ^ https://spectrumcomputing.co.uk/index.php?cat=96&id=30002
- ^ http://gfxzone.planet-d.net/articles/zx_spectrum_graphics-article_01.html
- ^ http://zxprism.blogspot.pt/2014/07/16-colour-colour-clash-free-planar-mode.html
externí odkazy
- Grafické režimy ZX-Spectrum
- Extra grafické režimy ZX-Spectrum
- Image to ZX Spec - An open source utility for conversion image from PC to ZX Spectrum (including 14 dither modes)
- Retro-X - Nástroj pro převod obrazu z počítače na staré stroje (zahrnuje nestandardní režimy ZX Spectrum)
- Zásuvný modul ZX GIMP A GIMP zásuvný modul, aby jakýkoli obraz RGB vypadal jako obrazovka ZX Spectrum.
- BIFROST * 2 Engine (vícebarevné atributy "8x1" 20 sloupců)
- Engine NIRVANA + (vícebarevné atributy "8x2" na celou obrazovku)
- Sbírka grafického umění ZX-Spectrum