Just a little over a month ago, I was announcing EndBASIC 0.13 with a brand new compiler and VM implementation. 0.13 was the result of six months of work and I had to “flush those out” to clear my mind. At the end of the day, however, 0.13 “just” improved performance. Yes, the wins were massive, but they didn’t do much to make EndBASIC any cooler for you.…
A few weeks ago, and after more than a year without any EndBASIC releases, 0.12 showed up out of the blue. If you paid attention to the fine print in that announcement, you knew something big was coming soon. And, as promised, here it is: another brand new major release, 0.13, with a shiny rewritten compiler and VM.
It has been almost two years since the release of EndBASIC 0.11. Fear not, though, for the development hasn’t stopped since then! If you paid attention last year, you may have seen that I spent the first half of 2025 building the EndBOX and modernizing the website . However, these efforts didn’t come with a corresponding formal release and it’s about time to fix that. The 0.12…
Components to build the EndBOX I and the assembled EndBOX I Micro. About a month ago, I officially unveiled the EndBOX : a retro-style micro-computer designed to run the EndBOX OS. And what is the EndBOX OS, you ask? It’s a small NetBSD system engineered to launch you into an EndBASIC interpreter as fast as possible. Today, I’m excited to announce the DIY guide to build your very own…
Hello EndBASIC followers, and a warm welcome to everyone who joined us after the EndBOX unveiling! A big part of the previous announcement , which might have seemed premature since the EndBOX isn’t actually available yet, was to gauge interest in the project and determine whether building the EndBOX for public use is worthwhile. The response so far has been mixed: there has been significant…
Remember when turning a computer on meant instantly jumping into code? No bloat, no distractions—just you and a prompt? That’s the experience I’ve been working to bring back with the EndBOX: a small, resilient, nostalgia-packed, all-screen computer that boots straight into the retro-inspired EndBASIC environment you already know. And today, six months after its inception,…
Back in 2021, the distinguishing feature of the then-current EndBASIC 0.7 release was that it was “cloud-ready”: I created a file-sharing service and integrated it with EndBASIC so that you all had a mechanism to publish your creations with others. It then took the arrival of EndBASIC 0.9 , which wasn’t released until a year later, to have the ability to automatically launch…
After a year-and-a-half long hiatus, I am pleased to announce that EndBASIC 0.11.0 is now available! 🥳 This release marks a significant milestone because it addresses the top feature request from you all, namely the ability to define custom functions and subroutines. But it also includes other goodies such as support for an LCD console, a shiny new disassembler, and a faster execution engine.
Dear EndBASIC enthusiasts! In preparation for the imminent 0.11 release, which needs some beta-testing right now, I have created a brand-new “blog” section in the EndBASIC website.
Hello again Blog System/5 and sorry for the radio silence for the last couple of months. I had been writing too much in here and neglecting my side projects so I needed to get back to them. And now that I’ve made significant progress on cool new features for EndBASIC , it’s time to write about them a little! One of the defining characteristics of EndBASIC is its hybrid console: what…
The original BASIC parser in EndBASIC 0.1 was very rudimentary and it stayed pretty much unmodified until the 0.10 release last month. This release brought major changes to the parser to support new features, but it wasn’t easy to implement them. In this post, I want to look into various difficulties that arose implementing certain BASIC constructs in EndBASIC. Overcoming these difficulties…
After three months of early-morning hacking, I’m pleased to announce that EndBASIC 0.10 is now available—right on time for some holiday-time experimentation! This release marks a huge milestone because it makes the language usable for real-world development. You see, when I started this project over two years ago, I wrote a rudimentary interpreter for something that resembled BASIC and…
Since its inception two years ago, the EndBASIC interpreter has been using an AST-based execution engine. And during all this time, people have mocked the language for not allowing 10 GOTO 10 . Well, fear not: the upcoming 0.10 release has full support for GOTO and GOSUB , features that were made possible by moving to a bytecode-based interpreter. Let’s take a peek at what the problems were…
It is with great pleasure that I announce the release of EndBASIC 0.9.0 😎️. The major feature in this new release is the ability to launch publicly-shared files via a click of a URL without having to create an account first. Here, try running my jmmv/bounce.bas or jmmv/paint.bas demos in your browser, now!
Graphics support has finally landed in EndBASIC and, with that, the 0.8 release is finally here. This release marks a huge milestone in the development of EndBASIC. Supporting graphics is something I’ve had in mind since the very beginning but had been procrastinating on until a couple of months ago. I feared everything that would be involved in delivering this feature, and to be fair, I was…
Several months have passed since the last EndBASIC release and, since then, you might have seen me talk nonstop about an “EndBASIC service” in social media… which has sounded like vaporware. That changes today. After about four months of work, I am ecstatic to announce that EndBASIC 0.7 is here. And these haven’t been four months of idle time. No, no, no. It has taken four…
After a very active month of development since the 0.5 announcement , it is time to welcome EndBASIC 0.6! This new 0.6 release is super-exciting for three reasons: preliminary GPIO support in the standard library specifically tailored to the Raspberry Pi; multidimensional array support in the language; and availability of binary releases for the most common platforms. You can dive right in by:…
One thing that bothers me quite a lot about various language implementations is that the core of their interpreter isn’t clearly separate from their standard library. This makes it hard to embed those interpreters into other programs because it’s not obvious how to limit their side-effects and because the interpreter dependency can be heavy. In this post, we will see how…
A month has passed since the 0.4.0 announcement so it is about time to say hello to yet another EndBASIC release because 0.5.0 is here! So, what’s new? Not much… unless you look under the covers, in which case a ton has changed. About 30% of the codebase has been affected in one way or another to improve general quality, so read on to see how.
About a month ago and after a long hiatus, I published EndBASIC 0.3 and the adrenaline rush that came with it got my wheels spinning again full-steam ahead. So here I am today, ready to announce the 0.4 release. But… “what could have possibly changed in just a month of someone’s free time”, you wonder? Enough, actually! EndBASIC 0.4 is the release that fulfills my original…
After a 6-month long hiatus caused by me hunting and changing jobs and cities , I am pleased to announce the release of EndBASIC 0.3! The Thanksgiving break has been as fruitful as I had hoped 😁 There are two major changes in this release. The first is the official debut of the web-based interface . I introduced this months ago and have had it running on a “push on green” model, which…
After a ton of work, a lot of which was unexpected, I am ecstatic to announce that EndBASIC is now a reality on the web! The whole language interpreter can now run as a fully client-side web app on a computer, on a tablet… and even on a phone. Yes: the whole thing, which is written in Rust (94%), works in a modern browser with just a tiny bit of JavaScript glue (1%).
A couple of weeks ago, I announced EndBASIC : a simple BASIC language interpreter written in Rust with a goal to provide an environment for teaching my kids how to code. That first release provided what-I-think-is a robust interpreter, but that was about it: the language features were still minimal and the interactive features were non-existent. Well, EndBASIC 0.2.0 is here and things are…
Introducing EndBASIC, a new interpreter for a BASIC-like language that is inspired by Amstrad’s Locomotive BASIC 1.1 and Microsoft’s QuickBASIC 4.5. Like the former, EndBASIC intends to provide an interactive environment that seamlessly merges coding with immediate visual feedback. Like the latter, EndBASIC offers higher-level programming constructs and strong typing. The main idea…