Menu
JAQForum Ver 19.10.27

Forum Index : Microcontroller and PC projects : PicoMite 6.03.00 betas

   Page 5 of 6    
Posted: 07:50pm
01 May 2026
Copy link to clipboard
homa
Guru


@Peter: I tested your mouse demo (https://www.thebackshed.com/forum/ViewTopic.php?TID=16657&PID=217248#217248#217248 ) using B4 on HDMIUSB. It’s having trouble recognising the different button press combinations on my system! Can you check that and confirm it?
Matthias
 
Posted: 08:08pm
01 May 2026
Copy link to clipboard
toml_12953
Guru

  matherp said  V6.03.00B4
PicoMiteRP2040V6.03.00B4.zip
PicoMiteRP2350V6.03.00B4.zip

Fixes bugs introduced in LIST PINS and LIST SYSTEM I2C
Fixes bug in cache optimisation of NOT command
Fixes stall of audio on startup and directory change in FM
Fixes memory leak when exiting a program with TRACECACHE enabled back to FM
Fixes memory leak and display corruption when exiting a program writing to a framebuffer back to FM
Fixes temporary screen flash when exiting a program running a different mode back to FM

Here is a document describing the various optimisations in B3 onwards. Note, the change to the Tokenised Line Format section. It is this change that means all library functions must be re-loaded from source.


option-profiling-cache.pdf


This is great! Thanks! Is there any chance of getting an option on the SAVE command that saves a pre-compiled version rather than having to go through this every time we want to speed up a particular program?
 
Posted: 09:49pm
01 May 2026
Copy link to clipboard
matherp
Guru

  Quote  The only thing is that I still find it a bit slow to scroll through long directories in the FM (via TerraTerm)

OPTION BAUDRATE 460800

  Quote  Is there any chance of getting an option on the SAVE command that saves a pre-compiled version rather than having to go through this every time we want to speed up a particular program

That isn't how it works, it compiles on the fly as it finds matching statements
  Quote   It’s having trouble recognising the different button press combinations on my system! Can you check that and confirm it?

Will check tommorow
  Quote  Did you see my question about the CMM2 LOAD/RUN command from within the FM?

Will think about it - running out of function keys/ctrl keys
Edited 2026-05-02 07:54 by matherp
 
Posted: 07:14am
02 May 2026
Copy link to clipboard
homa
Guru


  matherp said  
  Quote  Did you see my question about the CMM2 LOAD/RUN command from within the FM?

Will think about it - running out of function keys/ctrl keys


How about a command prompt (CLI) within FM?
Kind of like the old NC style? ;-)
I think it makes sense to have a bottom row for FX commands, just like in the editor, with the status bar above that and the prompt above that.
Yes, that takes up two lines from the drive windows, but in my opinion, the added benefits make up for it.
That would also enable other things besides CMM2 Load/Run, Xmodem, etc., WITHOUT needing additional keyboard shortcuts or Fx keys. It would also offer the option to start a program with line parameters, which is currently missing.
As you can see, this would unlock a lot of potential.

Matthias
 
Posted: 07:20am
02 May 2026
Copy link to clipboard
matherp
Guru

  Quote  How about a command prompt (CLI) within FM?
Kind of like the old NC style? ;-)
I think it makes sense to have a bottom row for FX commands, just like in the editor, with the status bar above that and the prompt above that.
Yes, that takes up two lines from the drive windows, but in my opinion, the added benefits make up for it.
That would also enable other things besides CMM2 Load/Run, Xmodem, etc., WITHOUT needing additional keyboard shortcuts or Fx keys. It would also offer the option to start a program with line parameters, which is currently missing.
As you can see, this would unlock a lot of potential.

Are you offering to do a complete re-write of FM which is what it would take? Just press ESC and you can enter anything you want at the command prompt
 
Posted: 10:04am
02 May 2026
Copy link to clipboard
homa
Guru


Hi Peter,
Don’t be so sensitive! I didn’t mean to offend you.
As I've said many times before, your work is incredible.  
I was just daydreaming for a moment and I'm just waiting for some really bad weather in the UK.

