#endbasic

2025-06-13

EndBOX prototypes are compact, Raspberry Pi-powered computers with small displays and a netBSD-based operating system that boots directly to an EndBASIC shell so the first thing you see is a command line programming language. endbasic.dev/2025/06/unveiling #EndBOX #RaspberryPi #RetroComputer #EndBASIC

2025-06-08

⚡ Unveiling the EndBOX • EndBASIC

「 The EndBOX will run, for lack of a better name, the EndBOX OS. This OS is a quick-to-boot disk image, built on NetBSD, that just exposes EndBASIC. The primary goal behind the OS is get you to a prompt as quickly as possible while offering “advanced” features like USB input and Wi-Fi connectivity. A secondary goal is to be resilient to power cuts 」

endbasic.dev/2025/06/unveiling

#endbox #endbasic #retrocomputing

2024-07-21

🎉 EndBASIC 0.11: Functions, LCDs, and bytecode

「 EndBASIC 0.11 addresses the top feature request of all times: support for user-defined functions and subroutines. EndBASIC 0.10 addressed some of the pain by adding GOTO and GOSUB but there was still a need for structured callables with parameter passing and local variables 」

endbasic.dev/2024/07/endbasic-

#EndBASIC #BASIC #ProgrammingLanguage #Opensource

GripNewsGripNews
2023-07-03

🌘 從AST到字節碼執行在EndBASIC中 - Julio Merino (jmmv.dev)
➤ 從AST到字節碼執行的轉變和GOTO支持的實現
jmmv.dev/2022/11/endbasic-byte
這篇文章介紹了EndBASIC解釋器從AST(抽象語法樹)到字節碼執行的轉變。作者解釋了AST的優點和問題,並介紹了將AST轉換為字節碼的方法,以實現GOTO和GOSUB等功能。
+ 這個轉換方法很聰明,解決了AST執行的問題。
+ 這篇文章很清晰地解釋了AST到字節碼的轉換過程,很有幫助。

2022-12-09

Now with some color and proper built-in documentation for the core language. I /really/ need to stop making changes and release the damn thing already.

#endbasic

EndBASIC console showing the output of HELP "LANG" and how the title and topic names are now colorized. The output also shows entries for documentation on loops, expressions, variables, etc.
2022-12-07

There are still some rendering and movement glitches, but look at what you can achieve with very little #EndBASIC code! In the browser too!😊

2022-12-06

So, #EndBASIC doesn't yet have a primitive to draw circles. Should it, or should I leave that to client code? (I have most of the work done to add the native commands... but SDL2_gfx is gonna be problematic in CI for Windows...

Desktop showing a gvim window with an implementation of the Midpoint circle algorithm, drawing 100 filled/empty random circles, and the output of such code in the EndBASIC graphical console.
2022-12-04

Before calling #EndBASIC 0.10 RTM, let's try to write an Arkanoid-like clone to verify that the new goodies really make for a better programming experience 😊

gvim showing a screenfull of code to draw the basic Arkanoid board, next to EndBASIC running the program.
2022-12-02

SELECT CASE was painful to implement but it's now merged. On target to publish #EndBASIC 0.10 before the holidays.

Screenshot of the EndBASIC tour, showing the screen that talks about structured conditionals. There are brief examples of IF, one-line IFs, and SELECT CASE.
2022-11-30

I know I said #EndBASIC 0.10 was feature complete... but... just... one... more. It's hard to stop. SELECT CASE is nasty though.

Test case for SELECT CASE with three different CASEs, showing the parsed AST.
2022-11-24

Productive flight. I could replace EXIT with END, which was particularly tricky due to the parser having to deal with END IF. Next up: DO UNTIL — and I think that’s gonna be it for #EndBASIC 0.10.

2022-11-23

Replicating #10print in EndBASIC. Progress. Progress!

#endbasic

Surface Go 2 running the "10 PRINT" program from 10print.org in EndBASIC.
2022-11-22

Here is the story of how I recently added GOTO and GOSUB to EndBASIC. Or: a brief intro on how to move from an AST-based executor to a bytecode-based one: jmmv.dev/2022/11/endbasic-byte

#endbasic #rust

2022-11-20

10 GOTO 10 is finally doable in EndBASIC. By far the most common feature request 🤣

#endbasic

Execution of 10 GOTO 10 followed by a CTRL+C interrupt to stop the infinite loop.

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst