[TO8] CPU et Fréquence
Modérateurs : Papy.G, fneck, Carl
-
- Messages : 1254
- Inscription : 24 déc. 2021 09:46
- Localisation : Région parisienne
Re: [TO8] Remplacement CPU
Merci pour vos réponses.
Effectivement je n'avais pas fait attention aux paramètres de PULS. Il y a PC dans les arguments. Donc il récupère le PC qui avait été mis sur la pile avant l'appel à la fonction et donc retourne à l'appel de la fonction. Astucieux.
Par contre, si la fonction ADDR n'est pas définie sur le 6803, cela veut dire que potentiellement ce programme peut planter sur un 6809.
Effectivement je n'avais pas fait attention aux paramètres de PULS. Il y a PC dans les arguments. Donc il récupère le PC qui avait été mis sur la pile avant l'appel à la fonction et donc retourne à l'appel de la fonction. Astucieux.
Par contre, si la fonction ADDR n'est pas définie sur le 6803, cela veut dire que potentiellement ce programme peut planter sur un 6809.
Dernière modification par Bernouilli92 le 07 janv. 2023 23:41, modifié 2 fois.
-
- Messages : 7923
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: [TO8] Remplacement CPU
Comme tout les Motorola, le 6809 est BIG-endian.
Oui le programme plante sur 6809 (enfin fait un truc pas défini). Tester exactement la présence d'un 6309, en particulier s'il est en mode "emulation 6809" n'est pas facile. Les infos sont les docs techniques:
* Technical Reference
* Programmer's Reference
Oui le programme plante sur 6809 (enfin fait un truc pas défini). Tester exactement la présence d'un 6309, en particulier s'il est en mode "emulation 6809" n'est pas facile. Les infos sont les docs techniques:
* Technical Reference
* Programmer's Reference
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
Voici le bout de code que j'utilise sur mon SBC à base de 6809/6309 pour détecter le CPU en place. Il ne fait pas planter le 6809.
(Je ne sais plus où je l'ai récupéré).
(Je ne sais plus où je l'ai récupéré).
Code : Tout sélectionner
detect6309
c196 7f 7c 48 clr MODE_CPU
c199 34 06 pshs d
c19b 10 43 fdb $1043
c19d e1 61 cmpb 1,s
c19f 26 03 bne detect1
c1a1 7c 7c 48 inc MODE_CPU
detect1
c1a4 35 06 puls d
c1a6 39 rts
; MODE_CPU=0 pour 6809 et 1 pour 6309
Re: [TO8] Remplacement CPU
Le principe est simple : il faut trouver une instruction du 6309 inexistante sur 6809. Même si elle n'existe pas elle fait quelque chose. Il n'y a pratiquement aucune chance qu'elle fasse pareil que le 6309. Mais, pour que le programme ne plante pas, il faut que l'instruction ait la même longueur (le même nombre d'octets) avec les deux processeurs.
Avec $103089 ADR A,B je n'ai pas fait le bon choix : le 6809 exécute l'instruction non documentée $1030, il ne sait pas qu'il faut lire l'octet suivant, la suite du programme est décalée d'un octet et plante.
Avec $1043 COMD (inexistante sur 6809) la longueur de l'instruction est la même avec les deux processeurs. Le 6809 ne fait rien mais ne plante pas.
Avec $103089 ADR A,B je n'ai pas fait le bon choix : le 6809 exécute l'instruction non documentée $1030, il ne sait pas qu'il faut lire l'octet suivant, la suite du programme est décalée d'un octet et plante.
Avec $1043 COMD (inexistante sur 6809) la longueur de l'instruction est la même avec les deux processeurs. Le 6809 ne fait rien mais ne plante pas.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 142
- Inscription : 25 oct. 2022 13:54
Re: [TO8] Remplacement CPU
Dans ma quête de trouver un 6309e non fake, j'avais passé plusieurs commandes sur différents revendeurs.
Un de ceux-ci vient de m'envoyer un HD63B09RP.
Je ne trouve aucune infos viables sur le net sur une version RP.
Pensez-vous que c'est un proc à horloge externe ?
Un de ceux-ci vient de m'envoyer un HD63B09RP.
Je ne trouve aucune infos viables sur le net sur une version RP.
Pensez-vous que c'est un proc à horloge externe ?
Re: [TO8] Remplacement CPU
Les 63B09 ont une fréquence maxi de 2 MHz, contre 3 MHz pour les 63C09.
Il n'y a pas d'horloge externe s'il n'y a pas de de E après 09. Je crois, sans en être absolument sûr, que R=compatible RoHS et P=boîtier plastique.
Les HD63B09ERP ont une horloge externe, la compatibilite RoHS et un boîtier plastique.
Il n'y a pas d'horloge externe s'il n'y a pas de de E après 09. Je crois, sans en être absolument sûr, que R=compatible RoHS et P=boîtier plastique.
Les HD63B09ERP ont une horloge externe, la compatibilite RoHS et un boîtier plastique.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: [TO8] Remplacement CPU
J'ai deux HD63C09ECP qui m'ont été donné avec d'autres "goodies" il y a certainement plus d'un an maintenant. En consultant le datasheet, je ne vois nul part que c'est du jeu d'instructions 6309. Le datasheet ne me décrit que du 6809. Du coup, je me demande ce qu'il en est en réalité.
-
- Messages : 142
- Inscription : 25 oct. 2022 13:54
Re: [TO8] Remplacement CPU
C'est bien ce qu'il me semblait, merci Daniel, je ne trouvais pas d'infos pour le "R". Je me coucherai moins bête.
Plus qu'à ouvrir un nouveau litige sur Ali.
Pour info, le seul 6309 correcte que j'ai pu trouvé était sur eBay, via un vendeur allemand. Un peu moins de dix euros fdp compris.
Bien plus cher que sur Ali, mais on comprend pourquoi du coup.
Plus qu'à ouvrir un nouveau litige sur Ali.
Pour info, le seul 6309 correcte que j'ai pu trouvé était sur eBay, via un vendeur allemand. Un peu moins de dix euros fdp compris.
Bien plus cher que sur Ali, mais on comprend pourquoi du coup.
-
- Messages : 142
- Inscription : 25 oct. 2022 13:54
Re: [TO8] Remplacement CPU
Je pense que tu as des vrais 6309 hlide. Après il faudrait les monter et tester une des routines décrites précédemment pour s'en assurer.
Re: [TO8] Remplacement CPU
L'information sur le mode natif et les nouvelles instructions du 6309 n'a jamais été publiée par Hitachi.
Elle a été découverte en avril 1988 par un magazine japonais.
Un peu plus tard Hirotsugu Kakugawa a posté plus de details sur les nouvelles fonctions du 6309 dans le groupe usenet comp.sys.m6809.
https://groups.google.com/g/comp.sys.m6 ... xCoMu_gyA4
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 7923
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: [TO8] Remplacement CPU
Les docs (non officielles) sont données dans mon message plus haut: https://forum.system-cfg.com/viewtopic. ... 21#p221321
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
jb_jb_fr a écrit : ↑04 janv. 2023 09:49
Petite précision:
J'ai passé mon TO9+ avec un 6309 pour une bonne raison: J'ai un projet (qui n'aboutit pas ) dont le but est de faire un TO9+ une tête de réseau pour le Nanoréseau. Et je ne voyais pas comment un TO9+ de base pouvait le faire vu la fréquence du réseau (moitié du CPU).
Il fallait donc forcément un proc plus rapide. Et j'ai réussi grâce au 6309. Mais l'exercice n'est pas évident.
Mais l'utilisation du 6309 est réellement visible pour la gestion de l’écran, qui prends un temps CPU dingue.
Les transferts de bloc, ainsi que les registres supplémentaires sont quand même un confort dans la programmation
Jacques (le pote à Fool)
Salut Jacques, pour ton projet de tête de réseau à base de 6309...
Et une carte acceleratrice ? Genre 6809 à 4Mhz ? avec Cache et sa gestion ?
Re: [TO8] Remplacement CPU
Non pas possible ?
-
- Messages : 7923
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: [TO8] Remplacement CPU
Les cartes accélératrice n'ont pas trop de sens sur le 6809 car la mémoire est synchrone avec le CPU. La mémoire fonctionnant à 1mhz en opposition de phase avec ce dernier briderait un CPU de 4mhz à attendre les 3/4 du temps pour y avoir accès.
Et le cache ne servirait à rien dans la mesure ou la mémoire des Thomson n'a pas de mode "burst" pour remplir les lignes de caches (plusieurs octets) d'un coup, sans compter que les codes auto-modifiables n'étant pas si rares dans les logiciels s'exécutant en RAM (les jeux), il y aurait une dévalidation fréquente du cache. Peine perdue
Et upgrader la mémoire pour la faire marcher à 4Mhz? Ca n'est pas non plus de sens car son refresh est l'ensemble des gate-array (systèmes + affichage) pour tenir compte de cette fréquence plus élevée. Il faudrait aussi changer de technologie de ROM pour répondre à cette fréquence (et on fait souvent appel aux routines en ROM sur thomson.) Ca reviendrait à reconcevoir une machine entière qui n'aura plus grand chose à voir avec un TO9+.
Autant mettre un PC en tête de réseau à ce compte là.
Et le cache ne servirait à rien dans la mesure ou la mémoire des Thomson n'a pas de mode "burst" pour remplir les lignes de caches (plusieurs octets) d'un coup, sans compter que les codes auto-modifiables n'étant pas si rares dans les logiciels s'exécutant en RAM (les jeux), il y aurait une dévalidation fréquente du cache. Peine perdue
Et upgrader la mémoire pour la faire marcher à 4Mhz? Ca n'est pas non plus de sens car son refresh est l'ensemble des gate-array (systèmes + affichage) pour tenir compte de cette fréquence plus élevée. Il faudrait aussi changer de technologie de ROM pour répondre à cette fréquence (et on fait souvent appel aux routines en ROM sur thomson.) Ca reviendrait à reconcevoir une machine entière qui n'aura plus grand chose à voir avec un TO9+.
Autant mettre un PC en tête de réseau à ce compte là.
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 de t'être lancé dans l'exercice périlleux de la réponse, mais l'Atari ST et son 68000, ont les mêmes arguments que tu as avancé, pour le ST y a même la mémoire vidéo dans la Ram !