Au fait, j'ai plusieurs questions:
1. ExtendeD a réussi à détruire sa calculatrice avec DB92 en débogant TIB Receiver. Est-il dangereux de déboguer des programmes utilisant le trap B, par exemple pour enter_ghost_space ou pour archiver/désarchiver des fichiers?
2. PreOS supportera-t-il les fonctions reloc2 et unreloc2? Si oui, leurs adresses seront-ils à $3c et $44 comme pour DoorsOS? Si c'est encore oui, j'ai une idée pour déboguer des programmes pour kernel (je vais peut-être essayer avec DoorsOS, même si une bêta de PreOS serait l'idéal pour tester):
Si la signature kernel est détectée:
* reloger le programme pour kernel en appelant directement reloc2 par $3c
* passer directement à _main en ignorant le stub
* déreloger le programme en appelant directement unreloc2 par $44
À priori, ça devrait marcher. Mais ma priorité est d'abord sur le débogage des programmes _nostub. Si c'est pour déboguer des programmes pour kernel, on a déjà un kernel, donc autant utiliser la version kernel.
Pour les plantages:
- Quand j'essaye de déboguer Hello, World!, tout marche ([r] et single-step).
- Quand j'essaye de déboguer Phoenix, ça plante quand je quitte Phoenix après l'avoir laissé s'exécuter avec [r].
- Quand j'essaye de déboguer TI-Mahjongg, ça plante dès que j'appuie sur [r].
Du moins, c'est ce qui se passe sur ma TI-92+ HW2 AMS 2.05 sans kernel.
Sur VTI, tout marche (sauf les fontes petite et grande qui n'apparaissent pas, mais c'est parce que j'utilise la même méthode de recherche des fontes que les kernels).
[edit]Edité par Kevin Kofler le 26-12-2001 à 16:45:29[/edit]
Sur ma TI-89 HW1 AMS 2.05, c'est plus ou moins la même chose que sur ma TI-92+ HW2 AMS 2.05 sauf que le plantage de Mahjongg est récupéré par DB92 (Illegal Instruction à l'adresse $348 - je ne sais pas pourquoi ça exécute qqch. à cette adresse-là).
Bon, un Hello, World! compressé avec ExePack marche aussi. Donc au moins je sais maintenant que les problèmes de TI-Mahjongg ne sont pas dûs à ExePack. Et à condition de ne pas faire du single-step à travers le trap B, il n'y a pas l'air d'y avoir un risque à déboguer des programmes utilisant enter_ghost_space.
Bon, pour Mahjongg, il y a un jmp _main au début du lanceur mahjongg() qui n'est pas relogé correctement. Si le lanceur est archivé, l'adresse n'est pas relogée du tout, et s'il est désarchivé, il manque $40000 à l'adresse et tout plante sur HW2 AMS 2. Je vais essayer de voir d'où ça vient.
PS: Je me sens un peu seul dans ce topic. N'y-a-t-il pas d'autres personnes compétentes avec DB92?
[edit]Edité par Kevin Kofler le 26-12-2001 à 17:17:14[/edit]
J'ai corrigé le bogue du relogement. Le code de relogement était au mauvais endroit. Ça concerne également la version kernel. hwti, il faut que tu déplaces tout de move.w (a0),d0 à endr: après PasArchive:, sinon, on ne pourra pas déboguer des programmes _nostub archivés avec ta version.
Je peux maintenant déboguer Mahjongg et Phoenix sans problèmes. Reste le problème des programmes pour kernel.
[edit]Edité par Kevin Kofler le 26-12-2001 à 17:35:24[/edit]
Je sortirai une alpha ce soir. Il faut juste que je fasse en sorte que le tutorial de DB92 s'assemble correctement avec as de Nitro.
J'ai encore rajouté la possibilité de déboguer symboliquement des programmes _nostub. L'inconvénient est que les programmes avec informations symboliques ne peuvent être utilisés que dans db92. (Il faut les commencer par ILLEGAL. Pour les détails, ça sera dans la documentation.)
J'ai changé le format. Maintenant, on peut aussi les utiliser en dehors de DB92. (Ça commence par un nop, puis un bra.w par dessus les informations symboliques, puis une signature.)
[edit]Edité par Kevin Kofler le 26-12-2001 à 19:27:48[/edit]
Malheureusement, DB92 plante à la sortie si je débogue TI-Chess sur ma TI-92+ HW2 AMS 2 non patchée. J'essaye de voir ce qui se passe encore.
[edit]Edité par Kevin Kofler le 26-12-2001 à 19:45:21[/edit]
Est-ce qu'il gère maintenant le debugage des gros fichiers (genre 20-30ko) ? (cad est-ce qu'il plante encore à la sortie)
Aucune idée. Peut-être le problème avec TI-Chess vient de là. Mais TI-Chess est compressé avec ExePack, donc je ne pense pas que c'est ça.
ça c une bonne idée..
Dsl que tu te sente seul... mais l'ASM et moi, c cho... et je m'y connais pas en débugger... mais bon courage...
Si y'a encore des trucs qui buggent, moi je veux bien essayer.
Et met vraiment une protection pour l'appel du trap #11, j'en suis sûr que ça peut vraiment être dangereux (mais je préfère pas réessayer).
Et un autre truc bizarre, c'est que quand il y a un Address Error intercepté par DB92, au lieu de me retrouver sur l'instruction d'après, je me retrouve avec la fenêtre de code vide et la valeur de PC indiquée par DB92 est impaire (alors que l'Address Error était provoqué par la lecture d'une adresse impaire en (a2)).
[edit]Edité par Kevin Kofler le 26-12-2001 à 20:27:44[/edit]
Bon, finalement, il n'y aura pas d'alpha publique aujourd'hui à cause de ces 2 bogues et du fait qu'il n'y a toujours rien pour protéger le trap $B (11) contre le débogage abusif et dangereux. Je vais peut-être envoyer une alpha à ExtendeD et attendre son avis sur ces 3 sujets.
[edit]Edité par Kevin Kofler le 26-12-2001 à 20:53:00[/edit]
Apparemment, pour TI-Chess, la sauvegarde de la pile est fausse.
[edit]Edité par Kevin Kofler le 26-12-2001 à 21:26:02[/edit]
Argh, TI-Chess déborde de l'écran! Je vais mettre un workaround. (Je n'ai pas le choix.)
Voilà, c'est fait, je sauvegarde et restaure la zone que TI-Chess me détruit.
Je pense que cela explique pourquoi la version kernel de TI-Chess a été retirée pour ne pas avoir marché. Universal OS ne doit pas apprécier ce genre de comportement non plus...
[edit]Edité par Kevin Kofler le 26-12-2001 à 21:50:11[/edit]
Billy Le 26/12/2001 à 22:04 Bah bonne continuation Kevin, et désolé de pas pouvoir aider mais bon, débbuger et moi c pas le top
Site en décomposition :( www.graphiti.fr.fm
cest quoi le probleme avec le trap $b, et il sert a quoi au fait ? ca fait pas juste planter la ti ?
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"
pour une bonne nouvelle...