QT6 Brings BASIC To The Web Browser, Or Your Computer

In the old days, you either swore by BASIC or you swore at it — but just about everybody got their start on the educational language. Nowadays, the kids are learning Python, but there’s a case to be made for BASIC — either for education, or just for nostalgic fun. BASIC-256 fills that niche, and now that it’s being ported to the oh-so-portable QT6 by [UglyMike], there’s even a webAssembly version that will let you run BASIC in your browser.

This version of BASIC is based on KidBASIC, which was aimed at the educational market. It’s got some handy-dandy graphics routines, 64-bit variables, and other quality-of-life features you can find in the docs. The new port is multi-platform, though the MacOS version has only been compiled for Apple Silicon — less of an issue than it used to be — and the web version naturally can’t get access to hardware for, e.g., serial ports, so it is somewhat more limited than a full install. There’s a second ARM build for Raspberry Pi along with the ubiquitous x86, but the project is open source, so if you really want to run this on an UltraSPARC system, you are welcome to compile it there. That said, this is a beta version, and the dev is actively looking for problems — so give it a go and let them know.

This isn’t the only open source BASIC out there — even Microsoft released their source code, at least for the 6502.

Thanks to [UglyMike] for the tip!

5 thoughts on “QT6 Brings BASIC To The Web Browser, Or Your Computer

  1. I think i was able to use Grok a while back to input and run emulated basic that I found in an old magazine for a tandy color computer. it was nothing special, but I thought this was standard already.

  2. Just installed it on ZorinOS (look for Basic256 in the software library).
    I copied the source from the screenshot, the program is beautiful.

    #****************

    Bubble Universe

    #****************
    print “A cool looking animated demo style program in Basic256”
    goSub ScreenSetup
    gosub Initialization
    while true
    goSub Draw
    end while

    ScreenSetup:
    Fastgraphics # write to video buffer.
    graphsize 600,600
    color rgb(0,0,0)
    rect(0,0,600,600)
    refresh
    return

    Initialization:
    t = 0.0
    n = 255
    dimen = 600
    cx = 300
    cy = 300
    s=2 * dimen / 9
    dt = PI / 300
    r = PI * 2 /235
    fps = 0
    time = 0
    return

    Draw:
    color rgb(0,0,0,40)
    rect(0,0,600,600)
    x = 0
    v = 0
    u = 0
    for i = 0 to n – 1 step 2
    for j = 0 to n – 1 step 2
    u = sin(i + v) + sin(r * i + x)
    v = cos(i + v) + cos(r * i + x)
    x = u + t
    color rgb(i, j, n – (i + j) / 2)
    plot(s * u + cx, s * v + cy)
    next j
    next i
    refresh
    t =t + dt
    return

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.