Thoreau BASIC: интерпретатор GW-BASIC, который загружается прямо из UEFI

I wrote a BASIC interpreter that boots on UEFI machines and ported it to Windows

Thoreau BASIC: интерпретатор GW-BASIC, который загружается прямо из UEFI

Thoreau BASIC — это интерпретатор GW-BASIC, работающий на «голом железе»: он запускается прямо из UEFI, а также доступен для Windows. Программа использует всю доступную память, поддерживает 32- и 64-битные целые числа, графику с EGA-палитрой и 24-битным цветом, работу с BMP-файлами и оконный текстовый режим. В версии 1.1 производительность выросла в 25 раз благодаря кэшированию токенов и оптимизации вычислений. Автор также добавил обработку ошибок, RENUM и другие возможности.

Данные сегмента размером с самый большой блок обычной памяти, который сообщает прошивка (или Windows), что на современной машине составляет гигабайты.
  1. JoeAltmaier

    Очень круто! Загрузка с голого железа впечатляет.

    BASIC требует больше поддержки, чем можно ожидать. Вот интерпретатор с аналогично длинным списком функций, которые он должен поддерживать:

    https://www.moondew.com/basic/index.htm

  2. Gorsefound

    Я начал писать Thoreau BASIC, потому что хотел маленький, старомодный интерпретатор BASIC: номера строк, немедленный режим, простая графика, строки, массивы — такая среда, где компьютер начинает с приглашения "Ready" и ты можешь сразу заставить его что-то делать.

    Затем я задумался: зачем ему нужна операционная система?

    Поэтому я сделал так, чтобы он загружался напрямую на x64-машинах через UEFI.

    Версия для UEFI использует Graphics Output Protocol для своего фреймбуфера и получает ввод с клавиатуры напрямую из прошивки. Под ней нет ни Windows, ни Linux. Машина загружается прямо в BASIC.

    Он поддерживает обычный механизм BASIC плюс графические примитивы, 32-битный цвет, плавающую точку, файловые операции и другие функции, которые я добавлял по мере того, как сталкивался с программами, которым они нужны. Теперь есть также версия для Windows, что делает его значительно проще для тестирования.

    Одна из моих целей — совместимость со стилем и поведением старых Microsoft BASIC, а не создание современного языка, который просто использует синтаксис BASIC.

    В настоящее время я портирую свой текстовый квест Pixel Prose на Thoreau BASIC. Это становится гораздо лучшим набором тестов, чем искусственные, потому что каждая отсутствующая функция или тонко неправильное поведение в конечном итоге выявляется реальной программой.

    Проект намеренно небольшой. Версия для UEFI приветствует вас словами:

    "Я делаю себя богатым, сокращая свои желания."

    — Генри Дэвид Торо

    за которыми, несколько иронично для современного ПК, следует что-то вроде:

    27,340,685,312 байт свободно

    Мне было бы интересно [...]

Ещё за этот день

2026-08-23