Je sais, l'histoire qui suit est connue comme le loup blanc, ou peut-être seulement des loups qui commencent à avoir des cheveux blancs... Toujours est-il que je suis tombé ce matin sur un projet qui m'a rappeler de bon souvenirs, j'ai nommé VICE, le simulateur de ses attendrissante bestioles 8 bits aux doux noms de VIC, PET, C64 et C128, toute une époque. Et tout cela m'a donné envie de (re)tester une vielle légende.
Aux âges primaires de la micro-informatique, petit Bilou, qui deviendra grand un peu plus tard, était comme chacun le sait un développeur de garage, co-auteur avec
Paul Allen
et
Monte Davidoff
d'une des plus célèbre implémentation du langage
BASIC
. En 1975, le jeune culotté arrive même à vendre sa tambouille, soit 4 petit Ko de code, à la société qui produisait le magnifique ALTAIR 8800, basé sur un Intel 8080. Plus exactement, il arrive à leur vendre un concept nouveau, celui d'une licence qui lui serait reversée par machine vendue, justifiant ce mode révolutionnaire de rétribution en expliquant au patron d'Altair que sa machine, sans son langage, ne serait qu'un tas de canettes high-tech sans grand intérêt. L'affaire est conclue...
Une année plus tard la société MOS Technologie sort une petite bombe, le processeur 6502 soudé à une carte électronique d'évaluation jetant les bases du concept d'ordinateur personnel, le KIM-1. A l'époque, la société était un fondeur qui fabriquait des composants pour Texas Instrument, mais aussi pour le "premier" jeu vidéo, l'incontournable
Pong
de la société Atari.
L'équipe Bilouesque, c'est donc mise à porter son BASIC pour ce nouveau CPU. Une version fût vendue par MOS en tant que logiciel additionnel pour le KIM-1. Une autre est apparue quant à elle en 1977 sur le Model 500 de la société Ohio Scientific. Entre temps, Steve Wozniak , lui aussi emballé par la carte KIM, créera l'Apple I qui sera le premier ordinateur personnel au sens littéral du terme (je vous conseille vivement de trouver et mater le documentaire pirates of the silicon valley ).
L'Apple I disposait d'un BASIC lui aussi, mais Wozniak décida d'écrire son propre interpréteur plutôt que d'aller filer des ronds à Bilou... Comme quoi, l'histoire entre les deux sociétés ne date pas d'hier
.
Ensuite le Woz'Integer Basic, moins évoluée que celui de Microsoft car ne disposabt pas de l'unité à virgule flottante, devint le langage par défaut de l'Apple II, en 77. Pour ceux les p'tit jeunes qui ne savent pas à quoi ressemble cette machine, c'est celle de la série LOST sur laquelle l'habitant de la Structure doit taper son code toutes les 108 minutes
En octobre 76, MOS est racheté par Commodore qui voit en KIM la même chose que Wozniak. Une équipe d'ingénieur se met donc à bosser pour transformer la carte en un système complet. En 1977, sort le tout premier ordinateur Commodore, le PET équipé du BASIC de Microsoft qu'ils ont intégré dans la ROM avec quelques modifications qui n'ont pas été très appréciée par Bilou : le renommage au démarrage du Microsoft Basic en Commodore Basic et la disparition du copyright. Injuste ? Pas exactement, en fait il n'y avait rien qui empêchait cela dans le contrat passé avec Microsoft. Et pour achever le tableau, Commodore a pris la main sur les sources et a fait évoluer le BASIC dans son coin sans autre rétribution. Soit Bilou a été moins brillant que pour l'ALTAIR, soit Jack Tramiel (le fondateur de Commodore) était il un peu plus doué.
En 1979, le BASIC du PET, passe à la version 2. Pour cette mouture, Commodore refait appel à Microsoft. Et entre autres évolutions, c'est là que Bile Gates aurait a ajouté le fameux oeuf de pâque. Pour le tester c'est très simple, installez le paquet vice. Ceci fait, lancez la commande xpet. Pour les plus jeunes, ne cherchez pas à changer la résolution, ce timbre poste c'est bel et bien l'écran complet de la machine que nous avions dans le temps...
Pour retrouver un PET 3008 avec un BASIC 2.0, il faut d'abord aller dans le menu Paramètres, Paramètres du PET, Valeurs par défaut du modèle puis choisir PET 3008.
Là, lorsque la machine a démarré et que vous avez écrasé la petite larmiche au coin de l'oeil en voyant le curseur clignoter sous le fameux READY., tapez WAIT 6502,1 et validez. Le message MICROSOFT! doit s'afficher en haut à gauche. En tapant WAIT 6502,0, c'est tout l'écran qui se remplis de MICROSOFT!
Au total, 51 bits occupés, dont une partie de données ("SOFT!" puis "MICRO") cachée à la fin de la table de valeurs pour la fonction SIN. Tout cela pour que Commodore ne puisse plus dire que le BASIC était de lui. Une petite blague qui n'a pas beaucoup plu à Jack qui a même voulu à un moment porter l'affaire en justice. Lorsque Jim Butterfield, développeur pour Commodore découvrit le pot aux roses, il le montra à Leonard Tremiel; le frère du fondateur, dont la réaction fût plus qu'explicite :
We have a machine that’s short of memory space, and the #$#!* [Gates] put that kind of stuff in!!
Ce n'est du coup qu'à la version 7 du BASIC pour le Commodore 128, qu'apparut enfin un copyright légitime pour Microsoft, sans doute à cause d'autres négociations entre la société et Microsoft, au sujet du basic de l'Amiga cette fois...
Selon toute vraisemblance, le code était bien spécifique au PET car à l'époque, il n'y avait pas de belle indépendance vis à vis du matériel et notre oeuf de pâque fonctionnait en écrivant au début de la mémoire vidéo des PET et de nulle autre machine.
Ceci dit, la chaîne MICROSOFT! collée dans le binaire à la suite des données de la fonction SIN n'était pas un privilège réservé à Commodore. On le retrouve dans l'AppleBasic de l'Apple II (une version plus évoluée que celle en ROM, que l'on achetait séparément), celui des Oric 1 et Atmos, celui du TRS-80 couleur (qui avait son propre oeuf de pâque lui aussi), etc. Pour ceux que l'assembleur ne rebute pas, vous pouvez trouver les versions annotées des différents basics et toutes les explications techniques, assembleur à l'appui dans ce passionnant article..
Voilà, fin de la petite histoire qui n'a guère plus d'autre intérêt qu'archéologique. Maintenant l'oeuf de pâque a t-il été écrit par Bill, par Alan ou par Monte ? Contrairement à ce que certains aiment à penser, tout semble indiquer que si Steve Jobs et Bill Gates partagent un certains tallent financier, Gates lui, Savait réellement coder.
On dira que c'était Bill, c'est plus vraisemblable mais surtout plus drôle ainsi
- répondre
tuxce , le 7 October, 2008 - 20:12snif
souvenir à part, je pensais que le premier oeuf de paques était dans un jeu (me rappelle plus le nom) d'atari...
- répondre
Fredz , le 7 October, 2008 - 20:19La phrase est un peu trompeuse, ça donne l'impression que Bill Gates aurait créé le langage BASIC alors que c'était Kemeny et Kurtz 11 ans plus tôt.
D'ailleurs il est pas vraiment connu comme développeur de garage et personne ne connaît sa contribution réelle au développement de l'Altair BASIC... à part Allen et Davidoff...
Sinon, oui, je commence à avoir des cheveux blancs...
- répondre
Romain , le 7 October, 2008 - 20:47Tu as oublié de citer ta source : http://www.pagetable.com/?p=43
- répondre
Ulhume, le 7 October, 2008 - 22:06@Tuxce Oh bé j'ai pas dit que c'était le premier
- répondre
tuxce , le 7 October, 2008 - 22:13ah oui exact, une larme a du m'embrouiller la vue vers la fin de l'article
- répondre
Ulhume, le 7 October, 2008 - 22:18@Fredz Il ne faut ôter tout mérite à Bilou, c'était même un bon développeur à l'époque. A cette même époque je me souviens qu'il faisait lire le listing de ce BASIC en assembleur à ses futurs développeurs pour juger de leur compétence. Et pour autant que je m'en souvienne, Bilou et Alan on développé conjointement leur BASIC et Davidoff le module de virgule flottante. Dans le dump du Basic Altair, tu trouves ceci :
00580 BILL GATES WROTE THE RUNTIME STUFF.
00600 MONTE DAVIDOFF WROTE THE MATH PACKAGE
La source est ici, je le met car sinon, je vais me faire gronder
PS: Ah oui, j'oubliais, tu as raison pour l'origine du BASIC et ma phrase trompeuse, je vais changer cela.
- répondre
Dab, le 7 October, 2008 - 22:30Ah? Jamais entendu parler de cet oeuf
Dans le même ordre d'idée, j'ai vu dernièrement "Les pirates de Silicon Valley" un film qui relate assez bien l'histoire de la gueguerre que se sont menés Microsoft et Apple.
- répondre
Ulhume, le 7 October, 2008 - 22:33@Romain
Merci sans arrières pensées pour ce pointeur, sincèrement ce billet est passionnant. Je comprends que tu ais pensé à une traduction tant le sujet est ultra-proche. Mais c'est me faire aussi beaucoup d'honneur car il est aussi ultra-plus complet. Mais si j'avais pris cet article comme base, soit assuré que je l'aurais lier, ce n'est pas mon habitude de ne pas référencer un maximum mes billets, au moins en lien. D'ailleurs cela ne va pas tarder à être le cas vu que je vais lui faucher de ce pas son timeline du BASIC.
Donc non, désolé, ce n'est pas la source
Pour tout te dire ma source est principalement une archive d'un site qui n'existe malheureusement plus, celui d'un célèbre développeur angalis pour l'Altair, Ian Griffiths. L'adresse en était www.rjh.org.uk/altair/ian.htm. C'est de lui que j'avais l'historique, le désassemblage de l'Altair Basic.
Pour le coup de l'easter egg, ben je le connaissais parce que... je suis vieux voilà tout
Et il m'avait été montré il y a trèèès longtemps sur le véritable PET d'un ami de mes parents.
La réaction de Tremiel vient de ce thread que j'ai trouvé en faisant mes recherches préalables :
http://www.reddit.com/r/programming/comments/74d9a/bill_gates_personal_e...
Le reste, c'est ma mémoire, mon histoire, l'ami Wikipedia et l'indispensable documentaire "Pirate of the Silicon Valley" pour tout ce que j'étais trop pitit pour comprendre à l'époque
- répondre
Ulhume, le 7 October, 2008 - 22:36@Dab Il est génial ce documentaire
) J'avais adoré, j'étais d'ailleurs tristoune car je n'arrive plus à remettre la main dessus
C'est de là que j'ai "extrait" le coup de l'Altair et des licences.
L'ester egg était super connu voyons, je pense même en avoir lu une référence en 84 d'ans l'Ordinateur Individuel.
- répondre
Romain , le 7 October, 2008 - 22:37Ok, au temps pour moi. J'ai vu passer ce matin (11:40) sur OSNews une brève liant l'article que j'ai cité plus haut, et ce soir (19:14) ton billet. Tu comprendras bien que j'y ai évitablement vu une relation, mais peut-être ne s'agit-il que d'une coïncidence…
- répondre
Ulhume, le 7 October, 2008 - 23:11@Romain Je me suis bien douté que le rapprochement venait de là, vu que c'est le teaser dans OSNews qui m'a donné l'idée de prendre sur ma pause de midi pour chercher un s'il existait un émulateur pour Linux pour tester si ça marchait dessus. J'avais juste pas cherché à lire l'article associé. Maintenant c'est fait, et du coup j'ai ajouté plein de chose. Au passage, c'est loin d'être le seul article intéressant sur son site.
Ah oui, dernier truc, il n'a qu'un easter egg sur deux dans son article, mon honnêteté intellectuelle est sauve
- répondre
Fredz , le 8 October, 2008 - 00:21Ben le problème c'est qu'il n'y a aucune référence qui vienne étayer ça, alors qu'on en trouve sans difficulté pour Allen, Davidoff ou Wozniak par exemple. Tout ce que l'on sait, c'est qu'il a pris des cours de BASIC, qu'il a aidé Allen à débugger des PDP-10 et qu'il a vendu une appli à son école, mais on ne sait pas si c'est lui qui l'a écrite.
C'est la seule référence qu'on ait, elle vient d'un des rares extraits du listing du code de l'Altair Basic dont Gates ait autorisé la diffusion après que sont prof de l'époque (Harry Lewis) l'ait retrouvé par hasard 24 ans après (en 1999).
Il n'y a aucun détail sur la contribution réelle de Bill Gates là-dedans et le nom de Davidoff n'est même pas crédité sur les boîtes alors que la partie virgule flottante était une grosse part du boulot.
D'ailleurs beaucoup de programmeurs de l'époque pensaient que ce BASIC avait été repompé sur des BASICs du domaine public, ce qui explique leur énervement après la fameuse lettre ouverte que Gates a envoyée aux hobbyistes pour leur dire d'arrêter de copier _son_ BASIC...
Pour plus de détails, voir :
http://www.theregister.co.uk/2001/05/11/microsoft_altair_basic_legend_ta...
http://www.cotcomsol.com/~outpost/archive/99-40-52/19991201/clawson.htm
http://web.archive.org/web/20010415072858/www.rjh.org.uk/altair/ian.htm
http://www.theregister.co.uk/2001/05/15/could_bill_gates_write_code/
http://blogs.zdnet.com/Murphy/?p=640
http://www.theregister.co.uk/2001/05/13/raiders_of_the_lost_altair/
- répondre
Ulhume, le 8 October, 2008 - 00:43@Fredz hé bé t'es documenté sur le sujet dis moi
On va dire que c'est mon impression personnelle, mais tu as raison, il n'y a rien de très tangible qui étaye tout cela. Ceci dit, dans les deux articles du Register que tu cites, il ne semble pas que Davidoff pense le contraire.
Maintenant entre personnes à cheveux un peu blancs, on s'avouerait que si l'on appréciait plus le personnage, on se poserait moins se questions
Disons que j'essaye d'être neutre, d'une manière ou d'une autre il a écrit une partie de l'histoire, on ne peut pas lui ôter cela. Et j'avoue aussi dans le fameux documentaire, la scène où il se fait bouler par le charismatique Steve me l'a rendu un peu plus sympathique qu'à s'accoutumé 
PS: bien vu pour le coup de webarchive, c'était une partie des articles dont je parlais à Romain un peu plus haut.
- répondre
Fredz , le 8 October, 2008 - 01:26C'est vrai que je suis pas complètement impartial sur le sujet, mais c'est pas dirigé spécifiquement contre Bill Gates. Ce qui m'embête, c'est surtout qu'on a souvent tendance à attribuer au commercial les mérites qui reviennent au programmeur dans les duos de génie qui ont fondé la micro-informatique (Jobs/Wozniak et Gates/Allen).
Après, c'est vrai qu'il est assez difficile d'évaluer les contributions techniques réelles de Gates, mais il y a tellement peu d'infos sur le sujet que ça donne l'impression que ça devait être assez limité. Et je ne parle pas seulement des infos qu'on peut trouver sur le net, je programme depuis plus d'une vingtaine d'années et je n'ai jamais trouvé de référence sur ses talents de programmeur dans la littérature de l'époque.
D'ailleurs Davidoff ne dit pas grand chose à ce sujet - juste que Gates était capable de programmer - mais sans donner de détail sur ce qu'il aurait réellement fait d'un point de vue technique.
Cela dit, ça n'enlève rien à la réussite de Bill Gates qui a largement contribué à démocratiser l'informatique, mais je préfère me souvenir de ceux qui font plutôt que de ceux qui vendent...
- répondre
Ulhume, le 8 October, 2008 - 01:30@Fredz Ah mais c'est injuste ça, que seraient ceux qui font sans ceux qui vendent ? Wozniak sans Jobs, et on aurait même pas d'iPhone aujourd'hui. Bon, ok, mauvais exemple
Ceci dit je vais arrêter de jouer l'avocat de Gates, sa véritable invention de génie, celle qu'on pourra pas lui voler, c'est son coup des licences pour l'Altair... Pour le reste... Ah si, avoir vendu un OS qu'il ne possédait même pas à un monstre comme IBM, ça c'était fort aussi.
- répondre
Dab, le 8 October, 2008 - 09:16hmmm ... se faire l'avocat du diable .... me semble qu'il a déjà ce qu'il faut, ne dit-on pas qu'il y a plus d'avocat que d'ingé chez Billou ?
PS: le flux rss sur les commentaires ne fonctionne plus.
- répondre
Ulhume, le 8 October, 2008 - 10:49@Dab Ah la joie du débuggage matinal d'un code qui n'est même pas le tiens
Merci pour l'alert Dab, c'est modifié.
Pour ce qui est de Bilou, j'avais juste voulu faire un petit billet d'histoire, j'ai plus l'impression d'avoir fait un billet polémique, pas bien grave
Poster un nouveau commentaire