Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 01:12 10 May 2025 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 : PicoMite V6.00.02 betas

     Page 4 of 23    
Author Message
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3998
Posted: 11:08am 24 Jan 2025
Copy link to clipboard 
Print this post

Might need to clear flash?

John
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 11:11am 24 Jan 2025
Copy link to clipboard 
Print this post

No he's done that.

As I suggested previously try MODE 2, Also try OPTION RESOLUTION 1024 and/or 1280
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 936
Posted: 11:30am 24 Jan 2025
Copy link to clipboard 
Print this post

Problems with this program and simultaneous MP3 playback.

(Latest "PicoMiteHDMIUSBV6.00.02b2.uf2" on "Olimex RP2040-PICO-PC" - same problem with older versions)

I am simply thrilled with the MP3 audio output! Crystal clear sound with a little background hum from the switching controller. (Too bad there is no possibility to display the length of the MP3 file or to save the current position )

I played around a bit, as MP3 playback is running in the background.

If I start this program unchanged, the HDMI output is correct:
Mode 2
a=100:b=3:xc=160:yc=120
For n=0 To 9:For i=n To 180 Step 10
t=(i+90)*Pi/180:x=a*Cos(t):y=b*Sin(t):cl=(y<0):ball xc+x,n*20+yc+y-112,cl
Next: For i=170+n To n Step -10
t=(i-90)*Pi/180:x=a*Cos(t):y=b*Sin(t):cl=(y<0):ball xc+x,n*20+yc+y-112,cl
Next:Next
Do
Blit 0,0,0,200,320,20:Blit 0,20,0,0,320,220:FRAMEBUFFER wait
Loop
Sub ball bx,by,cl
For d=6 To 1Step -1
If cl Then :Color RGB(255,255-d*42,0):Else :Color RGB(0,255-d*42,255):EndIf
Circle bx+d/2,by+d/2,d,d
Next
End Sub

...but if I include
PLAY MP3 "B:MyFile.MP3"
at the beginning, I get interference with the image output on the monitor:



What you can't see in the picture: The bottom row of spheres is periodically displayed incorrectly/incompletely and the text scrolls through.. With an additional CLS (which was not necessary before) you can prevent the text output, but not the incorrect display of the bottom row of spheres.
It doesn't matter whether I insert the MP3 call before or after MODE 2.

Is that normal???

Frank
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 01:04pm 24 Jan 2025
Copy link to clipboard 
Print this post

Try this:

Play mp3 "B:/hmp3"
MODE 2
FRAMEBUFFER create
FRAMEBUFFER write f
a=100:b=3:xc=160:yc=120
For n=0 To 9:For i=n To 180 Step 10
t=(i+90)*Pi/180:x=a*Cos(t):y=b*Sin(t):c
l=(y<0):ball xc+x,n*20+yc+y-112,cl
Next : For i=170+n To n Step -10
t=(i-90)*Pi/180:x=a*Cos(t):y=b*Sin(t):c
l=(y<0):ball xc+x,n*20+yc+y-112,cl
Next :Next
Do
Blit 0,0,0,200,320,20:Blit 0,20,0,0,320
,220:FRAMEBUFFER copy f,n,b
Loop
Sub ball bx,by,cl
For d=6 To 1Step -1
If cl Then :Color RGB(255,255-d*42,0):E
lse :Color RGB(0,255-d*42,255):EndIf
Circle bx+d/2,by+d/2,d,d
Next
End Sub


I think what is happening is that by writing direct to the screen you are simply running out of bus bandwidth as it is reading it at the same time. By writing to a framebuffer you are separating the read and write areas of memory. Then the copy happens during frame blanking when the display buffer isn't being read.
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 294
Posted: 02:24pm 24 Jan 2025
Copy link to clipboard 
Print this post

Peter,

MODE 2
OPTION RESOLUTION 1024  
OPTION RESOLUTION 1280
Also tried OPTION RESET, full PWR cycle between entering commands and no change.
Keyboard works in 6.01 to be sure.

Could it be 6.01 and 6.00.02b2 firmware starts in different CPU clocks?
Maybe my PICO 2 does not likes higher CPU clock?
"Heartbeat" LED does not flashes, as if PICO2 does not starts at all. But If recall correctly, it is disabled by default in latest firmwares?
My MMBasic 'sand box'
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 03:12pm 24 Jan 2025
Copy link to clipboard 
Print this post

  Quote  With an additional CLS (which was not necessary before)

Yes it was - try running it twice without changing from mode 2. If you don't clear the screen in mode 2 whatever was on it will get BLITTED along with whatever you are writing. When you run from mode 1 the screen gets cleared automatically by the mode change. Changing to mode 2 when in mode 2 is a NOP
This doesn't change the timing issue though.

electicat: nothing relevant has changed from 6.00.01 EXCEPT I added support for layers in mode 1. That's why I asked you to check mode 2. I suppose it is possible that that change has somehow affected the timings for other modes but I can't see how. I assume you are running HDMIUSB? Do you have a computer console connected on GP8,GP9? Does it show anything?
The heartbeat change only affects RP2350B chips - not the Pico2
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 294
Posted: 04:37pm 24 Jan 2025
Copy link to clipboard 
Print this post

  Quote  The heartbeat change only affects RP2350B chips - not the Pico2


So... There is no heartbeat after I upload PicoMiteHDMIUSBV6.00.02b2.uf2

