Vision 4.8a1 et XaAES

136 views
Skip to first unread message

Moulinaie

unread,
Feb 12, 2021, 7:06:25 AM2/12/21
to Atari mon amour
Coucou Jean,

Sur le Falcon/CT60 + Radeon, j'ai un soucis avec XaAES sur quelques icones de Vision.
Je te fais la copie d'écran sous les deux systèmes (XaAES et MyAES), c'est le même programme qui se lance avec la même version de Mint.

Guillaume.vision.png

GOOD OLD TOS

unread,
Feb 12, 2021, 11:51:03 AM2/12/21
to Atari mon amour
Salut Guillaume,

Comprends pas, une icone c'est une icone ...
J'ai regardé dans le RSC mais j'ai des pb avec ma config:
- Avec XaAES, Interface, si j'édite une icone, Aranym se fige
- Avec XAaes/Resource Master, je vois bien les icones et pas de différence notable (genre masque/sel/non sel)
- Avec myAES, mon Aranym ne veut plus afficher de souris (ça a marché pourtant)

Olivier a peut être une idée? Il doit y avoir une différence sur certaines icônes genre sel/non sel/masque mais je ne l'ai pas vue.

GOOD OLD TOS

unread,
Feb 12, 2021, 11:57:19 AM2/12/21
to Atari mon amour
Tu es en combien de couleurs au fait?

GOOD OLD TOS

unread,
Feb 12, 2021, 12:11:00 PM2/12/21
to Atari mon amour
Piste:ça fait ça quand "l'icone est grisée" (objet GEM DISABLED).
Doit y avoir un truc bizarre dans l'affichage de l'icone via les routines d'interface.

OL

unread,
Feb 12, 2021, 12:18:47 PM2/12/21
to atari-m...@googlegroups.com
Salut Jean


Quand je regarde les images fournies, les icônes qui ne s'affichent pas, s'affichent bizarrement un peu sur MyAES