If I really knew C, I’d get involved. I've tried several times already, though. I even have Kernighan and Ritchie's book lying around here somewhere. It's just a hobby. Professionally, I do something else. We'll see — maybe on my next holiday.

Yes, I'll press ESC. With such an amazing overall impression, you forget that it's just a microcontroller. It's practically a fully-fledged mmBasic OS.

Matthias
 
Posted: 10:08am
02 May 2026
Copy link to clipboard
matherp
Guru

Fix for USB mouse interrupt - no version change

PicoMiteRP2040V6.03.00B4.zip
PicoMiteRP2350V6.03.00B4.zip
 
Posted: 10:31am
02 May 2026
Copy link to clipboard
homa
Guru


  matherp said  Fix for USB mouse interrupt - no version change

PicoMiteRP2040V6.03.00B4.zip
PicoMiteRP2350V6.03.00B4.zip


It works almost perfectly. I only manage to double-click very rarely. That’s where it still has a bit of a hiccup.

I'm on my way now.
 
Posted: 06:13am
03 May 2026
Copy link to clipboard
ville56
Guru

B4 seems to be about 5% faster compared to B2/B3.
 
Posted: 09:40am
03 May 2026
Copy link to clipboard
karlelch
Guru


Looks like MMBasic is getting something approaching a JIT compiler …
 
Posted: 07:28am
04 May 2026
Copy link to clipboard
disco4now
Guru


Peter,
The command line wrapping at the command prompt needs a fix. setterminal does not now add the extra 1 to to Option.Width probably since the editor was enhanced.

The code in RED below needs to be deleted so the line wrap columns will match Option.Width and not Option.Width+1.

Also as discussed here
  Quote  
