|
Forum Index : Microcontroller and PC projects : MMBasic ANSI - MMBasic on Mac/Windows/Linux in a terminal
| Author | Message | ||||
| gadgetjack Senior Member Joined: 15/07/2016 Location: United StatesPosts: 233 |
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 StatesPosts: 82 |
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 StatesPosts: 233 |
![]() 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 StatesPosts: 82 |
Did you try ‘frun’? |
||||
| Doktorn Newbie Joined: 09/07/2019 Location: SwedenPosts: 36 |
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 StatesPosts: 233 |
![]() Ok , I used [frun] on the bench test i posted before. pretty big change.... Jack |
||||
| gadgetjack Senior Member Joined: 15/07/2016 Location: United StatesPosts: 233 |
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 StatesPosts: 82 |
Can you send me the program it should be source compatible. |
||||
| gadgetjack Senior Member Joined: 15/07/2016 Location: United StatesPosts: 233 |
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 StatesPosts: 82 |
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 StatesPosts: 233 |
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 StatesPosts: 82 |
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: AustriaPosts: 531 |
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: AustriaPosts: 531 |
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: SwedenPosts: 36 |
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 StatesPosts: 82 |
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 StatesPosts: 82 |
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: AustriaPosts: 531 |
@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 StatesPosts: 82 |
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: SwedenPosts: 36 |
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... |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2026 |