Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

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

Написанный Биллом Гейтсом и Риком Вейландом интерпретатор BASIC стал для миллионов людей в конце 70-х и начале 80-х первой возможностью «поговорить» с компьютером напрямую.

Простейшие команды вроде 10 PRINT "HELLO" и 20 GOTO 10 превращались в бесконечный поток текста на экране — и в первый опыт программирования для целого поколения.

Особенность кода в том, что он умещался в смешные по нынешним меркам объёмы памяти, когда каждый килобайт стоил сотни долларов. Процессор MOS 6502 обходился всего в $25, а его конкуренты — в восемь раз дороже. Поэтому именно этот чип стал сердцем домашних компьютеров и игровых приставок, от Atari 2600 до NES.

Интересная деталь из истории: Commodore в 1977 году заплатила Microsoft всего $25 000 за бессрочную лицензию на использование BASIC — без отчислений за каждую проданную машину. Учитывая миллионы Commodore PET и C64, выпущенные позже, в Redmond наверняка вспоминают этот контракт с лёгкой грустью.

В опубликованной версии 1.1 уже есть исправления и оптимизации, сделанные в 1978-м совместно инженером Commodore Джоном Фигансом и самим Гейтсом. Код поддерживал условную компиляцию — по сути, из одной кодовой базы собирались варианты и для Apple II (Applesoft BASIC), и для KIM-1, и для других систем.

Зачем это всё сегодня? Для энтузиастов ретрокомпьютеров — это шанс прикоснуться к «чистому» историческому артефакту, увидеть, как программисты выжимали максимум из железа с минимальными ресурсами. Эти приёмы до сих пор актуальны, когда речь идёт об оптимизации — будь то смарт-часы или спутники.

Microsoft в последние годы регулярно открывает старый код: раньше компания публиковала исходники GW-BASIC, MS-DOS 4.0 и даже самого первого Altair BASIC. Для корпорации, которая когда-то называла Linux «раковой опухолью» и «коммунизмом», это настоящая метаморфоза. А теперь — ещё и красивый жест: в Git-репозитории у исходников BASIC стоят фиктивные временные метки коммитов от июля 1978 года.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Защитный модуль LKRG теперь совместим с ядрами Linux ветки 6.1

Анонсирован выпуск LKRG 1.0.0 — новой сборки защитника Linux от нарушения целостности ядра и попыток эксплуатации уязвимостей. Обновление для модуля с множеством существенных изменений доступно на сайте lkrg.org.

Напомним, код LKRG распространяется под лицензией GPLv2. В анонсе, разосланном по подписке Openwall, разработчики пишут, что семилетний проект с новым выпуском достиг возраста зрелости.

Они также отметили, что базовый код защитного модуля ядра стал компактнее, в него внесено множество изменений. Наиболее примечательны следующие:

  • обеспечена совместимость с новейшими ядрами основной ветви Linux (протестировано до 6.17-rc4, на котором будет работать Fedora 44, включительно);
  • в обеспечение поддержки ядер 6.13+ сняты хуки с функций override_creds() и revert_creds(); возникшее в результате ограничение детекта атак перезаписью указателя cred компенсировано добавлением проверок переопределения cred в других местах ядра;
  • снято отслеживание учеток, не проверяемых на подлинность (за счет этого код сокращен примерно на 1500 строк);
  • добавлена поддержка OverlayFS ovl_tmpfile, введенного в ядрах Linux 6.10 – 6.12 во избежание ложноположительных срабатываний;
  • для систем с архитектурой x86_64 реализована поддержка защиты Intel CET IBT и kCFI.

Участники проекта также пофиксили шесть новых багов, повысили быстродействие и стабильность работы ряда функций.

Пакеты Rocky Linux SIG/Security (в состав входит LKRG), используемые и с другими дистрибутивами корпоративного класса (AlmaLinux 8 и 9, RHEL 8/9 и проч.), уже обновлены и скоро будут выложены в паблик.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru