Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Couvre tous les domaines de l'émulation ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par __sam__ »

Oui merci pour la recherche (moi je n'arrivais à rien avec google-image qui semble ignorer les choses d'avant 2000-et-quelques). Effectivement, c'est bien cela car le logo correspond:
IST - Innovative Silicon Technology
IST - Innovative Silicon Technology
ist.png (31.25 Kio) Consulté 5574 fois
Ca nous fait un 3e fournisseur.

Il n'y a pas à dire, en partant d'un bug sur programme sur une petite machine française, nous sommes rendu à revoir toute l'histoire de la micro-électronique des années 80->00. Ca fait voyager, et pas que dans le temps :)
Fool-DupleX a écrit :Le gate-array principal du MO5 a été complètement réversé et réimplémenté en VHDL il y a 6 ou 7 ans par notre ami Whitebird.
Comment est-ce que ca se reverse un gate-array ? On découpe le boitier puis on fait des photographies au microscope, on identifie les transistors cramés, et on reconstruit la netlist-TTL, puis avec un outil magique pour trouver les blocs élémentaires standard (and, or, not, bascules) on remonte en abstraction vers des blocs fonctionnels plus gros (compteurs, diviseurs de fréquences, bloc-ram etc) ? Cela me fait penser à cet outil que j'ai croisé dans une vie antérieure quand j'étais à Caen. Mais ce n'étaient pas des outils à la portée de particuliers (mais les temps on changés depuis lors, il est vrai).
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
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par Daniel »

Petite expérience suite aux explications de FoolDupleX :

Prenons un EF6846P Thomson CSF dans un TO8 AZERTY. Il est marqué QWERTY, comme noté plus haut. C'est probablement un vieux stock, avec une ROM de TO7/70, destiné initialement aux TO7/70 QWERTY.

On peut penser qu'en le mettant dans un TO7/70 AZERTY, on va le transformer en QWERTY. Eh bien pas tout à fait, ça plante à l'écran d'accueil. Auraient-ils recyclé dans les TO8 des 6846 dont la ROM est mauvaise ? Ca excite ma curiosité, il faut que je dumpe cette ROM. A suivre...
to770.jpg
to770.jpg (47.13 Kio) Consulté 5558 fois
[Edit]
Avez-vous une méthode simple pour lire la ROM du 6846 ?
(dans un ordinateur Thomson, ou un lecteur d'EPROM, ou avec un Arduino...)
Daniel
L'obstacle augmente mon ardeur.
Fool-DupleX
Messages : 2284
Inscription : 06 avr. 2009 12:07

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par Fool-DupleX »

Auraient-ils recyclé dans les TO8 des 6846 dont la ROM est mauvaise ?
C'est une possibilité, mais peut-être que plus simplement, il y a un décalage d'adresse (due a une version differente de la ROM), etant donné que les 4 Ko ROM supérieurs restent ceux de ta machine ?
Comment est-ce que ca se reverse un gate-array ? On découpe le boitier puis on fait des photographies au microscope [...]
Oui c'est une manière de faire ; d'ailleurs ça se fait, mais c'est un chemin semé d'embuches, c'est loin d'être simple.

Dans le cas du gate-array du MO5, nous avons simplement rassemblé toute la doc connue (le manuel technique du MO5 est un bon point de départ), fait quelques hypothèses et beaucoup d'analyse logique en boîte noire, jusqu'à ce que ca fonctionne.

WhiteBird a tout d'abord réimplémenté le contrôleur de DRAM et le décodage d'adresse a partir des informations connues. L'analyse logique du bus du MO5 a permis de verifier que la ROM était exécutée correctement et la RAM lue et écrite correctement. Pas d'image a l'ecran, puisque la partie video n'etait pas encore implémentée ! Processus itératif : on code, on charge la CPLD, on analyse, on compare, on recommence. Cette partie a été longue a mettre au point. On peut aussi utiliser le simulateur dans l'outil de dev avec des scénarii logique connus.

Le guide technique du mo5 expliquant de manière très détaillée comment fonctionne la vidéo, cette partie a été un peu plus simple à implémenter.

A ce stade, WhiteBird avait déjà un MO5 essentiellement fonctionnel.

La partie la plus pénible pour lui a été l'incrustation vidéo et le crayon optique. C'est sur ce dernier aspect que j'ai le plus travaillé, notamment en reversant cycle par cycle les routines assembleurs de l'interruption FIRQ pour reconstituer le fonctionnement des compteurs internes du gate-array. Ca a permis au passage de s'assurer que chaque cycle tombe au bon moment.

Le seul aspect du gate-array MO5 (v2) qui n'a pas été exploré, c'est la commutation 50-60 Hz pour la video (pour l'export). Tout le reste fonctionne incroyablement bien.

Le pire c'est qu'au final, le code VHDL du gate-array est plutôt simple, autrement dit, ce composant custom qui a l'air si mystérieux de l'extérieur, ne contient en fait pas grand chose. On peut le réimplémenter dans un Xilinx XC95 ou à l'époque, dans une Altera Max, qui sont des CPLD low-cost avec très peu de cellules (en comparaison des FPGA).

Cette approche est a mon avis tout à fait réalisable pour tous les gate-arrays Thomson, hormis celui de Théodore, qui est vraiment complexe et dont la doc manque cruellement.
Tomix
Messages : 91
Inscription : 16 sept. 2012 15:20

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par Tomix »

@Daniel
J'avais zappé une info... Tu dis que le 6846 du To8 qui fonctionne correctement (point de vue timer) est un 6846 de chez Thomson?
On aurait des 6846 pourris et d'autres correctes?
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par nicolho »

Daniel a écrit :Avez-vous une méthode simple pour lire la ROM du 6846 ?
Pour te répondre, en regardant la doc, voilà ce que j'ai compris en gros : c'est normalement une combinaison de CS0 (pin 6) et CS1 (pin 16) qui sert de "ROM Select", selon un choix qui aura été décidé avant la gravure de la puce... (même chose pour le "Timer Select", avec un choix de combinaisons d'entrées plus large, pour l'activation et pour permettre l'accès aux registres du timer en A0-A2).

Donc déjà, ce ne serait pas long d'essayer les 4 combinaisons possibles pour sélectionner la ROM, mais en regardant le câblage présenté dans la doc technique du TO7/70, on peut logiquement supposer qu'il faut que CS0 (mis à "1" par $E800-$EFFF, donc les 2K de rom adressables) et CS1 (EDIT : relié à "E7N", qui en l’occurrence semble correspondre à "différent de $E7Cx") soient tous les deux à "1"(d'après mes derniers calculs... :| ).

EDIT et re-re-rerere-edits: désolé pour cet embourbement en règle, j'ai corrigé beaucoup d'erreurs (ma méconnaissance crasse du TO7 :oops: ) et j'ai effacé ma proposition "simplette" d'utiliser le TO7 alors que ça l'empêche de fonctionner comme il faut... enfin mon explication était probablement inutile, et si c'était pour "le plus simple", alors ça ne répond pas du tout à ta question... :)
Dernière modification par nicolho le 12 janv. 2017 14:46, modifié 12 fois.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par Daniel »

Fool-DupleX a écrit :il y a un décalage d'adresse (due a une version differente de la ROM), etant donné que les 4 Ko ROM supérieurs restent ceux de ta machine ?
Avant de lire ton post j'étais arrivé à la même explication. Je vais remplacer la ROM du TO7/70 AZERTY par une ROM QWERTY, et le 6846 QWERTY va fonctionner correctement. On parie ? :wink:
Tomix a écrit :Tu dis que le 6846 du To8 qui fonctionne correctement (point de vue timer) est un 6846 de chez Thomson?
Oui, il a le logo Thomson et le marquage postés précédemment. Les deux TO8 que j'ai ouverts ont le même 6846, avec le même marquage (sauf la semaine et le jour de fabrication).
Daniel
L'obstacle augmente mon ardeur.
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par nicolho »

Fool-DupleX a écrit :... le crayon optique. C'est sur ce dernier aspect que j'ai le plus travaillé, notamment en reversant cycle par cycle les routines assembleurs de l'interruption FIRQ pour reconstituer le fonctionnement des compteurs internes du gate-array. Ca a permis au passage de s'assurer que chaque cycle tombe au bon moment.
A la base, c'est le souhait d'étudier dans le détail le fonctionnement du crayon optique qui m'a amené à m'inscrire au forum, le temps de me familiariser avec les aspects "bas-niveau" de mon MO5 et de pouvoir faire appel à vos lumières.

Le fonctionnement est plus ou moins explicité dans différents ouvrages, mais pour compléter le schéma de la carte mère et la routine LIGHTPEN du moniteur, ça m’intéresserait beaucoup de pouvoir accéder à tout ou partie de votre implémentation sur FPGA (VHDL ou schéma du circuit logique) enfin au moins pour ce qui concerne spécifiquement le crayon optique. Je comptais justement vous contacter directement à ce propos, Whitebird ou toi, un de ces jours, mais comme ça j'en profite pour faire la demande publiquement, voilà :)
Fool-DupleX
Messages : 2284
Inscription : 06 avr. 2009 12:07

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par Fool-DupleX »

Le fonctionnement du crayon optique est en fait bête comme chou. Toute la machine est synchrone. Le gate-array s'occupe de la sérialisation vidéo. En même qu'il sort les pixels, il compte, +1 à chaque pixel sorti. Au retour de balayage écran, le compteur est réinitialisé à 0. Lorsque le capteur lumineux du crayon optique choppe le spot lumineux sur le tube cathodique, cela génère un signal sur l'interruption FIRQ du PIA système, laquelle exécute une routine qui va simplement lire la valeur du compteur du gate-array et réaliser les divisions nécessaires pour déduire X et Y à partir de la valeur du compteur.

Cela fait longtemps que je n'ai pas contacté WhiteBird, mais avec son accord, nous publierons le code avec plaisir.

Le code source original de la ROM du MO5 (dispo sur le site de Daniel) est très explicite à ce sujet :

http://dcmoto.free.fr/documentation/mon ... ht_src.txt
Memphis
Messages : 536
Inscription : 25 janv. 2015 18:16
Localisation : Pont à Mousson (54)

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par Memphis »

Mon TO9+ étant hors d'usage depuis pas mal de temps. Ecran noir. Un nouveau gate array pourra le remettre de nouveau en service. Un grand projet et une initiative importantes pour les micros ordinateurs. Chapeau aux concepteurs. :wink:
Jérôme
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par Daniel »

Extraction de la ROM du circuit EF6846P QWERTY (Thomson) trouvé dans les TO8 AZERTY

Rappel : Dans un TO7/70 AZERTY, l'EF6846P QWERTY ne fonctionne pas (adresses incompatibles).

Pour poursuivre les investigations, j'ai mis la ROM du TO7/70 sur support. J'ai réalisé un adaptateur pour croiser les broches 18 et 21, ainsi je peux remplacer la ROM par une EPROM 2732.
- Avec une ROM de TO7/70 allemand et l'EF6846P d'origine du TO7/70 AZERTY, ça plante. Normal, c'est toujours l'incompatibilité d'adresses, cette fois dans l'autre sens.
- Avec une ROM de TO7/70 allemand et l'EF6846P QWERTY du TO8, ça marche. Et devinez quoi ? On obtient un TO7/70 QWERTY français. Vous savez, celui qu'on voit en photo sur toutes les boîtes de TO7/70 AZERTY, et que je n'ai jamais vu en vrai. Je ne sais pas si Thomson en a produit beaucoup. Un collectionneur en a-t-il un ?

J'ai pu extraire la ROM de cet EF6846P QWERTY par SAVEM sur une carte SD, et j'ai ainsi la ROM qui me manquait pour émuler ce TO7/70 QWERTY français. Elle est très différente de l'allemande, et diffère de l'AZERTY uniquement par la table des caractères, me semble-t-il.

La conclusion de cette histoire est que Thomson a récupéré les EF6846P QWERTY destinés au TO7/70 pour les utiliser dans les TO8.
cqfd.
to770_qwerty_6846_rom.zip
(1.68 Kio) Téléchargé 162 fois
Daniel
L'obstacle augmente mon ardeur.
Tomix
Messages : 91
Inscription : 16 sept. 2012 15:20

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par Tomix »

Belle trouvaille pour ce début d'année!
Fool-DupleX
Messages : 2284
Inscription : 06 avr. 2009 12:07

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par Fool-DupleX »

Piqué par la curiosité, j'ai vérifié le prototype de TO8 que je possède et il a un 6846 original QWERTY. C'était vraiment la famine :lol:

Sachant que mon proto date de fin 1985, ça donne un indice à la fois sur l'état des stocks et sur le succès du TO7-70 export (le TO7-70 est sorti officiellement en juin 1984).
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par Daniel »

Ce TO7/70 QWERTY dont j'ai récupéré la ROM 6846 était-il vraiment destiné à l'export ?
Le TO7/70 QWERTY allemand, dont j'ai aussi la ROM 6846, est différent. Celui-ci a été un peu vendu, on en trouve de temps en temps dans les sites de vente.

[Edit] J'ai corrigé ce post car j'avais écrit une bêtise sur le menu d'accueil du TO7/70. J'avais confondu avec le TO7.
Daniel
L'obstacle augmente mon ardeur.
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: Emulation d'Assdesass sur To9 - l'histoire du 6846 clone

Message par nicolho »

Possible que le (marché) public visé n'ait finalement pas voulu mettre ses piastres dans c'te maudite patente à gosse..? :mrgreen: :D
Répondre