La PC Engine posséde un registre RCR (Raster Count Register [$6]) qui doit être informé par le numéro de ligne que l'on veut interrompre et que l'on réinitialise à zero chaque Vsync.
Lorsque l'affichage balaye cette ligne, lors du Hsync le RCR provoque une IRQ (Interuption ReQuest) qui va, par exemple, déplacer la ligne courante grâce au registre BYR (Background Y scroll Register [$8]), en incrémentant le RCR, le scénario se répète ainsi pour chaque ligne.
On peut ainsi facilement créer des effets de distorsions horizontal mais aussi bien vertical, le registre BXR (Background X scroll register [$7]) fonctionnant de la même façon.
Je mettrais prochainement un exemple pratique en téléchargement ;)
mardi 30 décembre 2008
jeudi 18 décembre 2008
Rasters Leçon 1: Overscan et Syncro
Les interruptions de Raster étaient utilisés surtout pour effectuer des effets de distorsions, afficher d'avantages de couleurs ou de sprites simultanément à l'écran.Pour comprendre les interruptions rasters il faut d'abord comprendre comment votre moniteur affiche une frame....
A l'origine, le mot "raster" désigne une ligne horizontale. Chaque raster est dessiné de gauche à droite de l'écran par le canon à électron et les uns après les autres.
Les éléments de l'image (PICture ELement : PIXEL) d'un moniteur ne sont pas affichés simultanément. Le canon à électrons balaie (scan) l'écran par lignes horizontales, de haut en bas, chacune étant parcourue de gauche à droite. C'est le phénomène de persistance rétinienne (environ 1/15eme de seconde) qui permet l'illusion de stabilité de l'image.
Quand le canon a parcouru sa ligne, le signal Hsync ordonne au canon de retourner à gauche sur la ligne suivante (Cette phase s'appele Hblank), et quand il a fini toutes ses lignes (Signal Vsync), il revient en haut (Vblank). Pendant ce temps, il ne doit rien afficher : c'est l'overscan.
Inscription à :
Messages (Atom)