Vous n'êtes pas identifié.
Pour créer des fichiers RFI, utilise Flash100 et lance l'outil Ram File Installer (RFI)
Avec cet outil, tu px lui donner les données brutes ou alors un tableau au format C/C++.
Ensuite tu px sauver au format RFI.
RFInstall permet d'installer ou supprimer les fichiers de la RAM.
Dans ton programme il te faut ensuite lire les données dans la memzone.
Hors ligne
J’arrive toujours pas a afficher les sprite.
Voila comment j’ai procédé :
-création du RFI :
J’ai compilé les tableaux de sprite ----> CRF.exe
J’ai créé le fichier rfi avec l’outil « rfi » de flash 100 -----SH5.rfi
J’ai utilisé « importer » avec le fichier logique CRF.exe
J’ai installé se fichier avec rfiinstaler
-affichage d’un sprite
===
unsigned char far* p_baseSH5;
struct memory_zone bf;
search_mem_zone(1,"SH5",&bf);
p_baseSH5 = (unsigned char far*) MK_FP(bf.segment,bf.inner_offset);
gxSpr_M_C (1,55,p_baseSH5 + MENU);
===
en fait j’ai utilise MK_FP mais je sait pas trop ce que ç’est, j’ai vu ça dans Sonic
Et la rien ne se passe, pourquoi ?
Hors ligne
tu devrais tester la valeure que retourne search_mem_zone(), elle retourne -1 si elle ne trouve pas la zone, sa taille sinon.
MK_FP() est une macro qui en prennant 2 entiers non signés t'en fait un long (4 octets) non signé, avec le segment dans les 2 octets de poids fort et l'offset dans celles de poids faible.
Es-tu certain d'avoir mis ton fichier dans la zone 1 ?
Hors ligne
Ç’ est bon j’y suis arrivé, mais merci quand méme.
En fait il y avait plusieurs problèmes :
- En créant le RFI , quand je ferait (char){1,3,4,…} le fichier enregistré restait vide.
- Alors j’ai fait un INSTALL.EXE et j’avait fait un copié collé à la con ce qui fait que j’écrivait dans un autre fichier…
En fin bref, je faisait que de la merde, il était tard (ou tôt) alors je suis allé dormir et le lendemain matin j’ai débugué tout ça en 10 min
Hors ligne
Les vacances ç’est finit :cry:
Bon, ç’est pas pour ça que je passe, j’ai une question.
Comme je l’avais dit pour le moment je ne peux pas envoyer de prog sur ma G100, il me faut un osillo pour voir si mon USBserial fonctionne correctement ou pour dépanner mon interface RS232-TTL pour ça il me faudra attendre les séances de BE donc il ya certaines choses que je n’ai pas tester. (la rentrée ça à quand méme du bon )
Donc ma question est :
Quelle est la procédure exacte pour sortir proprement d’un programme sur G100 ?
J’imagine qu’il faut la remettre en 2 couleurs et faire un exit() ce qui fait que la calto revient sur le menu principal ?
Hors ligne
faire exactement l'inverse de tout c'que t'as changé:
malloc->free
new->delete
new[]->delete[]
pour tout les programmes, c'est évidemment un exemple.
Si t'as mis en mode 3 couleurs, tu remets en mode 2 couleurs
Si t'as changé le buffer d'affichage d'adresse, tu la remets à la bonne adresse
Si t'as désactivé ou redirigée une interruption, tu la fait repointer vers son adresse d'origine
etc
Hors ligne
Pour les free() exit() le fait (ou plutôt l'OS) Mais c'est une bonne habitude à prendre
Hors ligne
enfin pas vraiment, il les fait indirectement vu que toute la mémoire allouée pour le prog est désalouée
c'est comme les close pour les sockets ou les fichiers, oui ils sont fermés quand le prog termine mais on ne sait pas dans quelle conditions !
Donc ferme tes fichiers, free ta mémoire (perso je n'ai jamais utilisé un malloc sur la g100, je trouvais ca moche) et remet l'écran en place :-)
Hors ligne
0x1A20 la bonne adreese (ahh les réflexs...)
Mais il faut faire des malloc() free() c'est sacrément mieu que
int MonTableau[Plein-d'octet-pour-être-sur-d'en-avoir-assez];
Hors ligne
Oui, j'utilise les allocation dynamique car mes tableaux qui contiennent les charactéres tapé au clavier n'auront pas tous la méme taille en fonction des insers ou des coller effacement...
Quand ça fonctionnera correctement j'expliquerai plus en detaille comment ça marche.
Hors ligne
Je voulais montrer mes sources quand le projet était plus avancé mais je n’ai pas trop le temps de coder pour la G100 en ce moment alors je les mets en ligne maintenant (elles sont relativement propre).
Comme ça vous voyez que je branle pas trop , et puis vous pouvez faire des commentaires et peut-être de l’aide (enfin là j’en demande peut étre trop :mrgreen: ).
D’autre part j’ai aussi mis en ligne les sources sur la compression de données de Nykosledieu, ça serait bien que quelqu’un les adaptent sur G100. (Ça pourrait servir a plein de choses)
Je m’y suis pas trop penché mais en remplaçant les fonctions de stdio.h par les nouvelles fonctions de mem_zone 2 on peut, a priori, s’en sortir.
http://www.freazer.com/perso/transferdatavic/
Bon j’ai pris un peu de retard dans mon projet mais rassurez vous je le finirais même si ça me prends 15 ans :cobra:
Hors ligne
Bon, j’ai eu un peu de temps pour programmer sur la G100.
Je pense avoir finit le déplacement du curseur (vers la droite, vers la gauche, vers le bas, vers le haut) tout en tenant compte du texte pour pas que le curseur pointe sur un endroit ou il n’y a pas de texte.
C’était plus dure que je le pensais.
Maintenant je vais m’attaquer aux choses sérieuses, a savoir l’écriture et l’organisation des caractères de la façon suivant :
Struct text_line
{char* content;
unsigned short length;
srtuct text_line *preced;
struct text_line *next ;
}
Voila comment je compte m’y prendre, Si vous avez une meilleur solution elle est la bien venue !
//=============
short* Recopy_add_tab (short* content , char symbol, unsigned int offset , unsigned short length)
{-Allocation d’un nouveau tableau de taille « length + 1 »
-Recopie de l’ancienne trame de symboles + ajout du nouveau symbole a « offset » dans le nouveau tableau
-supprime l’ancien tableau
-Retourne (adresse du nouveau tableau)
}
//=============
srt_2new* new_add_2tab (short* content , char symbol, unsigned int offset , unsigned short length)
{-Allocation d’un nouveau tableau A de taille « length / 2 »
-Allocation d’un nouveau tableau B de taille « length / 2 + 1»
-Recopie de l’ancienne trame de symboles nouveau tableau A jusque a ce qu’il soit remplis
-Recopie de l’ancienne trame de symboles nouveau tableau B jusque a ce qu’il soit remplis
(Sachant que le nouveau symbole a été rajouté dans le tableau A ou B suivant son offset)
-supprime l’ancien tableau
-Retourne l’adresse des 2 nouveaux tableaux avec leur taille par l’intermédiaire d’une structure
}
//=============
str_newstr* insert_new_symbole (position du curseur , symbol)
{SI (longueur du tableau pointé par le curseur < MAX_LENGTH)
{ p_new_tram = Recopy_add_tab (&trame , symbol,offset , longueur de la trame)
-Initialisation de la structure avec l’adresse du nouveau tableau et de sa taille
-retourne (0)
}
SI NON
{ srt_2new = new_add_2tab (&trame , symbol, offset , longueur de la trame)
-allocation de 2 structure C et D « text_line »
-init du champ *preced de C avec l’adresse contenue dans le champ *preced de la structure sur la quel piunte le curseur
-init du champ *next de C avec l’adresse de la structure D
-init du champ *preced de D avec l’adresse de la structure C
-init du champ *preced de D avec l’adresse contenue dans le champ *next de la structure sur la quel pointe le curseur
-init du champ « content » de C avec adresse du tableau A
-init du champ « length » de C avec la taille de A
-init du champ « length » de D avec la taille de B
-init du champ « content » de D avec adresse du tableau B
-suppretion de l’ancienne structure
-retourne (C et D dans une structure)
}
}
//========
Voila, enfin ç’est l’idée général…
Je fait tout ça pour éviter que une structure contienne qu’un seul symbole lors d’un insert ou bien que une trame soit trop grande a force d’y faire des inserts.
Il faudra bien sure que je relise mon bouquin a propos des listes chaînées et des allocations dynamique, j’ai aussi téléchargé en exemple en C de liste a chaînage avant et arrière je l’étudierai aussi pour pas faire de la merde car j’ai un peu oublié.
En fin je veux dire par là que le plan que j’ai prévu n’est peut être pas possible dans la mesure ou un truck peut m’échapper …
SI VOUS VOULEZ TESTER MON PROG FAITES LE SUR L’EMULATEUR :
Il y a un ou deux bugs que je corrigerai pus tard
Hors ligne
J’ai commence l’écriture, bon ç’est pas encor au point mais ç’est possible de tester la police
ou de tester la disposition des touches sur le clavier (voir install.c) j’ai aussi fait le menu pour les caractères particulier.
Les getch() sont remplacés par des peekb() ce qui rends l’application plus rapide surtout le défilement d’encrant en mode lecture.
Pour ceux qui l’ont tester sur l’émulateur il faut relancer INSTALL.EXE pour que ça marche car je l’ai un peu modifié.
J’ai mis en ligne la nouvelle version et les sources.
Edit: capture écrant :
http://www.freazer.com/perso/transferdatavic/n1.bmp
http://www.freazer.com/perso/transferdatavic/n2.bmp
http://www.freazer.com/perso/transferdatavic/n3.bmp
http://www.freazer.com/perso/transferdatavic/n4.bmp
http://www.freazer.com/perso/transferdatavic/n5.bmp
Hors ligne
Ça fait que commencer…
Il me reste encor beaucoup de codage pour commencer a voir le bout du tunnel (qui me parait interminable :? ).
Avant que ça soit utilisable il faut que je fasse :
- le débugage de ma fct insert et rajout des hypers liens
- codage de la fct effacer
- codage de le fct sélection de texte
- codage de la fct changement de couleur
- fct copier
- fct coller
- fct clear
- fct couper
- saut vers un hyper liens
- adaptation de la lib Huffman sur G100 (sans utiliser stdio.h)
- amélioration de l’interface graphique
- et probablement d’autres choses…
J’aurait peut être le temps de programmer une vingtaine d’heure pendant les vacances de noël ce qui me permettra d’arriver a la fct de changement de couleur.
Si j’arrive a faire une version de teste vers avril ça serait bien, enfin bon, ç’est selon ma motivation…
Hors ligne
Bon, j’ai pas programmer autan que je l’avait prévus durant ces congés et le peu de temps que j’ai programmer j’ai principalement bébuger (il reste encor des bugs) mais j’ai quand méme fait des trucks :
- le débugage de ma fct insert
- rajout des hypers liens
- codage de la fct effacer
J’avais méme préparer des capture d’encrant CVS qui pressente ces nouvelles fonctions.
Mais visuellement l’hébergeur de site ou j’était est mort pour toujours…
Est que ça serait possible de mettre ces fichiers (exe, source, screen) sur le site Casioword, j’ai vu une rubrique demo mais le site semble abandonné…
L’administrateur de ce site vient il sur le forum ?
Il y en a un qui s’appelle Casioword, ç’est lui ?
Si ç’est pas possible, ç’est pas grave car quand le prog sera finalisé (je sais pas quand je prends plein de retard) je le mettrai sur le forum UCF, mais j’aurai bien aimé montrer au moins les screens
PS : Merci a Nykos pour le changement de titre.
Vous connaissez un hébergeur gratuit ou le nom de domaine est gratuit ?
Hors ligne
Il y en a un qui s’appelle Casioword, ç’est lui ?
oui c'est lui
PS : Merci a Nykos pour le changement de titre.
de rien
Vous connaissez un hébergeur gratuit ou le nom de domaine est gratuit ?
un nom de domaine gratuit ça doit pas exister
par contre un hébergeur gratuit : Free
-> 10 Go d'espace et pas de pub
-> Mysql ou Postgresql pour la base de données
-> php
-> plein d'autres fonctionnalités
</pub pour free>
Hors ligne
Merci pour tes infos Nykos mais après avoir étudier le contrat de mon fournisseur d’accés j’ai vu qu’il m’était possible de faire des pages perso, je le savait méme pas.
Bon, ç’est un peu compliqué mais j’y suis arrivé.
Donc voici mon nouveau site :
http://perso.orange.fr/vic.vic/
les cvs dont je vous avez parlé :
http://perso.orange.fr/vic.vic/screen.rar
et une image :
http://perso.orange.fr/vic.vic/nn4
j’espère que ça vas marcher…
Hors ligne
un cvs dans un .rar, on aura tout vu
Hors ligne
J’ai mis en ligne l’exécutable et les sources de la version 0.25
Nouveautés :
-un peu d’optimisation
-le code d’un hyperlien est simplifié
-j’ai pratiquement refait les fonctions de déplacement du curseur
-débugage du curseur lorsque il pointait sur des hyperliens a la suite les uns des autres
-possibilité de supprimer un hyperlien
-la fenêtre de création des hyperliens marche en insert
-diminution/augmentation du contraste ([shift]/[droite,gauche])
-extinction de la calculatrice ([shift]/[Ac])
-fonction « top » (l’écran tout en haut du fichier)
-fonction de sélection de texte (pas terminée) ([ctrl]/[droite,gauche,haut,bas])
-préparation du terrain pour les fonctions copy ([ctrl]/[F1]), past ([ctrl]/[F2])
-préparation du terrain pour le changement de couleur, clear, cut
Voici une cvs :
http://perso.orange.fr/vic.vic/select.cvs
J’ai quelques questions :
-Est que la zone 12 est assez grande pour accueillir 2 fichiers de 5220 octets + un fichier de 1000 octets + un fichier de 510 octets ? (Soit un total de 11950 octets)
(Actuellement ils sont dans la zone 1)
-Pour les copy,cut,past je souhaite utiliser le presse papier de la G100.
Je suppose que ç’est une des mem_zone, mais la quel ?
Quel format faut il utiliser pour écrire dedans sachant que je veux utiliser les 2 premiers codes ascii de la G100 (le normal + le grec)
Hors ligne
toutes les zones sont écrites dans la même mémoire, donc à priori y'a aucune restriction entre les différentes zones concernées...
Pour le presse papier j'sais pas
Hors ligne
Je viens de mettre l’exe et les sources TeX 0.251
News :
-La fct de sélection tiens compte du déplacement de l’encrant mais il reste quelques conflits avec cette fonction et les liens hyper.
-les fichiers sont en zone 12
-un peu d’optimisation et de débugage (Il reste quand méme un bug qui va être dur à corriger).
J’ai essayé de faire le changement de couleur mais je n’ai pas eu le temps de le terminer ce soir alors il n’est pas du tout au point.
Donc je mets en ligne le projet tel qu’elle et je le continuai en Septembre. (Du moins je l’espère)
C’est dommage pour le presse papier ça aurai été bien.
Peut être que quelqu’un pourra faire des testes avec touche pour savoir ou il est d’ici Septembre…
Bon, j’ai pas trop mal avancé, méme si je prévoyait présenter une version testable cette année.
Hors ligne
Bon, j’ai un peu de temps libre (environ 1 semaine) alors je vais essayer d’avancer dans ce projet.
Je mettrai la nouvelle version en ligne la semaine prochaine mais ne vous attendez pas à une grande avancée, je vais principalement débuguer et optimiser.
Je vais aussi essayer de faire le changement de couleurs et le presse papier.
D’ailleurs à ce sujet j’ai quelques questions j’ai quelques questions :
-En ce qui concerne le presse papier il est dans le fichier CLIP en zone 3, ç’est bien ça ?
-Y a t il un format particulier pour écrire dedans ?
-Je voudrait pouvoir mémoriser les caractères spéciaux (symboles, grec…) dans ce presse papier afin de pouvoir récupérer tout les char coupé ou copié dans les autres modes de la G100 en faisant un collé (ou vis ver ça).
Sachant que ces char spéciaux sont dans le 2em code ASCII de la G100, comment je peux mémoriser une séquence du type [a] [b] [infinie] [1] [alpha] dans le pressa papier, en considérant que a, b, 1 ne sont pas dans le même ASCII que infinis, alpha) ?
J’espère qu’il y a encor du monde sur ce forum…
Hors ligne