30

Fonctions en cours d'implémentation:
------------------------------------

J'ai commencé à implémenter des fonctions qui permettent de déplacer un pointeur à
l'intérieur d'une variable. En l'occurence il s'agit des varibles de type LISTE/MATRIX.
Ces fonctions servent à créer une variable virtuelle par restriction d'une variable réelle.
En clair ça va éviter de faire des 'left','right','midl','sublist', 'submat' sur les types
LISTE/MATRIX, lorsqu'on ne veut utiliser qu'un sous ensemble les valeurs définies dans ces
variables.

voici les fonctions que je suis en train d'implémenter :

[PRE]

- Déclaration de la table des Pointeurs sur une variable:
DefPtr( "Varname", Count )
SetPtr( "*NamePtr1", SkipArg )
SetPtr( "*NamePtr2", SkipArg )
.
.
.
EndPtr()

- Modification de Pointeurs:
MovePtr( "*NamePtr", SkipArg )
CopyPtr( "*NamePtr1", "*NamePtr2")

- Suppression de la table de Pointeurs d'une variable:
DelPtr( "Varname")
[/PRE]

Les nouvelles variables sont utilisables au même titre que les variables de la VAT.
J'espère que vous avez remarqué qu'elles commencent toutes par '*'.
Bien sur, on pourra utiliser 'CopyPtr(' et 'MovePtr(' en plus de 'SetPtr(' dans le
Bloc de la déclaration du pointeur. D'ailleurs, ce sont les seules fonctions autorisées
par la ExtLiB dans le Bloc. Par contre les instructions Ti-Basic y sont autorisées.

31

Mince, alors; je viens de me rendre compte que le fait d'avoir créer des extensions de type
programme m'empêche de les appeller dans les fonctions utilasateurs Ti-Basic.
Je vais être obligé de faire uniquement des extensions de type fonctions même si le code est censé ne retourné aucune valeur.
je vais donc retourne 0 systématiquement si l'on appelle un programme en Ti-Basic.
Comme cela, j'éviterai la restriction Ti-Basic qui empêche d'appeller des programme dans une fonction utilisateur.

32

33

j'ai preos et poutant ça fonctionne pas les appels au programmes dans les fonctions.

34

