Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 06:18 22 Jun 2026 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : MMBasic ANSI - MMBasic on Mac/Windows/Linux in a terminal

     Page 3 of 6    
Author Message
gadgetjack
Senior Member

Joined: 15/07/2016
Location: United States
Posts: 233
Posted: 05:20pm 08 Jun 2026
Copy link to clipboard 
Print this post

It took a couple times to get it loaded but it works great!!! Thank you for taking the time to release this version. I will be doing some playing now.
Jack
 
jvanderberg
Regular Member

Joined: 06/05/2026
Location: United States
Posts: 82
Posted: 05:58pm 08 Jun 2026
Copy link to clipboard 
Print this post

If PSRAM is not detected, there are now two builds:

Octal (usually should work for newer boards)
https://github.com/jvanderberg/PicoMiteAllVersions/releases/download/latest/MMBasic-Anywhere-esp32-s3-octal-merged.bin

Quad (for older boards, usually less psram)
https://github.com/jvanderberg/PicoMiteAllVersions/releases/download/latest/MMBasic-Anywhere-esp32-s3-quad-merged.bin


Also it now autodetects PSRAM size instead of allocating a fixed 6MB.

Also give 'frun' a shot, this is the bytecode compiler. It works only with a filename. 'frun "sieve.bas"' and re-reads the file every time, unlike 'run'. But it runs some code significantly faster, and for graphics on the esp32-s3 with LCD, it can be significantly faster.
 
gadgetjack
Senior Member

Joined: 15/07/2016
Location: United States
Posts: 233
Posted: 06:50pm 08 Jun 2026
Copy link to clipboard 
Print this post



Here is the benchmark speed test for the esp32-s3 version of basic.
I am happy to get some use out of those boards that were wasting time in my bench drawer.
 
jvanderberg
Regular Member

Joined: 06/05/2026
Location: United States
Posts: 82
Posted: 07:12pm 08 Jun 2026
Copy link to clipboard 
Print this post

Did you try ‘frun’?
 
Doktorn

Newbie

Joined: 09/07/2019
Location: Sweden
Posts: 36
Posted: 08:25pm 08 Jun 2026
Copy link to clipboard 
Print this post

WaveShare ESP32-S3-PICO with MMBasic-Anywhere-esp32-s3-quad-merged.bin

OPTION WIFI dd-wrt, ********, ESP32-F81004
OPTION USB SERIAL
OPTION PSRAM SIZE 1
> web ntp 2
ntp address pool.ntp.org
got ntp response: 08/06/2026 22:08:22
> frun "sieve.bas"
Sieve(6000) in   155.49 ms
 
gadgetjack
Senior Member

Joined: 15/07/2016
Location: United States
Posts: 233
Posted: 10:38pm 08 Jun 2026
Copy link to clipboard 
Print this post



Ok , I used [frun] on the bench test i posted before. pretty big change....

Jack
 
gadgetjack
Senior Member

Joined: 15/07/2016
Location: United States
Posts: 233
Posted: 10:40pm 08 Jun 2026
Copy link to clipboard 
Print this post

I did have to change all " if " statements to " if then " before it would compile right. Other than that , no worries.
 
jvanderberg
Regular Member

Joined: 06/05/2026
Location: United States
Posts: 82
Posted: 11:14pm 08 Jun 2026
Copy link to clipboard 
Print this post

Can you send me the program it should be source compatible.
 
gadgetjack
Senior Member

Joined: 15/07/2016
Location: United States
Posts: 233
Posted: 12:06am 09 Jun 2026
Copy link to clipboard 
Print this post

Benchmark.zip
 This is the file we have passed around for a while to test the pico speed. When i tried it in "frun" it came back with "if without then" error. I added a then to each line and then it was fine. That was the only error it gave me , rest ran ok and faster.
Jack
 
jvanderberg
Regular Member

Joined: 06/05/2026
Location: United States
Posts: 82
Posted: 01:32am 09 Jun 2026
Copy link to clipboard 
Print this post

  gadgetjack said  Benchmark.zip
 This is the file we have passed around for a while to test the pico speed. When i tried it in "frun" it came back with "if without then" error. I added a then to each line and then it was fine. That was the only error it gave me , rest ran ok and faster.
Jack


Yeah 'frun' is it's own parser, so rare syntax forms sometimes get missed. I'll post a fix for this soon.  

It's about 10x faster than the interpreter on this benchmark.
 
gadgetjack
Senior Member

Joined: 15/07/2016
Location: United States
Posts: 233
Posted: 01:42am 09 Jun 2026
Copy link to clipboard 
Print this post

No complaints from me. I am having fun with this one. If you ever get any lcd or vga drivers for it , please let me know. Till then , Thanks again!!!
Jack
 
jvanderberg
Regular Member

Joined: 06/05/2026
Location: United States
Posts: 82
Posted: 01:52am 09 Jun 2026
Copy link to clipboard 
Print this post

  gadgetjack said  No complaints from me. I am having fun with this one. If you ever get any lcd or vga drivers for it , please let me know. Till then , Thanks again!!!
Jack


Oh, it's got vga drivers - I've only tested 3 bit color, but the readme shows how to configure it for more.

