π
<-
Chat plein-écran
[^]

SPASM GUI

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Re: SPASM GUI

Message non lude Lionel Debroux » 22 Juil 2012, 08:53

Si tu obtiens le même résultat en invoquant spasm à la main que ce que tu obtiens en invoquant le GUI présenté ici (as-tu essayé ?), alors c'est vraisemblablement un bug de spasm.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: SPASM GUI

Message non lude linkakro » 23 Juil 2012, 23:27

Veux-tu bien parler de spasm.exe du dossier "bin" ?
Lorsque je double-clique dessus pour l'executer, cela affiche une fenêtre type cmd pendant moins d'une demi-seconde (que je récupère avec une capture) et rien ne semble se produire.
cmd en executant spasm a écrit:SPASM Z80 Assembler by Spencer Putt and Don Straney
spasm [options] <input file> <output file>
Options:
-T = Generate code listing
-C = Code counter mode
-L = Symbol table mode
-S = Stats mode
-O = Don't write to output file
-I [directory] = Add include directory
-A = Labels are cAse-sensitive
-D<name>[=value] = Create a define 'name' [with 'value']
-N = Don't use colors for messages
-V <Expression> = Pipe expression directly into assembly

Merci pour la réponse passée et d'avance pour les suivantes. :):

ps: je ne sais pas à quoi sert spasm par rapport à spasmgui...
Avatar de l’utilisateur
linkakro
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Prochain niv.: 92%
 
Messages: 14
Inscription: 20 Juil 2012, 18:02
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: école IMERIR après un DUT-GEII et une année de cpge PTSI

Re: SPASM GUI

Message non lude Lionel Debroux » 24 Juil 2012, 06:41

Veux-tu bien parler de spasm.exe du dossier "bin" ?

Oui :)

Lorsque je double-clique dessus pour l'executer, cela affiche une fenêtre type cmd pendant moins d'une demi-seconde (que je récupère avec une capture) et rien ne semble se produire.

Rien ne se produit car il ne faut pas simplement double-cliquer dessus pour l'exécuter ;)
Comme la quasi-totalité des compilateurs, assembleurs, linkers, et autres outils de build, spasm est un programme en ligne de commande. Avoir un programme en ligne de commande permet la scriptabilité de manière facile et portable.
Comme il te l'indique, spasm a besoin d'un fichier d'entrée, d'un fichier de sortie et d'options.

ps: je ne sais pas à quoi sert spasm par rapport à spasmgui...

spasm fait le boulot; spasmgui construit et exécute les invocations de spasm. spasmgui est inutile sans spasm.

Ce que je cherchais, en fait, pour discriminer la cause du bug (spasm ou spasmgui), c'est à obtenir la suite de commandes "spasm ..." construite par spasmgui, pour que tu la reproduises et que tu voies si le problème est toujours présent. spasmgui ne fournit-il pas ça quelque part ?
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: SPASM GUI

Message non lude linkakro » 24 Juil 2012, 11:27

J'ai consulté wabbit.codeplex.com pour en apprendre un peu plus sur spasm puisque je n'ai jamais utilisé cette manière d'executer des logiciels.
Mais je n'ai pas encore trouvé la commande nécessaire à executer correctement spasm.exe.

