Menu
JAQForum Ver 19.10.27

Forum Index : Microcontroller and PC projects : PicoMite V6.00.02 release candidates - all versions

   Page 5 of 37    
Posted: 12:53pm
16 Mar 2025
Copy link to clipboard
twofingers
Guru

Hi Harm,

  Quote  I'm not interested in discussing how to work around this, e.g., by inserting the escape sequences directly into the code or something similar.

I think it's about constants, not variables or string arrays.
If I want to access the individual elements of an array in the program, it's not so clear what that means; I could write the escape sequence better. In my opinion, Const VT_RED$=Chr$(27)"[91m" would be more readable.
Constants have the advantage that they can't be accidentally changed. But you probably know that yourself.
Kind regards
MIchael
 
Posted: 01:31pm
16 Mar 2025
Copy link to clipboard
matherp
Guru

  Quote  I know it's too late for this release, but maybe an idea for the next one? Is it possible to automatically set the lengths of string constants? This means that MMBasic or the preprocessor limits the memory usage to the value required by the string constant, a kind of automatic "LENGTH" command in the background.


Yes - will be in the release


 
Posted: 01:51pm
16 Mar 2025
Copy link to clipboard
twofingers
Guru

  matherp said  Yes - will be in the release...

That's cool! Thanks.  I'm a bit worried, though, about the differences between 2040 and 2350. But at least up to a length of 9 bytes, there shouldn't be any compatibility issues. That's more than I hoped.
Kind regards
Michael
 
Posted: 02:28pm
16 Mar 2025
Copy link to clipboard
matherp
Guru

V6.00.02RC5 is available on

https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip

Implements automatic length adjustment for string constants. Where strings are less that 15 characters (RP2350) or 9 character(RP2040) no heap will be used. NB: prior to this release RP2350 only allowed 7 characters in a string without using heap.

Reduce memory usage of MP3 payback by 48Kbytes - now 97Kb

Terminating a program with ctrl-C now closes all sprites. This makes sense as framebuffers were already deleted so if sprite wer being written to a framebuffer then......
 
Posted: 03:25pm
16 Mar 2025
Copy link to clipboard
homa
Guru


WOW, rc5 seems to work really well.
Including the speed output in the options :-)

I find the behaviour after ctrl-c better this way (although I understand the desire for a debug flag).

I seem to remember that this PLOP noise after playing a music file or even slightly at startup used to be less, or am I wrong?

Matthias
 
Posted: 03:55pm
16 Mar 2025
Copy link to clipboard
homa
Guru


Okay, this behavior seems to be new!

In the console, non-displayable characters are suppressed as usual in the output, this was also the case in the HDMI/VGA output ...

> list
m$="Test"
pm$=m$+Chr$(&h80)
Print 1,pm$;"XXX";Len(pm$)
> run
1      TestXXX 5
>


Now a square appears there (see picture).  



Is this new behavior desired?

Matthias
 
Posted: 04:06pm
16 Mar 2025
Copy link to clipboard
matherp
Guru

  Quote  Okay, this behavior seems to be new!


No been like this forever. Some fonts have characters above chr$(127)
Manual page 65
 
Posted: 04:20pm
16 Mar 2025
Copy link to clipboard
homa
Guru


Oh, I wasn't aware of that before. I guess I only had the console version in mind.
Do I remember the Plop that badly?
 
Posted: 01:26am
18 Mar 2025
Copy link to clipboard
JanVolk
Senior Member

Peter,

There may be a problem with the editor in version v6.00.02RC5 when editing a fairly large program?
If you are at about line 500 and scroll up and down a bit, the program stops without a message and can only be brought back to life with a reset and you can start over again.

I was editing m_vt100_noVGA_02026_127.zip when this happened.

> option list
PicoMite MMBasic RP2040 Edition V6.00.02RC5
OPTION SYSTEM I2C GP4,GP5
OPTION COLOURCODE ON
OPTION CPUSPEED (KHz) 200000
OPTION DISPLAY 40, 80
OPTION SDCARD GP17, GP18, GP19, GP16
>

Greetings,

Jan.
 
Posted: 07:22am
18 Mar 2025
Copy link to clipboard
Volhout
Guru

Hoi Jan,

Dutch: Ik heb jouw hardware niet, maar heb hetzelfde geprobeerd op een RP2040 GEEK. Ik kan het niet reproduceren. Kun je (voor de gein) de CPU speed eens terug zetten op 133MHz. Mijn GEEK draait (weer) op 133MHz vanwege warmteontwikkeling.

English: I cannot duplicate on RP2040 GEEK. Please try CPUSPEED 133000. I reverted the CPU clock on the GEEK to 133 MHz since the unit gets warm easilly, with the linear regulator and built in OLED display in the small plastic package.

Volhout
P.S. I find RC5 stable on my RP2040 platforms, all using genuine RP boards.
Edited 2025-03-18 17:41 by Volhout
 
Posted: 09:27am
18 Mar 2025
Copy link to clipboard
electricat
Senior Member


@Peter

HDMI/USB/2350
I can`t get in what`s so wrong with my libraries but all previous betas, and now 6.02RC5 still wil not LIBRARY SAVE. Only works in a way, if I first CMM2 LOAD and later cmd LIBRARY SAVE

help.zip
Tray if it works for you LOAD and LIBRARY SAVE.

