Rasterinterrupt

Fra Wikipedia, den frie encyklopædi
Gå til: navigation, søg

Et rasterinterrupt er et interrupt-signal i computere, som normalt genereres af det kredsløb i computeren der sørger for at generere det billedsignal der vises på computerens skærm. Sådanne signaler kan på visse computersystemer (især de små 8-bit hjemmecomputere fra 1980'erne) udnyttes til at skabe effekter som det grafiske kredsløb ikke kan klare uden cpuens medvirken.

Princippet i raster-interrupt[redigér | redigér wikikode]

"Raster" er et begreb der stammer fra skærme der bruger et billedrør i stedet for de mere moderne LCD- og plasmaskærmet: I billedrøret sørger en stråle af elektroner for hele tiden at "gentegne" skærmbillede; linje for linje, startende i toppen af skærmen. Da computerens grafiske kredsløb hele tiden "ved" hvor på skærmen denne elektronstråle er nået, foreligger muligheden for at generere et interrupt-signal hver gang strålen er nået midtvejs ned over skærmen: Programmerer man nu cpu'en til for eksempel at skifte skærmfarve, eller fra tekstskærm til højopløselig grafik (og tilbage igen når strålen starter forfra med at gentegne skærmbilledet fra toppen af skærmen), kan man "dele" skærmen i to sektioner med hver sin farve, eller tekst det ene sted og grafik det andet, selv om grafikkredsløbet ikke i sig selv er i stand til det. På føromtalte små 8-bit computersystemet blev dette princip udnyttet i stor stil til at "sprænge rammerne" for hvad computerens grafiske hardware ellers formåede.

Anvendelse[redigér | redigér wikikode]

Commodore 64, med dens integrerede grafik-kredsløb VIC-II, har et flektibelt rasterinterrupt-system, som blev udnyttet i stor stil både i "demo'er" og i egentlige computerspil, til at skabe effekter som VIC-II ellers ikke kunne klare alene, f.eks. til at vise et "bevægeligt" spilleområde sammen med et stationært tekstområde til pointstilling og anden information, vise flere end de 8 hardware-sprites som VIC-II understøttede, og meget andet.

Det grafikkredsløb, "ANTIC", som Atari brugte i deres 8-bit maskiner, råder over et system for såkaldte display list interrupts, der tjener stort set samme formål som rasterinterrupts i Commodore 64's VIC-II.

Andre systemer har mindre omfattende faciliteter for rasterinterrupts: Eksempelvis kan Nintendo Entertainment System udløse et rasterinterrupt når skærmens raster starter forfra i toppen af billedet. Ved at sætte cpuen til løbende at "holde øje" med (polle) et såkaldt "hit flag" kunne man til en vis grad skabe nogle af de samme effekter som mere avancerede rasterinterrupt-systemer, om end denne metode stiller større krav til cpu'en. Senere fandt man dog på at udvide de spilmoduler der blev brugt i Nintendo'en med et kredsløb der kunne levere egentlige rasterinterrupts.

Commodore Amiga hed det grafiske hjælpekredsløb Copper, og blev tilsvarende brugt til at omgå hardwarens begrænsninger og lave "umulige" effekter og tricks, fortrinsvis i retning af bedre grafisk opløsning eller større farvedybde.