Menu
JAQForum Ver 19.10.27

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

   Page 4 of 37    
Posted: 12:59pm
15 Mar 2025
Copy link to clipboard
homa
Guru


Oops, ... Mistake?

I've finally got some time again and have been enjoying the whole development. I updated the rp2350 on the reference board to “PicoMiteHDMI MMBasic USB RP2350A Edition V6.00.02RC3”.

It looks good at first. The application “testcard.bas” shows the different graphic modes. Then I have:

> play mp3 “going”
>

executed. Here the screen reproducibly goes into sleep mode because there is no more graphics output! Was that intended? I find the previous behavior better.

Even a

> load “testcard”
> run
[19] If Instr(MM.DEVICE$, “HDMI”) Then
Error : Expression Syntax

does not help! Now there is even an error message that was not there before.

Only a reset helps.

Here is the option list:

PicoMiteHDMI MMBasic USB RP2350A Edition V6.00.02RC3
OPTION SERIAL CONSOLE COM2,GP8,GP9
OPTION SYSTEM I2C GP20,GP21
OPTION FLASH SIZE 4194304
OPTION COLOURCODE ON
OPTION KEYBOARD GR
OPTION CPUSPEED (KHz) 252000
OPTION RESOLUTION 640x480
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


Matthias
 
Posted: 01:24pm
15 Mar 2025
Copy link to clipboard
matherp
Guru

  Quote  If Instr(MM.DEVICE$, “HDMI”) Then
Error : Expression Syntax


You need to re-download - this is the bug I reported fixed earlier this morning

I'll have a look at the mp3 issue
 
Posted: 01:45pm
15 Mar 2025
Copy link to clipboard
JanVolk
Senior Member

This is with the latest version

PicoMite MMBasic RP2040 Edition V6.00.02RC3
Copyright 2011-2025 Geoff Graham
Copyright 2016-2025 Peter Mather

> option list
PicoMite MMBasic RP2040 Edition V6.00.02RC3
OPTION SYSTEM I2C GP4,GP5
OPTION COLOURCODE ON
OPTION DISPLAY 44, 89
OPTION SDCARD GP17, GP18, GP19, GP16
> list functions
Error: Invalid address - resetting
>

Greetings,

Jan.
 
Posted: 02:51pm
15 Mar 2025
Copy link to clipboard
matherp
Guru

V6.00.02RC4 is available on

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

Fixes MP3 playback on HDMI versions
Fixes LIST FUNCTIONS
Fixes instability in 1280x720 mode 3 HDMI
Fixes graphics commands in 800x600 VGA
Fixes memory issue in WAV playback on RP2040 VGA
Fixes bug in MM.DEVICE$ in USB versions
 
Posted: 02:53pm
15 Mar 2025
Copy link to clipboard
Volhout
Guru

@Peter,