Cependant il semble que spasm ne soit pas prévu pour traiter les 83p(82stat) : wabbit.codeplex.com ne mentionne aucun ti83.inc/ti83asm.inc :(: , tandis qu'il propose ti83plus.inc. (et des includes innutiles pour moi pour l'instant :#roll#: )
Cela ne signifie pas que je ne peux pas utiliser ti83.inc : cela devrait signifier que spasm ne prévoit pas de créer autre chose que des 8xp.
C'est dommage car le codage hexadécimal est le même, seul le format 8xp/83p est différent...

J'ai réussi à récupérer la partie hexadécimale d'un programme en utilisant l'option "list" de spasmgui, que j'ai collé proprement dans un 83p avec un éditeur.
Mais le texte "hello world" est faussé (tokens bizarres), probablement à cause du codage du texte par le logiciel notepad_windows (lors de l'écriture de la source *.z80), ou bien je ne sais pas...

---------

Dautre part je reprend scrupuleusement mes codes sources pour être absoluement certain que mes problèmes ne viennent pas de là.
D'autant que je tente le coup avec deux codes qui fonctionnent en 83p et 8xp dans ORG (http://clrhome.org/asm/).

--- EDIT:
J'ai effectivement corrigé une confusion entre call() et bcall() dans le 8xp.
Je dois vérifier aussi le 83p mais je ne progresse pas pour l'instant.

Réglons immédiatement cette question de code source pour pouvoir nous concentrer ensuite sur le reste.
Code: Tout sélectionner
; 83
_clrlcdfull .equ $4755
_puts .equ $470D
currow .equ $800C
.org $9327
.db $BB,$6D
   call _clrlcdfull
   ld de,$0103
   ld (currow),de
   ld hl,texte
   call _puts
   ret
texte:
   .db "HELLO  WORLD  !",0
.end
Code: Tout sélectionner
; 83plus
#define bcall(xxxx) rst 28h \ .dw xxxx
_clrlcdfull .equ $4540
_puts .equ $450A
currow .equ $844B
.org $9D93
.db $BB,$6D
   bcall(_clrlcdfull)
   ld de,$0103
   ld (currow),de
   ld hl,texte
   bcall(_puts)
   ret
texte:
.db "HELLO  WORLD  !",0
.end
Avatar de l’utilisateur
linkakro
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Prochain niv.: 92%
 
Messages: 14
Inscription: 20 Juil 2012, 18:02
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: école IMERIR après un DUT-GEII et une année de cpge PTSI

Re: SPASM GUI

Message non lude contra-sh » 24 Juil 2012, 14:08

Salut,

En regardant ton code 2 secondes (je suis presse) deja pour la version ti83 il n'y a pas de :
db $BB,$6D

Je travaille avec spasm pour ti83 donc ne t'inquiete pas ca va marcher :)
Avatar de l’utilisateur
contra-sh
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 62.9%
 
Messages: 85
Inscription: 24 Aoû 2009, 00:00
Localisation: Nice
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique

Re: SPASM GUI

Message non lude linkakro » 24 Juil 2012, 16:01

Merci :):
Le code hexadécimal donné par le listing fonctionne donc maintenant le code source est probablement juste.
(j'ai bien supprimmé le .db $bb6d)

Mais la compilation ne marche toujours pas :#fou#:
(j'en revient à valider mes premières hypothèse concernant la structure des 83p/8xp)
Je continue donc à chercher comment executer spasm.exe pour savoir si mon problème vient de spasm.exe ou spasmgui.exe.
Avatar de l’utilisateur
linkakro
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Prochain niv.: 92%
 
Messages: 14
Inscription: 20 Juil 2012, 18:02
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: école IMERIR après un DUT-GEII et une année de cpge PTSI

Re: SPASM GUI

Message non lude linkakro » 01 Aoû 2012, 17:14

J'ai réussi à faire fonctionner spasm.exe avec un batch (sans spasmgui) mais le problème initial est toujours présent. (c'est-à-dire que le fichier 83p est corrompu)
compiler.bat
Code: Tout sélectionner
spasm.exe HELLO83.z80 HELLO83.83p -T -A -DTI83=TI83
spasm.exe HELLO8X.z80 HELLO8X.8xp -T -A -DTI83P=TI83P
pause
J'ai essayé d'executer le batch avec la commande "Exécuter en tant qu'administrateur".
Il faut modifier le batch en écrivant le chemin complet des fichiers (et que le chemin ne contienne pas d'espace)
Le compilateur est executé sans erreur mais même ainsi le problème initial demeure.

Il semble que mon problème soit indépendant de spasmgui alors je suis désolé pour ce micmac.

Je ne comprend vraiment pas pourquoi j'ai ce problème puisque tout le monde déclare que ça marche pour ti83 sur win7-32bits.
Avatar de l’utilisateur
linkakro
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Prochain niv.: 92%
 
Messages: 14
Inscription: 20 Juil 2012, 18:02
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: école IMERIR après un DUT-GEII et une année de cpge PTSI

Re: SPASM GUI

Message non lude contra-sh » 08 Aoû 2012, 19:34

Essaie de mettre un header ion a ton fichier (et de lancer avec ion evidemment) ou alors de 'squisher' ton fichier.
Tasm + Obj83 devrait marcher peut-etre spasm + obj83 aussi ?

La 83 n'accepte pas les fichier 'unsquish' contrairement a la 83+ qui est plus tolerante. Ion permet de lancer un fichier 'unsquish'.

Je reponds a ce probleme dans cette doc :
http://david.nathalie.perso.sfr.fr/calc/tuto/tuto.html

Evidemment ne dis pas a spasm de compiler un 83p mais un .bin sinon il tentera de packager ton fichier...

Dis moi si tu es toujours coince.
Avatar de l’utilisateur
contra-sh
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 62.9%
 
Messages: 85
Inscription: 24 Aoû 2009, 00:00
Localisation: Nice
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique

Re: SPASM GUI

Message non lude linkakro » 13 Aoû 2012, 11:40

J'ai commandé à spasm de compiler des fichiers d'extension bin, et supprimmé la commande D (dont j'ignore autant l'utilité que la syntaxe).
Remarques :
-hello83.83p corrompu est identique à hello83.bin
-La partie executable de hello8x.8xp est identique à hello8x.bin

Il semble que depuis le début mon ordinateur executant spasm.exe produise des fichiers bin lorsqu'ils sont supposés être 83p (il manque le header et le bottom)
(je crois que c'est ça que tu as tenté de m'expliquer avec le terme "squish")

Ensuite je cherche un "squisher" (est-ce bien cela ?)
Je dois tenter d'utiliser obj83, 83lnk, bin2var, bin8x, devpac...
-obj83 ne gère pas les bin tandis que spasm ne génère que des bin (et des fichiers TI) (j'ignore ce que représente un obj) EDIT : quoi qu'il en soit le programme de destination est vide
-bin8x est fait pour linux
-Bin2var génère des fichiers 83p et 8xp plus ou moins foireux : le 8xp est rejeté par wabbitemu os1.12 et ils causent tous deux une erreur syntaxe dans wabbitemu os2.43ti84 et vti os1.12.
-DevPac 83/8X semblent parfaits... mais le 83p est toujours binaire, et provoque une erreur syntaxe.

Je crois que je dois en revenir aux formats pour comprendre mon problème. (bien sûr corrigez moi si je fais fausse route)
Je sais qu'il existe deux formats :
-purement binaire, affiché par la calculatrice en tokens divers et variés lorsqu'on déprotège le programme.
-décomposé en tokens hexadécimaux, par conséquent lisibles par simple édition (et plus lourd que du binaire puisque chaque token ne représente que quatre bits tout en occupant 1 octet voire 2)
Le type hexadécimal est supporté autant par la ti83 que la ti83plus, tandis que le type binaire n'est supporté que par la ti83plus à ce que je sache (tant qu'on utilise pas un shell).
Je suis étoné que tous ces logiciels créent des programmes binaires pour ti83.
J'ai l'impression que le problème est proche de cela...


J'ai essayé de compiler pour ion mais les programmes ne sont pas détectés par le shell. :#mad#:

Merci. :):
Dernière édition par linkakro le 20 Aoû 2012, 11:05, édité 1 fois.
Avatar de l’utilisateur
linkakro
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Prochain niv.: 92%
 
Messages: 14
Inscription: 20 Juil 2012, 18:02
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: école IMERIR après un DUT-GEII et une année de cpge PTSI

Re: SPASM GUI

Message non lude contra-sh » 14 Aoû 2012, 01:59

Le seul packager que j'ai teste sous windows c'est Obj83 : il fait packaging + unsquish
packager = mettre le code dans un paquet avec entete et footer
unsquish = changer la facon de representer les valeurs dans le code

Pour le faire marcher, renomme ton .bin en .obj c'est la meme chose :)

Par exemple code squishe : CD 55 47
Code unsquishe : 43 44 35 35 34 37
43 est la valeur ascii de C et on peut remarquer que le code sera 2 fois plus long en unsquish !!

Donc un code unsquish affiche des caractère hexa dans l'editeur de programme (lorsqu'il n'est pas protégé).
Et un code squishe affiche des tokens.

Tu pourrais aussi utiliser TASM + obj83 c'est certain que ça marche.

Sinon joins les fichiers generes je pourrais facilement te dire ce qui foire.

Tu peux aussi utiliser bin2bin83 entre la phase d'assemblage et la phase d'empaquetage :
http://www.ticalc.org/archives/files/fi ... 44594.html

J'attends tes news :)

PS : fichier en rapport tout juste uploade sur ticalc mais pour ti83+ : http://www.ticalc.org/archives/files/fi ... 44973.html
Avatar de l’utilisateur
contra-sh
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 62.9%
 
Messages: 85
Inscription: 24 Aoû 2009, 00:00
Localisation: Nice
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique

PrécédenteSuivante

Retourner vers News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 274 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1682 utilisateurs:
>1650 invités
>27 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)