Hello les gens
J'ai l'honneur d'inaugurer ce sous-forum avec le premier programme ASM du site, WLib !
Y'a un petit moment, je me suis pris de pitié pour les pauvres 82 stats/83 qui n'avaient rien pour les aider à programmer en Basic ... J'ai donc décidé aujourd'hui de remédier à cela !
WLib est un programme ASM comparable à XLib ou Celtic : il permet d'utiliser des fonctions supplémentaires en plus des fonctions du TI-Basic. Je crois que je peux appeler ça du Basic étendu.
Alors vu que je n'ai pas d'ordi en ce moment, j'ai dû encore une fois tout faire en hexa avec mon bon vieil émulateur sur mon téléphone. Conséquence : il n'y a pour l'instant que deux fonctions utilisables
Voilà donc comment marche le truc : vu que sur les 82 stats/83 y'a pas de parser hook (ce qu'utilise les libs de basic étendu pour changer l'effet de fonctions TI-Basic, comme det( ou conj( ), il faut charger les arguments et numéro de la fonction à appeler, puis lancer Send(9prgmWLIB).
Là où je suis fier de moi c'est que tous les arguments d'une fonction sont passés par la liste LPARAM, que vous créérez pour l'occasion :PWLib va allez directement pêcher les arguments dans cette liste. Si LPARAM n'existe pas au moment de l'appel d'une fonction qui nécessite des arguments, la fonction ne fera juste rien. Par contre, si y'a pas assez d'arguments ... Big bordel (même si pour l'instant la seule fonction qui prend des arguments n'en attend qu'un )
Assez parlé, et place au code ! À recopier sur la calculatrice pendant que c'est assez court pour être possible, NON COMPATIBLE TI-83+/84+ MAIS UNIQUEMENT TI-82 STATS/83 :
Exemple en Basic :
Liste des fonctions disponibles :
Voilà, je serai plus efficace à bosser dessus quand j'aurai mon PC :Pceci dit, le système d'argument et de reconnaissance de fonction est déjà bouclé, donc ça devrait se limiter à "ajouter des fonctions jusqu'à plus d'idées".
Enjoy
Dernière version + documentation ici : http://mattias.refeyton.fr/espace-ti/Wlib/Wlib.zip
J'ai l'honneur d'inaugurer ce sous-forum avec le premier programme ASM du site, WLib !
Y'a un petit moment, je me suis pris de pitié pour les pauvres 82 stats/83 qui n'avaient rien pour les aider à programmer en Basic ... J'ai donc décidé aujourd'hui de remédier à cela !
WLib est un programme ASM comparable à XLib ou Celtic : il permet d'utiliser des fonctions supplémentaires en plus des fonctions du TI-Basic. Je crois que je peux appeler ça du Basic étendu.
Alors vu que je n'ai pas d'ordi en ce moment, j'ai dû encore une fois tout faire en hexa avec mon bon vieil émulateur sur mon téléphone. Conséquence : il n'y a pour l'instant que deux fonctions utilisables
Voilà donc comment marche le truc : vu que sur les 82 stats/83 y'a pas de parser hook (ce qu'utilise les libs de basic étendu pour changer l'effet de fonctions TI-Basic, comme det( ou conj( ), il faut charger les arguments et numéro de la fonction à appeler, puis lancer Send(9prgmWLIB).
Là où je suis fier de moi c'est que tous les arguments d'une fonction sont passés par la liste LPARAM, que vous créérez pour l'occasion :PWLib va allez directement pêcher les arguments dans cette liste. Si LPARAM n'existe pas au moment de l'appel d'une fonction qui nécessite des arguments, la fonction ne fera juste rien. Par contre, si y'a pas assez d'arguments ... Big bordel (même si pour l'instant la seule fonction qui prend des arguments n'en attend qu'un )
Assez parlé, et place au code ! À recopier sur la calculatrice pendant que c'est assez court pour être possible, NON COMPATIBLE TI-83+/84+ MAIS UNIQUEMENT TI-82 STATS/83 :
- Code:
CDDC4E
CDFC4E
7B
FE02
D0
6F
2600
29
118093
19
7E
23
66
6F
E9
010003
21298E
7E
2F
77
23
0B
79
B0
C8
18F6
CD8493
D8
EB
23
23
E7
CDFC4E
4B
42
C5
21298E
112A8E
3600
010B00
EDB0
C1
C5
211C91
112891
01F402
EDB8
CD9C4B
C1
0B
79
B0
C8
18EA
3E93
4E93
218C93
E7
CD2A44
C9
015D504152414D0000
End
0000
End
Exemple en Basic :
- Code:
:ClrDraw
:0:Send(9prgmWLIB
:64->LPARAM(1)
:1:Send(9prgmWLIB
Liste des fonctions disponibles :
- invScreen (fonction 0) : inverse les pixels de l'écran. N'attend aucun argument
- shiftDown (fonction 1) : scrolle l'écran vers le bas. Attend comme seul argument le nombre de lignes à scroller.
Voilà, je serai plus efficace à bosser dessus quand j'aurai mon PC :Pceci dit, le système d'argument et de reconnaissance de fonction est déjà bouclé, donc ça devrait se limiter à "ajouter des fonctions jusqu'à plus d'idées".
Enjoy
Dernière version + documentation ici : http://mattias.refeyton.fr/espace-ti/Wlib/Wlib.zip
Dernière édition par matrefeytontias le Dim 9 Fév 2014 - 17:10, édité 1 fois