the pico is issuing <ESC>[?7l (turn OFF auto line wrap) at the startup of the editor, but apparently not issuing <ESC>[?7h (turn ON auto line wrap) upon exiting the editor.

I can't see in the source where the <ESC>[?7l happens but if I issue Print <ESC>[?7h and adjust the terminal to 81 columns after exiting the editor the line wrapping at the console is all good again.



void MIPS16 EditInputLine(void)
   {
       ....

       // Calculate line wrap positions
       if (Option.DISPLAY_CONSOLE && Option.Width <= SCREENWIDTH)
       {
           l2 = SCREENWIDTH + 1 - MMPromptPos;
           l3 = 2 * SCREENWIDTH + 2 - MMPromptPos;
           l4 = 3 * SCREENWIDTH + 3 - MMPromptPos;
       }
       else
       {
           l2 = Option.Width + 1 - MMPromptPos;
           l3 = 2 * Option.Width + 2 - MMPromptPos;
           l4 = 3 * Option.Width + 3 - MMPromptPos;
       }




> option list
PicoMiteHDMI MMBasic USB RP2350A Edition V6.03.00B4
OPTION SERIAL CONSOLE COM2,GP8,GP9
OPTION SYSTEM I2C GP20,GP21
OPTION FLASH SIZE 4194304
OPTION COLOURCODE ON
OPTION KEYBOARD US
OPTION RESOLUTION 640x480 @ 315000KHz
OPTION DISPLAY 30, 53
OPTION SDCARD GP22, GP26, GP27, GP28
OPTION AUDIO GP10,GP11', ON PWM CHANNEL 5
OPTION RTC AUTO ENABLE
OPTION MODBUFF ENABLE  192
OPTION PLATFORM HDMIUSB

Gerry
Edited 2026-05-04 17:39 by disco4now
 
Posted: 09:03am
04 May 2026
Copy link to clipboard
matherp
Guru

V6.03.00B5

PicoMiteRP2040V6.03.00B5.zip
PicoMiteRP2350V6.03.00B5.zip

Tweaks USB mouse doubleclick timings
Fixes bug where the editor didn't re-enable autowrap in the serial terminal
Fixes bug in multiline command handling (thanks Gerry)

The stepper command now supports 4 axis by adding the A axis
Stepper_Reference.pdf

New editor function F12 will "beautify" your code:

Summary:
Beautify in the Editor (not PICOMITEMIN) walks the program line-by-line classifying each line's leading keyword to compute indentation (2 spaces per level).
Recognised constructs: IF…THEN/ELSE/ELSEIF/ENDIF/END IF (multi-line only — single-line IF with anything after THEN doesn't open a block), FOR/NEXT, DO[...]/LOOP[...], SELECT CASE/CASE[/ELSE]/END SELECT, FUNCTION/END FUNCTION, SUB/END SUB, and TYPE/END TYPE (not PICOMITEMIN).
F12 in the main editor switch now invokes it (no-op on PICOMITEMIN builds), marks the buffer changed, redraws, repositions cursor at top, and shows BEAUTIFIED.
Footer help strings (≥55 cols) now advertise F12:Beautify/F12:Btfy.
Blank lines are removed with the exception that a single blank line is inserted before each subroutine or function definition

Notes / limitations to be aware of when using:

Cursor returns to top of file after beautify
comment-only lines indent at the current level.
Labels and old-style line numbers at line start are not detected (the keyword test runs on the very first non-whitespace token).
The classifier is purely first-token based — IF…:ENDIF written as a single line with : separators isn't detected as multi-line.
 
Posted: 12:11pm
04 May 2026
Copy link to clipboard
disco4now
Guru


Peter,
Any chance these B5 zips aren't the latest. The time stamp inside is 9.45am and BEAUTIFIED is there but the bug fixes don't seem to be. They should have been later 6.00pm or something.
Gerry

P.S. Time stamp thing might be wrong , forgot the TZ difference. But fix seem to be missing.
Edited 2026-05-04 22:15 by disco4now
 
Posted: 12:23pm
04 May 2026
Copy link to clipboard
matherp
Guru

Gerry

Picomite.c was updated 09:25 and the build started 09:39. You should see the changed file on github which is what I built against.
 
Posted: 04:23pm
04 May 2026
Copy link to clipboard
terekgabor
Regular Member

Hello Peter!

Very good new beta! Thanks!
Is beautify working with Picocalc also?
If yes how, because no F12.

G@bor
 
Posted: 06:53pm
04 May 2026
Copy link to clipboard
matherp
Guru

I'll add ctrl-A for F12 in the next beta
 
Posted: 07:01pm
04 May 2026
Copy link to clipboard
terekgabor
Regular Member

Perfect Peter! I am pleased with your very fast responses and support!

Really very much like to use this Basic!

G@bor
 
Posted: 07:22pm
04 May 2026
Copy link to clipboard
bfwolf
Senior Member

  matherp said  I'll add ctrl-A for F12 in the next beta


What is ctrl-B currently bound to? Would be easier to remember..

In German we have the adjective "adrett" as a synonym for "neat" or "beautiful", so for us Germans it would fit as a memory-hook for ctrl-A..
 
Posted: 07:30pm
04 May 2026
Copy link to clipboard
circuit
Guru

  matherp said  V6.03.00B5

The stepper command now supports 4 axis by adding the A axis


Oh, this just gets better and better...and beyond!
Time to buy another stepper motor and rotary chuck.
 
Posted: 07:42pm
04 May 2026
Copy link to clipboard
toml_12953
Guru

  terekgabor said  Perfect Peter! I am pleased with your very fast responses and support!

Really very much like to use this Basic!

G@bor


If you want to add Ctrl-A as beautify key before Peter has a chance to get to it, edit Editor.c and insert this line after 6753:

     // F12 - Beautify (re-indent block structures)
           case F12:
           case CTRLKEY('A'):                       //This line inserted
               editBeautify(edit_buff_size);


It doesn't appear to work on line-numbered programs.

On PicoCalc, if cursor is on first character in line, pressing the left cursor arrow acts just like F12 otherwise, it moves the cursor left as usual.
Edited 2026-05-05 05:55 by toml_12953
 
   Page 5 of 6    
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2026