donc j'envoi ça a SetScreen avec -1 et -1 en parametre pour logic screen, et phys screen, comme ça le Xbios me les malloc tout seul
frost :
Orion: pour être déjà passé par là il y a quelques années, je te conseille d'éviter d'utiliser les fonctions systèmes pour configurer tes modes vidéos. Tu verras sur la page de pmandin (voir sa signature) que certains "extendeur" de résolution comme la Screen Blaster ou la Blow Up ne réagissent plus quand tu veux changer de résol par les appels systèmes.
frost :
Essayes la lib DHS qui gère tout le hardware bien comme il faut et tout et tout : Voir sur la page http://dhs.nu/files_source.php dans "Misc sources and routines".
pmandin :
J'espère que tu ne parles pas de 'screenpain', tant vanté par certains sur les forums de dhs, le meilleur moyen d'avoir un mode video qui ne marche que sur le moniteur du codeur.
pmandin :
Euh, tu utilises screenpain juste pour initialiser un mode 320x200x16 couleurs? La fonction Setscreen(..,..,0) fait ca très bien depuis le ST.

Orion_ :Au besoin, Pexec() est documenté là (avec les modes multitos) : http://removers.free.fr/wikipendium/wakka.php?wiki=Pexec() et si jamais il y a des choses qui marchent pas comme documenté, on peut mettre à jour la doc.
merci pour pexec ça marche(enfin en multitos ça marche pas mais bon, je pense que ça doit etre compliqué a ce niveau ^^)
Orion_ :
par contre pour l'ecran, j'ai remarqué que Vsetmode avec -1, me renvoyais -1 dans d0
Si jamais tu as NVDI 3, procure-toi un v4 ou une v5
La réallocation de la mémoire écran (paramètres d'adresse à 0), et de manière générale tout ce qui touche aux changements de résolution, marchent très mal avec la v3.
Orion_ :Avec NVDI, il faut que tu désactive l'affichage de la souris. Si t'es en GFA, fais un HIDEMOUSE (orthographe approximative). Explication : les paramètres de taille d'écran (ceux utilisés pour le clipping de la souris) sont correctement mis à jour avec Setscreen() sous TOS seul, mais pas quand NVDI est là (probablement un oubli dans NVDI). Résultat : l'affichage de la souris peut se faire en dehors de la mémoire écran, et comme cette dernière est tout à la fin de la mémoire du Falcon, le sprite de la souris peut atterrir en dehors de la mémoire, c'est des bombes assurées.
ça me fait une erreur de bus, j'ai 2 puis 4 bombes :/
pmandin :Les extenseurs (Videl Inside, Centscreen, Videlity) c'est un peu un sujet en soi.
Justement, si les extenseurs désactivent certaines fonctions Xbios, ils ont en général leurs propres fonctions pour changer de mode vidéo, mais c'est tellement bien documenté que le désassemblage semble la seule solution (ce que j'ai fait pour la plupart avec ttdigger).
Avec eux, il faut distinguer 2 besoins différents : leur demander de passer dans une résolutions qu'ils ont dans leur boîte à malice pour s'en servir dans ton appli, ou simplement avoir une résolution étendue en général pour bosser pénard et avoir besoin de passer dans un autre mode dans ton appli.
(n'hésitez pas à me signaler si je dis des bêtises!)stabylo
:Orion_ :Avec NVDI, il faut que tu désactive l'affichage de la souris. Si t'es en GFA, fais un HIDEMOUSE (orthographe approximative). Explication : les paramètres de taille d'écran (ceux utilisés pour le clipping de la souris) sont correctement mis à jour avec Setscreen() sous TOS seul, mais pas quand NVDI est là (probablement un oubli dans NVDI). Résultat : l'affichage de la souris peut se faire en dehors de la mémoire écran, et comme cette dernière est tout à la fin de la mémoire du Falcon, le sprite de la souris peut atterrir en dehors de la mémoire, c'est des bombes assurées.
ça me fait une erreur de bus, j'ai 2 puis 4 bombes :/
(et je savais bien ce que tu allais te dire en voyant ma réponse!) 
pmandin :Ben oui, t'as bien raison Patrice
Ya un petit exemple sur le wikipendium à stabylo (fo bien qu'il serve)
pmandin :Sisi
Bizarre, c'est pas précisé dans le Compendium pour la valeur zéro.
c'est dit comme ça :
If either log or phys is NULL, the XBIOS will allocate a new block of memory large enough for the current screen and reset the parameter accordingly.
stabylo :Le HIDEMOUSE du GFA utilise la Line A ce qui est en dehors des bonnes pratiques. Pour ne pas utiliser le HIDEMOUSE de la Line A, il y a d'une part v_rmcur() (et son opposé v_dspcur()) disponible dans la VDI pour cacher le curseur, et encore mieux adapté à ton besoin de changement de résolution, il y a v_enter_cur() pour entrer en mode sans souris et son copain v_exit_cur() pour y revenir.
Avec NVDI, il faut que tu désactive l'affichage de la souris.
)stabylo :
et encore mieux adapté à ton besoin de changement de résolution, il y a v_enter_cur() pour entrer en mode sans souris et son copain v_exit_cur() pour y revenir.
pmandin :C'est à confirmer, mais je crois que pour faire du fullscreen en multitâche, un .TOS ouvrira une fenêtre console TOS et le redraw final ne sera pas fait sur la totalité de l'écran.
Et ya meme pas besoin d'appeler ces fonctions si tu renomme ton executable en .tos ou .ttp, puisque c'est le bureau qui s'en chargera.
stabylo
: C'est à confirmer, mais je crois que pour faire du fullscreen en multitâche, un .TOS ouvrira une fenêtre console TOS et le redraw final ne sera pas fait sur la totalité de l'écran.
Avec un .TOS tu es aussi un peu limité ; il me semble que tu ne peux pas ouvrir une station VDI, passage obligé pour identifier (proprement) une éventuelle carte graphique, non?
pmandin :Exact, c'est juste que j'ai toujours en tête ce que je pourrais améliorer dans ce vieil Animator que j'avais bien du mal à faire fonctionner sous les OS multitâches
Je ne parlais pas d'utilisation dans un OS multitache.
Il faut vérifier, mais je pense qu'en passant en mode texte, la station VDI utilisée par l'AES doit etre fermée, ainsi que la station physique. Ensuite tu fait ce que tu veux. Mais effectivement, si tu veux faire un prog qui utilise la VDI, bin il faut un prg/app/gtp.Après un petit tour dans le Compendium, il ne semble pas nécessaire de fermer la workstation. Ils disent que v_enter_cur() sert à préparer le lancement d'un appli TOS.
) gérer les cartes graphiques en faisant (avec un cookie EdDI de version suffisante) un graf_handle(), puis un v_opnvwk() pour avoir les infos.

Kochise :merci pour cette précision David!
TTP ou TOS ont accès à l'AES/VDI, mais seulement sur des stations virtuelles (genre une station destinée à l'impression) mais pas physique (écran) puisque le mode vidéo du TTP/TOS est en texte...
et pour compléter, ces programmes ont accès à l'écran, mais c'est un accès "limité" : ils peuvent ouvrir une station virtuelle sur l'écran, mais celle-ci ne leur accorde qu'un accès aux fonctions de l'émulateur VT52 de la VDI.