Journal Microsoft libère le code de leur Basic pour le microprocesseur 6502

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
4
4
sept.
2025

Le code est placé sous licence MIT. Il fait 6955 lignes d'assembleur 6502, commentaires compris. Ça donne un fichier de 158 ko. Un peu gros pour ce vénérable processeur qui ne pouvait adresser que 64 ko avec son bus d'adresse 16 bits.

L'annonce : https://opensource.microsoft.com/blog/2025/09/03/microsoft-open-source-historic-6502-basic/

Le github : https://github.com/microsoft/BASIC-M6502

  • # tu oublies que ça se compile

    Posté par  . Évalué à 2 (+0/-0).

    Ça donne un fichier de 158 ko. Un peu gros pour ce vénérable processeur qui ne pouvait adresser que 64 ko

    une fois compilé, les commentaires sautent et le code est beaucoup plus petit

    • [^] # Re: tu oublies que ça se compile

      Posté par  . Évalué à 2 (+0/-0).

      et j'oubliais : le code est prévu pour plusieurs machines différentes avec des conditionnels qui sautent à la compilation

      • [^] # Re: tu oublies que ça se compile

        Posté par  . Évalué à 3 (+1/-0). Dernière modification le 04 septembre 2025 à 20:44.

        et j'oubliais, bis : la taille indiquée par ton système de fichier moderne pour CPU 64 bits est celle d'un texte enregistré en unicode utf-8, je présume qu'un fichier texte ASCII enregistré sur un système de fichiers plus rudimentaire pour CPU 8 bits sera plus petit

        Une fois compilé, le code fait moins de 9 KB d'après Michael Steil

        • [^] # Re: tu oublies que ça se compile

          Posté par  (site web personnel, Mastodon) . Évalué à 1 (+0/-0).

          L'avantage d'unicode utf-8, c'est qu'il tient sur un seul octet quand on reste sur ASCII (ce qui est forcément le cas). Ce qui n'est pas le cas d'UNICODE, qui est la même chose mais en taille fixe par caractère, soit 8 octets. Donc effectivement en UNICODE il serait plus gros… après, c'est possible, qu'au final, ce soit différent sur le disque ou sur la taille visualisé sur un 64 bits, ou en dessous du méga-octet on ne regarde même pas.

          Cela rappel le débat Unicode VS UTF-8…

          Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

          • [^] # Re: tu oublies que ça se compile

            Posté par  (site web personnel) . Évalué à 2 (+0/-0).

            Perso je suis sans cesse épaté par ta capacité à écrire des choses fausses, sans douter le moins du monde.

            Adhérer à l'April, ça vous tente ?

            • [^] # Re: tu oublies que ça se compile

              Posté par  . Évalué à 2 (+0/-0).

              Bah quoi? Il se garde 4 à 7 octets de rabe par caractere (ou code point, me cassez pas lez bonbons, les pedantiques Unicode).
              Ça donne de la marge pour les emojis, et ça mange pas de pain. Enfin, à part les 4+ octets en plus par caractère.

              Apres, sorti de la bourde 8 octet en Unicode, il a pas forcément tort. C’est du code des années 80 écrit par des ricains, je serais surprit qu’il soit pas en ascii. Et même si l’ascii est un encodage 7 bits, ça restait serializé en 8 bits, parce que ben, ça marchait comme ça.

              et donc au final, oui, UTF8 ou ascii, le source fera la même taille que l’original en ascii.

              La ou je suis confus c’est qu’on a commencé à parler de la taille compilée, et on se retrouve à parler d’encodage texte.

    • [^] # Re: tu oublies que ça se compile

      Posté par  (site web personnel) . Évalué à 2 (+0/-0).

      Bien entendu qu'une fois assemblé, ce code fourni un exécutable plus réduit en taille. Mais je doute qu'à l'époque ce fichier du code source ait existé en un seul bloc.

      \_o<

      • [^] # Re: tu oublies que ça se compile

        Posté par  (site web personnel, Mastodon) . Évalué à 1 (+0/-0).

        Si sans doute, mais peut-être sur bande ou disque dur professionnels…

        Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

        • [^] # Re: tu oublies que ça se compile

          Posté par  (site web personnel, Mastodon) . Évalué à 3 (+0/-0).

          Le code qui est publié est une reconstruction de sources à partir de l'analyse des binaires de multiples versions du BASIC pour différentes machnes. Plus d'explications par lwauteur de ce travail. Microsoft a récupéré ces informations et a "officialisé" la chose et la license (ce qui pose question, car une partie des changements documentés ne sont pas de leur fait, mais d'entreprises qui avaient acheté et "forké" le BASIC). Est-ce qu'ils ont tout puolié, ou bien ils ont pris soin dans leur version de ne garder que les variantes sur lesquelles ils sont effectivement propriétaires du copyright?

        • [^] # Re: tu oublies que ça se compile

          Posté par  . Évalué à 2 (+0/-0).

          Des anecdotes (que je n’arrive pas à retrouver, et j’ai que 2 minutes avant mon prochain minutes) racontent que bill Gates écrivait pas mal de code dans l’avion (apparement, le système de fichier fat).

          C’était les années 80, donc il avait clairement pas de laptop, encore moins une tour. Il écrivait son code sur … du papier!

          Sacré époque quand même.

  • # 6809

    Posté par  (site web personnel, Mastodon) . Évalué à 3 (+1/-0). Dernière modification le 04 septembre 2025 à 21:47.

    Le BASIC, c'est le premier produit Microsoft que j'ai utilisé, mais dans une version plus élaborée livrée en ROM dans le Dragon 32, un micro-ordinateur britannique commercialisé en 1982 avec un microprocesseur Motorola 6809. A l'époque, le système d'exploitation c'était l'interpréteur BASIC lancé automatiquement au démarrage. ROM de 16 Ko d'après le manuel :

    http://www.dragondata.co.uk/Publications/BASIC-MAN/DRAGON_32_BASIC_MANUAL_rel-v2.pdf

    "I program my home computer, beam myself into the future"…

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.