π
<-

[83PCE] PHASM

Assembleur, Axe, C/C++, ICE...

Re: [83PCE] PHASM

Unread postby Hayleia » 06 Oct 2015, 10:33

Epharius wrote:Oui mais quand un programme "grossit" forcément tous les autres programmes sont décalés. J'ai déjà eu cette expérience avec mon compilateur qui faisait "grossir" les programmes. Me trompè-je ?

En voilà une question qu'elle est bonne...

J'avais pensé à cette "solution" parce que je fais des trucs de ce genre dans certains de mes programmes, mais j'avais oublié que ton hook devait rester valide plus longtemps que juste pendant l'exécution d'un programme...
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: [83PCE] PHASM

Unread postby Hayleia » 06 Oct 2015, 11:08

Idée complètement lolwat et aucune idée de si ça marche :P

Tu mets ton hook en RAM n'importe où, genre là où tu l'as mis au départ (l'endroit qui fait planter Pacman).

Ce que devra faire ton hook une fois installé, lorsqu'on tente de lancer un programme que l'on appellera PROG dans cet exemple :
- recopier ce qui se trouve dans l'appvar PHASM (archivée ou non) dans un programme assembleur désarchivé avec un nom spécifique, par exemple PHASM
- détecter si PROG est en assembleur ou non et ajouter "Asm(" devant la commande si besoin
- ajouter ":Asm(prmgPHASM" à la fin de la commande
- parser la commande

Bien entendu, l'appvar PHASM contient du code qui se charge de remettre ton hook en place là où il était à l'origine. Du coup, après avoir executé la commande "[Asm(]prgmPROG:Asm(prgmPHASM", ton hook peut continuer à s'exécuter.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: [83PCE] PHASM

Unread postby Epharius » 06 Oct 2015, 11:23

Da fuck, c'est vrai que c'est tiré par les cheveux :p

Sauf que si le programme change pendant son exécution un autre programme ? Il y a toujours le problème de l'insertion de données. La seule solution pour que le programme ne soit pas bougé c'est juste avant le progstart je crois... en tout cas sur ti-83
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 8.9%
 
Posts: 1182
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Re: [83PCE] PHASM

Unread postby Hayleia » 06 Oct 2015, 11:26

Sauf que osef ce coup-ci s'il change de place puisque c'est la commande Asm(prgmPHASM qui va se charger de retrouver ton programme dans la VAT et de le lancer. T'as pas besoin de savoir où il est. T'as juste besoin de savoir où le code du hook se trouve lorsque le hook est déclenché, et ça c'est bon, l'installeur l'a mis dans la zone de RAM à conflits et prgmPHASM le remet là-dedans après toute exécution.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: [83PCE] PHASM

Unread postby Epharius » 06 Oct 2015, 11:41

Ah OK je comprend. Donc si je résume ça fait ça :
- exécution du hook
- le hook crée un programme PHASM et l'exécute.
- le programme PHASM exécute le programme de l'user si en assembleur
- après le programme exécuté, le programme PHASM copie le hook à son endroit initial et se quitte.
- le hook se quitte.

Cependant j'avais une question qui me rend perplexe. Pour exécuter le programme, il faut mettre le Asm(prgmUSER dans OP1 et faire call _parseInp ? Et même si je faisais ça, comment faire si le programme fait 8 caractères en sachant que Asm( prend deux octets et que OP1 n'en fait que 9 ?
Mateo m'a dit hier qu'il fallait que je fasse insertMem, sauf que OP1 n'est pas extensible, si ? Tout ce que fait InsertMem c'est décaler les octets vers la droite ou la gauche à ce que je sache.
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 8.9%
 
Posts: 1182
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Re: [83PCE] PHASM

Unread postby Hayleia » 06 Oct 2015, 11:44

Euh, non c'était pas ça mes étapes mais ça marche peut être aussi :P
Mes étapes c'était que le hook exécute le programme demandé (en ajoutant Asm si besoin) PUIS le programme PHASM (en ajoutant ":Asm(prgmPHASM" à la fin de la commande) pour réinstaller le hook qui peut donc continuer à s'exécuter puisque même si le programme l'a effacé, il s'est réécrit avec prgmPHASM.

Et aucune idée pour les détails :P
Faut expérimenter ou demander à d'autres mais c'est pas moi qui vais pouvoir t'aider là-dessus...

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: [83PCE] PHASM

Unread postby Epharius » 06 Oct 2015, 11:53

Ouais heu je préfère ma méthode quand même :p
Et puis pas besoin de faire la méthode Asm(), je vais garder ma technique, elle marche c'est tout ce que je veux :p

Vivement ce soir pour les tests.
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 8.9%
 
Posts: 1182
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Re: [83PCE] PHASM

Unread postby Hayleia » 06 Oct 2015, 14:40

Ouais mais le truc avec ta méthode c'est qu'elle peut potentiellement avoir des problèmes avec tes histoires de mémoire qui bouge.

Voilà ce que fait ta méthode :
prgmPACMAN
→hook
→→Asm(prgmPHASM
→→→Asm(prgmPACMAN
→→retour à PHASM pour réinstallation du hook

Mais et si PACMAN (ou un autre) bougeait la mémoire ? Comment tu reviens à PHASM ? Je sais pas si ça marche vraiment bien ça. Surtout qu'en plus, là t'es en train d'exécuter deux programmes, l'un dans l'autre et moi ça me semble pas une excellente idée au niveau gestion en général.

Voilà ce que fait ma méthode :
prgmPACMAN
→hook
→→Asm(prgmPACMAN
→→Asm(prgmPHASM pour réinstallation du hook

Et même si PACMAN (ou un autre) bouge la mémoire, osef, c'est le TI-OS qui se débrouille pour faire Asm(prgmPHASM donc il va le chercher où il faut. Et à aucun moment je ne lance un programme depuis un autre.

Bon après, comme tu veux, c'est ton programme :P

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: [83PCE] PHASM

Unread postby Lionel Debroux » 06 Oct 2015, 14:58

Mouais... sans connaître ce genre de détails (ou beaucoup d'autres détails, d'ailleurs ^^) de la programmation TI(e)-Z80, j'aurais tendance à suggérer de privilégier la méthode fiable, en effet...

Je connais bien les lanceurs TI-68k/AMS, où a contrario, on doit faire lancer les programmes par les lanceurs.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6873
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: [83PCE] PHASM

Unread postby Epharius » 07 Oct 2015, 12:49

Coucou tout le monde !

Tout d'abord : oui, PHASM avance. Je suis en train de faire la technique d'Hayleia mais j'ai un bug d'exécution, une erreur qui ne devrait pas survenir en utilisant _parseinp, enfin bref, je continue ça ce soir. Ce qui est compliqué ce n'est pas comment faire le programme mais résoudre les dizaines de bugs qu'il y a à chaque fois que j'en résoud un.

Récemment on s'est posé la question si PHASM était vraiment un nom de shell. En effet PHASM serait plus un nom de compilateur (comme TASM ou SPASM). Alors on s'est creusé la cervelle et nous nous sommes dit que Kwarks serait pas mal. En effet c'est dans le même genre que ION ou cesium. Alors en passant, aucun commentaire concernant la provenance du nom :p

Et donc je poste ici pour savoir ce que vous en pensez : c'est nul ? PHASM est mieux ? un autre idée ?

D'ailleurs le "c'est trop tard pour changer" doit être accompagné d'une autre excuse que "on a déjà fait la news" :p
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 8.9%
 
Posts: 1182
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

PreviousNext

Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2543 utilisateurs:
>2509 invités
>29 membres
>5 robots
Record simultané (sur 6 mois):
29271 utilisateurs (le 11/07/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)