Fonctions Vidéo


disp_off();

Désactive l'affichage.

PS: Désactive mais n'efface pas le contenu de la VRAM.

disp_on();

Active l'affichage.

PS: Active/Réactive le contenu de la VRAM, trés utile pour afficher une image instantannément.

cls();
cls(int val);

Efface tout l'écran. Sans paramètre, l'écran est rempli avec un caractère espace, sinon il est rempli avec la valeur bat donnée en argument.

vsync();
vsync(char nb_images);

Synchronise votre programme à la ligne de balayage vertical (VBL), qui est de 1/60ème de seconde.
Sans paramètre cette fonction retourne dès qu'un signal VBL a été reçu, sinon votre programme sera synchronisé au nombre d'image que vous avez demandé.
Par exemple pour exécuter votre jeu à 20 im/s, il suffit d'utiliser vsync(3) à la fin de votre boucle de jeu.

vreg(char idx);
vreg(char idx, int val);

Cette fonction vous donne un accès direct aux registres du processeur vidéo (VDC).
La première forme de cette fonction est utilisée pour simplement sélectionner un registre VDC (pour des accès personnalisés), et la seconde est utilisée pour fixer la valeur d'un registre (cela sélectionne en même temps ce registre).

vram_addr(char x, char y);

Une simple fonction pour renvoyer l'adresse écran en mémoire vidéo (VRAM) d'un caractère situé à la position x/y.

set_screen_size(char taille);

Change la taille de l'écran virtuelle.
Par défaut le code de mise en route initialise un écran virtuelle de 64 caractères en largeur et de 32 caractères en hauteur, mais d'autres valeurs sont possibles, à savoir: 32x32, 128x32, 32x64, 64x64 ou 128x64.
Plus l'écran virtuel est grand, moins vous avez de mémoire vidéo pour vos graphiques (polices, tiles, sprites).

load_vram(int vaddr, int *data, int nb);

Une fonction générique pour charger toute sorte de données (BAT, CG, sprites) en mémoire vidéo, à l'adresse "vaddr".
"nb" est le nombre de mots 16 bits à charger.

load_bat(int vaddr, int *bat_data, char w, char h);

Charge une table d'attributs de blocs (BAT) de largeur "w" et de hauteur "h" en mémoire vidéo, à l'adresse "vaddr".

load_background(char *gfx, int *pal, int *bat, char largeur, char hauteur);

Cette fonction est une fonction tout en un, elle est utilisée pour afficher une entière image de fond sur l'écran, comme une image de titre d'un jeu.
Elle chargera les données de tiles, elle chargera la palette, et enfin elle chargera le BAT.
Utilisez les directives #incchr, #incpal et #incbat pour gérer les différent type de données.
Les données de blocs seront stockées aux adresses de 0x1000 à 0x5000 en mémoire vidéo.

set_xres(int xres);

Change la résolution horizontal à "xres" (en pixels).
Cela change les registres du contrôleur vidéo pour afficher davantage de pixels sur l'écran; cela n'affecte pas les calculs virtuels.
On peut monter jusqu'à 320 (voir 511 mais aucun emulateur ne restitue cette resolution) et descendre jusqu'à 8.

PS: L'affichage reel sera tjs un multiple de 8 soit un caratere.


Back to contents