En regardant l'image MyAES (et j'ai la même chose chez moi) puis en regardant sous XaAES (qui s'affiche chez moi mais la version est bien plus récente) je pense que le soucis ne vient pas des icônes mais de l'état de ces icônes qui me semblent "disabled" donc grisées et là sauf erreur de XaAES je pense que c'est l'opération binaire du disabled qui foire donc la VDI


Olivier

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Atari mon amour".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse atari-mon-amo...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/atari-mon-amour/e2bc609d-c35b-4d9a-9a7d-553c4f9d33dan%40googlegroups.com.


ol_google.vcf

Moulinaie

unread,
Feb 12, 2021, 1:18:04 PM2/12/21
to Atari mon amour
En 16 bits sur la Radeon.

Moulinaie

unread,
Feb 12, 2021, 1:18:59 PM2/12/21
to Atari mon amour
Si Olivier a raison, en parcourant un dossier, les flèches ne devraient plus être "disabled" et s'afficher correctement... Je vais tester.
Guillaume.

Moulinaie

unread,
Feb 12, 2021, 2:47:55 PM2/12/21
to Atari mon amour
C'est exactement ça : si je "browse" un dossier, les flèches s'affichent correctement. Donc c'est l'effet "disable" sur une icone qui plante.
Guillaume.

OL

unread,
Feb 12, 2021, 3:02:03 PM2/12/21
to atari-m...@googlegroups.com
En fait je pense que c'est ta VDI qui a un truc qui ne plaît pas probablement dans vro_cpyfm

Olivier
ol_google.vcf

Moulinaie

unread,
Feb 12, 2021, 3:07:06 PM2/12/21
to Atari mon amour
Et comment se fait-ce que sous MyAES il n'y ait pas cet effet? Puisque c'est la même VDI... ???

OL

unread,
Feb 12, 2021, 3:16:01 PM2/12/21
to atari-m...@googlegroups.com
Oh cela me semble simple, le mode utilisé par XaAES est sans doute différent de celui qu'utilise MyAES, j'avoue vu la flopée des possibilités il y a sans doute plusieurs façons de s'y prendre, sous Aranym TC c'est bien plus chouette sous XaAES que sous MyAES :-(

Olivier
ol_google.vcf

GOOD OLD TOS

unread,
Feb 12, 2021, 4:47:48 PM2/12/21
to Atari mon amour
Hello,

un truc que tu peux essayer puisque myAES gère les icones couleurs, c'est de forcer VISION à utiliser soit les routines d'interface, soit celles de myAES:
dans vision.ini, section General:
RsrcChoice = -1 --> choix auto fait par VISION
RsrcChoice = 0 --> routines interface
RsrcChoice = 1 -> routines AES

Jette un oeil à vision.log aussi, tu devrais voir un truc du style:
[INFO]  Loading RSC file H:\pure_c\projects\vision\LANGUES\ENGLISH\VISION.RSC with rsrc_choice=-1
[INFO]  Xrsrc_load: using xrsrc_load

A+,
Jean

Moulinaie

unread,
Feb 13, 2021, 6:17:54 AM2/13/21
to Atari mon amour
Le problème est sous XaAES, pas sous MyAES.
J'ai néanmoins testé les autres options pour RsrcChoice et c'est pareil. Les icones disabled sont mal rendues.

Je viens de voir avec une nouvelle version Freemint 1.18 et XaAES 1.5.5 c'est pareil.

Le driver de la Radeon..?
N'empêche que sous MyAES ça tourne.

Guillaume.

OL

unread,
Feb 13, 2021, 3:36:44 PM2/13/21
to atari-m...@googlegroups.com
Salut Guillaume

Oui je pense le driver Radeon, MyAES fait d'une manière différente pour gérer le disabled (c'est d'ailleurs assez moche sur les icônes!).

Olivier
ol_google.vcf

GOOD OLD TOS

unread,
Feb 13, 2021, 3:49:44 PM2/13/21
to Atari mon amour
Hello,

sous XaAES, ce sont les routines d'interface qui sont utilisées (XaAES ne supporte par les icones couleurs).
sous myAES, tu as le choix, soit les routines de myAES ( RsrcChoice = -1ou 1) ou celles d'interface (RsrcChoice = 0)

Je soupçonnerais plutôt le driver Radeon qui m'a déjà posé des pbs suite à des routines se comportant bizarrement (ne marche pas sur un vro_cpyfm sur une largeur de 1 pixel), les routines d'interface m'ont posé des pb mais là comme ça marche sur les autres configs...
Essaie voir avec myAES et RsrcChoice = 0 pour vérifier, cela devrait faire pareil qu'avec XaAES.

A+,
Jean

OL

unread,
Feb 13, 2021, 4:20:28 PM2/13/21
to atari-m...@googlegroups.com
Salut Jean


XaAES supporte parfaitement les icônes couleur

Olivier
ol_google.vcf

GOOD OLD TOS

unread,
Feb 13, 2021, 6:35:26 PM2/13/21
to Atari mon amour
Salut Olivier,

Alors je dois avoir fait (encore) un bug parce que tel que je détecte si l'AES supporte les icones couleurs:
[INFO]  Loading RSC file H:\pure_c\projects\vision\LANGUES\ENGLISH\VISION.RSC with rsrc_choice=-1
[DEBUG] appl_getinfo ret=1, a3=1, a4=1, SVersion:4000
[INFO]  Xrsrc_load: using xrsrc_load
Le code:
  if ( rsrc_choice == -1 )
  {
      if ( (AESVersion >= 0x0400) || (appl_find("?AGI\0\0\0\0") >= 0) )
      {
      WORD ret, a1, a2, a3=0, a4=0 ;

          ret = appl_getinfo( 2, &a1, &a2, &a3, &a4 ) ;
      LoggingDo(LL_DEBUG, "appl_getinfo ret=%d, a3=%d, a4=%d, SVersion:%x", ret, a3, a4, Sversion()) ;
          if ( ret && a3 && a4&2) choix_rsrc = 1 ;
          else                    choix_rsrc = 0 ;
      }
      else choix_rsrc = 0 ;
  }
  else choix_rsrc = rsrc_choice ;

  LoggingDo(LL_INFO, "Xrsrc_load: using %s", choix_rsrc ? "rsrc_load":"xrsrc_load") ;
  if ( choix_rsrc == 1 ) return rsrc_load(rsc_name) ;
  else                   return xrsrc_load( rsc_name, bidon_global/*_GemParBlk.global*/ ) ;

D'où choix_rsrc = 0 (routines d'Interface), ce qui me fait dire que XaAES ne supporte pas les icônes couleurs; je dois avoir une erreur dans mon test car en effet RsrcChoice=1 marche bien sous ma config XaAES/Mint/Aranym
Mais bon on dirait que ça ne marche pas non plus puisque quand Guillaume force RsrcChoice= 1 (routines AES), ça ne marche pas non plus sous XaAES.

A+,
Jean

OL

unread,
Feb 14, 2021, 2:52:28 AM2/14/21
to atari-m...@googlegroups.com
Salut Jean

Effectivement il y a pour moi une erreur, enfin peut être pas tout dépend de ton ressource et comment tu t'y prend après

Pour savoir si tu as les icônes couleur supportées la réponse est uniquement dans a3

Dans a4 les ressources étendus TOS 4 donc devrait aussi y avoir le bit 1 à 1 et si le format Interface (encore plus étendu) est supporté tu à le bit 2 à 1(en fait seul à ma connaissance MyAES supporte cela!). Donc en gros si tu as un ressource étendu standard pour appeler rsrc_load il faut le bit 1, si c'est un format PureC il faut le bit 2 (comme tu le demandes), maintenant si tu as des icônes couleurs a dessiner il ne te faut que a3, tu peux très bien charger le ressource à la main et faire tout de même dessiner les icônes par l'AES. Je ne sais pas quel est le format de ton ressource, mais si tu forces sous XaAES et que globalement cela se charge et marche alors sans doute tu n'as qu'à tester que le bit 1 de a4

Olivier
ol_google.vcf

GOOD OLD TOS

unread,
Feb 14, 2021, 6:23:50 AM2/14/21
to Atari mon amour
Hello,

VISION utilise le format interface non étendu, donc oui je devrais me contenter de b4 bit 1 positionné pour utiliser les icones couleurs AES. Je corrigerai cela.
Par contre Guillaume, tu confirmes bien que sous XaAES si tu mets RsrcChoice= 1dans vision.ini sous XaAES, ça donne le même résultat sur les icones grisées?
En ce cas, cela voudrait dire que les routines d'affichage couleur de XaAES doivent utiliser les mêmes fonctions VDI/paramètres que celles d'interface et que ça ne marche pas à cause du driver VDI de la Radeon.

A+,
Jean

OL

unread,
Feb 14, 2021, 10:55:07 AM2/14/21
to atari-m...@googlegroups.com
Jean

si tu donnes la méthode pour griser les icônes disable peut être Guillaume pourrait tester la fonction pour voir si il s'agit bien du driver (il y a les sources de ce driver ?)

Olivier
ol_google.vcf

Moulinaie

unread,
Feb 14, 2021, 12:14:48 PM2/14/21
to Atari mon amour
Oui Jean, je confirme !
Au début le paramètre était à -1
Je l'ai passé à 1 : idem
Et à 0 il dit qu'il y a un soucis de taille de ressource.

Guillaume.

Moulinaie

unread,
Feb 14, 2021, 12:27:50 PM2/14/21
to Atari mon amour
Quelques infos...

Vision fonctionne bien sous TOS, donc avec la Radeon et son driver. Je ne pense pas que ce soit uniquement le driver, sinon, je n'aurais pas les icones grisées sous TOS.

Par ailleurs, j'ai modifié le RSC de ZVIEW qui a une icone couleur dans sa boîte d'info. Je l'ai passée en "disabled".
Elle s'affiche correctement sous TOS et également sous XaAES avec la trame grise dessus, mais bien visible dessous.

Guillaume.

Moulinaie

unread,
Feb 14, 2021, 12:34:49 PM2/14/21
to Atari mon amour
INFO Intéressante !!!!!!!

Si j'ouvre le RSC modifié de ZVIEW dans Interface sous XaAES, l'icone "disabled" est aussi abîmée que celles de Vison.
Ce sont donc bien les routines Interface qui posent problème.

DIABLE !
Quelle enqête!

Guillaume.

GOOD OLD TOS

unread,
Feb 14, 2021, 4:29:41 PM2/14/21
to Atari mon amour
Hello Guillaume

Quand tu mets RsrcChoice a 0, il y a un pb de taille de rsc??? Comprends pas quand on met -1 (détection auto), c'est comme si on mettais 0 sous XaAES. Tu peux poster vision.log avec le niveau debug stp ?
Je ne pense pas que ce soit un pb d'interface (ca marche partout ailleurs), je pense plutôt que le driver vdi radeon  supporte mal certains paramètres, les sources sont dans xrsrc.c du dossier tools je n'ai pas accès aux sources la mais ce ne devrait pas être trop dur de trouver la routine d'affichage des icônes couleurs, y'a forcément un vro-cpyfm dedans.
A+, Jean

GOOD OLD TOS

unread,
Feb 14, 2021, 4:32:21 PM2/14/21
to Atari mon amour
Dans je viens de voir ta remarque comme quoi ça marche sous ton... comprend encore moins ..
 Pourquoi XaAES/Mint viendraient changer quelque chose?

Moulinaie

unread,
Feb 15, 2021, 2:58:04 AM2/15/21
to Atari mon amour
Coucou Jean,

M'étant un peu emmêlé les pédales, je t'ai fait un dossier bien plus net en étant concentré sur le Falcon.
J'ai mis les flags à 1FFFFFF et lancé VISION sous TOS, XaAES et MyAES dans les trois modes RsrcChoice=0/1/-1.
Je t'ai copié tous les LOGS et ajouté la comparaison avec l'icone couleur dans ZVIEW.

En espérant que ça t'aide...

Guillaume.

VISION_LOG.zip

GOOD OLD TOS

unread,
Feb 15, 2021, 11:15:06 AM2/15/21
to Atari mon amour
Salut Guillaume,

merci pour ces logs détaillés, donc:
TOS:
rsrc_choice=-1 --> routines interface OK
rsrc_choice=0  --> routines interface OK
rsrc_choice=1 --> plante ("normal" ce TOS n'a pas de gestion des icones couleurs)

XaAES:
rsrc_choice=-1 --> routines interface icones diabled apparaissent mal
rsrc_choice=0  --> routines itnerface icones diabled apparaissent mal
rsrc_choice=1  --> routines XaAES icones diabled apparaissent mal

icone disabled dans zView --> OK sous zView, mal sous Interface

myAES:
rsrc_choice=-1 --> routines interface OK
rsrc_choice=0  --> routines interface OK
rsrc_choice=1  --> routines myAES     OK

Donc les routines d'interface ne marchent pas sur Radeon quand l'icone est grisée. Par contre, en regardant le code de Interface, je ne vois pas quand le cas 'disabled' apparait; mais cela me parait assez clair qu'il y a un mode ou une fonction VDI mal gérée dans le driver, zView doit s'y prendre un peu différemment et ne pas tomber dans ce cas. C'est ma compréhension en tout cas!

Si quelqu'un y voit plus clair, il est le bienvenu! Je ne sais pas si un icone disabled est une icone à part (je ne la vois pas dans le resource) ou si elle est construite à partir de l'icone en cours (sans doute mais je me demande comment elle est affichée par Interface).
Extraits du code incriminé ci-dessous:

LOCAL VOID draw_bitblk (WORD *p, WORD x, WORD y, WORD w, WORD h, WORD num_planes, WORD mode, WORD *index)
{
  WORD  pxy[8] ;
  MFDB  s, d ;

  d.mp  = NULL ; /* screen */
  s.mp  = (VOID *)p ;
  s.fwp = w ;
  s.fh  = h ;
  s.fww = w >> 4 ;
  s.ff  = FALSE ;
  s.np  = num_planes ;

  pxy[0] = 0 ;
  pxy[1] = 0 ;
  pxy[2] = s.fwp - 1 ;
  pxy[3] = s.fh - 1 ;

  pxy[4] = x ;
  pxy[5] = y ;
  pxy[6] = pxy[4] + pxy [2] ;
  pxy[7] = pxy[5] + pxy [3] ;

/*  DumpBitBlk( num_planes, p, w, h ) ;*/
  if (num_planes > 1) vro_cpyfm (xvdi_handle, mode, pxy, &s, &d) ;
  else                vrt_cpyfm (xvdi_handle, mode, pxy, &s, &d, index ); /* copy it */
}

GLOBAL WORD CDECL xdraw_cicon (PARMBLK *pb)
{    WORD         ob_x, ob_y, x, y, dummy, pxy[4], m_mode, i_mode, mskcol, icncol;
    LONG         ob_spec;
    ICONBLK *iconblk;
    CICON   *cicn;
    WORD    *mask, *data, *dark = NULL;
    BYTE    letter[2];
    WORD    selected, mindex[2], iindex[2], buf, xy[4];
    BOOLEAN invert = FALSE;
    
    selected = pb->pb_currstate & SELECTED;
    
    xrect2array ((GRECT *)&pb->pb_xc, xy);
    vs_clip (xvdi_handle, TRUE, xy);   /* d‚finit la zone rectangulaire */
    
    ob_spec    = pb->pb_parm;
    ob_x        = pb->pb_x;
    ob_y        = pb->pb_y;

    iconblk = (ICONBLK *)ob_spec;
    cicn    = ((CICONBLK *)ob_spec)->mainlist;
    m_mode  = MD_TRANS;

    if (selected) /* it was an objc_change */
    {
        if (cicn->sel_data != NULL)
        {
            mask = cicn->sel_mask;
            data = cicn->sel_data;
            if (cicn->num_planes > 1)
            {    if (cicn->num_planes > 8)    /* TrueColor, carte couleur en mode RVB? */
                    i_mode = S_AND_D;
                else
                    i_mode = S_OR_D;
            }
            else
                i_mode = MD_TRANS;
        }
        else
        {
            mask = cicn->col_mask;
            data = cicn->col_data;

            if (cicn->num_planes > 1)
            {    if (cicn->num_planes > 8)
                    i_mode = S_AND_D;
                else
                    i_mode = S_OR_D;
                dark = cicn->sel_mask;
            }
            else
                invert = TRUE;
        }
    }
    else
    {
        mask = cicn->col_mask;
        data = cicn->col_data;
    
        if (cicn->num_planes > 1)
        {    if (cicn->num_planes > 8)
                i_mode = S_AND_D;
            else
                i_mode = S_OR_D;
        }
        else
            i_mode = MD_TRANS;
    }
    
    mindex [0] = ((iconblk->ib_char & 0x0f00) != 0x0100) ? (iconblk->ib_char & 0x0f00) >> 8 : WHITE;
    mindex [1] = WHITE;
    
    icncol = iindex[0] = (WORD)(((UWORD)iconblk->ib_char & 0xf000U) >> 12U);
    iindex[1] = WHITE;

    mskcol = (iconblk->ib_char & 0x0f00) >> 8;

    x = ob_x + iconblk->ib_xicon;
    y = ob_y + iconblk->ib_yicon;

    if (invert)
    {
        buf       = iindex[0];
        iindex[0] = mindex[0];
        mindex[0] = buf;
        i_mode    = MD_TRANS;
    }
    if (selected)
    {
        buf    = icncol;
        icncol = mskcol;
        mskcol = buf;
    }
    
    draw_bitblk (mask, x, y, iconblk->ib_wicon, iconblk->ib_hicon, 1, m_mode, mindex);
    draw_bitblk (data, x, y, iconblk->ib_wicon, iconblk->ib_hicon, cicn->num_planes, i_mode, iindex);
    
    if (dark)
    {
        mindex [0] = BLACK;
        mindex [1] = WHITE;
        draw_bitblk (dark, x, y, iconblk->ib_wicon, iconblk->ib_hicon, 1, MD_TRANS, mindex);
    }

    if (iconblk->ib_ptext[0])
    {
        x = ob_x + iconblk->ib_xtext;
        y = ob_y + iconblk->ib_ytext;
       
        pxy[0] = x;
        pxy[1] = y;
        pxy[2] = x + iconblk->ib_wtext - 1;
        pxy[3] = y + iconblk->ib_htext - 1;
       
        vswr_mode     (xvdi_handle, MD_REPLACE);        /* dessiner la boite texte (TextBox) */
        vsf_color     (xvdi_handle, mskcol);
        vsf_interior  (xvdi_handle, FIS_SOLID);
        vsf_perimeter (xvdi_handle, FALSE);
        v_bar         (xvdi_handle, pxy);
    }

    vswr_mode     (xvdi_handle, MD_TRANS);
  vst_font      (xvdi_handle, 1);    /* Systemfont */
    vst_height    (xvdi_handle, 4, &dummy, &dummy, &dummy, &dummy);
    vst_color     (xvdi_handle, icncol);
     vst_effects   (xvdi_handle, TXT_NORMAL);
     vst_alignment (xvdi_handle, ALI_LEFT, ALI_TOP, &dummy, &dummy);
  vst_rotation  (xvdi_handle, 0);
    
    if (iconblk->ib_ptext[0])
    {    x += (iconblk->ib_wtext - strlen ((char*)iconblk->ib_ptext) * 6) >> 1 ;
        y += (iconblk->ib_htext - 6) >> 1 ;
       
        v_gtext (xvdi_handle, x, y, iconblk->ib_ptext);
    }

    letter[0] = iconblk->ib_char & 0xff;
    if (letter[0])
    {
        letter[1] = '\0';
        x = ob_x + iconblk->ib_xicon + iconblk->ib_xchar;
        y = ob_y + iconblk->ib_yicon + iconblk->ib_ychar;
    
        v_gtext (xvdi_handle, x, y, letter);
    }
    
    
    xrect2array ((GRECT *)&pb->pb_xc, xy);
  vs_clip (xvdi_handle, FALSE, xy);

    return (pb->pb_currstate & ~ SELECTED);
} /* draw_userdef */

Moulinaie

unread,
Feb 15, 2021, 11:41:49 AM2/15/21
to Atari mon amour
Je ne vois rien dans ce source qui testerait l'état DISABLED...
Ca doit être plus tard, non?
L'AES affiche l'icone couleur et ensuite elle lui passe un masque sur la tête.

C'est dans currstate normalement, et il n'y a que SELECTED qui soit testé.

Guillaume.

OL

unread,
Feb 15, 2021, 1:52:16 PM2/15/21
to atari-m...@googlegroups.com
Salut Jean

Je n'y vois franchement pas claire dans ce qui est écrit où il y a un
truc qui ne va pas dans ton code.

Comment on peut comprendre que tout marche sous MyAES ce n'est pas
logique, la seule chose qui pourrait faire cela c'est que le disabled
dépende à coup sur de l'AES hors si c'est un userdef l'application se
débrouille toute seule, je pense juste à un truc qui pourrait mettre le
foin utilises tu un handle VDI que tu as ouvert toi même ou le handle
VDI fourni par l'AES ? Dans le 2eme cas un paramètre VDI pourrait être
mal initialisé ou avoir la perte de son initialisation si l'appli pense
l'avoir fait une fois mais que le handle est partagé par l'AES, dans le
cas de MyAES le handle fourni n'est pas celui de l'AES, j'ai bien séparé.

Un vrai mystère ton truc.

Olivier
ol_google.vcf

GOOD OLD TOS

unread,
Feb 15, 2021, 3:41:03 PM2/15/21
to Atari mon amour
Hello,

Salut Olivier,

je penche plutôt pour ton 2ème cas; le handle VDI utilisé dans les icones couleur est celui récupéré par VISION. Il me semble bien que c'est l'AES qui se charge de dessiner une grille par dessus si l'icone est 'DISABLED', en passant par Pure Debugger on s'aperçoit que l'icone est bien dessinée en non DISABLED puis au coup suivant on voit la prochaine icone en non DISABLED et la précédente en DISABLED.
Par contre, pourquoi le handle VDI récupéré par VISION serait mauvais à ce moment? Mystère car il est utilisé partout ailleurs sans poser de pb (donc la copie xvdi_handle reste correcte) et juste quand l'AES veut s'en servir pour dessiner le masque 'DISABLED', ça foire.

Guillaume, ça le fait sur un nombre de plans quelconque ou seulement en TC16?

A+,
Jean

OL

unread,
Feb 15, 2021, 4:08:18 PM2/15/21
to atari-m...@googlegroups.com
Salut Jean

je viens de regarder mon code (c'est vieux!) effectivement c'est à la charge de l'AES de faire le disabled! Moi je ne fais pas d'opération avec vro_cpyfm mais j'applique un vr_recfl() donc rien à voir avec ce que je t'ai dit, c'est bien l'AES qui se charge de cela dans tous les cas et donc c'est bien la VDI qui ne fait pas correctement son travail.

Dans les sources récentes de XaAES j'ai :
xa_write_disable(struct xa_vdi_settings *v, RECT *r, short colour)
{
    static short pattern[16] =
    {
        0x5555, 0xaaaa, 0x5555, 0xaaaa,
        0x5555, 0xaaaa, 0x5555, 0xaaaa,
        0x5555, 0xaaaa, 0x5555, 0xaaaa,
        0x5555, 0xaaaa, 0x5555, 0xaaaa
    };
    xa_wr_mode(v, MD_TRANS);
    xa_f_color(v, colour);
    vsf_udpat(v->handle, pattern, 1);
    xa_f_interior(v, FIS_USER);
    xa_gbar(v, 0, r);
}

On devine a peu près les fonctions utilisées, cela ressemble pas mal à ce que je fais sauf que moi je n'utilise pas de pattern user mais un pattern de base.

Olivier


--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Atari mon amour".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse atari-mon-amo...@googlegroups.com.
ol_google.vcf

Moulinaie

unread,
Feb 15, 2021, 4:43:08 PM2/15/21
to Atari mon amour
Ce qui est étrange c'est que si c'est l'AES qui s'en charge, pourquoi ça marche avec la boîte d'infos de ZVIEW ?
Strange...

Guillaume.

GOOD OLD TOS

unread,
Feb 15, 2021, 5:53:08 PM2/15/21
to Atari mon amour
Bonne remarque Guillaume...
Sais pas; il doit y avoir un paramètre différent qui explique pourquoi ça marche avec zView. Je viens de remarquer que l’icône zView (FORM7, boite d'info) n'est pas 'selectable', ni 'exit' mais ça n'a peut être rien à voir...
En tout cas, je ne crois pas qu'il y ait eu dans VISION des routines qui m'ont posé plus de pb que ces icônes couleurs :-(
La fonction AES montrée par Olivier semble bien claire, c'est AES qui fait le boulot à moins qu'il n'y une option pour laisser l'app le faire?
A+,
Jean

Moulinaie

unread,
Feb 16, 2021, 1:56:38 AM2/16/21
to Atari mon amour
Coucou,

Sous XaAES, il faudrait pouvoir tracer les appels VDI (tout ce qui peut faire un bloc) avec une pause et voir si, lorsque l'icone est DISABLED elle est au moins bien dessinée dessous et regarder quel appel se fait ensuite pour le côté grisé.

Un truc dans le genre...

Guillaume.

GOOD OLD TOS

unread,
Feb 16, 2021, 5:16:34 AM2/16/21
to Atari mon amour
Hello,

ca se fait de 'hooker' les appels VDI? J'ai pu utiliser Pure Debugger sous MagicPC pour vérifier que le disabled n'est pas fait par les routines d'Interface mais sous Mint, PureD ne marche pas.

D'après le code XaAES montré par Olivier, il faudrait voir si xa_gbar fait bien son boulot, j'imagine que c'est une encapsulation de v_bar. Le truc c'est qu'il n'y a que toi qui puisse faire ça vu que ça ne se produit que sur radeon...

A+,
Jean

Moulinaie

unread,
Feb 16, 2021, 8:22:43 AM2/16/21
to Atari mon amour
Mais je me demande... Est-ce possible d'utiliser les routines Interface pour charger le RSC et de laisser l'AES ensuite gérer les affichages puisque l'icone de ZVIEW est correctement gérée par l'AES ?

Guillaume.

Moulinaie

unread,
Feb 16, 2021, 9:04:57 AM2/16/21