BASE |
Base |
|---|---|
| MSX Basic Version 2.0 | |
Syntaxe
| BASE(tablenumber) |
Paramètres
| Nom | Description | |||||||
|---|---|---|---|---|---|---|---|---|
| tablenumber | Ce paramètre permet d'indiquer le numéro correspondant à l'adresse de la table de VRAM. Voici les valeurs correspondante : | |||||||
| Valeur | Type | Table de nom | Table de couleur | Table de palette | Table d'attribut de sprite | Table de palette de sprite | Requis | |
| 0 | Texte | 0 | - | 2 | - | - | MSX | |
| 1 | Texte | 5 | 6 | 7 | 8 | 9 | ||
| 2 | Graphique | 10 | 11 | 12 | 13 | 14 | ||
| 3 | Graphique | 15 | - | 17 | 18 | 19 | ||
| 4 | Graphique | 20 | 21 | 22 | 23 | 24 | MSX2 | |
| 5 | Graphique | 25 | - | - | 28 | 29 | ||
| 6 | Graphique | 30 | - | - | 33 | 34 | ||
| 7 | Graphique | 35 | - | - | 38 | 39 | ||
| 8 | Graphique | 40 | - | - | 43 | 44 | ||
| 9 | Texte | - | - | - | - | - | ||
| 10 | Graphique | 50 | - | - | 53 | 54 | MSX2+ | |
| 11 | Graphique | 55 | - | - | 58 | 59 | ||
| 12 | Graphique | 60 | - | - | 63 | 64 | ||
Description
Cette fonction permet de lire ou d'écrire l'adresse de base d'une table VDP (Video Display Processor).
Remarques
- Cette instruction peut être utilisée en mode lecture pour tous les modes d'écran pris en charge : elle renvoie alors la première adresse VRAM pour un usage spécifique.
- Dans les écrans 5 à 8 et 10 à 13, vous obtiendrez la valeur de décalage par rapport à l'adresse de début de la page active.
- Cette instruction peut être utilisée en mode écriture, fonctionnant uniquement pour les numéros de table de 0 à 19, correspondant aux écrans 0 à 3, elle permet de modifier la première adresse VRAM pour un usage spécifique. Les registres VDP seront mis à jour automatiquement. La valeur doit être implémentable par VDP et doit être inférieure à &H4000, sinon une erreur d'appel de fonction illégale sera générée.
- Une modification des numéros de table de 10 à 14 pour l'écran 2 modifiera également l'adresse VRAM correspondante pour l'écran 4.
- Il manque des informations précises sur l'écran 13.
- SCREEN 1 est un écran texte, mais l'ensemble de caractères peut être rempli avec des graphismes de jeu et des sprites peuvent également être utilisés.
- SCREEN 9 est un écran texte, initialement conçu pour les caractères coréens, et utilisant le mode graphique SCREEN 5 ou SCREEN 6.
- La table des couleurs des sprites, disponible uniquement sur MSX2 et versions ultérieures et utilisée pour les sprites de type 2 sur les écrans 4 à 8 et 10 à 12, se situe «strictement au-dessus» de la table d'attributs des sprites, dont l'adresse de base est 512 (200 en hexadécimal).
Exemples
L'exemple suivant permet de monter une utilisation typique de BASE :
on obtiendra le résultat suivant :
2048L'exemple suivant permet de changer l'apparence du caractères avec BASE :
- 10 SC=PEEK(&HFCAF) ' Mode d'écran actuel (= 0/1 pour le texte)
- 11 A=ASC("!")*8+BASE(SC*5+2) ' Adresse VRAM pour la police de caractères «!»
- 12 FOR I=0 TO 7:READ D$:VPOKE A+I,VAL("&B"+D$):NEXT I
- 13 'Nouvel apparence (Remarque : les deux dernières colonnes ne sont pas utilisées dans l'écran 0)
- 14 DATA 00011000
- 15 DATA 00111100
- 16 DATA 00111100
- 17 DATA 00011000
- 18 DATA 00000000
- 19 DATA 00011000
- 20 DATA 00011000
- 21 DATA 00000000
L'exemple suivant permet de faire un test de base de la commande BASE :
Dernière mise à jour : Mardi, le 28 juillet 2015