Microsoft открывает исходный код BASIC, написанного Биллом Гейтсом в 1978 году.

В среду Microsoft опубликовала полный исходный код версии 1.1 Microsoft BASIC для 6502, выпущенной в 1978 году, интерпретатора, который использовался в различных системах, таких как Commodore PET, VIC-20, Commodore 64 и Apple II. Этот код, состоящий из 6955 строк ассемблера, был размещен на GitHub под лицензией MIT. Это означает, что любой может использовать, изменять и распространять этот код, который сыграл значительную роль в начале компьютерной революции, без ограничений.

💰

"Рынок красный? Это просто сезон скидок для умных инвесторов." - так говорят, чтобы не плакать. У нас — аналитика, которая помогает плакать реже.

Найти недооцененные активы

В 2010 году Рик Вайланд и я (Билл Гейтс) разработали язык программирования BASIC для процессора 6502. Я специально добавил в него команду WAIT. Об этом Гейтс рассказал в блоге Page Table.

В конце 70-х и начале 80-х интерпретатор BASIC от Microsoft предоставил многим людям их первое знакомство с программированием. С помощью этого инструмента люди вводили простые команды, такие как ’10 PRINT ‘HELLO» и ’20 GOTO 10’, которые могли создавать бесконечный цикл текста на их экранах. Обычно это был первый случай, когда они лично управляли компьютером. Интерпретатор переводил эти удобные для пользователя команды в инструкции, которые процессор мог понимать и выполнять, построчно.

Вкратце, ассемблерный код 6502 от Microsoft, состоящий всего из 6955 строк, взаимодействовал почти напрямую с процессором. Одним из значительных достижений Microsoft стало умещение впечатляющего функционала в минимальный объем памяти, что было критически важно, когда килобайт оперативной памяти стоил несколько сотен долларов.

В первые дни персональных компьютеров стоимость была значительным фактором, определявшим рынок. Процессор MOS 6502, который поддерживал BASIC, стоил около 25 долларов, в то время как конкуренты предлагали аналогичные чипы примерно за 200 долларов. Чак Педдл, разработчик, создал 6502 с целью сделать вычислительную технику доступной для широкой публики. Производители интегрировали различные версии этого чипа в устройства, такие как Atari 2600, Nintendo Entertainment System и бесчисленные компьютеры Commodore.

Упущенная сделка

В 1977 году компания Commodore приобрела права на использование программного обеспечения 6502 BASIC от Microsoft на неограниченном количестве устройств за единовременный платеж в 25 000 долларов. Это соглашение предоставило компании Джека Трамиэля постоянные права, устраняя любые текущие отчисления или сборы за единицу продукции. Хотя эта сумма казалась значительной в то время, Commodore в конечном итоге продала множество компьютеров, оснащенных Microsoft BASIC, потенциально упустив значительную прибыль, если бы Microsoft договорилась о лицензионном сборе за единицу продукции, как это было сделано для более поздних продуктов.

Проще говоря, обновленная версия 1.1, выпущенная Microsoft в 1978 году, была результатом совместных усилий Джона Фиганса из Commodore и Билла Гейтса. Находясь в офисах Microsoft в Белвью, штат Вашингтон, они исправили некоторые проблемы. Эта версия включала улучшения в управлении памятью, обычно известные как «сборка мусора» в программировании, и продавалась как «BASIC V2» на Commodore PET.

Исходный код, выпущенный Microsoft, поддерживает условную компиляцию для различных систем той эпохи, позволяя разработчикам создавать несколько версий. Например, они могут разрабатывать для Apple II (где он известен как Applesoft BASIC), компьютеров Ohio Scientific и одноплатного компьютера KIM-1, используя одну и ту же кодовую базу, выбирая различные опции на этапе сборки.

Почему старый код все еще важен

Современные компьютеры могут быть не в состоянии выполнять ассемблерный код 1978 года нативно, но с помощью эмуляторов и FPGA-реализаций это историческое программное обеспечение продолжает процветать для исследований и практического применения. Этот код служит свидетельством того, как программисты умудрялись извлекать максимальную производительность из ограниченных ресурсов, что остаётся ценным и сегодня, поскольку разработчики стремятся оптимизировать программное обеспечение для различных устройств, от умных часов до космических кораблей.

Крайне важно, чтобы у нас была эта авторизованная публикация об историческом программном обеспечении, поскольку без неё и необходимого юридического разрешения на изучение существует риск того, что будущие исследователи не смогут в полной мере понять сложное устройство ранних компьютеров. Это лишит историков, которые не взаимодействовали с этими машинами напрямую, возможности поместить эти технологические артефакты в более широкий культурный контекст.

Несмотря на то, что это изучалось неофициально на протяжении многих лет, важно отметить, что официальный релиз теперь предлагает лицензию на программное обеспечение, которое энтузиасты ретрокомпьютинга изучали неформально на протяжении десятилетий. Майкл Штайль, опытный исследователь, который проследил историю разработки, ранее воссоздавал среды сборки, способные производить точные копии оригинальных микросхем ПЗУ. Это означает, что скомпилированный код соответствует историческим версиям бит за битом. Его работа по переносу кода на современные ассемблеры, такие как cc65, позволяет исследователям сегодня создавать и анализировать это фундаментальное программное обеспечение на современных системах.

Со временем Microsoft сделала несколько своих старых программных продуктов доступными с открытым исходным кодом, например GW-BASIC, который развился из версии для 6502 и поставлялся предустановленным в ROM IBM PC, MS-DOS 4.0 и оригинальный Altair BASIC 1975 года. Однако этот переход к инициативам с открытым исходным кодом при генеральном директоре Сатье Наделле резко контрастирует с враждебным подходом Microsoft к открытому исходному коду в 1990-х и начале 2000-х годов, когда бывший генеральный директор Стив Балмер сравнил известный проект с открытым исходным кодом Linux как с раком, так и с коммунизмом.

Подобно тому, как технологический мир постоянно развивается, так и Microsoft не стоит на месте. Известная своим прошлым сопротивлением программному обеспечению с открытым исходным кодом, эта технологическая компания теперь размещает самую обширную библиотеку с открытым исходным кодом на GitHub, приобретя её в 2018 году. Интересно, что репозиторий GitHub, разработанный Microsoft специально для 6502 BASIC, содержит историческую отсылку, отображая даты коммитов от 27 июля 1978 года – дату рождения оригинального кода.

Смотрите также

2025-09-04 21:26