1

J'ai créé il y a quelques temps des petits programmes qui utilisent la librairie userlib.
Seulement comme aucun code n'est défini dans UniOS et que j'utilise le Shell "Tex", je ne peux plus utiliser mes progs.eek

J'ai mis ce matin PreOS, la dernière version. Mes progs marchent, mais après boom, le Ti-OS plante rapidement.

De plus, lancés seuls ils fonctionnent, mais depuis un programme basic boom, ça fait même un bel écran bleu qu'il vaut mieux interrompre plutôt qu'admirer...

Ou est le problème ? PreOS est instable sur les HW1 2.05 ?
.

2

j'utilise PreOS depuis... avant... sa sortie officielle smile
j'ai une HW1 2.05 (92+) et j'ai jamais eu ce pb...

(mais faut dire que je n'utilise pas de BASIC sur ma TI.. si ce n'est trois pov instructions par ligne de commande)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

3

Je sais pas . Faut que je verifie (J'ai pas beaucoup tester ca).
Donc lancement prog basic sous explorateur.

4

Mais c'est peut-être pour ça que je n'ai jamais réussit à lancer les progs Basic de cette façon avec Einstein : lancer puis revenir à Einstein.
J'ai été obligé de faire en sorte qu'Einstein quitte immédiatement au retour du prog Basic, sinon la calto plantait !
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

5

On est bien d'accord, moi je lance des progs asm depuis un basic, pas l'inverse. Au passage, ça n'avait jamais posé de pb sous DoorsOS sur 2.03 et excepté le fait que ce ne marche pas entièrement sous UniOS, ça ne fait rien planter...
.

6

PpHd a écrit :
Je sais pas . Faut que je verifie (J'ai pas beaucoup tester ca). Donc lancement prog basic sous explorateur.


PpHd >> D'ailleurs y'a un truc que j'ai remarqué sur PreOS : quand une librairie manque, son nom n'est pas écrit dans la Status Line. Ca fait bouger l'écran, mais c'est tout.
Sinon l'accès aux libs est plus long qu'UniOS, mais ça doit être une histoire de nombre de fichier, de désarchivage ou quelque chose du genre... zzz
.

7

Si j'ai installé les TSR avant PreOS, c'est grave ?
Non mais c'est pas possible, les autres .89z fonctionnent, juste les miens...
c'est tout con, c'est userlib:tongueassword...

Dois recompiler le tout ?
.

8

je croit que kernell et tsr font po bon menage
En préretraitre

9

Scherubin
a écrit : Si j'ai installé les TSR avant PreOS, c'est grave ?

Non, je le fais toujours sur ma TI-92+ et ça marche très bien.
Non mais c'est pas possible, les autres .89z fonctionnent, juste les miens...
c'est tout con, c'est userlib:tongueassword...
Dois recompiler le tout ?

Nos, tu dois demander à PpHd de corriger le bogue. grin
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

10

>>>PpHd >> D'ailleurs y'a un truc que j'ai remarqué sur PreOS : quand une librairie manque, son nom n'est pas écrit dans la Status Line. Ca fait bouger l'écran, mais c'est tout.
>>>Sinon l'accès aux libs est plus long qu'UniOS, mais ça doit être une histoire de nombre de fichier, de désarchivage ou quelque chose du genre...
Tu dois avoir les libraries compressees, non ? Donc c normal. Il faut le temps d'extraire la librairie wink

>Non mais c'est pas possible, les autres .89z fonctionnent, juste les miens...
>c'est tout con, c'est userlib: assword...
>Dois recompiler le tout ?
C peu probable. Envoies moi plutot tes fichiers a pphd@netcourrier.com

11

J'ai finalement compilé une petite merde qui change le le pssword de UniOS.
userlib::changepass, c'était très dur.
Je t'envoie les fichiers.

Lock89.89z éteint et vérouille la calc, zcode demande le code et créé une variable "bon" de valeur 0 ou 1 exploitable par des programmes Basic
.

12

J'ai du coup un autre pb avec Zcode. Voisi le code :

section ".data"
include "DoorsOs.h"
include "userlib.h"

xdef _main
xdef _ti89



init:

move.w #300,d6
bra pass

_main:

jsr userlib::get_APD
move.w d0,d6
cmp #5,d0
bls init
move.w #3,d0
jsr userlib::set_APD

pass:

jsr userlib::getpassword
cmp #0,d1
beq bon ;

pea Format0(pc)
move.w #2,-(a7)
move.w #$4000,-(a7)
pea Fichier(pc)
jsr doorsos::VarStore
jsr doorsos:sorryymFind
lea 12(a7),a7

bra fin

bon:

pea Format1(pc)
move.w #3,-(a7)
move.w #$4000,-(a7)
pea Fichier(pc)
jsr doorsos::VarStore
jsr doorsos:sorryymFind
lea 12(a7),a7

fin:
move.w d6,d0
jsr userlib::set_APD

rts

even
dc.b 0,"mainbon"

Fichier dc.b 0

even
dc.b 1,1

Format1 dc.b $1f

even
dc.b 0

Format0 dc.b $1f

end

Mon pb est que si aucun code n'est défini dans userlib, le code est considéré comme bon et on peut entrer dans la suite du programme...
Est ce que c'est possible de changer ça ?
.

13

Bon ok ça n'ispire personne. Je demande alors juste comment faire le test pour savoir si userlib contient un code ou non. Ce serait bien. J'ai cherché mais je n'ai que les headers de userlib, pas le fichier .asm.

Autre question j'en profite, comment afficher le chiffre contenu dans un registre ?

Mercitop
.

14

Tu peux utiliser sprintf puis drawstr. (ce sont des ROM_CALLS)

15

Cad ? Ces fonctions s'utilisent comment ?
.

16

Tu empiles le nombre (en .w ou .l suivant sur combien de bits il tient smile), puis un pointeur sur la chaine de caractère "%i" si tu as passé le nombre en .w, "%l" si tu as passé le nombre en .l, enfin tu empiles l'adresse du buffer où la fonction doit écrire le nombre, tu appelles la sprintf, et enfin tu restaures le pointeur de pile.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.