TL;DR
A programmer has developed Thoreau BASIC, a minimal BASIC interpreter capable of booting on UEFI machines. This allows users to run a classic programming environment on modern hardware without an operating system. The project is shared on Show HN and is still in early development.
A developer has released Thoreau BASIC, a lightweight BASIC interpreter designed to boot directly on UEFI-based systems. This development enables users to run a classic, simple programming environment without the need for an operating system, marking a notable step in retro computing and low-level programming projects.
The project, shared on the Hacker News ‘Show HN’ forum, is the first known implementation of a BASIC interpreter that can boot natively from UEFI firmware. Unlike traditional emulators or virtual machines, Thoreau BASIC loads directly onto hardware, bypassing the need for an OS. The developer, who remains anonymous, states that the interpreter supports line numbers, immediate mode, simple graphics, strings, and arrays, echoing classic BASIC environments from the 1980s.
According to the creator, the goal was to create a small, self-contained environment that can run on modern UEFI firmware without requiring complex setup or OS installation. The code is open-source, and the developer has provided detailed instructions for building and testing the project on compatible hardware. The project is still in early stages, with ongoing work to improve stability, expand features, and optimize performance.
Why Booting BASIC on UEFI Matters
This project demonstrates the feasibility of running a full programming environment directly on modern hardware without an operating system. It offers a nostalgic experience for enthusiasts interested in low-level programming and hardware hacking. Additionally, it could serve educational purposes, helping learners understand firmware, boot processes, and basic assembly or C programming. The approach also showcases how minimal environments can be built for specialized or embedded applications, bypassing traditional OS layers.
Furthermore, Thoreau BASIC could inspire similar projects that aim to revive or modernize vintage computing environments, emphasizing the potential for lightweight, hardware-level programming in a world dominated by complex operating systems. It also raises questions about the limits and possibilities of firmware-based computing, especially for hobbyists and developers interested in minimal systems.
As an affiliate, we earn on qualifying purchases.
Historical and Technical Background of UEFI and BASIC
UEFI (Unified Extensible Firmware Interface) replaced the traditional BIOS in most modern PCs, providing a flexible, extensible environment for hardware initialization and boot management. Unlike BIOS, UEFI supports secure boot, larger storage devices, and more sophisticated firmware capabilities, making it a suitable platform for custom bootloaders and low-level software projects.
Historically, BASIC was a popular programming language in the 1970s and 1980s, used extensively in personal computers like the Commodore 64, IBM PC, and Apple II. Its simplicity and immediate mode made it accessible for beginners and hobbyists. Modern efforts to recreate BASIC environments typically involve emulators or virtual machines, but few have attempted to run directly on hardware at the firmware level.
The developer’s approach with Thoreau BASIC is a novel combination of these two worlds—using UEFI firmware to host a minimal interpreter, effectively creating a modern, hardware-based vintage computing environment.
While similar projects exist for booting minimal Linux kernels or other small OSes on UEFI, this is the first known effort to do so with a BASIC interpreter, making it a unique contribution to the field of hobbyist firmware development.
“My goal was to create a simple, self-contained BASIC environment that can run directly on UEFI hardware without an OS.”
— Developer (via Show HN post)
As an affiliate, we earn on qualifying purchases.
Remaining Technical and Practical Questions
It is not yet clear how stable or portable Thoreau BASIC is across different hardware platforms. The project is in early development, and compatibility with various UEFI firmware implementations remains untested. Performance metrics and limitations are also not fully documented, leaving questions about practical usability.
Additionally, it is uncertain whether the project will expand to include more advanced features, such as file I/O, networking, or hardware interfacing, which are typical in vintage or embedded environments. The scope and future development plans are still under discussion by the creator.
As an affiliate, we earn on qualifying purchases.
Upcoming Developments and Community Engagement
The developer plans to refine the stability and expand the feature set of Thoreau BASIC, potentially including more complex graphics and input handling. They also intend to improve documentation and provide prebuilt images for easier testing on a range of UEFI-compatible hardware.
Community involvement is expected to grow, with users encouraged to contribute code, test on different systems, and suggest enhancements. The project aims to establish a minimal, portable BASIC environment that can serve as a foundation for further experimentation in firmware-based computing.
As an affiliate, we earn on qualifying purchases.
Key Questions
Can Thoreau BASIC run on any UEFI machine?
It is designed for UEFI systems, but compatibility may vary depending on firmware implementation. Early testing has been limited, and users are encouraged to try on their hardware and report issues.
Does Thoreau BASIC support graphics and sound?
The current version supports basic graphics via simple routines, but sound and advanced multimedia features are not yet implemented. Future updates may expand these capabilities.
Is the project open source?
Yes, the code is publicly available, with documentation provided for building and testing. Contributions from the community are welcome.
What are the practical applications of booting BASIC directly on hardware?
Primarily educational and hobbyist, such applications include understanding firmware, low-level programming, hardware hacking, and vintage computing recreation. It also serves as a proof of concept for minimal environment development.
Will this project support modern peripherals?
Support for peripherals like USB devices or network interfaces is not yet implemented. These features are planned for future development, depending on community interest and technical feasibility.
Source: hn