Vsetmode |
Fixe le mode vidéo |
---|---|
C pour Falcon030 | Opcode 88 |
Syntaxe
int Vsetmode(int modecode); |
Paramètres
Nom | Description | ||
---|---|---|---|
modecode | Ce paramètre permet d'indiquer le mode selon les bits suivants : | ||
Bits | Description | ||
0 à 2 | Ces bits permettent d'indiquer le nombre de couleurs par plans : | ||
Valeur | Description | ||
0 | Cette valeur permet d'indiquer 1 plan de 2 couleurs. | ||
1 | Cette valeur permet d'indiquer 2 plans de 4 couleurs. | ||
2 | Cette valeur permet d'indiquer 4 plans de 16 couleurs. | ||
3 | Cette valeur permet d'indiquer 8 plans de 256 couleurs. | ||
4 | Cette valeur permet d'indiquer 16 plans de 65536 couleurs. | ||
3 | Ce bit permet d'indiquer s'il faut utiliser la double largeur : | ||
Valeur | Description | ||
0 | Cette valeur permet d'indiquer une image d'une largeur de 320 pixels (40 colonnes). | ||
1 | Cette valeur permet d'indiquer une image d'une largeur de 640 pixels (80 colonnes). | ||
4 | Ce bit permet d'indiquer s'il faut utiliser le mode VGA : | ||
Valeur | Description | ||
0 | Cette valeur permet d'indiquer le mode TV (également les moniteurs Atari SC) : | ||
1 | Cette valeur permet d'indiquer le mode VGA. | ||
5 | Ce bit permet d'indiquer s'il faut utiliser le mode PAL : | ||
Valeur | Description | ||
0 | Cette valeur permet d'indiquer le mode NTSC. | ||
1 | Cette valeur permet d'indiquer le mode PAL. | ||
6 | Ce bit permet d'indiquer s'il faut utiliser activer le surbalayage : | ||
Valeur | Description | ||
0 | Cette valeur permet d'indiquer qu'il faut désactiver le surbalayage. | ||
1 | Cette valeur permet d'indiquer qu'il faut activer le surbalayage. | ||
7 | Ce bit permet d'indiquer s'il faut activer la compatibilité graphique du Atari ST : | ||
Valeur | Description | ||
0 | Cette valeur permet d'indiquer que la compatibilité graphique du Atari ST est désactivé. | ||
1 | Cette valeur permet d'indiquer que la compatibilité graphique du Atari ST est activé. | ||
8 | Ce bit permet d'indiquer s'il faut utiliser le mode entrelacé : | ||
Valeur | Description | ||
0 | Cette valeur permet d'indiquer que le mode entrelacé (sur moniteur couleur ou mode double ligne sur moniteur VGA) est déactivé. | ||
1 | Cette valeur permet d'indiquer que le mode entrelacé (sur moniteur couleur ou mode double ligne sur moniteur VGA) est activé. |
Description
Cette fonction permet de placer le Atari Falcon030 dans un mode vidéo spécifique.
Remarques
- L'appel Vsetmode(int modecode) est utilisé pour placer l'Atari Falcon030 dans un mode vidéo spécifique. Une valeur codée en bits (appelée "modecode) est transmise à la fonction Vsetmode() pour définir le mode. La fonction Vsetmode() renvoie le mode précédent ayant été défini.
- Quelques modes ne sont pas autorisés. Les modes 40 colonnes de 1 BPS ne sont pas pris en charge. Les modes 80 colonnes VGA de 16 BPS ne sont pas pris en charge.
- Pour faciliter la construction des valeurs de modecode, voici un tableau de définitions :
- #define VERTFLAG 0x100
- #define STMODES 0x80
- #define OVERSCAN 0x40
- #define PAL 0x20
- #define VGA 0x10
- #define TV 0x0
- #define COL80 0x8
- #define COL40 0x0
- #define NUMCOLS 7
- #define BPS16 4
- #define BPS8 3
- #define BPS4 2
- #define BPS2 1
- #define BPS1 0
- L'appel Vsetmode() renverra l'ensemble de modecode précédent. Vous devez utiliser cette valeur pour revenir au mode dans lequel vous étiez avant de passer votre appel Vsetmode().
- Un mot d'avertissement : la fonction Vsetmode() ne fournit pas de vérification des erreurs sur les modes valides. Il essaiera de définir des modes n'existant pas ou ne fonctionnant pas sur le moniteur que vous utilisez. Veillez à régler le mode approprié pour le bon moniteur !
- Les définitions répertoriées ci-dessus ainsi que la liaison XBIOS pour Vsetmode () sont définies dans MODE.H sur le disque de distribution.
- La fonction Vsetmode() n'ajuste pas l'adresse de la base vidéo, n'alloue aucune mémoire pour le nouveau mode ou n'initialise pas le VDI. Si vous voulez faire ces choses, vous devez utiliser setscreen().
En utilisant ces définitions, vous pouvez créer un modecode pour n'importe quel mode possible. Par exemple, pour surbalayage en True Color :
modecode = OVERSCAN|COL40|BPS16;
Pour le mode de compatibilité moyenne Atari ST sur un moniteur couleur/un téléviseur :
modecode = STMODES|COL80|BPS2;
Pour le mode de compatibilité basse Atari ST en PAL sur un moniteur couleur/un téléviseur :
modecode=STMODES|PAL|COL80|BPS2;
Pour le mode 256 couleurs, 80 colonnes sur un moniteur VGA :
modecode=VGA|COL80|BPS8;
Si vous avez un modecode et souhaitez connaître le nombre de bits par pixel dont il dispose, utilisez ce qui suit :
if(modecode & NUMCOLS) == BPS16) faire_quelquechose_de_bien(); /* Vous êtes en mode TRUE COLOR */
Dernière mise à jour : Dimanche, le 18 Avril 2021