Vous n'êtes pas identifié.
Pages: 1 2
pour bmp, les valeurs c 2 ou 1.
1 signifie que l'on ne veut pas qu'il apparaisse dans la liste de system.exe (c pas exactement ca, c un peu plus complexe dans la pratique)
pour number, c ca, c le numéro de l'icone, donc +1.
Ton pb d'image c normal, c autre chose. La G100 a la liste des icones à partir de 16384 et qui fait 2310 octets (35 * 66).
Ensuite la G100 stocke les 7 menus possibles à partir de 24576 et sur 7*1024octets (logique, lol)
Donc si tu rajoutes une icones il faut que tu mettes à jour aussi le menu! (je me demande si tu as vraiment regardé le code dans CFXWiwdow).
Hors ligne
(je me demande si tu as vraiment regardé le code dans CFXWiwdow).
Gloup ! Repéré :oops:
J'y retourne...
Ps : en fait, à quoi ça sert alors de définir le nom de l'icone dans la première partie du système, si il faut que sont contenus soit dans la deuxième partie...?
Hors ligne
dans la première partie ce sont les infos des icones (chemin, nom, ...) tandis que la 2eme c l'image.
Fait attention le dessin d'une icone n'est pas si évident. (regarde dans functionsystem.h, ya des méthodes)
Hors ligne
Pfiou. ça à pas l'air évident du tout non...
Je pensait pas que c'était si chiant...
Si j'ai bien compris le fonctionnement : il y a une image (de la taille de l'écrans) pour chaque menu.
Il y a au maximum 7 menus.
Chaque image de menu est composé de :
- 1 titre (///MAIN MENU/// par défaut) en haut
- Une bande blanche à droite (c'est à nous de dessiner les flêches ou c'est la calto qui le fait toute seul ?)
- les icônes.
Si j'ai encore mieux compris, je dirait que cette ensemble (l'image du menu) "pèse" 1024 octets. Le premier ensemble se trouvant à l'offset $6000 dans le fichier système.
Maintenant, faut que j'arrive à décomposer cette ensemble.
Ps : toutes ces infos ne sont qu'une réflexion personnelle. J'essaye en fait de comprendre le principe, qu'i n'était pas du tout comme je l'imaginait au départ. Donc si j'ai pas compris, réctifiez moi...
Hors ligne
c ca !!
dans l'image ya le titre + icones (normal c une capture de l'écran).
Sinon les flèches c pas à toi de les dessiner (le reste oui ! lol)
Hors ligne
Effectivement, je suis vraiment trop lol :?
:mrgreen:
Bon, ça, ça va attendre un peut le temps que mon emploie du temps se libére. Le principale (le protocole) est fait, et il marche. Pour le moment, je vait utiliser le très bon Flash 100 ( ) sous Virtual PC pour gérer mon système et mes .lec ...
En tout cas, d'ici à ce que j'implémente la gestion des menus, je te remercie toi surtout et les autres aussi pour cette aide et patience hyper précieuse (ben oui, j'aurait jamais pu refaire le protocole tout seul sinon)
Je ne dit pas au revoir, car j'ai encore 2 questions qu'il va faloir que je traite (plus tard) :
- le système, donc.
- la création et l'édition de fichier .lec
Hors ligne
Une dernière question : cette images de menu, est ce que c'est une image en un seul block (cad l'image est définis dans le fichier système de A à Z, marge entre icône comprise-comme une image unique standard) ou est ce qu'elle est enregistré de manière décomposé (cad block d'image représentant les icônes, menu, barre de défilement et ceci à la suite -pour un block de taille 1024- dans le fichier système)
Question subsidiaire : est ce que le format de l'image (chaque bout d'image si elle est composé ou l'image elle même si elle est unique) utilise un format standard (cad BMP, ...) ou est ce un format propre à Casio ?
Ps : j'ai oublié, quand j'aurait finit tout ça, si tu me l'autorise, j'intégrerait le protocole Gcomm
Merci d'avance
Hors ligne
Tout d'abord, oui il faut que soft soit compatible avec GComm, lol.
Pour la license je te ferai un prix (environ 100€+0.1€/download)
-Pour le stockage des menus c comme je le disais plus haut une simple copie de l'écran. Cad que le premier menu (ou premier écran) est stocké en 0x6000, ensuite 1024 octets plus loin le 2eme écran, ainsi de suite....
Mnt pour le codage de l'écran, c codé au format C3, mode graphique par défaut de la G100. Regarde la doc de Whyp pour plus d'info, mais si tu te sers de mes fonctions pour dessiner il ne devrait pas y avoir de pb.
Si jamais tu ne vois pas comment t'en servir, j'essayerai de te faire un exemple simple.
Le menu étant un simple image de 1024 octets et 128*64 pixels, il n'y a pas de marges pour les icones, ni d'espace pour le titre, etc....
C à toi de dessiner au bon endroit.
Hors ligne
Pour Dada :
Salut
En lisant, les posts sur ce sujet, je me demandais comment tu avais trouve le protocole de communication avec la graph100...
Hors ligne
Pour le protocole casio, et bien en regardant les explications sur ton site, ensuite en testant et aussi grace à tonton1664 qui m'a permis de résoudre un pb avec le cable Sb-87.
Ensuite cela a été assez facile de faire un protocole pour GComm, il me suffisait de rajouter (ou de modifier) les manques ou imperfections du protocole casio.
Hors ligne
Regarde la doc de Whyp pour plus d'info.
Je suis allé sur son site, mais les leins ne marchent plus. Je vait lui envoyer un mail.
mais si tu te sers de mes fonctions pour dessiner il ne devrait pas y avoir de pb.
C'est toujours le même problème : c'est toi qui à fait tes fonctions graphiques (de plus en utilisant QT je supose) donc c'est galère. J'aimerais reprendre ça aussi à 0
Si jamais tu ne vois pas comment t'en servir, j'essayerai de te faire un exemple simple.
Moi je veut bien. Ce qui serait nikel, c'est que tu me dise comment passer d'un tableau de char de taille 128 * 64 (ce tableau étant donc l'image du menu définit pixel par pixel. Les char de code ascii 0 représentant un pixel off et les char de code ASCII 1 représentant un pixel on) à un block de donnée de 1024 octets au format c3.
Merci d'avance en tout cas.
Hors ligne
bien bien.
Le code pour les menus se trouve dans functionsystem.h et .cpp
Déclare un tableau du type
char pMyMenu[SIZEBMP]
GetMenu(buffer, pMyMenu, numMenu);//Récupérer les 1024 octets du menu 'numMenu' dans le buffer (ou buffer représente les 128Ko du lecteur, offset = 0, taille 128Ko)
Tu n'as donc pas à te soucier de savoir ou est le menu.
Ensuite il te faut inverser le buffer (cad le passer en mode D3, mode pour le PC, plus pratique avec Qt et pour décoder une image BMP)
char pTmpMenu[SIZEBMP];
InvertBuffer(pTmpMenu, pMyMenu);
//exemple ci-dessous, permet de créer un nouveau menu en recopiant le titre+
//les 8 dernière icones
char temp[SIZEBMP];
SetMemory(temp, 0, SIZEBMP);//efface le menu
CpyTitle(temp, pTmpMenu); //copie le titre du menu
Cpy8LastIco(temp, pTmpMenu);//copie les 8 dernières icones
//Ensuite si tu vx tu as PutPixel pour allumer ou éteindre un pixel, ... regarde le .h de functionsystem.h et CFXWindow.cpp pour voir comment je m'en sers.
functiondrive, functionsystem ne dépendent pas de Qt.
Hors ligne
Bon. C'est parfait. Les fonctions PutPixel et ValPixel sont tout à fait ce que je voulais.
Mais un truc que je ne comprend pas dans ces 2 fonctions : qu'est ce que le paramètre nCol ? Une colonne ? Pourtant on a le paramètre "int x" pour ça. ..
Et enfin : le "unsigned char val", je suppose que c'est le statut du pixel (allumé/éteint) mais qu'elles sont les 2 valeurs possible à utiliser ? ASCII 0 et ASCII 1 ?
Hors ligne
0 éteint et autre allumé.
Pour nCol c plus complexe, c pour savoir sur quelle image du travail.
Par exemple pour les icones leur largeur fait 30 pixels, soit 30/8 en arrondissant haut dessus ca fait 4 octets. (nCol = 4, donc)
Pour une image de menu nCol vaut 16 (128/. PutPixel, et ValPixel doivent connaitre la largeur de l'image, sinon elles ne peuvent pas savoir ou est x et y dans ton tableau d'octets.
Hors ligne
salut macist
ouais ben j'ai essaye d'en faire un sous RealBasic (assez perf) mais tu prog sous koi pour un 68k ?
sous OS X c assez facile, ya les outils dev grayos et facile a utiliser
pour le cable uSb2serial, en verite, le systeme cree un port sertie standart meme sous os x, donc fo juste utiliser les fonctions standart et note que les ports serie sont aussi geres sous osx !
Entre autres, je ne peut t'aider etant donne ke je suis sous pc...
mais je risque (c pas sur) dacheter un mac portable donc de taider !
mais je sais pas puisquil sera destine a telecharger de parrtout donc ej pense pass
sinon le WE je suis sur Mac alors je pourais taider si tu me dis avec koi tu bosse !
Hors ligne
T'inquiète pas pour la programmation, j'ai aucun mal (surtout que le code reste vraiment très simple. Il est juste gros et il faut connaitre tout un tas de format et protocole. Mais c'est tout). J'utilise dans mon cas RB à 20 % et le C à 80 % (en fait toutes les fonctions sont fait en C sous forme de Plug-In. Seul l'interface -le plus chiant en C- et le port comm est utilisé sous RB)
Pour OS X, c'est trop galère. ça revient à faire un achat d'un Usb2Serial. Alors que sur un bon mac classique, avec le plans de montage des composant je m'en suis tiré pour 60 frs même pas pour faire un cable série<>casio.
Mais dès qu'il y aura une solution vraiment pas chère pour USB<>Casio alors je fonce sur un projet en Objective-C et Frameworks Cocoa (qui est vraiment génial soit dit en passant)
En tout cas, merci quand même.
Ps : pourquoi tu dit "j'ai essayé" ? T'a abandonné le projet ? C'était pour OS X ou classic ?
PPs: Pour compiler en 68K j'utilise la version 3.x de RB sous mon mac LC et la version 8 de CodeWarrior sur mon PB Titanium sous OS X.
Hors ligne
ouais ben javaist tou fais sous realBasic, je saurais pas trop comment faire des plugs pour Rb !
Sur le 68k l eprob ke javais etais ke le multithread foirais grave et pareil jarivais pas a avoir tout les octets !
Je pense qu'un bon projet en Objective C et Cocoa fonctionnerais a merveille avec un Usb2Serial
pour 30euros, le cabl eusb2serial focntionne tout a fait bien sauf sous VPC ou la faut avoir un assez bonne machine pour y utiliser le cable...
Ben en fait g vite abandonne car a l'epoque je n'avais pas de drivers Mac Os classic de mon cable usb2serial donc je pouvais pas le gerer et mes tentatives de reprises se sont echouees par un manque de temps et depuis je em suis pris un pc pour l'iut et la prog sur mac c pas top pour l'instant !
Mais ej compte bien apprendre l'objt-c et cocoa avec les progs fabuleux de apple !
Mais en parlant de a, les routines Ports Comm de Os X sont des routines unix ?
Donc il suffirais de prendre les sources du Client casio linux de whyp pour l'adapter a linux ?
A moins que les ports soient gŽrŽs a des couches superieures...
Hors ligne
Flash100 marche sous linux, je le rapelle....
Hors ligne
ou on peut avoir les sources ?
Hors ligne
fgpstudios
Hors ligne
o fait tu fais F100 sous nux avec quelle librairies ?
gtk+ ?
ptet ke je peut el faire marcher sous Cygwin kom ca tu pourrais continuer le developement !
Hors ligne
nop je croi que c avec qt
Hors ligne
il bien flash100 utilise les lib Qt. Ces lib sont portable, car compatible avec Mac, Linux, X11, Windows (3.1/95/9X/Me/NT/2K/Xp).
Une simple recompilation sous Linux et hop ca marche.
En ce moment je revois pas mal de chose, donc la version linux et meme de windows ne sont pas encore arrivée.
Hors ligne
Pages: 1 2