And not with this file only.
Just created another 30 kb lib, and was not able to save (without prior CMM2 LOAD).

Betas were reseting with timeout error and RC5 just resets silently (or at least clears to defaults, can`t say really)

Manual seems allow LIBRARY SAVE anytime you wish without use of CMM2 LOAD.
While it is clever thing to chrunch before library save, I feel official user manual must have additional notes or it might need some firmware fix.
 
Posted: 09:40am
18 Mar 2025
Copy link to clipboard
Mixtel90
Guru


As far as I can see LIBRARY SAVE simply moves the contents of Flash Slot 0 to Flash Slot 3 just stripping out some spaces and comments as it does so.

If you have a library then you must reload it from scratch after updating MMBasic as tokens may have changed and your existing library, even if it hasn't been deleted, may be corrupt.
 
Posted: 10:00am
18 Mar 2025
Copy link to clipboard
matherp
Guru

You need to isolate what in the program is causing the problem and then I can investigate. CMM2 LOAD does a crunch on the program removing blank lines/comments etc. You can also try AUTOSAVE C to load the original program and see if that saves to the library OK.
If that works start adding back comments etc. to see what breaks it.
I didn't write the library routines. So once we identify what causes the problem I can ask Gerry to have a look.
 
Posted: 10:47am
18 Mar 2025
Copy link to clipboard
Volhout
Guru

@electricat

I do not have your platform. But I tested on RP2040 Picomite (on GEEK unit).
I load this program. Then I type "LIBRARY SAVE".

> list
Sub FreePins
Local n,gp$,p,pu$
For n=0 To 29
gp$ = "GP"+Str$(n)
p = MM.Info(pinno gp$)
pu$ = MM.Info(pin p)
Print gp$, p, pu$
Next
End Sub


And (also after a reset) I can type "freepins" any time. The library works.
Please try the same on your platform. As Mick said, the library uses flash slot #3.

> FLASH LIST
Slot 1 in use: "'#B:/banner.bas"
Slot 2 in use: "'#B:/fm/fm_vt100_noVGA_02026_1.bas"
Slot 3 in use: Library


Volhout
Edited 2025-03-18 20:47 by Volhout
 
Posted: 11:01am
18 Mar 2025
Copy link to clipboard
Volhout
Guru

@electricat,

With your "help.zip" the GEEK also crashes when doing a library save.
Also after I replaced all DIM with LOCAL it still crashes (reboot / USB reconnect).
Something in this program upsets the LIBRARY SAVE.

Volhout
 
Posted: 11:22am
18 Mar 2025
Copy link to clipboard
bfwolf
Regular Member

  Volhout said  @electricat,

With your "help.zip" the GEEK also crashes when doing a library save.
Also after I replaced all DIM with LOCAL it still crashes (reboot / USB reconnect).
Something in this program upsets the LIBRARY SAVE.

Volhout


@Volhout, @electricat:

Lines 40 to 47 in help.bas..
If picomite=1 Then
If allow_tile=1 Then
TILE height font_h
End If
work_with_drive 'check and choose working drive or stop program if not ready
Else
work_with$="C"
End If 'end picomite


"End If" and "Else" inside are swapped?

More inconsistencies like this perhaps in the code? Didn't look further..

--

Edit: Sorry! Was confused by the indention in help.bas ..  
The Else seems to belong to the outer if - so syntactically OK..

bfwolf
Edited 2025-03-18 21:43 by bfwolf
 
Posted: 12:17pm
18 Mar 2025
Copy link to clipboard
electricat
Senior Member


@Peter, Mick, Volhout, bfwolf and all

Like Volhout noted, small SUB saving does not causes problem for me too.

I felt it is connected to library size, becouse I was removing 'suspicious' SUBs only later to find other line causes problem. (I did all kind of things like looking at file in HEX editor, removing subs, coments, lines etc... also looking through in notepad++  with all 'invisible' chars switched on ... )

What I did, I CMM2 LOADed library and just copy/pasted to make library 'big' meands, 31 Kb in size. (If I do not RUN anything, technically it does not matter if subs inside of it are duplicated or not.)  
cmm2 crunched.zip

See what I got!  


If FLASH SLOT 3 is 100 kb, no way 31 Kb lib would cause such result  
 
Posted: 12:20pm
18 Mar 2025
Copy link to clipboard
electricat
Senior Member


Something wrong with flash adress I believe
 
Posted: 12:23pm
18 Mar 2025
Copy link to clipboard
disco4now
Guru


  electricat said  @Peter

HDMI/USB/2350
I can`t get in what`s so wrong with my libraries but all previous betas, and now 6.02RC5 still wil not LIBRARY SAVE. Only works in a way, if I first CMM2 LOAD and later cmd LIBRARY SAVE


I have had a play with this. Not sure of the root cause but fixed if you use
COLOUR command in lieu of COLOR command.
They use to be the same, but now recognised as separate commands I think.

The first use of COLOR will save to library but anymore and it hangs.

Use COLOUR and it good for me.

Gerry
 
Posted: 12:34pm
18 Mar 2025
Copy link to clipboard
Volhout
Guru

  disco4now said  

The first use of COLOR will save to library but anymore and it hangs.
Use COLOUR and it good for me.

Gerry


I am sure Peter did this on purpose...    
There was a discussion years agou about COLOUR versus COLOR..
.
.
Edited 2025-03-18 23:15 by Volhout
 
   Page 5 of 37    
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025