Microsoft otwiera źródła GW-BASIC
• tech • 352 słowa • 2 minuty czytania
Microsoft kontynuując otwieranie kodów źródłowych (po Dosie i WinFile) swoich nie tylko historycznych produktów udostępnił kod źródłowy interpretera GW-BASIC. Był to dialekt BASIC-a opracowany przez Microsoft na komputery IBM PC XT i rozpowszechniany w pakiecie z systemem MS-DOS. Kod źródłowy dostępny jest na GitHubie na licencji MIT.
Co prawda, GW-BASIC inspirowany był Microsoft BASIC-em, ale bezpośrednio wywodził się wprost z jego IBM-owego portu z 1981 roku - IBM Advanced BASIC, dostarczanego wraz z komputerem IMB PC 5150. Nie mniej w kodzie można znaleźć odwołania do tego legendarnego Microsoftowego BASIC-a (komentarz z pliku GWMAIN.ASM
):
--------- ---- -- ---- ----- --- ---- -----
COPYRIGHT 1975 BY BILL GATES AND PAUL ALLEN
--------- ---- -- ---- ----- --- ---- -----
ORIGINALLY WRITTEN ON THE PDP-10 FROM
FEBRUARY 9 TO APRIL 9 1975
BILL GATES WROTE A LOT OF STUFF.
PAUL ALLEN WROTE A LOT OF OTHER STUFF AND FAST CODE.
MONTE DAVIDOFF WROTE THE MATH PACKAGE (F4I.MAC).
Wszystkie microsoftowe implementacje BASIC-a mają swoje początki w pierwszym produkcie firmy, czyli Altair BASIC - interpreterze BASIC-a dla komputerów Altair 8800, który został napisany przez Billa Gatesa i Paula Allena w 1975 roku.
Opublikowany kod pochodzi z wydania GW-BASIC z 10 lutego 1983 roku. W całości został napisany w asemblerze 8086.
These sources, as clearly stated in the repo’s readme, are the 8088 assembly language sources from 10th Feb 1983, and are being open-sourced for historical reference and educational purposes. This means we will not be accepting PRs that modify the source in any way.
– Microsoft Open-Sources GW-BASIC: The Source
Źródła zawierają tylko pliki z kodem w assemblerze. Nie ma żadnych skryptów budujących, plików makefile i innych narzędzi wspomagających kompilację, czy wygenerowanie plików wykonywalnych. Nie są też dostępne gotowe, ani pre-kompilowane pliki binarne. Do zbudowania GW-BASIC ze źródeł może być potrzebna specjalna wersja Microsoft Macro Assemblera oraz system MS-DOS 2.0 lub nowszy (kompatybilny).
Próbę kompilacji GW-BASIC-a podjął się Gynvael na jednym ze swoich streamów.
Jako, ze udostępnione kody to kolejny informatyczny zabytek techniki, zachęcam do przejrzenia źródeł ;)
[dodano 2020-05-27 20:00]
Dodałem informację o próbie skompilowania GW-BASIC przez Gynvael-a na jednym z jego streamów - #107: GW-BASIC.
Komentarze (0)