phat code My software never has bugs. It just develops random features.
Main

Projects

Downloads

Articles

Links

Forum

 

View Message

Back to Messages
EkBass Sun Mar 22 2026 at 3:39 am
BazzBasic 1.1 released
 
 
Download: https://github.com/EkBass/BazzBasic/releases/tag/BazzBasic_1.1

# News and changes
These changes are about the current source code. These are effected once new binary release is published

## Mar 2026


## 22nd Mar 2026

Released as version 1.1

## 22nd Mar 2026

At Rosetta code I got inspired to create pendulum animation.
[pendulum_animation.bas](Examples/pend ulum_animation.bas)

## 21st Mar 2026

BazzBasic-AI_guide.md is a tutorial for modern AI's. With it, AI can easily teach the user how to use BazzBasic.

Just download the file, attach it as project file or via prompt to AI and you are cool to go. 

[Technical guide ment for AI](https://github.com/EkBass/BazzBasic/discussions/26)

---
Unfortunately, the GamePad support I planned didn't make it to version 1.1

The reason is that the SDL2 library has been having problems for some time, especially with Bluetooth gamepads.

I didn't want to do something half-hearted, so the gamepad support is now on hold until SDL2 gets its library back in condition.

Instead, I added three other functions that I've had in mind for some time: *BASE64ENCODE*, *BASE64DECODE* and *SHA256*

## 21st Mar 2026

Added JSON support: 'ASJSON', 'ASARRAY', 'LOADJSON', 'SAVEJSON'

'''vb
DIM data$
data$("name") = "Alice"
data$("score") = 9999
data$("address,city") = "New York"

LET json$ = ASJSON(data$)
' Output: {"name":"Alice","score":9999,"address":{ "city":"New York"}}

DIM back$
LET count$ = ASARRAY(back$, json$)
PRINT back$("name")         ' Alice
PRINT back$("address,city") ' New York

SAVEJSON data$, "save.json"
DIM loaded$
LOADJSON loaded$, "save.json"
'''

Added 'BASE64ENCODE', 'BASE64DECODE' and 'SHA256'

'''vb
LET encoded$ = BASE64ENCODE("Hello, World!")
PRINT encoded$              ' SGVsbG8sIFdvcmxkIQ==

LET decoded$ = BASE64DECODE(encoded$)
PRINT decoded$              ' Hello, World!

LET hash$ = SHA256("password123")
PRINT hash$                 ' ef92b778... (64-char lowercase hex)
'''

---

## 14th Mar 2026

## Sound system fix — parallel audio playback

**Problem:** The old implementation loaded MP3/OGG/FLAC files with 'Mix_LoadMUS()' which uses the SDL2_mixer's global Music channel — only one sound at a time.

**Fixes:**
- All sounds are now loaded with 'Mix_LoadWAV()' → play on their own Mix_Channels in parallel
- 'SDL_INIT_AUDIO' added to 'SDL_Init()' call in 'Graphics.cs'
- 'SoundManager' calls 'SDL_Init' + 'SDL_InitSubSystem' to ensure audio subsystem even without 'SCREEN' command
- 'SDL_AUDIODRIVER=directsound' set in 'Program.cs' to work around WASAPI issues (Nahimic middleware causes "Invalid Handle" error in WASAPI)
- 'PlayOnceWait' gets 50ms delay before polling loop due to DirectSound startup delay


## 7th Mar 2026

Added HTTP support for LOADIMAGE
### LOADIMAGE with url
'''vb
LET sprite$ = LOADIMAGE("https://example.com/sprite.png")
' → downloads "sprite.png" to root of your program
' → sprite$ works just as with normal file load

' to remove or move the downloaded file
SHELL("move sprite.png imagessprite.png")   ' move to subfolder
' or
FileDelete "sprite.png"                       ' just delete it
'''

Added WAITKEY() function.

## WAITKEY
Halts the execution until requested key is pressed.

'''vb
' Wait just the ENTER key
PRINT "ENTER"
PRINT WAITKEY(KEY_ENTER#) ' output: 13

' Wait any of "a", "b" or "esc" keys
PRINT "A, B or ESC"
PRINT WAITKEY(KEY_A#, KEY_B#, KEY_ESC#) ' output: depends of your choice of key

PRINT "Press any key..."
LET a$ = WAITKEY()
PRINT a$ ' output: val of key you pressed
'''

## 2nd Mar 2026

Added SHELL feature

'''vb
' SHELL arg$, timeout$
' Sends a command to the system command interpreter 
' Param *timeout$* is optional. If not given, standard 5000 milliseconds used for timeout.

' with default timeout option
LET a$ = SHELL("dir *.txt")
PRINT a$

' sets timeout to 2 seconds
' 1000ms = 1 second etc.
LET a$ = SHELL("dir *.txt", 2000)
PRINT a$
'''
 
 
 
 

Reply to this Message

Name
Subject
Message

No HTML is allowed, except for <code> <b> <i> <u> in the message only.
All URLs and email addresses will automatically be converted to hyperlinks.