https://forum.system-cfg.com/viewtopic.php?f=1&t=12199
Schema du TO7/70
Modérateurs : Papy.G, fneck, Carl
Re: Schema du TO7/70
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Schema du TO7/70
Merci Daniel. Mince l'auteur ne s'est pas reconnecté depuis février dernier.
-
- Messages : 2338
- Inscription : 06 avr. 2009 12:07
Re: Schema du TO7/70
Oui, en touillant la ROM donc. Mais sur toutes les autres machines, sauf TO7, on peut le faire en RAM, sans avoir besoin de touiller la ROM. J'imagine que les gars de Thomson se sont rendus compte que c'était pas une très bonne idée de ROMer les vecteurs.On ne peut pas changer l'adresse du JMP, par contre on peut remplacer la routine à cette adresse
Re: Schema du TO7/70
J'avais aussi imaginé cette solution, mais presser le bouton est délicat et le connecteur a l'intérieur est utilisable sans trop de risque.Ça semblait très prometteur mais je n'ai pas retrouvé le fil.
Je vois ça, je viens de perdre dix minutes a essayer de comprendre comment mettre un point d'arret et trouver les fonctions du moniteur en rom sur DCMOTO... pour finir par penser avoir compris que les PSET et LINE du basic n'utilisent pas les fonctions du moniteur ! (en tout cas, ca a marché direct quand j'ai essayé avec LOAD )Sauf que sur Thomson, les bons logiciels n'utilisent pas la ROM de toute manière (trop lente)
-
- Messages : 2338
- Inscription : 06 avr. 2009 12:07
Re: Schema du TO7/70
Si, si, le basic utilise les routines du moniteur. Toutes. Et même celles de l'extra-moniteur s'il est disponible.
Re: Schema du TO7/70
ok, je veux bien un peu d'aide alors
Je suis parti de "la face cachée du TO7" pour avoir les adresses du moniteur. Page 133, j'ai trouvé PLOTXY : $E80F.
Dans DCMOTO (TO7/70 avec une cartouche Basic 128 1.0), outil -> mise au point, en E80F je trouve un JMP EEC6 et crée donc eux points d'arrêt :
Je clique sur "jusqu'au point d'arrêt"
Puis en basic :
Le point s'affiche normalement, il ne se passe rien.
Si je change l'adresse du breakpoint par E803 (PUTCH d'après la même doc), quand j'appuie sur une touche j'ai bien un arrêt. LOADING en basic marche aussi avec le breakpoint sur K7CONT.
Je suis parti de "la face cachée du TO7" pour avoir les adresses du moniteur. Page 133, j'ai trouvé PLOTXY : $E80F.
Dans DCMOTO (TO7/70 avec une cartouche Basic 128 1.0), outil -> mise au point, en E80F je trouve un JMP EEC6 et crée donc eux points d'arrêt :
Code : Tout sélectionner
Type : Exec
Bank : no
# : 00
Address : E80F et EEC6
Puis en basic :
Code : Tout sélectionner
PSET (0,0)
Le point s'affiche normalement, il ne se passe rien.
Si je change l'adresse du breakpoint par E803 (PUTCH d'après la même doc), quand j'appuie sur une touche j'ai bien un arrêt. LOADING en basic marche aussi avec le breakpoint sur K7CONT.
-
- Messages : 2338
- Inscription : 06 avr. 2009 12:07
Re: Schema du TO7/70
Bon, déjà, tu consultes une doc sur le TO7, alors que ta machine est un TO7-70. Ca n'a rien à voir ou pas grand chose. Fort heureusement pour toi, les adresses de PLOTXY sont les mêmes sur les deux machines.
Je viens de faire un test avec la dernière version de DCMOTO, ça fonctionne avec le BASIC 1.0, mais pas avec le BASIC 128. Je ne m'en explique pas la raison et je me tourne vers Daniel. A moins que le BASIC 128 ait ses propres routines d'affichage, mais ça me surprend (-> extra-moniteur ?)
Edit : pour autant que je puisse en juger après quelques tests, on dirait bien que le BASIC 128 a sa propre routine d'affichage de point. A vérifier toutefois.
Edit 2 : le BASIC 128 sur TO7-70 incorpore l'extra-moniteur et ce dernier possède sa propre routine de point. La ROM système n'est donc pas appelée par le BASIC 128. Je suis donc surpris (à moitié, puisque j'avais suspecté l'extra-moniteur d'être la cause).
Je viens de faire un test avec la dernière version de DCMOTO, ça fonctionne avec le BASIC 1.0, mais pas avec le BASIC 128. Je ne m'en explique pas la raison et je me tourne vers Daniel. A moins que le BASIC 128 ait ses propres routines d'affichage, mais ça me surprend (-> extra-moniteur ?)
Edit : pour autant que je puisse en juger après quelques tests, on dirait bien que le BASIC 128 a sa propre routine d'affichage de point. A vérifier toutefois.
Edit 2 : le BASIC 128 sur TO7-70 incorpore l'extra-moniteur et ce dernier possède sa propre routine de point. La ROM système n'est donc pas appelée par le BASIC 128. Je suis donc surpris (à moitié, puisque j'avais suspecté l'extra-moniteur d'être la cause).
-
- Messages : 7964
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Schema du TO7/70
Pourquoi ? C'est très simple: le basic 128 passe par l'extramon et pas le moniteur. Du coup tu peux faire des PSET en dehors de l'écran, bénéficier du clipping, n'affecter que certains bitplans, les modes OR les modes AND, etc, bref de toute l'api graphique avancée de l'extramon. J'avais découvert ca sur mon TO9 à l'époque en essayant de comprendre pourquoi PSET(-1,-1) ne plantait pas toujours suivant le basic.Fool-DupleX a écrit : ↑08 déc. 2022 14:12 mais pas avec le BASIC 128. Je ne m'en explique pas la raison
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
-
- Messages : 406
- Inscription : 22 juil. 2020 20:56
Re: Schema du TO7/70
Je m'excuse, je me trompe peut être, je ne suis pas un champion du désassemblage Thomson,
Mais je pense que un outil comme IDA PRO, est bien plus pratique qu'un désassemblage manuel, je m'en suis servi pour désassembler Oméga Planète Invisible, Vol Solo, et Las Vegas partie 3 (désassemblages très partiels en fait)
Le gros inconvénient est qu'il ne reconnait pas les instructions type CALL PUTC et et transforme en SWI, FCB $02 (ce qui oui pose un gros soucis).
Un deuxième inconvénient est pour les machines TO, la gestion des banques est malaisée.
En fait il faudrait écrire un module particulier pour Thomson, quelqu'un a-t-il déjà essayé ?
Mais je pense que un outil comme IDA PRO, est bien plus pratique qu'un désassemblage manuel, je m'en suis servi pour désassembler Oméga Planète Invisible, Vol Solo, et Las Vegas partie 3 (désassemblages très partiels en fait)
Le gros inconvénient est qu'il ne reconnait pas les instructions type CALL PUTC et et transforme en SWI, FCB $02 (ce qui oui pose un gros soucis).
Un deuxième inconvénient est pour les machines TO, la gestion des banques est malaisée.
En fait il faudrait écrire un module particulier pour Thomson, quelqu'un a-t-il déjà essayé ?
Re: Schema du TO7/70
La version gratuite d'ida ne gerait pas le 6809 la derniere fois que j'ai regardé, si ? Ghidra par contre doit le gérer et les plugin y sont plus faciles a faire que dans ida, mais de toute facon banques et analyse statique, ce n'est pas fait pour aller ensemble !
-
- Messages : 2338
- Inscription : 06 avr. 2009 12:07
Re: Schema du TO7/70
IDA Pro version payante fonctionne bien pour ce genre de tâche. Les banques ne sont pas vraiment un souci, on peut préfixer les instructions et utiliser la notion de segment d'IDA. Pour le SWI, je décode à la main, ça va très bien, mais vue la simplicité de l'instruction, on peut rajouter un décodage spécifique pour une macro, comme IDA le fait déjà pour les NOPs qui suivent un JMP sur deux octets sur le x86.
Ghidra propose le 6809, mais le plug-in est (ou était, la dernière fois que j'ai testé) complètement faux. Celui qui l'a écrit a pris modèle sur le 6800, pensant que c'est la même famille, mais pas du tout, le jeu d'instruction est différent.
A ma connaissance, si ça n'a pas bougé depuis, un vrai beau plug-in Ghidra serait bienvenu.
Ghidra propose le 6809, mais le plug-in est (ou était, la dernière fois que j'ai testé) complètement faux. Celui qui l'a écrit a pris modèle sur le 6800, pensant que c'est la même famille, mais pas du tout, le jeu d'instruction est différent.
A ma connaissance, si ça n'a pas bougé depuis, un vrai beau plug-in Ghidra serait bienvenu.
Re: Schema du TO7/70
J'utilise aussi Ghidra pour décompiler (IDA trop cher). Pratique mais le modèle de processeur est en effet inexact. Je me suis penché sur la description du processeur pour rectifier le tir mais la syntaxe est plutôt incompréhensible. Il faudrait que je prenne le temps ...Fool-DupleX a écrit : ↑11 déc. 2022 10:10 Ghidra propose le 6809, mais le plug-in est (ou était, la dernière fois que j'ai testé) complètement faux. Celui qui l'a écrit a pris modèle sur le 6800, pensant que c'est la même famille, mais pas du tout, le jeu d'instruction est différent.
A ma connaissance, si ça n'a pas bougé depuis, un vrai beau plug-in Ghidra serait bienvenu.