- A rédiger -
- Linkakro 17/06/2014 - Copie du readme de matrefeytontias, correction de la forme pour le forum, et commentaires ajoutés en dessous.
######
Pour utiliser les fonctions de Wlib dans vos programmes Basic, mettez tous vos arguments dans la liste LWLIB, mettez le numéro de la fonction dans Ans puis
appelez prgmUSEWLIB. Exemple :
:{48,32}→LWLIB
:5:prgmUSEWLIB
Voici la liste des commandes actuellement disponibles :
___________________________________________________________________________________________________
Numéro de la commande| Arguments → LWLIB | Effet
___________________________________________________________________________________________________
0 (shiftUpDown) | { n° de la ligne de l'écran | Scrolle l'écran en haut ou
| à afficher en haut } | en bas (avec wrapping)
___________________________________________________________________________________________________
1 (shiftLeft) | { nb de pixels à scroller } | Scrolle le buffer à gauche
___________________________________________________________________________________________________
2 (shiftRight) | { nb de pixels à scroller } | Scrolle le buffer à droite
___________________________________________________________________________________________________
3 (checkPrgmExists) | { n° Str contenant le nom } | Stocke 1 dans W si le programme
| | existe, sinon stocke 0 dans W
___________________________________________________________________________________________________
4 (createPrgm) | { n° Str contenant le nom | Crée le programme au nom spécifié
| , taille } | avec la taille spécifié
| | (écrase si existant)
___________________________________________________________________________________________________
5 (pixelOn) | { X, Y } | Allume le pixel aux coordonnées
| | (X,Y) sur le buffer
___________________________________________________________________________________________________
6 (pixelOff) | { X, Y } | Éteint le pixel aux coordonnées
| | (X,Y) sur le buffer
___________________________________________________________________________________________________
7 (pixelChange) | { X, Y } | Change l'état du pixel aux
| | coordonnées(X,Y) sur le buffer
___________________________________________________________________________________________________
8 (loadSprite) | { n° Str contenant les sprites, | Charge des sprites 8*8 codés en
| nb de sprites à charger } | hexa dans les slots de Wlib
| | à partir du 0
___________________________________________________________________________________________________
9 (loadTilemap) | { n° Str contenant la tilemap, | Charge une tilemap de la largeur
| largeur, hauteur } | et hauteur données
___________________________________________________________________________________________________
10 (drawSprite) | { X, Y, n° slot } | Affiche un sprite 8*8 aux
| | coordonnées (X,Y) sur le buffer
___________________________________________________________________________________________________
11 (drawTilemap) | { X, Y } | Affiche la tilemap chargée
| | en partant de la tile (X,Y),
| | permettant ainsi du
| | scrolling en faisant varier (X,Y)
___________________________________________________________________________________________________
12 (fastCopy) | aucun | Affiche le buffer à l'écran
___________________________________________________________________________________________________
13 (fastCopyErase) | aucun | Affiche le buffer à l'écran
| | puis efface le buffer.
| | Moins d'une µs de différence
| | avec la version n'effaçant pas.
___________________________________________________________________________________________________
14 (invBuffer) | aucun | Inverse tous les pixels du buffer
___________________________________________________________________________________________________
Pensez à afficher le tampon (buffer) à l'écran, avec fastCopy ou fastCopyErase) pour toutes les fonctions de dessin qui ne provoquent pas un affichage immédiat.
Les coordonnées et numéros de lignes et colonnes sont des indices de pixels commençant à 0.
Les indices des slots de sprites sont de 0 à N-1, pour N slots.
Les tuiles (des sprites 8*8, "tiles" en anglais) portent les indices 0 à 9 puis A à Z pour être utilisés par la map.
La map organise les tuiles de gauche à droite puis haut en bas (écriture latine).
Chaque tuile organise ses quartets (nibbles) en ordre latin. (groupes horizontaux de quatre pixels)
Chaque quartet (nibble) organise son LSB (bit de poids faible) à droite et son MSB (poids fort) à gauche.
- Linkakro 17/06/2014 - Copie du readme de matrefeytontias, correction de la forme pour le forum, et commentaires ajoutés en dessous.
######
Pour utiliser les fonctions de Wlib dans vos programmes Basic, mettez tous vos arguments dans la liste LWLIB, mettez le numéro de la fonction dans Ans puis
appelez prgmUSEWLIB. Exemple :
:{48,32}→LWLIB
:5:prgmUSEWLIB
Voici la liste des commandes actuellement disponibles :
___________________________________________________________________________________________________
Numéro de la commande| Arguments → LWLIB | Effet
___________________________________________________________________________________________________
0 (shiftUpDown) | { n° de la ligne de l'écran | Scrolle l'écran en haut ou
| à afficher en haut } | en bas (avec wrapping)
___________________________________________________________________________________________________
1 (shiftLeft) | { nb de pixels à scroller } | Scrolle le buffer à gauche
___________________________________________________________________________________________________
2 (shiftRight) | { nb de pixels à scroller } | Scrolle le buffer à droite
___________________________________________________________________________________________________
3 (checkPrgmExists) | { n° Str contenant le nom } | Stocke 1 dans W si le programme
| | existe, sinon stocke 0 dans W
___________________________________________________________________________________________________
4 (createPrgm) | { n° Str contenant le nom | Crée le programme au nom spécifié
| , taille } | avec la taille spécifié
| | (écrase si existant)
___________________________________________________________________________________________________
5 (pixelOn) | { X, Y } | Allume le pixel aux coordonnées
| | (X,Y) sur le buffer
___________________________________________________________________________________________________
6 (pixelOff) | { X, Y } | Éteint le pixel aux coordonnées
| | (X,Y) sur le buffer
___________________________________________________________________________________________________
7 (pixelChange) | { X, Y } | Change l'état du pixel aux
| | coordonnées(X,Y) sur le buffer
___________________________________________________________________________________________________
8 (loadSprite) | { n° Str contenant les sprites, | Charge des sprites 8*8 codés en
| nb de sprites à charger } | hexa dans les slots de Wlib
| | à partir du 0
___________________________________________________________________________________________________
9 (loadTilemap) | { n° Str contenant la tilemap, | Charge une tilemap de la largeur
| largeur, hauteur } | et hauteur données
___________________________________________________________________________________________________
10 (drawSprite) | { X, Y, n° slot } | Affiche un sprite 8*8 aux
| | coordonnées (X,Y) sur le buffer
___________________________________________________________________________________________________
11 (drawTilemap) | { X, Y } | Affiche la tilemap chargée
| | en partant de la tile (X,Y),
| | permettant ainsi du
| | scrolling en faisant varier (X,Y)
___________________________________________________________________________________________________
12 (fastCopy) | aucun | Affiche le buffer à l'écran
___________________________________________________________________________________________________
13 (fastCopyErase) | aucun | Affiche le buffer à l'écran
| | puis efface le buffer.
| | Moins d'une µs de différence
| | avec la version n'effaçant pas.
___________________________________________________________________________________________________
14 (invBuffer) | aucun | Inverse tous les pixels du buffer
___________________________________________________________________________________________________
Pensez à afficher le tampon (buffer) à l'écran, avec fastCopy ou fastCopyErase) pour toutes les fonctions de dessin qui ne provoquent pas un affichage immédiat.
Les coordonnées et numéros de lignes et colonnes sont des indices de pixels commençant à 0.
Les indices des slots de sprites sont de 0 à N-1, pour N slots.
Les tuiles (des sprites 8*8, "tiles" en anglais) portent les indices 0 à 9 puis A à Z pour être utilisés par la map.
La map organise les tuiles de gauche à droite puis haut en bas (écriture latine).
Chaque tuile organise ses quartets (nibbles) en ordre latin. (groupes horizontaux de quatre pixels)
Chaque quartet (nibble) organise son LSB (bit de poids faible) à droite et son MSB (poids fort) à gauche.
- Code:
Ordre dans une tuile
32107654
BA98FEDC
ainsi de suite