Julio Merino takes EndBASIC closer to 1.0 with sound and richer graphics

The Rust-based BASIC environment adds BEEP, SOUND, script execution, a retro VGA font and a macOS SDL fix in version 0.14.0.

By · Published

Why it matters

EndBASIC 0.14 shows a different path for developer tools: a solo maintainer using modern infrastructure to make programming feel immediate again, without turning the project into a venture story.

Retro programming environment (EndBASIC) on a CRT screen (Risograph two-color print — coarse grain, two ink layers (Deep Indigo + Electric Chartreuse), visible misregistration)

Julio Merino (@jmmv) shipped EndBASIC 0.14.0 on July 4, adding basic sound support to the web-first BASIC interpreter and DOS-like programming environment he has been building as a personal open-source project since 2020.

That sound feature is the release's center of gravity. Merino wrote that audio was "the biggest feature I had been wanting to implement for literally years," and he framed 0.14 as the release that clears the last major feature gap on the way to a possible 1.0. EndBASIC now has a BEEP command that works even in the terminal and a SOUND command for arbitrary tones. Merino left out a QBASIC-style PLAY command because it would require its own parser and background playback.

EndBASIC is easy to misread if you look only at the surface. It is not a venture-backed devtools launch, and there is no disclosed funding round, company entity, pricing page, customer count or commercial roadmap. It is a founder-led software project in the old sense of the word: one engineer, a clear itch, a long memory for how approachable personal computing used to feel, and enough infrastructure experience to make the nostalgia run in a browser.

Merino's own background explains the unusual shape of the project. His personal bio says he is a Senior Software Engineer 2 at Snowflake working in Developer Experience Productivity, after roles at Microsoft Azure Storage and Google, where he worked on Bazel and storage systems. Snowflake's author page identifies him as tech lead of its Developer Tools team in Engineering Systems. EndBASIC is what happens when that infrastructure resume is applied to a child's first programming prompt rather than another build pipeline.

A multimedia release after the VM rewrite

The timing matters because 0.14 follows a heavier internal release. Merino published EndBASIC 0.13.0 on May 29, a little more than a month before 0.14, with a new compiler and virtual machine implementation. In the 0.14 post, he described 0.13 as six months of work that delivered large performance gains but little visible payoff for users.

The 0.14 release spends that performance budget on things learners can see and hear. It adds GFX_TRI and GFX_TRIF for outlined and filled triangles, GFX_POLY and GFX_POLYF for polygons, and GFX_FILL for four-way bucket fills. The GitHub release notes also list GFX_PEEK, a new command for querying the color number of a pixel, plus a bundled DEMOS:/BOUNCE.BAS graphics demo and DEMOS:/ALARM.BAS sound demo.

The point is not raw language power. EndBASIC's homepage calls it a "BASIC interpreter + DOS environment, reimagined", with an integrated editor, help system, hybrid text and graphics console, cloud file sharing, and support for desktop, browser and embedded-device use. The design target is a learner who can type a command, see a result, then stitch commands into a program without first assembling a modern development stack.

New hybrid welcome banner in EndBASIC 0.14

That is why the font change is more than cosmetic. EndBASIC 0.14 removes TTF rendering from its web and SDL consoles and moves all consoles to Merino's own bitmap font rendering, with IBM VGA 8x16 as the default. Merino says the change makes the environment look more retro and makes the console behavior consistent across backends. He also changed the welcome banner so a first-time user sees that the console can mix text and graphics.

The founder's bet: immediacy beats polish

Merino's EndBASIC about page traces the project to a Raspberry Pi he configured in 2021 to boot straight into DOSBox with QuickBASIC 4.5. His children responded to simple PRINT and COLOR commands in a way they had not responded to ordinary game use. The result was "E. and D.'s BASIC," later shortened to EndBASIC.

That origin story still governs the product. EndBASIC borrows from 1980s home-computer immediacy and 1990s QBASIC convenience, then wraps the experience in WebAssembly so it runs locally in the browser. The online interpreter is the main distribution surface, but Merino also provides desktop and embedded downloads, an interactive project gallery, and support for Raspberry Pi-style learning setups.

Merino has been plain about the limits of the project. In a 2021 post titled "Why am I wasting time on EndBASIC?", he wrote that he did not expect EndBASIC to gain massive traction and that he had no interest in inventing a perfect new language. His stated reasons were more durable: fun, craft, learning Rust and WebAssembly, and teaching programming foundations. Five years later, 0.14 is still consistent with that thesis. The release does not try to modernize BASIC into a professional app platform. It tries to make the first ten minutes of programming feel rewarding.

That stance separates EndBASIC from fantasy-console tools such as PICO-8 and TIC-80, which revolve around game creation as a complete medium, including sprites, sound and distribution rituals. EndBASIC sits closer to an educational machine you can inspect. It has a DOS-like shell, a REPL, an editor, a structured BASIC dialect, optional line-numbered programming, strong typing, and a Rust codebase that can be read by the curious user who outgrows the surface language.

The unglamorous fixes matter

EndBASIC 0.14 also handles the kind of platform work that determines whether an educational tool survives contact with real users. The SDL graphical console now works again on macOS after crashes caused by graphical operations running outside the main thread. The fix puts graphics operations back on the primary thread, according to the post.

Merino also added Unix shebang support so EndBASIC programs can be executed directly on Unix-like systems. Because a standard #!/usr/bin/env endbasic line leaves little room for console options, he added an EndBASIC property-line mechanism for settings such as console type and resolution. The result is small but important: scripts can launch in a terminal or spawn a graphical console without requiring a separate manual setup step.

The release notes call out additional standard library additions and console improvements alongside these headline features.

Those details show the real tradeoff behind a one-maintainer educational environment. The charming parts need the boring parts. Sound support is the headline because it gets EndBASIC closer to retro mini-games. The macOS fix, unsigned-binary friction, Raspberry Pi setups and GitHub Actions-produced binaries are what make the project usable outside Merino's own machine.

Merino says 0.14 gives EndBASIC what he had in mind when he started in 2020: enough graphics and sound to write retro-style mini-games with BASIC's simplicity.

That restraint is part of the story. EndBASIC is not chasing a fundraising milestone or a developer-adoption chart. It is a long-running founder artifact: a tool built by someone who remembers when a computer invited you to type first and configure later. Version 0.14 makes that invitation louder, literally, and gives the project its clearest path yet from clever retro interpreter to complete teaching environment.

Reader comments

Conversation for this story loads after sign-in.