Processeur Hitachi HD63C09EP

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

Daniel
Messages : 12082
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Processeur Hitachi HD63C09EP

Message par Daniel » 22 avr. 2014 17:53

Dans une quête de performance ultime pour le MO5, j'ai remplacé le processeur Thomson EF6809EP par un Hitachi HD63C09EP :
hd63c09ep.jpg
hd63c09ep.jpg (86.51 Kio) Vu 2035 fois
Malheureusement l'écran de démarrage n'affiche pas le texte attendu :
hd63c09ep_ecran.jpg
hd63c09ep_ecran.jpg (68.74 Kio) Vu 2035 fois
Je recherche des témoignages ou des conseils pour m'aider à progresser.
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 12082
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Processeur Hitachi HD63C09EP

Message par Daniel » 22 avr. 2014 18:13

Fausse alerte :D

Le problème ne venait pas du processeur Hitachi, mais d'un mauvais contact dans l'extension mémoire 64K. Je l'ai enlevée, et maintenant le MO5 fonctionne à merveille (au moins pour les premiers tests) avec son nouveau processeur.

Actuellement le 63C09 est en mode "compatibilité 6809", il n'y a donc pratiquement pas de différence avec le 6809. Seules quelques instructions non documentées réagissent différemment, mais elles sont très rarement utilisées.

La suite du projet : tester le mode 63C09, avec moins de cycles consommés par les instructions du 6809, beaucoup d'instructions nouvelles et des registres supplémentaires, y compris un registre 32 bits qui ouvre des perspectives encore inexplorées. Un terrain de jeu nouveau pour les thomsonistes :D
Daniel
L'obstacle augmente mon ardeur.

Marcopolo

Re: Processeur Hitachi HD63C09EP

Message par Marcopolo » 22 avr. 2014 18:40

Tu l'as trouvé où ?

Chaque fois que j'ai essayé d'en acheter, c'était des faux :(

[EDIT] Je doute que ce soit une version C car c'est un fake.

Daniel
Messages : 12082
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Processeur Hitachi HD63C09EP

Message par Daniel » 22 avr. 2014 18:49

Je suis incapable de dire si c'est un vrai ou un faux, mais pour l'usage que j'en fait il me va très bien. Mon MO5 tourne avec depuis trois quarts d'heure, j'ai testé une dizaine de softs commerciaux et jusqu'à présent tout se passe bien. L'horloge est à 1 MHz, pour rester compatible avec les autres composants (en particulier la mémoire), le 6309 est donc loin de sa fréquence maxi.

http://cgi.ebay.fr/ws/eBayISAPI.dll?Vie ... 0951222499

Image
Daniel
L'obstacle augmente mon ardeur.

Marcopolo

Re: Processeur Hitachi HD63C09EP

Message par Marcopolo » 22 avr. 2014 19:09

Mon impression :

Le dessus de ton circuit n'est pas granuleux de par sa fabrication.
Il a été poncé, une couche de peinture immitant l'aspect granuleux a été passée
avant l'inscription de la nouvelle ref (HD63C09P).
C'est probablement un HD6309EP ou pire un MC6809EP

Gratte un peu le dessus avec une lame de rasoir ou de cutter, tu devrais voir la peinture partir.

Daniel
Messages : 12082
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Processeur Hitachi HD63C09EP

Message par Daniel » 22 avr. 2014 20:57

J'ai essayé ce petit programme :

Code : 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
Après exécution, un PRINTPEEK(&H900E) affiche 3, ce n'est donc pas un 6809 :D :D :D

Après, que ce soit un 6309, ou un 63B09, ou un 63C09, peu importe pour ce que je veux faire. Je ne gratterai pas la peinture granuleuse, elle est très bien réussie, même un expert pourrait se tromper.

De toutes façons je ne dépasserai pas 1 MHz. Mais à moi tous les registres supplémentaires, les opérations entre registres, les multiplications sur 32 bits et autres fonctions cachées du 6309, sans parler de l'économie de cycles pour les intructions normales du 6809 :D
Daniel
L'obstacle augmente mon ardeur.

Marcopolo

Re: Processeur Hitachi HD63C09EP

Message par Marcopolo » 22 avr. 2014 21:14

Daniel,

C'est malheureusement avec ce genre de comportement que les vendeurs chinois de composants contrefaits
prospèrent. La démarche normale serait d'ouvrir un litige chez Ebay pour contrefaçon et de mettre au vendeur
un carton rouge.

Et pas besoin d'être un expert pour détecter ce genre de faux grossier.

Un exemple de faux HD63C09 venant de UTsource (Ebay)
HD63C09EP-FAKE-UTSOURCE-2.jpg
HD63C09EP-FAKE-UTSOURCE-2.jpg (40.33 Kio) Vu 1999 fois
HD63C09-FAKE-UTSOURCE.jpg
HD63C09-FAKE-UTSOURCE.jpg (46.51 Kio) Vu 1999 fois

