Daniel Coulom a écrit:
Mais si ! J'ai un 6309 dans un MO5 et je crois que Jasques Br... en a un dans son TO9+. Il est possible qu'un troisième thomsoniste ait aussi fait l'essai.
J'ai un MO5 mais je ne sais pas si je peux remplacer le 6809 par un 6309 sans désouder LOL
Ceci étant, le but est de savoir si ça vaut vraiment le coup d'avoir un 6309,
sans accélération d'horloge (même en mode natif), le 6809 me parait déjà avoir des instruction utilisant globalement très peu de cycles (de 2 à 6 en général à part le MUL qui en prend 11 mais reste très en dessous de l'algorithme optimal pour créer la même multiplication).
Ce qui vaut le coup par contre, ce sont les multiplications sur 16>=32 bits, division sur 32=>16 bits, le registre d'erreur, le régistre 0 et l'instruction TFM (copie de blocs de mémoires, même le 68000 n'a pas ça!). Ca peut valoir le coup pour des nouvelles appli utilisant les calculs mathématiques (vu que nombres de fonction peut s'écrite sous forme de séries, ça fera un gain énorme en temps de calcul comparé au 6809) ou des jeux utilisant le scrolling et c'est là où ça peut être intéressant!! Pour avoir des jeux au niveau des C64 ou Atari XL (à condition d'avoir une bonne vitesse d'horloge, 1 MHz pour moi c'est trop faible pour tout faire)... Un 6309 à 4 MHz sur du Thomson permettrai d'avoir des scrolling plus rapide que sur de l'Atari ST.
Daniel Coulom a écrit:
Il faut préciser une chose pour le 6309 en mode émulation : toutes les instructions du 6809 sont émulées exactement, avec le même nombre de cycles. Par contre les instructions non documentées du 6809 ne sont absolument pas émulées. Dans ce cas le 6309 exécute ses propres instructions. Je crois même qu'on peut utiliser les registres supplémentaires, mais c'est à vérifier.
Oui je crois avoir lu ça (je vérifiera). Le 6309 en mode émulation a exactement les mêmes cycles et ça utilise les instructions supplémentaires.
Daniel Coulom a écrit:
Quelques programmes d'Infogrames utilisent l'instruction non documentée $01 pour protéger les jeux commerciaux. Ceux-là ne fonctionnent pas avec le 6309 car l'instruction $01 fait autre chose. J'en ai fait l'expérience et j'ai mis du temps à comprendre l'origine du problème.
Je viens de me rendre compte qu'il y a effectivement plein d'instructions manquantes sur le 6809 (il y en a 31 entre le $00 et le $8F) mais dans la doc de l'assembleur 6809 il est expliqué que des instructions du 6800 ont été supprimées dans le 6809 et il s'agit sans doute de celles-là qui n'apparaissent, par conséquent plus, dans le jeu d'instruction du 6809 ?