[TO8] CPU et Fréquence
Modérateurs : Papy.G, fneck, Carl
-
- Messages : 1294
- Inscription : 24 déc. 2021 09:46
- Localisation : Région parisienne
Re: [TO8] Remplacement CPU
J'ai reçu un 6309 commandé en chine. Je compte le mettre un jour sur mon to8.
Comment savoir si c'est un vrai 6309?
Comment savoir si c'est un vrai 6309?
-
- Messages : 146
- Inscription : 25 oct. 2022 13:54
Re: [TO8] Remplacement CPU
Déjà, sur les 2 que j ai reçus, en testant la résistance entre les pins 1 et 7 (Vcc et Vss), j' avais une valeur de plusieurs megaohms.
Impossible pour ces soi-disant cpus de booter. Par la suite, pour différencier un 6809 d'un 6309, il y a une routine en assembleur quelque part, faut que je la retrouve, sur ce forum il me semble.
[EDIT] Trouvé !
Impossible pour ces soi-disant cpus de booter. Par la suite, pour différencier un 6809 d'un 6309, il y a une routine en assembleur quelque part, faut que je la retrouve, sur ce forum il me semble.
[EDIT] Trouvé !
Daniel a écrit : ↑22 avr. 2014 20:57 J'ai essayé ce petit programme :
Après exécution, un PRINTPEEK(&H900E) affiche 3, ce n'est donc pas un 6809Code : Tout sélectionner
ORG $9000 9000 3407 PSHS A,B,CC 9002 CC0102 LDD #$0102 9005 103089 ADDR A,B 9008 FD900D STD $900D 900B 3587 PULS CC,B,A,PC 900D 00 FCB $00 900E 00 FCB $00
-
- Messages : 2367
- Inscription : 06 avr. 2009 12:07
Re: [TO8] Remplacement CPU
Pas plus difficile que n'importe quelle autre gamme de l'époque. Il y avait aussi des petits soucis de compatibilité entre le C64 et le C128 par exemple, puis Commodore a tiré un trait dessus pour faire l'Amiga.Et j'essaye de comprendre pourquoi cette gamme est si difficile en compatibilité..
Il ne faut pas se tromper sur la "compatibilité" des machines actuelles, il n'en est rien. Windows ou Linux fournissent un noyau énorme et un nombre conséquent de pilotes de base de manière à couvrir la majorité des cas, ce qui donne un sentiment de compatibilité 100%, mais rien n'est plus faux.
Si on veut faire le chemin inverse, prenons notre projet OS-9/MO5 qui me tient particulièrement à coeur, il rend de facto l'ensemble de la gamme Thomson "compatible".
-
- Messages : 146
- Inscription : 25 oct. 2022 13:54
Re: [TO8] Remplacement CPU
Je viens de recevoir un HD63B09EP d'Ebay.
Celui-ci permet de faire booter le TO8.
Va falloir maintenant que je m'assure que c'est bien un vrai 6309.
Celui-ci permet de faire booter le TO8.
Va falloir maintenant que je m'assure que c'est bien un vrai 6309.
- Pièces jointes
-
- PXL_20230106_132443366.jpg (367.54 Kio) Consulté 1283 fois
-
- PXL_20230106_134155237.jpg (298.25 Kio) Consulté 1283 fois
-
- Messages : 146
- Inscription : 25 oct. 2022 13:54
Re: [TO8] Remplacement CPU
Bon, pas de moquerie svp, mais je me galère à me servir de la routine de Daniel en haut de la page.
Je n'ai jamais fait d'assembleur, je vous préviens.
J'ai tenté d'utiliser assembleur v2 directement sur le TO8, en convertissant le .fd en .sd
Mais je n'arrive pas à le lancer. En appuyant sur l'option 4, appels de programme, je vois bien le fichier assembl, mais je ne peux le sélectionner, je n'ai ni crayon optique, ni souris.
Du coup, j'ai tenté avec c6809 du site PULS, mais j'aurai sacrément besoin d'un tuto.
Si quelqu'un passe par là et est connaisseur, merci du coup de main.
Je n'ai jamais fait d'assembleur, je vous préviens.
J'ai tenté d'utiliser assembleur v2 directement sur le TO8, en convertissant le .fd en .sd
Mais je n'arrive pas à le lancer. En appuyant sur l'option 4, appels de programme, je vois bien le fichier assembl, mais je ne peux le sélectionner, je n'ai ni crayon optique, ni souris.
Du coup, j'ai tenté avec c6809 du site PULS, mais j'aurai sacrément besoin d'un tuto.
Si quelqu'un passe par là et est connaisseur, merci du coup de main.
-
- Messages : 2367
- Inscription : 06 avr. 2009 12:07
Re: [TO8] Remplacement CPU
Pourquoi faire, un assembleur ?
=
(traduit à la volée en 1 minute)
Code : Tout sélectionner
9000 3407 PSHS A,B,CC
9002 CC0102 LDD #$0102
9005 103089 ADDR A,B
9008 FD900D STD $900D
900B 3587 PULS CC,B,A,PC
900D 00 FCB $00
900E 00 FCB $00
Code : Tout sélectionner
10 CLEAR,&H8FFF:RESTORE
20 FOR A=&H9000 TO &H900E
30 READ B:POKE A,B
40 NEXT:EXEC &H9000
50 END
60 DATA &H34,&hH07,&HCC,&H01,&H02,&H10,&H30,&H89,&HFD,&H90,&H0D,&H35,&H87,&H00,&H00
-
- Messages : 146
- Inscription : 25 oct. 2022 13:54
Re: [TO8] Remplacement CPU
Vous êtes vraiment des bêtes ! Merci beaucoup !
Il faut vraiment que je me mette dedans, je suis frustré de voir votre niveau !
Il faut vraiment que je me mette dedans, je suis frustré de voir votre niveau !
-
- Messages : 146
- Inscription : 25 oct. 2022 13:54
Re: [TO8] Remplacement CPU
ca semble bien être un 6309 !
Merci à Daniel et à Fool-Duplex
Du coup, sur 6809, on aurait quelle valeur ? J'essaierai demain si pas de réponse
Merci à Daniel et à Fool-Duplex
Du coup, sur 6809, on aurait quelle valeur ? J'essaierai demain si pas de réponse
- Pièces jointes
-
- PXL_20230106_210916924.jpg (274.69 Kio) Consulté 1228 fois
Re: [TO8] Remplacement CPU
On obtient 0 avec dcmoto en mode 6809 :
[EDIT]
Je viens d'essayer avec un vrai 6809, le programme plante car l'instruction ADR n'est pas valide et décale la suite.
L'émulateur dcmoto traite bien une partie des instructions non documentées, mais pas toutes (c'est normal, elles ne sont pas documentées ).
[EDIT]
Je viens d'essayer avec un vrai 6809, le programme plante car l'instruction ADR n'est pas valide et décale la suite.
L'émulateur dcmoto traite bien une partie des instructions non documentées, mais pas toutes (c'est normal, elles ne sont pas documentées ).
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 1294
- Inscription : 24 déc. 2021 09:46
- Localisation : Région parisienne
Re: [TO8] Remplacement CPU
Quelqu'un peut expliquer le programme ?
Les fcb n'ont pas l'air d'être des instructions machine mais des instructions pour le compilateur, c'est l'équivalent d'un data ?
Et l'instruction puls provoque aussi un return ? Car je ne vois pas d'instruction de type rtn.
Ensuite concernant le mode compatible et le mode natif du 6309, on passe de l'un à l'autre en exécutant une instruction spéciale ou c'est un ensemble d'instructions ?
Et il ne faut faire cela que si on est sur un 6309, il faut donc tester d'abord.
J'ai hâte de tester mon 6309, mais je suppose qu'il faut dessouder le 6809 qui n'est pas sur support ? Sur un to8d.
Les fcb n'ont pas l'air d'être des instructions machine mais des instructions pour le compilateur, c'est l'équivalent d'un data ?
Et l'instruction puls provoque aussi un return ? Car je ne vois pas d'instruction de type rtn.
Ensuite concernant le mode compatible et le mode natif du 6309, on passe de l'un à l'autre en exécutant une instruction spéciale ou c'est un ensemble d'instructions ?
Et il ne faut faire cela que si on est sur un 6309, il faut donc tester d'abord.
J'ai hâte de tester mon 6309, mais je suppose qu'il faut dessouder le 6809 qui n'est pas sur support ? Sur un to8d.
Re: [TO8] Remplacement CPU
Je te confirme sur le mien y a aucun support.
La qualité de la carte semble être mauvaise...
Fais gaffe à pas trop chauffer ni arracher des pistes, utilise du flux
La qualité de la carte semble être mauvaise...
Fais gaffe à pas trop chauffer ni arracher des pistes, utilise du flux
-
- Messages : 7988
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: [TO8] Remplacement CPU
Il te faut absolument lire un manuel du 6809. L'assembleur est assez homogène sans exceptions, et on a vite fait le tour des instructions. Tu pourras lire (et comprendre) l'ASM en une paire d'heure.Bernouilli92 a écrit : ↑06 janv. 2023 23:36 Quelqu'un peut expliquer le programme ?
Les fcb n'ont pas l'air d'être des instructions machine mais des instructions pour le compilateur, c'est l'équivalent d'un data ?
Et l'instruction puls provoque aussi un return ? Car je ne vois pas d'instruction de type rtn.
L'instruction PULS récupère un ensemble de registres sur la pile. Si dans cet ensemble tu as le compteur-programme (PC), et bien tu réalises un saut sans la foulée. Si la valeur récupérée est celle empilée par un JSR/BSR, cela revient à faire un RTS (ReTurn from Subroutine) gratuitement. PULS est l'une des instruction les plus intéressantes sur 6809, et pour cette raison, le nom adopté par un certain groupe de démo-codeurs.
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
Re: [TO8] Remplacement CPU
Merci Sam pour les explications. N'ayant fait que de l'assembleur Z80 et un tout petit peu de x86 (8086 principalement) j'avoue que celui de la famille 6xxx me déroute aussi.
Re: [TO8] Remplacement CPU
Le programme :Bernouilli92 a écrit : ↑06 janv. 2023 23:36 Quelqu'un peut expliquer le programme ?
Les fcb n'ont pas l'air d'être des instructions machine mais des instructions pour le compilateur, c'est l'équivalent d'un data ?
Et l'instruction puls provoque aussi un return ? Car je ne vois pas d'instruction de type rtn.
Ensuite concernant le mode compatible et le mode natif du 6309, on passe de l'un à l'autre en exécutant une instruction spéciale ou c'est un ensemble d'instructions ?
Et il ne faut faire cela que si on est sur un 6309, il faut donc tester d'abord.
J'ai hâte de tester mon 6309, mais je suppose qu'il faut dessouder le 6809 qui n'est pas sur support ? Sur un to8d.
1) empile les registres A et B puis les flags H, N, Z, V, C.
2) charge A et B (D = B:A) avec les valeurs 2 et 1 respectivement (je peux me tromper dans l'ordre).
3) additionne A et B pour donner B = 3. Cette instruction n'est définie que pour le 6309 !!! le comportement pour le 6809 est indéfini.
4) stocke les registres A et B (D = B:A) en $900D et $900E respectivement.
5) dépile les flags H, N, Z, V, C puis les registres B et A, et enfin le nouveau PC (ici, l'adresse de retour de l'appel de cette routine) qui provoque également un saut à cette adresse dépilée (affectation du PC = saut à cette valeur).
6) définition d'un champ de donnée d'un octet pour contenir A suite au (4)
7) définition d'un champ de donnée d'un octet pour contenir B suite au (4)
Je ne pense pas faire mieux comme explication.
EDIT: je ne sais plus si le 6809 est little ou big endian donc je peux me tromper dans l'ordre.
-
- Messages : 146
- Inscription : 25 oct. 2022 13:54
Re: [TO8] Remplacement CPU
Très intéressant. Merci Hlide