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, а также доступен для Windows. Программа использует всю доступную память, поддерживает 32- и 64-битные целые числа, графику с EGA-палитрой и 24-битным цветом, работу с BMP-файлами и оконный текстовый режим. В версии 1.1 производительность выросла в 25 раз благодаря кэшированию токенов и оптимизации вычислений. Автор также добавил обработку ошибок, RENUM и другие возможности.
Данные сегмента размером с самый большой блок обычной памяти, который сообщает прошивка (или Windows), что на современной машине составляет гигабайты.
- JoeAltmaier
Очень круто! Загрузка с голого железа впечатляет.
BASIC требует больше поддержки, чем можно ожидать. Вот интерпретатор с аналогично длинным списком функций, которые он должен поддерживать:
- 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 байт свободно
Мне было бы интересно [...]