If I upload PicoMiteHDMIUSBV6.00.01.uf2 it starts and runs as it should and with heartbeat. But why ?

I do not expect to see anything on GP8,GP9 UART.
But I will check later anyways.

Yes, my HW setup sure is RP2350A, HDMI, USB
It was sleeples night, so it might be I am laging   .
I`m uploading this file. I think it should be the right one:


My MMBasic 'sand box'
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 05:04pm 24 Jan 2025
Copy link to clipboard 
Print this post

electricat

Please try the following

Load 6.00.01
Type OPTION RESET (don't configure anything else)
Then load 6.00.02.b2

What happens?
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 436
Posted: 05:26pm 24 Jan 2025
Copy link to clipboard 
Print this post

I have the same problem with PicoMiteHDMI
When I clear the memory of Pico2 and install firmware 6.00.01 it works.
But if I flash firmware 6.00.02b2 on top it does not work at all.
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 294
Posted: 05:36pm 24 Jan 2025
Copy link to clipboard 
Print this post

  matherp said  electricat

Please try the following

Load 6.00.01
Type OPTION RESET (don't configure anything else)
Then load 6.00.02.b2

What happens?


Changes nothing. Black screen no heartbeat.
My MMBasic 'sand box'
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 05:42pm 24 Jan 2025
Copy link to clipboard 
Print this post

  Quote  I have the same problem with PicoMiteHDMI
When I clear the memory of Pico2 and install firmware 6.00.01 it works.
But if I flash firmware 6.00.02b2 on top it does not work at all.


Thanks - I can replicate that. Can't work out why but here is the fix

Install 6.00.02b0

PicoMiteHDMIUSBV6.00.02b0.zip

Hopefully you will find this works.

Then install 6.00.02b2 from the download

Please report success or otherwise
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 294
Posted: 05:43pm 24 Jan 2025
Copy link to clipboard 
Print this post

Peter,

If You would upload to some online service uncompressed  PicoMiteHDMIUSBV6.00.02b2.uf2  we could eliminate possible archiving problem.

EDIT:: we posted at same moment, I will tray fix
Edited 2025-01-25 03:44 by electricat
My MMBasic 'sand box'
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 294
Posted: 05:46pm 24 Jan 2025
Copy link to clipboard 
Print this post

Success. It works!
Might be archiving problem ??
My MMBasic 'sand box'
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 294
Posted: 05:50pm 24 Jan 2025
Copy link to clipboard 
Print this post

Tried that uploaded to official site - does not work. Weird.

But your last upload to backshed - shines as sun  
Edited 2025-01-25 03:51 by electricat
My MMBasic 'sand box'
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 436
Posted: 05:53pm 24 Jan 2025
Copy link to clipboard 
Print this post

It helped!
First I downloaded PicoMiteHDMIUSB V6.00.02b0 and then PicoMiteHDMI V6.00.02b2 and it worked.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 05:53pm 24 Jan 2025
Copy link to clipboard 
Print this post

It's because of a change to the options table. In b0 I put in a transition fix but then removed it in b1 onwards. Of course I never go back to 6.00.01 in my dev environment and didn't see that it broke the direct transition from 6.00.01 to b2.
I've now fixed the issue so will update the downloads in a few minutes.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 06:12pm 24 Jan 2025
Copy link to clipboard 
Print this post

V6.00.02b2 updated on download

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

Should now allow direct update from 6.00.01. Will delete options
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 936
Posted: 06:24pm 24 Jan 2025
Copy link to clipboard 
Print this post

  matherp said  Try this:

Play mp3 "B:/hmp3"
MODE 2
FRAMEBUFFER create
FRAMEBUFFER write f
a=100:b=3:xc=160:yc=120
For n=0 To 9:For i=n To 180 Step 10
t=(i+90)*Pi/180:x=a*Cos(t):y=b*Sin(t):c
l=(y<0):ball xc+x,n*20+yc+y-112,cl
Next : For i=170+n To n Step -10
t=(i-90)*Pi/180:x=a*Cos(t):y=b*Sin(t):c
l=(y<0):ball xc+x,n*20+yc+y-112,cl
Next :Next
Do
Blit 0,0,0,200,320,20:Blit 0,20,0,0,320
,220:FRAMEBUFFER copy f,n,b
Loop
Sub ball bx,by,cl
For d=6 To 1Step -1
If cl Then :Color RGB(255,255-d*42,0):E
lse :Color RGB(0,255-d*42,255):EndIf
Circle bx+d/2,by+d/2,d,d
Next
End Sub


I think what is happening is that by writing direct to the screen you are simply running out of bus bandwidth as it is reading it at the same time. By writing to a framebuffer you are separating the read and write areas of memory. Then the copy happens during frame blanking when the display buffer isn't being read.


Your program works!
Now and then the display jerks barely noticeably, otherwise everything works now. Thank you!

I also had problems with flashing and had to go back to the last, official version. I thought it was because I had run "flash_nuke.uf2" before...
No heartbeat, no sign of life with the last versions...

Frank
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 294
Posted: 06:30pm 24 Jan 2025
Copy link to clipboard 
Print this post

Downloaded, tested.

If direct updated from 6.00.01 it works.

But IF FLASH CLEARED/nuked before - it does not work. Black screen.
My MMBasic 'sand box'
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 06:43pm 24 Jan 2025
Copy link to clipboard 
Print this post

Easily fixed - but for another day  
 
     Page 4 of 23    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025