Yes, that later version (I call it "v6.00.02rc3_2" runs all the programs that have caused problems before. We have another winner.
This one is just as good as "v6.00.02b16_2" was...

- logic analyzer: runs
- petscii robots: runs
- as02-5 runs
- rocks: runs
- blocks_sound : runs (played for 20 minutes)
- kong : runs
- chemichaos : runs
- circle : runs
- asciimovie : runs
- flappy : runs
- snake : runs
- gems&rocks: runs
- flow : runs
- 2048 : runs
I still have to test the thermal camera.

Volhout
 
Posted: 04:19pm
15 Mar 2025
Copy link to clipboard
javavi
Guru


PicoMite VGA/HDMI 6.00.02b10
Is it possible to make the MAP(n) function work in MODE 1 to set the color with the COLOR command and other commands ?
For example, something like this:
MODE 1
COLOR MAP(14), MAP(7)
PRINT "COLOUR MAP"
 
Posted: 05:04pm
15 Mar 2025
Copy link to clipboard
matherp
Guru

No, you can set the tile colours. With HDMI you have a choice of 32768 RGB555 colours in 640x480 and 720x400 and 256 RGB332 colours in other modes. In VGA you kjust have the normal 16 colours

TILE 0,0,RGB(red),rgb(white),MM.HRES\MM.fontwidth,mm.vres\mm.fontheight
Edited 2025-03-16 03:05 by matherp
 
Posted: 06:47pm
15 Mar 2025
Copy link to clipboard
javavi
Guru


  matherp said  No,
I recognize the first phase of the already traditional scheme of our communication with you.
 
Posted: 06:48pm
15 Mar 2025
Copy link to clipboard
matherp
Guru

Not in this case. The release is closed.
 
Posted: 06:54pm
15 Mar 2025
Copy link to clipboard
homa
Guru



> play mp3 "going"
> load "spriteDemo"
> run
> mode 1
> option list
PicoMiteHDMI MMBasic USB RP2350A Edition V6.00.02RC4
OPTION SERIAL CONSOLE COM2,GP8,GP9
OPTION SYSTEM I2C GP20,GP21
OPTION FLASH SIZE 4194304
OPTION COLOURCODE ON
OPTION KEYBOARD GR
OPTION RESOLUTION 640x480
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
> ? MM.INFO$(CPUSPEED)
315000000


mp3 works   ==> rejoiced too soon!  


> play mp3 "going"
Error : Not enough Heap memory


I miss an output of the CPU speed when it is not on default.

Matthias
Edited 2025-03-16 05:10 by homa
 
Posted: 07:45pm
15 Mar 2025
Copy link to clipboard
matherp
Guru

  Quote  play mp3 "going"
Error : Not enough Heap memory


You don't give me a sequence or what else is loaded and/or has been run. If memory is used for other things you will get this
 
Posted: 09:05pm
15 Mar 2025
Copy link to clipboard
homa
Guru


exactly the same sequence as above:

reset

> b:
> play mp3 "going"
> load "spriteDemo"
> run
CTRL+C
> mode 1
> option list
...
> ? MM.INFO$(CPUSPEED)
315000000
> play mp3 "going"
Error : Not enough Heap memory
 
Posted: 10:55pm
15 Mar 2025
Copy link to clipboard
WhiteWizzard
Guru

  matherp said  V6.00.02RC4 is available…
Fixes instability in 1280x720 mode 3…..


Confirming all is good once again.  

Thank You for the quick fix; it is very much appreciated.
 
Posted: 10:56pm
15 Mar 2025
Copy link to clipboard
matherp
Guru

Yes but you don't show how much memory spritedemo is taking. I've checked and playing mp3 doesn't leak memory so it just looks like you are using it all - nothing I can do about that. MP3 playing is very memory hungry
 
Posted: 11:08pm
15 Mar 2025
Copy link to clipboard
homa
Guru


  matherp said  Yes but you don't show how much memory spritedemo is taking. I've checked and playing mp3 doesn't leak memory so it just looks like you are using it all - nothing I can do about that. MP3 playing is very memory hungry


spriteDemo is your Code from here: https://www.thebackshed.com/forum/ViewTopic.php?TID=16672&PID=216958#216958#216958

you are right, a “new” helps to free the memory and then “play mp3” works again.
Edited 2025-03-16 09:12 by homa
 
Posted: 08:59am
16 Mar 2025
Copy link to clipboard
matherp
Guru

  Quote  you are right, a “new” helps to free the memory and then “play mp3” works again.


There does seem to be a bug but it looks like something to do with clean up of sprites rather than anything to do with mp3. Will invesigate further

UPDATE
It's caused by the sprites not being closed with ctrl-C. You can do this manually with SPRITE CLOSE ALL. This is a difficult question. How much do I clear up after ctrl-C and how much to leave? The advantage of leaving things is to allow debugging at the command line. So, at the moment, after exiting I could do type SPRITE SHOW to check something. The disadvantage, as you have found is that it leaves a resource tied up.

Any thoughts from anyone reading this appreciated
Edited 2025-03-16 19:47 by matherp
 
Posted: 10:25am
16 Mar 2025
Copy link to clipboard
dddns
Senior Member

  Quote  The advantage of leaving things is to allow debugging at the command line.

From my point of view please leave it as it is, for debugging it is really useful.
And there are commands like "memory" and "clear", a "new" is not necessary.
 
Posted: 10:56am
16 Mar 2025
Copy link to clipboard
bfwolf
Regular Member

  matherp said  UPDATE
It's caused by the sprites not being closed with ctrl-C. You can do this manually with SPRITE CLOSE ALL. This is a difficult question. How much do I clear up after ctrl-C and how much to leave? The advantage of leaving things is to allow debugging at the command line. So, at the moment, after exiting I could do type SPRITE SHOW to check something. The disadvantage, as you have found is that it leaves a resource tied up.

Any thoughts from anyone reading this appreciated


How about adding a non-remanent "DEBUG" option?
For example, "OPTION DEBUG SPRITE KEEP/CLEAR," where "CLEAR" would be the default.
Saving such "OPTION DEBUG" variants together in a bit field in RAM (integer = 64 bits) would also be memory efficient.
This would make it easy to add more "OPTION DEBUG" variants.
But I don't know if that would be easy to do.
Edited 2025-03-16 20:57 by bfwolf
 
Posted: 12:10pm
16 Mar 2025
Copy link to clipboard
twofingers
Guru

Hi Peter,
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. I'm currently busy with VT100 escape codes. That can easily amount to more than 20 constants and consume more than 5-10kB of heap memory for constants that should actually only require 100 bytes. 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.

Perhaps this is something you'd like to add to your to-do list?
Regards
Michael
 
Posted: 12:37pm
16 Mar 2025
Copy link to clipboard
Volhout
Guru

Michael,

Print MM.Info(heap)
Dim a$(20) length 10
Print MM.Info(heap)


Shows that 21 strings length 10 characters (210 bytes) consume only 256 bytes heap. Quite efficient.

Saved 51 bytes
130560
130304


Volhout
Edited 2025-03-16 22:38 by Volhout
 
   Page 4 of 37    
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025