It has an LCD driver, though I am not sure how usable it will be in general. It supports the FREENOVE 2.8" touch panel, which is a generic IL* LCD, but it's not wired in as a general LCD panel, only as the FREENOVE configuration. It should not take a lot of work to get it working with a different panel, just needs to GPIO mappings.
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 531
Posted: 06:23am 09 Jun 2026
Copy link to clipboard 
Print this post

I don't know where it comes from, but the execution times are rather inconsistent. I have wrapped the sieve.bas with a do/loop construct to have it run forever. If I look at the execution times of the individual sieve-runs they are very different.

Sieve(6000) in  875.956        ms
Sieve(6000) in  755.13 ms
Sieve(6000) in  1135.285       ms
Sieve(6000) in  2314.811       ms
Sieve(6000) in  1084.235       ms
Sieve(6000) in  907.463        ms
Sieve(6000) in  799.189        ms
Sieve(6000) in  724.963        ms
Sieve(6000) in  2404.137       ms
Sieve(6000) in  1571.621       ms
Sieve(6000) in  1132.949       ms
Sieve(6000) in  946.375        ms
Sieve(6000) in  813.296        ms
>


> option list
OPTION USB SERIAL
OPTION PSRAM SIZE 6
>

Is there an explanation for it?
                                                                 
73 de OE1HGA, Gerald
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 531
Posted: 07:51am 09 Jun 2026
Copy link to clipboard 
Print this post

Another issue here ...

- the latest quad build from github run with option wifi set but does not use SPRAM
- the octal build uses SPRAM but with option wifi set it crashes on boot with

------------- snip --------------------
W (3134) wifi:m f auth
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x4215d9ca  PS      : 0x00060830  A0      : 0x8215da83  A1      : 0x3fce27f0  
A2      : 0x8214e4e1  A3      : 0x3fce39d4  A4      : 0x00000000  A5      : 0x00000000  
A6      : 0x3fce27fc  A7      : 0x00000000  A8      : 0x3c18fee4  A9      : 0x0000ff00  
A10     : 0x00000000  A11     : 0x00000029  A12     : 0x3fce1c28  A13     : 0x00000001  
A14     : 0xffffffff  A15     : 0x3fce1e5c  SAR     : 0x0000001a  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x8214e4e1  LBEG    : 0x40056f5c  LEND    : 0x40056f72  LCOUNT  : 0x00000000  


Backtrace: 0x4215d9c7:0x3fce27f0 0x4215da80:0x3fce2850




ELF file SHA256: 380136511

Rebooting...

                                                                 
73 de OE1HGA, Gerald
 
Doktorn

Newbie

Joined: 09/07/2019
Location: Sweden
Posts: 36
Posted: 11:13am 09 Jun 2026
Copy link to clipboard 
Print this post

WaveShare ESP32-S3-PICO with MMBasic-Anywhere-esp32-s3-quad-merged.bin

[18] WEB open tls client SITE$ ,443 This line ---->  Error : Syntax
 
jvanderberg
Regular Member

Joined: 06/05/2026
Location: United States
Posts: 82
Posted: 11:37am 09 Jun 2026
Copy link to clipboard 
Print this post

TLS was left out for space reasons when bringing up the port, it's on the list.
 
jvanderberg
Regular Member

Joined: 06/05/2026
Location: United States
Posts: 82
Posted: 12:00pm 09 Jun 2026
Copy link to clipboard 
Print this post

MMBasic-Anywhere-esp32-s3-octal-40MHz-merged.bin.zip

For the octal psram crash, here's a version that clocks the PSRAM slower. It might not work, but this could fix the issue.  If it does, I am not sure what I will do.  I don't want to really clock the PSRAM at half speed because some boards crash.

The 80MHz version runs well with wifi locally on the board I have.

Let me know if the 40MHz fixes it.
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 531
Posted: 01:21pm 09 Jun 2026
Copy link to clipboard 
Print this post

@jvanderberg,

the octal psram issue seems to be fixed with the 40MHz version. It boots up fine, connects to wifi and is responsive. Maybe it's an option to throttle down psram speed after a crash reboot and give it a second try.

As already stated, Annex Basic RDE runs fine on this modules. I don't know how the developer did handle this issue in Annex and how fast psram is clocked there.
                                                                 
73 de OE1HGA, Gerald
 
jvanderberg
Regular Member

Joined: 06/05/2026
Location: United States
Posts: 82
Posted: 01:30pm 09 Jun 2026
Copy link to clipboard 
Print this post

Sadly it’s a compile time only option so I’d have to offer a quad, octal 80 and octal 40. Which is confusing :)
 
Doktorn

Newbie

Joined: 09/07/2019
Location: Sweden
Posts: 36
Posted: 03:15pm 09 Jun 2026
Copy link to clipboard 
Print this post

FYI : MMBasic-Anywhere-esp32-s3-quad-merged.bin

> E (136972) esp-sha: Failed to allocate buf memory

***ERROR*** A stack overflow in task wifi has been detected.

Backtrace: 0x40375f2a:0x3fce34a0 0x40380199:0x3fce34c0 0x40380f7e:0x3fce34e0 0x403826b1:0x3fce3560 0x403810b0:0x3fce3580 0x403810a6:0x3fce2294 |<-CORRUPTED

ELF file SHA256: 09e7a79e5

Rebooting...
 
     Page 3 of 6    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2026