Probleme: detection d'architecture

Des MO et des TO...

Modérateur : Politburo

Avatar du membre
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 628
Enregistré le : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Probleme: detection d'architecture

Message par foolduplex »

Salut,

j'aimerais soumettre un probleme interessant:

Comment savoir a coup sur dans un programme a quelle machine thomson on a affaire, sans utiliser l'octet de reference qui se trouve dans la rom moniteur. Autrement dit, est-il possible de concevoir une routine en langage machine, qui s'execute sur tous les thomson et qui testerait certaines particularites hardware pour en deduire: "je tourne sur un to7/70" par exemple, a la maniere des Norton Utilities qui nous epataient dans les annees 80 en disant "Vous avez un NEC V30 a 8 MHz sur votre PC".

Faire la distinction entre MO et TO est aise, il suffit par exemple d'aller ecrire un truc en $1FFF, qui est en RAM sur MO et en ROM sur TO.

La question devient interessante lorsqu'il s'agit de distinguer deux MO ou deux TO. En particulier, distinguer un MO5, un MO5E et un MO5NR me parait non trivial. Naturellement la question se pose aussi pour les autres architectures. J'attends donc vos propositions 8O

Concernant les MO5, je n'ai pour le moment trouve qu'une difference entre MO5 et MO5E, c'est la matrice clavier. Le probleme est que je ne vois pas comment on peut faire la difference sans devoir presser une touche et poser la question a l'utilisateur, ce qui n'a evidemment aucun interet. Mais je n'ai pas cherche beaucoup plus loin.

Le MO5 NR me pose egalement un probleme, peut-on le differencier d'un MO5 equipe d'une extension NR et d'une cartouche 64 Ko ?

NB: on doit uniquement utiliser un test hard, il faut partir de l'hypothese que le contenu des ROMs d'origine n'est pas disponible (certains doivent me voir venir avec mes gros sabots :wink: )

Fool
smague

empreinte graphique

Message par smague »

A mon humble avis il suffirait de raisonner graphiquement en disant
'c est ecrit desssus'
Image
Image

un programme assembleur qui lirait chaque pixel du bandeau
ensuite par comparaison avec une table on determinerait le type d ordi.
Yoann

Re: Probleme: detection d'architecture

Message par Yoann »

foolduplex a écrit : NB: on doit uniquement utiliser un test hard, il faut partir de l'hypothese que le contenu des ROMs d'origine n'est pas disponible (certains doivent me voir venir avec mes gros sabots :wink: )
Fool
tient donc, ne serait-ce pas pour OS/9 justement ? :D
Avatar du membre
romualdl
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1986
Enregistré le : 23 mai 2002 15:44
Localisation : Beaumont Sur Oise (95)
Contact :

coucou

Message par romualdl »

Salut,

J'allais répondre justement en partant d'interruptions. Il me semble qu'au demarrage la machine va voir en ROMDIS si qqchose en port cartouche. Il serait peut etre possible de voir unpeu plus clair avec ca, mais je ne sais si c'est possible et si OS9 est en cartouche c'est foutu.
<Pocket>la striole en a un et il me le montre quand j'ai envie (irc-25/09/2008)
Daniel

Re: Probleme: detection d'architecture

Message par Daniel »

foolduplex a écrit :distinguer un MO5, un MO5E et un MO5NR me parait non trivial
A priori, il devrait être très difficile, voire impossible, de distinguer un MO5 d'un MO5E, car ce sont quasiment les mêmes machines. Même chose entre un MO5NR, un MO6 et un Olivetti PC128. A part le clavier, ils sont trop semblables pour pouvoir les identifier sans lire la ROM.
Par contre il devrait être très facile de reconnaitre les MO5-MO5E des MO5NR-MO6-PC128, en testant les adresses A7E4-A7E7 et A7DC-A7DD. Sur les MO5NR-MO6-PC128 ce sont des registres système, de commutation de RAM ou de mode d'affichage, alors qu'elles sont inutilisées sur MO5-MO5E.
A l'occasion j'écrirai et testerai un petit programme en langage machine.
Je chercherai aussi pour la distinction MO5/MO5E et MO5NR/MO6, mais il y a peu d'espoir.

Daniel
Yoann

Re: Probleme: detection d'architecture

Message par Yoann »

Daniel a écrit :
foolduplex a écrit :distinguer un MO5, un MO5E et un MO5NR me parait non trivial
A priori, il devrait être très difficile, voire impossible, de distinguer un MO5 d'un MO5E, car ce sont quasiment les mêmes machines. Même chose entre un MO5NR, un MO6 et un Olivetti PC128. A part le clavier, ils sont trop semblables pour pouvoir les identifier sans lire la ROM.
Par contre il devrait être très facile de reconnaitre les MO5-MO5E des MO5NR-MO6-PC128, en testant les adresses A7E4-A7E7 et A7DC-A7DD. Sur les MO5NR-MO6-PC128 ce sont des registres système, de commutation de RAM ou de mode d'affichage, alors qu'elles sont inutilisées sur MO5-MO5E.
A l'occasion j'écrirai et testerai un petit programme en langage machine.
Je chercherai aussi pour la distinction MO5/MO5E et MO5NR/MO6, mais il y a peu d'espoir.

Daniel
y'a-t-il un moyen de detecter le type de clavier (AZERTY ou QWERTY) sans passer par la ROM ?
Daniel

Re: Probleme: detection d'architecture

Message par Daniel »

Yoann a écrit :y'a-t-il un moyen de detecter le type de clavier (AZERTY ou QWERTY) sans passer par la ROM ?
Eh non, et c'est bien ce qui fait la difficulté du problème de Foolduplex :cry:
Les claviers ont exactement les mêmes scan codes, seules les gravures sur les touches sont différentes.
C'est la table de décodage du clavier qui détermine le code ASCII, et cette table est en ROM.

Daniel
Yoann

Re: Probleme: detection d'architecture

Message par Yoann »

Daniel a écrit :C'est la table de décodage du clavier qui détermine le code ASCII, et cette table est en ROM
c'est ce que je pensais ... c'est chaud quoi ;)
destroyedlolo
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1806
Enregistré le : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Message par destroyedlolo »

Juste une question comme ca : pourquoi justement ne pas tester la ROM ?
Il devrait y avoir des messages de copyright non ?

Lolo (hein, pourquoi ?)
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word
jp
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 114
Enregistré le : 07 juil. 2002 20:54
Localisation : Paris
Contact :

Message par jp »

si j'ai bien compris, c'est justement parce que le programme va tourner à la place de la ROM d'origine... non ?

jp
Daniel

Re: Probleme: detection d'architecture

Message par Daniel »

foolduplex a écrit :En particulier, distinguer un MO5, un MO5E et un MO5NR me parait non trivial... J'attends donc vos propositions
Voici un début de réponse, qui ne répond pas entièrement à la question (mais le problème a-t-il une solution ?) :
- Ecrire &HEE en &HA7E4, puis lire &HA7E4
- Si c'est égal à &HEE, c'est un TO, je laisse aux spécialistes le soin de déterminer lequel :wink:
- Sinon c'est un MO. Faire un AND avec &H0F
- Si nul, c'est un MO6, MO5NR ou PC128
- Sinon, c'est un MO5 ou MO5E

Daniel
Yoann

Message par Yoann »

jp a écrit :si j'ai bien compris, c'est justement parce que le programme va tourner à la place de la ROM d'origine... non ?

jp
oui, c'est ca. Ils reprogramme une ROM avec un OS/9 qui remplace la ROM originale du Thomson. Donc il n'est evidement pas possible d'aller cherche quelques informations dans cette ROM originale qui n'existera pas sous cet OS.

L'un des problemes majeurs semble-t-il n'est pas la detection MO / TO (qui peut etre faite par un poke en memoire, car les ROMs et RAMs ne sont pas placee aux meme adresses sur MO et TO) mais de determiner si j'ai bien compris le type de clavier (QWERTY ou AZERTY) car :

Certain MO5E (E comme "Export") ont un clavier QWERTY ainsi que les PC128 d'Olivetti (qui sont en fait des MO6)
Avatar du membre
romualdl
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1986
Enregistré le : 23 mai 2002 15:44
Localisation : Beaumont Sur Oise (95)
Contact :

clavier

Message par romualdl »

SAlut,

Désolé mais pour le clavier je ne vois pas de solution... Etant donné que c'est une matrice et que le caractère correspondant est en ROM cela parait compromis. Il y aurait cependant une solution. POur ceux voulant une machine tournant sur os9 OU sur os thomson (a supposer donc qu'il y ai une double ROM en interne ou que OS9 soit en cartouche externe:
-un menu ou l'utilisateur doit choisir entre A-> mode OS9 B-> mode normal (et non 1 ou 2) en fonction du code renvoyé par la pression de la touche A cela permettra de savoir si le clavier est azerty ou qwerty. Malheureusement cela demande l'intervention de l'utilisateur, et arrivè à ce niveau là certains diront (suivez mon regard) qu'il sera aussi simple de demander directement à l'utilisateur. Mais bon la solution A ou B pourrait etre un compromis.
<Pocket>la striole en a un et il me le montre quand j'ai envie (irc-25/09/2008)
Daniel

Re: clavier

Message par Daniel »

romualdl a écrit :pour le clavier je ne vois pas de solution...
Pareil pour moi, plus j'y réfléchis, moins j'ai d'espoir.
Pour compliquer encore, les MO5E ont au moins 2 claviers différents (si ce n'est plus) en fonction du pays de destination. Il y a aussi le fameux clavier arabe de la machine de Piloux, et les PC128 avec leur point d'exclamation à l'envers.
Rappelez-vous les problèmes que nous avions avec le MS-DOS sur PC, qui démarrait par défaut avec un clavier QWERTY. Nous connaissions par coeur la position des touches : A, Q, Z, W, M, *, / etc.
Point de salut sans la fameuse commande keyb fr. Il faudra probablement en passer par là avec OS/9

Daniel
Avatar du membre
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 628
Enregistré le : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex »

Salut a tous,

j'etais absent quelques temps, desole pour mon silence... je suis heureux de voir que ce sujet interesse du monde.

Pour le MO5 NR, il y a une solution a priori (je laisse le soin a daniel de trouver le detail): il a plus de banques de ROM et de RAM (car menu de demarrage notamment et 6 banques de RAM au lieu de 4 avec l'ext 64k sur mo5 classique). Donc en ecrivant quelque chose dans une banque RAM inexistante sur mo5, on doit pouvoir s'en sortir.

Je n'ai toujours pas de solution pour le mo5e. surtout qu'il existe des mo5e azerty et des mo5e qwerty.. pfff...

cela etant dit, je pense que nous allons opter pour une compilation conditionnelle du systeme avec des #defines. mais je trouve que cette question merite tout de meme reflexion, c'est rigolo. n'y aurait-il pas une subtilite sur le gate array du mo5e :wink:

Fool
Répondre

Retourner vers « Thomson »