Rastrové přerušení - Raster interrupt

Rastr přerušení (také nazývaný horizontální blank interrupt ) je přerušení signálu v počítačovém systému, který se používá pro časování displeje. Obvykle se generuje, i když ne vždy, grafickým čipem systému, když se čtecí řádky rámečku připravují k odeslání na monitor k zobrazení.

Takové přerušení poskytuje mechanismus pro změnu grafických registrů ve středním rámci, takže mají různé hodnoty nad a pod bodem přerušení. To umožňuje, aby jednobarevný objekt měl například více vodorovných barevných pásů, nebo aby byl sprite přemístěn, aby poskytl iluzi, že existuje více skřítků, než systém podporuje. Omezení spočívá v tom, že změny ovlivní pouze část displeje pod přerušením. Nepovolují více barev nebo více skřítků na jedné řádce skenování.

Systémy podporující přerušení rastru

Několik populárních domácích počítačů a herních konzolí obsahovalo grafické čipy podporující přerušení rastru nebo mělo funkce, které lze kombinovat tak, aby fungovaly jako přerušení rastru.

Bally Astrocade (1977)

8bitová rodina Atari (ANTIC chip, 1979)

ANTIC čip používá 8-bitové rodiny Atari obsahuje seznam zobrazení přerušení (DLI), které se spouštějí jako displej je navržena. Samotný ANTIC čip je značně výkonný a neodmyslitelně schopný mnoha funkcí, které jiné systémy vyžadují duplikování rastrových přerušení. ANTIC může kombinovat více grafických režimů na obrazovce, zobrazit vodorovnou a svislou přeskenovanou grafiku a jemné posouvání vybraných vodorovných oblastí. DLI na Atari se obvykle používají k přidání další barvy na displej a opětovné použití grafických prvků Player / Missile.

Commodore 64 (čip MOS Technology VIC-II, 1982)

VIC-II modelu C64 má flexibilní systém přerušení rastru. K opětovnému použití skřítků na obrazovce, míchání grafických režimů a selektivnímu posouvání oblastí obrazovky jsou nezbytná rastrová přerušení a zásah CPU.

Nintendo Entertainment System (čip PPU, 1983)

Na Nintendo Entertainment System ‚s PPU grafický čip nepodporuje skutečné rastrové přerušení - přerušení lze nastavit spoušť během vertikálního prázdného intervalu, ale ne na libovolném řádku obrazu - namísto požadovaného dotazování na‚hit vlajka‘, které je uvedeno, kdy kreslil se první sprite. Ačkoli se časným hrám jako Super Mario Bros. , Castlevania a The Legend of Zelda podařilo touto metodou dosáhnout efektivního rolování na rozdělené obrazovce, je náročné na CPU. Některé pozdější kazety obsahovaly obvody MMC (nejvýznamnější čip MMC3 společnosti Nintendo), které sledovaly adresy a datové linky PPU a generovaly přerušení rastru.

MSX2 (Yamaha V9938, 1985)

Počítače MSX2 jsou vybaveny dedikovaným video procesorem Yamaha V9938 (VDP), který stejně jako NES podporuje „vertikální prázdná přerušení“, ale vyžaduje dotazování pro „horizontální prázdná přerušení“. Běžně se používá k vytváření rozdělených obrazovek, míchání více režimů videa na jedné obrazovce a ke zvýšení počtu jedinečných barev na obrazovce nad rámec oficiálních specifikací. Prominentní příklady použití jsou série Aleste a Konami's Space Manbow .

Commodore Amiga (měděný čip, 1985)

Počítače Amiga obsahují vlastní koprocesor zvaný Copper, který je určen pro obsluhu přerušení rastru. Měď spustí program jednoduchých instrukcí, které mu nařídí, aby počkal na konkrétní svislou skenovací čáru a vodorovnou polohu paprsku, a poté aktualizuje obsah vlastního hardwarového registru čipu. To se obvykle používá k úpravě parametrů displeje, jako je míchání režimů zobrazení, opětovné použití spritů nebo změna barevných registrů, ale lze jej také použít ke spuštění přerušení CPU.

Nintendo Game Boy (čip PPU, 1989)

Game Boy je PPU má podporu pro čtyři rastrové přerušení: to může být nastaven na spoušť na začátku zadané scanline, na konci scanlines (v průběhu horizontálního zatemňovacího ), na začátku všech scanlines, nebo na začátku vertikální záslepky . Jeho největší nevýhodou je, že pro první tři se používá stejný obslužný program přerušení , který vyžaduje použití „dispečerského“ kódu, pokud je použita více než jedna podmínka.

Reference

Viz také