Ben oui...
Super, l'idée d'une extension kernel-based (c'est à dire non native) au langage natif de la machine...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

35

36

Lionel Debroux:
Tu veux dire que c'est un mélange imcompatible confus

Faut dire qu'on peut facilement perdre la tête avec toutes ces interactions.




37

> et? pourquoi ça serait mal?
Expliqué dans #33.
> Tu veux dire que c'est un mélange imcompatible confus
Pas incompatible, juste stupide à mon avis.
En sachant qu'à l'époque d'UniOS 1.14, le dernier kernel que j'ai utilisé sur ma machine, j'ai eu trois crashes de programmes BASIC en une semaine, et c'est le seul moment où ça a fait ça, en plus d'un an de BASIC sur la machine. Mais UniOS 1.14 n'existe plus depuis longtemps, UniOS 1.30 et PreOS sont plus stables.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

38

39

> et c'est facile de dire c'est le kernel, t'avais pas autre lancé autre chose qui aurait pu planter la calc?
Si, peut-être des programmes kernel-based wink
Je n'ai pas souvenir d'avoir utilisé de programmes AMS native spécialement buggés à ce moment-là, et je n'ai plus jamais eu de problèmes de crashes de programmes TI-BASIC après avoir enlevé et effacé UniOS 1.14 - je n'en avais jamais eu avant.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

40

41

pencil
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

42

En effet.

Il reste j'avais mis UniOS 1.14 comme protection anti-crash, et que puisque je n'ai rien changé d'autre pendant cette courte période, je ne vois pas quel autre ensemble de programmes aurait pu être responsable des crashes... S'il y a eu des versions suivantes d'UniOS, ce n'est pas pour rien, si :P ?
J'ai depuis des années KerNO comme protection anti-crash (sur laquelle j'ai trouvé deux bugs graves, d'ailleurs), et l'uptime de la calculette est supérieur à la durée d'un jeu de piles depuis que j'utilise HW3Patch qui enlève le bug stupide de la trap #4 / trap #B.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

43

44

Au fait comment fait Preos pour autoriser l'appel des programmes dans le fonctions ?
J'ai mal au coeur d'être obligé de faire retourner zéro au programmes.
ça ralenti énormément mon soft

45

il intercepte l'erreur (Line 1010 Emulator), voit que c'est cette erreur-là, et fait croire au TIOS qu'il n'y a pas d'erreur -> le programme continue à tourner normalement
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

46


Au fait comment fait Preos pour autoriser l'appel des programmes dans le fonctions ?
J'ai mal au coeur d'être obligé de faire retourner zéro au programmes.

J'ai enleve le code charge de faire cela, car ce n'est pas stable.
En gros, c'est un ER_throw a intercepté lors de la tokenisation du programme et a ignoré.
Mais c'est instable.

47

c'est intercepté lors de la tokenization ? hum
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

48

Oue. Lors de la tokenisation pour les commandes inaccessibles aux fonctions.
Mais apres reflexion, il doit y en avoir aussi lors de l'execution.

49

pour les commandes basic inaccessibles aux fonctions, on est d'accord
mais y a une parade simple : on le tokenize en tant que programme, puis on le transforme en fonction après top
par contre, il me semble que pour les programmes, c'est à l'exécution
pour les commandes inaccessibles pour les fonctions, je suis sûr qu'il y a une erreur dès qu'une fonction touche à une variable globale (même "ok" pour les boîtes de dialogue)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

50

Compte tenu surtout du fait que je n'ai pas eu de Beta-testeur, et que je me trouve dans l'impossibilite materiel de continuer
a develloper ce software qui je pensait allait susciter un peu d'enthousiasme chez les codeurs basic, je me vois dans l'obligation de suspendre son developpement pour une periode indeterminee. je suis en voyage.
Le lien direct vers la Beta a ete retire. vous pouvez neanmoins la telecharger sur TI-FR ou TI-GEN.

Je precise qu'un bug mineur "Protected Memory Violation" n'entrainant pas de crash a lieu dans le seul cas suivant :
** indirection recursive c'est-a-dire vers une variable de type chaine contenant elle meme une indirection
** le filtre pour la fonction 'folder(' ne fonctionne pas
** oublie de declaration globale de la variable utilisee par la fonction 'test('

La notice quoi qu'exploitable manque de precision sur les valeurs de retour des fonctions de recherche.

Voila, tout est dit. Si je trouve un peu de temps j'essairai d'upload une release pour le cas ou cela interesserait certains.
Mais bon faut pas compter de suite ; j'ai pas de PC sous la Main.

51

remarque, vu le nombre de codeurs, ça serait peut-être pas faux de dire que tous les codeurs basic actifs qui visitent des sites sur les ti sont absolument enthousiasmés par extlib hehe

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

52

Ma seule consalation c'est de n'avoir pas coder ExtLiB expressement pour le Basic.
Je voulais juste adapter MyLiB histoire de faire profiter les rares codeur du Basic , vu que MyLiB est au placard.
J'ai arreter le codade de MyLiB sur l'ajout des structures de controle dans la phase de tokeneisation sad .

Faudra bien que je trouve le moyen de reprendre le projet cette annee. C'est tellement plus rapide que Ti-Basic dans les boucles: 10 fois plus rapide au minimum.

53

Ne lache pas ce projet. C'est super de pouvoir ajouter des tokens au basic. y'a moyen de coder des libs de tokens basic en utilisant ton prog actuel comme noyau basic qui sert à ajouter les fonctions provenant de ces libs. Les possibilités sont énormes.

54

Le probleme c'est que la librairie est deja enorme. on tourne a 40Ko presque pour 90 fonctions environ et ce n'est pas fini.
Alors on va se faire rattraper de de suite par la limitation du TiOS. C'est sure ca va etre plus rapide quand j'aurai fait une Gestion des pointeurs en creant une autre VAT.

Pqr contre ca ne rajoute pas de token au baisc il me semble a moins que je ne me trompe; ca rajoute des fonctions et des programmes comme pour un programme basic. C'est en fait une flash apps temporaire.
Le pied ca serait d'en faire une vrai fash appps

55

Sinon a a#part cela, je traine actuellement a londres sur 'New Oxford Street'

56

> Le pied ca serait d'en faire une vrai fash appps
Ca veut dire passer au compilo vilain de chez TI...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

57

C'est ton avis roll S'il veut faire une flash app, c'est son droit...

58

pas sûr, je suis sûr qu'il y a moyen de lui refourguer un binaire smile
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

59

naPO :
C'est ton avis roll S'il veut faire une flash app, c'est son droit...

nan, ti flash studio, c'est vraiment un compilo de merde ^^
le pb, c'est pas app flash ou pas
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

60

techniquement, qu'est ce qui empêche de faire des flashapps avec tigcc? smile