Quand Bill Gates et Ric Weiland écrivaient en 1976 un interpréteur BASIC pour le MOS 6502, ils posaient une pierre angulaire de la micro-informatique pour tous et lançait sur les rails de la gloire la société Microsoft. Aujourd’hui, son code source complet est enfin publié par l’éditeur en open source. On dit merci qui ?

Ce n’est pas totalement une nouveauté mais cela demeure une agréable surprise pour les fans d’histoire de l’informatique et de retro-computing. En avril dernier, Bill Gates avait déjà publier en open source le code source du tout premier programme de Microsoft : le Basic pour Altair 8800. Le milliardaire écrivait alors qu’il s’agissait là du « code le plus cool que j’ai jamais écrit ».
Le code source de cet interpréteur Basic sera ensuite étendu et porté sur de très nombreuses machines par Microsoft et notamment sur les ordinateurs BBC, MSX, Thomson, Oric, PC (BASICA devenu ensuite GW-BASIC et dont le code source datant de 1983 a été publié en open source sous Licence MIT par Microsoft en mai 2020).

Et justement, cette semaine, près d’un demi-siècle après sa création, Microsoft a publié en open source le code source complet de l’un de ses portages, en l’occurrence celui du « 6502 BASIC », l’un des tout premiers ports de son interpréteur BASIC. L’ensemble est évidemment écrit en assembleur et permet de mesurer l’ampleur des portages à l’époque où l’on ne programmait les machines qu’en assembleur !

Écrit en 1976 par Bill Gates et Ric Weiland, cet interpréteur Basic est une adaptation de l’Altair Basic, conçue pour le microprocesseur MOS Technology 6502, qui deviendra très largement utilisé dans les micro-ordinateurs de la fin des années 1970 et du début des années 1980. Si l’Altair est resté relativement confidentiel, les machines à base de 6502 vont vulgariser la micro au plus grand nombre et ce portage va véritablement porter les débuts de Microsoft.

En 1977, Commodore l’avait acquis pour un montant forfaitaire de 25 000 dollars, un accord resté unique dans l’histoire de l’éditeur (il faut dire que Jack Tramiel, le fondateur de Commodore et à qui l’on doit le fameux « Business is war » était un dur en affaires), pour l’intégrer dans ses machines PET, VIC-20 et Commodore 64.

Le code mis en ligne correspond à la version 1.1, connue sous le nom de BASIC V2 sur les systèmes Commodore, intégrant notamment des corrections du ramasse-miettes réalisées en 1978 par l’ingénieur John Feagans et Bill Gates. On y trouve également un des premiers « easter egg » de l’histoire (en tapant la commande « WAIT 6502,1 », le mot Microsoft apparaît en haut à gauche, un easter egg encodé et obfusqué dans la bibliothèque de calcul flottant pour prouver l’origine du Basic intégré), signé Bill Gates, ainsi qu’un innovant support de « compilation conditionnelle » pour plusieurs plates-formes pionnières, dont l’Apple II (via Applesoft BASIC), l’Ohio Scientific et le KIM-1.

Composé de 6 955 lignes en assembleur, l’interpréteur offre une implémentation complète du langage BASIC, avec gestion des nombres flottants, des chaînes de caractères, des tableaux, des fonctions mathématiques et des opérations d’E/S, optimisée pour les contraintes mémoire des systèmes 8 bits. Il a aussi été porté sur d’autres matériels emblématiques comme l’Atari 2600 ou la Nintendo Entertainment System !

Jusqu’ici, seules des copies partielles ou non officielles circulaient dans les communautés de rétro-informatique et les archives muséales. Désormais disponible sur GitHub sous licence MIT, ce code peut être librement utilisé, modifié et redistribué. Cette publication s’inscrit dans la continuité de l’ouverture du code de GW-BASIC en 2020 et d’Altair BASIC, et constitue un jalon historique pour les passionnés, chercheurs et professionnels souhaitant analyser ou réutiliser un morceau fondateur de l’histoire logicielle de Microsoft.

Et si vous voulez en savoir plus sur la grande aventure du Basic Microsoft et les premiers jours de cette entreprise alors encore dénommée « Micro-Soft », nous vous recommandons vivement la distrayante lecture de « Source Code : Mes Débuts », la biographie écrite avec beaucoup de nostalgie, de sincérité et d’humour par Bill Gates (qui reverse les bénéfices de cette biographie à l’association United Way Worldwide).

 

À lire également :

Bill Gates célèbre les 50 ans de Microsoft à sa façon : il ouvre le code source du célèbrissime Altair BASIC

GW-Basic, publié en open source pour l’Histoire…

Disparition de Thomas Kurtz, père du BASIC, à l’âge de 96 ans

Visual Basic a 30 ans… malmené mais toujours vivant…