Avatar du membre
jb_jb_fr
Messages : 319
Enregistré le : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: Processeur Hitachi HD63C09EP

Message par jb_jb_fr » 22 avr. 2014 21:58

Super Daniel

Moi aussi j'aurais bien aimé en mettre un dans mon MO5.
Surtout pour OS9 ou le noyau est prévu pour les 2 processeurs en assemblage conditionnel.

Mais le défaut de cette méthode c'est que il n'y a plus la possibilité d'échange de programme.
Si tu écris une routine optimisée pour le 6309, tu sera le seul a pouvoir en profiter :( :(
Et adieux la compatibilité

Jacques

__sam__
Messages : 4765
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Processeur Hitachi HD63C09EP

Message par __sam__ » 22 avr. 2014 22:30

Daniel a écrit :De toutes façons je ne dépasserai pas 1 MHz. Mais à moi tous les registres supplémentaires, les opérations entre registres, les multiplications sur 32 bits et autres fonctions cachées du 6309, sans parler de l'économie de cycles pour les intructions normales du 6809 :D
Oui c'est clair que le 6309 est super. On gagne un max de cycles avec les nouvelles instructions (ADDR/SUBR/CMPR), et les anciennes mystérieusement lente sur le 6809 (TFR/EXG) prennent seulement 4/5 cycles au lieu de 6/8. ABX qui compte 3 cycles redescend à 1 seul sur le hitachi. Les modes d'adressages sont aussi beaucoup plus rapides: l'indexation "D,R" ne prends que 2 cycles au lieu de 4, et mieux si on utilise les nouveaux registres "W,R" ne prends qu'un seul cycle et ",W++" 1 cycle aussi. Ce registre W est sympa car il peut être utilisé comme accu, mais aussi comme registre d'indexe.

Pour rêver aux possibilités ==> http://www.coco3.com/community/wp-conte ... n_Sets.pdf

C'est vraiment dommage que le TO9+ n'ai pas été équipé de cette puce en mode compatibilité et via un bouton turbo pouvant la faire tourner à 2Mhz (ou 3.5)... J'imagine qu'à 3.5Mhz en mode natif, cette puce se compare assez favorablement au 8088 à 4.77Mhz, ce qui aurait pu ouvrir le marché de la bureautique aux TO9+.
Modifié en dernier par __sam__ le 22 avr. 2014 22:55, modifié 2 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.

Daniel
Messages : 12082
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Processeur Hitachi HD63C09EP

Message par Daniel » 22 avr. 2014 22:41

L'idée m'est venu en lisant un article de Hirotsugu Kakugawa

Code : Tout sélectionner

  ===*===*===*===*===*===*===*===*===*===*===*===*===*===*===*===

              A MEMO ON THE SECRET FEATURES OF 6309


      by Hirotsugu Kakugawa,  (kaku...@csl.hiroshima-u.ac.jp)
      Computer Systems Lab., Information Engineering Course,
      Graduate School of Engineering, Hiroshima Univ., Japan

1. ** INTRODUCTION **

The CPU 6309 by HITACHI has secret features which is not written in
its manual.  The purpose of this memo is to introduce them.  
The features was originally reported in a magazine,
Oh!FM (1988 Apr.), which was written in Japanese.  I did not tried all
of the features reported in the article, but I report the features as
far as I know.

HITACHI says in the manual of 6309 that 6309 is compatible with 6809,
but some OS-9 hackers found that it has secret features.

It has following features:
 1. More registers (additional two 8 bit accumulators, 8 bit
     register, and a 16 bit register),
 2. Two modes (6809 emulation mode and native mode),
 3. Reduced execution cycles in native mode,
 4. More instructions (16 bit x 16 bit multiplication, 32 bit / 16 bit
    division, inter-registers operation, block transfer, bit
    manipulating operation which is compatible with 6801 has, etc)
 5. Error trap by illegal instruction, zero division.

..........


Je voulais vérifier que ça pouvait être utilisé dans le MO5. Apparemment c'est le cas, puisque la première instruction non documentée essayée a marché (l'addition de deux registres). Je testerai aussi le gain de cycles en mode natif, juste pour le fun, car je n'ai aucunement l'intention de réécrire tout les softs Thomson pour leur faire gagner 10% en vitesse. Par contre je serais content de savoir que c'est possible.

Le gain de cycles, et surtout la présence de registres supplémentaires, pourraient améliorer très sensiblement la vitesse de transfert avec une carte SD. Avec le soft utilisant des composants standard je n'ai pas plus d'un ou deux utilisateurs, si je leur demande de changer le processeur leur nombre tendra rapidement vers zéro.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
6502man
Messages : 9629
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Processeur Hitachi HD63C09EP

Message par 6502man » 22 avr. 2014 22:51

Pour le fun j’essaierais bien, sauf si il faut dessouder le CPU sur la carte mère :wink:

Avec le gain de vitesse de ce CPU tu doit pouvoir faire de superbe démos :D
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

__sam__
Messages : 4765
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Processeur Hitachi HD63C09EP

Message par __sam__ » 22 avr. 2014 23:00

Daniel a écrit :Je voulais vérifier que ça pouvait être utilisé dans le MO5. Apparemment c'est le cas, puisque la première instruction non documentée essayée a marché (l'addition de deux registres). Je testerai aussi le gain de cycles en mode natif
Oui le gain de vitesse n'est possible qu'en mode natif. En mode émulation les cycles sont identiques. A noter: en lisant la doc hitachi, j'ai l'impression que les nouvelles instruction sont aussi dispo en mode émulation, mais avec un temps d'exécution calé sur ce qu'il se passe sur un 6809 avec le reg D (donc bien plus lent que le mode natif).

