Bonjour,
Existe-t-il un moyen de modifier et donc personnaliser les 15 couleurs par défaut de Borland Pascal 7 pour le mode texte ? (ClBlue, etc...)
Merci
Bonjour,
Existe-t-il un moyen de modifier et donc personnaliser les 15 couleurs par défaut de Borland Pascal 7 pour le mode texte ? (ClBlue, etc...)
Merci
Bonjour !
Il est possible de modifier les valeurs de palette au niveau de la carte vidéo à l'aide de l'interruption BIOS 10h. Mais n'est-ce pas un peu "hard" ? Que veux-tu faire exactement ?
Ce que je veux faire exactement?
Pour des raisons purement esthétiques pour l'interface du logiciel, utiliser d'autres couleurs que les 16 proposées par défaut.
Si tu utilises Turbo Vision (je ne sais pas si Turbo Vision est disponible pour BP7, mais à priori il n'y a pas de raison ), tu peux "déplacer" les couleurs (les échanger entre elles) mais tu ne pourras en aucun cas en redéfinir de nouvelles. Et même en trifouillant la palette, via l'int 10h ou les registres VGA, je ne suis pas sûr que cela marche pour le mode texte... C'est à tester !
a+
Turbo Vision est bien disponible.Envoyé par wormful_sickfoot
Ca marche aussi pour le mode texte.Envoyé par wormful_sickfoot
Il ne faut pas baisser les bras ! C'est relativement facile à réaliser.Envoyé par Pipoland
Merci du renseignement Ca peut être intéressantEnvoyé par Alcatîz
a+
Vous pouvez m'en dire plus? Je ne connais pas trop la programmation hard sous DOS.Envoyé par Alcatîz
Cordialement,
Je pense que nous parlons de la même chose, Alcatîz et moi, c'est-à-dire reprogrammer le DAC. Pour celà, deux possibilités donc :
- utiliser les fonction 1010h et 1012h de l'int 10h;
- modifier les valeurs directement avec les ports VGA, les ports concernés étant les ports 03C7h à 03C9h (si je me souviens bien)
Concernant la programmation du DAC, tu peux déjà regarder les unités d'Haypo, disponibles ici : http://turbo-pascal.developpez.com (dans la partie 'Unité', regarder les fichiers 'EcranVGA', 'ModeX'). Ca ne demande pas de très hautes compétences, mais il faut tout de même une certaine maîtrise du langage
a+
Effectivement, je pensais à la modification du contenu des 16 registres de palette du contrôleur d'attributs.
Mais il faut absolument être sous DOS pur car ce genre d'opérations engendre des violations système dans toutes les versions de Windows (je viens même d'essayer sur Windows 3.11 ).
Voilà à la demande générale , et surtout parce que j'avais envie de tester en mode texte, voici le code pour changer une couleur :
Testé en mode texte, et c'est assez impressionant ! Les valeurs pour Red, Green et Blue doivent être comprises entre 0 et 63...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 procedure SetPalette(Index: Word; Red, Green, Blue: Byte); assembler; asm MOV AX, 1010h; MOV BX, Index; MOV DH, Red; MOV CH, Green; MOV CL, Blue; INT 10h; end;
a+
Ah ben voilà ce que je voulais
Merci, je m'en vais de ce pas tester la chose.
Bon, la modification des couleurs peut se faire (et se fait générallement) en touchant directement aux ports VGA $3C7, $3C8 et $3C9.
En mode texte, il suffit de redéfinir les couleurs de 0 à 15. En mode graphique (la BGI), ce sont des index de couleurs plus originaux, puisqu'il faut piocher dans les codes 54 et suivants. Je peux les retrouver dans la doc au besoin.
En attendant, pour le simple mode texte :
Il faut bien prendre garde au fait que les composantes (R, G, B) doivent être codés sur 6 bits, donc doivent se situer dans l'intervalle de 0 à 63.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure SetRGBPalette(Index, R, G, B: Byte); begin Port[$3C7] := Index; Port[$3C9] := R; Port[$3C9] := G; Port[$3C9] := B; end;
A+
Le résultat est assez marrant, puisque vous pouvez repeindre l'interface de l'IDE de turbo pascal... Car à la fin de l'exécution de votre programme, l'IDE ne redessine pas la palette quand vous êtes en mode texte évidemment... Si vous voulez "customizer" votre IDE, vous pouvez commencer par ça
a+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager