Le code de la « sinclair scientific » étudié à l'aide du reverse engineering
Révèle les secrets qui lui ont permis de faire du calcul scientifique
Le code de la « sinclair scientific » étudié à l'aide du reverse engineering
Révèle les secrets qui lui ont permis de faire du calcul scientifique
Le , par Cedric Chevalier
En 1974, Clive Sinclair est un jeune homme ambitieux qui voulait commercialiser une calculatrice scientifique bon marché dans un segment déjà dominé par les grands noms comme HP.
Le hic c’est que, réaliser la calculatrice de Sinclair au prix auquel il souhaitait la commercialiser, s’avère une tâche impossible. D’ailleurs, son partenariat avec Bowmar (un constructeur de l’époque) a débouché dans un cul-de-sac.
Sinclair s’est retourné vers Texas Instruments qui lui a fourni une puce qu’on jugerait à première vue rudimentaire face à celles du produit de HP. Elle supportait un nombre d’opérations réduit (addition, multiplication soustraction et division), ne comportait que trois registres, et avait une ROM dont la capacité était la moitié du HP-35 qui dominait le marché.
A titre de comparaison, le HP-35 a requis 2 ans de travail d’une vingtaine d’ingénieurs hautement qualifiés et le NEC plus ultra de la technologie de l’époque. Face à un challenger aussi puissant que le HP-35, le produit de Sinclair fait office d’outsider. Les ingénieurs de Texas Instruments, pour dissuader Sinclair de sa folie, diront « C’est tout simplement impossible », pour souligner le fait que leur puce était incapable de faire du calcul scientifique.
Impossible ? Pas tout à fait, puisque Sinclair revint trouver les ingénieurs de Texas avec une calculatrice capable d’effectuer le calcul des fonctions sinus, cosinus, tangente, logarithme, Arctan, ArcSin, ArcCos ainsi que le calcul avec exposants.
On ne peut qu’imaginer la consternation des ingénieurs. Ce qu’avait omis de dire Sinclair, c’est qu’il était assisté par un génie de la programmation, le PHD Nigel Searle, qui a réalisé un travail d’orfèvre malgré les limitations techniques de la calculatrice.
Grâce à la technique du « reverse engineering », Ken Shirriff a pu fournir les détails sur le code que la calculatrice exécutait. On peut se rendre compte que Nigel a eu recours à de petites astuces simples mais efficaces pour doter le périphérique des fonctions du calcul scientifique. Il a utilisé le Reverse Polish Notation (qui permet d’écrire l’opérateur après les opérandes d’un calcul exemple 3+2 devient 3 2 +) pour représenter un nombre signé, le 0 est le signe positif alors que 5 représente le signe négatif, la division est implémentée comme une série de soustractions et bien d’autres.
Pour le rapport qualité prix, la calculatrice de Sinclair vaut son pesant d'or. En effet, elle coûtait 100 dollars l’unité contre 365 dollars pour la HP-35. Toutefois, elle pêchait côté performances. Par exemple l’opération sinus(1) prenait 7,5 secondes.
Source : blog Ken Shirriff
Et vous ?
Qu'en pensez vous ?
Une erreur dans cette actualité ? Signalez-nous-la !