Il y aura peut-être un soucis si tu essaye le mode natif dans les interruptions: le registre W est pushé entre D et DP en cas d'IRQ ce qui introduit un décalage mémoire entre ces registres (et aussi entre D et les regs d'index X, Y etc).
Samuel.
A500 Vampire V2+ ^8^, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.

Daniel
Messages : 12082
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Processeur Hitachi HD63C09EP

Message par Daniel » 23 avr. 2014 08:29

Le premier test que j'ai fait montre que les instructions supplémentaires (au moins ADDR) sont disponibles en mode émulation.
Je suis bien conscient des modifications des programmes imposées par le mode natif, et aussi du comportement différent sur instruction invalide. Il condamne en particulier les loaders inventés par William Hennebois pour la protection des cassettes Infogrames. Pour faire propre, il faudrait aussi modifier les roms Thomson pour mettre en $FFF0 l'adresse de traitement des instructions invalides. Mais alors les programmes utilisant cette donnée pour tester le type de machine ne fonctionneront plus.

Tout ça pour dire que le remplacement du 6809 ne fera pas de miracles, mais c'est super intéressant pour s'amuser un peu.

@6502man : La plupart des MO5 à clavier gomme ont un support pour le processeur. Le clavier mécanique est plus épais, il n'y a plus de place pour le support et il a donc été supprimé. Encore que sur le mien j'ai dessoudé le processeur pour mettre un support, le clavier force un peu, mais on arrive à refermer presque complètement le couvercle.

@marcopolo : Tu as raison de t'insurger contre les fournisseurs de faux composants. J'ai mis une pastille rouge à UT source pour m'avoir vendu des eproms "neuves" déjà programmées et même pas effacées, une pastille grise à un autre chinois pour m'avoir vendu 10 cartes SD "neuves" qui contenaient des données de GPS et avaient ensuite été reformatées. Pour le HD63C09EP s'est un peu différent : je ne cherchais pas particulièrement ce modèle, je voulais seulement un 6309 pour tester les nouvelles instructions, j'ai pris le premier trouvé. Qu'il soit "C" ou "B" ou simple 6309 m'importe peu, je m'amuse bien avec. Si Hitachi veut porter plainte contre gc_supermarket, j'échange volontiers mon processeur contre un autre garanti authentique. Je ne suis pas assez qualifié pour prouver que c'est un faux, et je n'ai pas le courage de lutter seul contre les faussaires chinois.
Daniel
L'obstacle augmente mon ardeur.

Fool-DupleX
Messages : 1091
Enregistré le : 06 avr. 2009 12:07

Re: Processeur Hitachi HD63C09EP

Message par Fool-DupleX » 23 avr. 2014 12:37

J'en possède 2-3 que j'ai achetés il y a une quinzaine d'années maintenant chez un broker serieux. Je n'avais jamais essayé, c'est une excellente nouvelle qu'il fonctionne sans modification de l'électronique.

Le TO9+ équipé de ce processeur et avec OS9 comme OS aurait probablement fait des étincelles effectivement ...

Surtout quand on pense que le 8088 necessite 98 cycles pour une multiplication entière (11 sur 6809) ... j'adore cet exemple ...

__sam__
Messages : 4765
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Processeur Hitachi HD63C09EP

Message par __sam__ » 23 avr. 2014 14:38

11 cycles sur 6809 et 10 sur 6309 (le pipeline fait gagner un cycle je pense: quand il fetch l’instruction suivante il effectue la dernière étape de la multiplication). Quant au mul 16*16->32 il ne prends que 30 cycles pour multiplication signée. Maaaaagique!

Le DIVQ (division signée 32 / 16) prend lui 34 et 40 cycles suivant les modes d'adressages. A peine plus lent. Superbe.

Il faudra voir ce que donneront les expérimentations de Daniel en mode natif, mais je suis un peu inquiet du layout de la pile pendant les interruptions en mode natif. Il n'est pas exclus que les routines IRQ ou FIRQ du moniteur MO5 s'appuient sur l'organisation de la pile pour faire des décision, et comme celle-ci est un peu chamboulée ça risque de se passer mal.
Samuel.
A500 Vampire V2+ ^8^, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.

Répondre