SmallBASIC 12.33

After a lot of changes for the Android version and a Flatpak package for Linux finally the Windows version of SmallBASIC 12.33 can be downloaded.

The top changes are:

  • SDL: Update to SDL3
  • SDL: Add editor tool bar
  • SDL: Updated to use modern desktop icon
  • SDL: Update help display
  • FLTK: Updated to use modern desktop icon
  • COMMON: Add image scaling
    I2 = image("test.png", 0.5)     ' downscaling by factor 2
    I2.show(65,1)
    I3 = image("test.png", 2)       ' upscaling by factor 2
    I3.show(97,1)
    
  • COMMON: Add Transpose()
    A = [1,2; 3,4; 5,6]
    print transpose(A)   ' output: [1,3,5;2,4,6] 
    
  • FIX: TICKS stops working after 50 days
  • FIX: Non-posix baud rates
  • FIX: Odd behavior with suppressing newline in console version
  • FIX: Bug with DELAY(0)
  • FIX: Module callback error
  • FIX: Issue with space char before import ‘c-module’

I was wondering about ticks(). Any reason we don’t have the option to reset to zero?

TICKS gives the number of milliseconds since start of the OS. Relative time measurement is quite easy using SmallBASIC by storing the start time in a variable. Settting TICKS to zero would be possible but I don’t see big benefits right now . Do you have some ideas where this would be useful?

It’s no big deal apart from rollover anxiety which it sounds like you have addressed.

It’s just a bit cleaner in MMBasic:

Timer=0

do
.
.
.
loop while Timer < 100

I had a quick look how to implement this. I think I can do something like this:

ticks(0)

repeat
.
.
until ticks() > 100
1 Like

Awesome :+1: :smiling_face_with_sunglasses: and presumably this happens across all platforms, including Teensy?

Thanks for the update, the toolbar is nice at the bottom of the SDL version, and of coarse who doesn’t like the Console :slight_smile: