PicoMite V6.00.02 betas


Author Message
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2375
Posted: 03:23pm 05 Feb 2025      

try
b:
play mp3 "file name

cosmic frog
Senior Member

Joined: 09/02/2012
Location: United Kingdom
Posts: 299
Posted: 03:40pm 05 Feb 2025      

  stanleyella said  try
b:
play mp3 "file name


PLAY MP3 "filename" works as it should. It's the other things that don't.

Thanks.

Dave.

Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4722
Posted: 04:07pm 05 Feb 2025      

@Peter,

When you get back, could you check the "compiler optimization" again. Games like "Flappy Bird" and "Petscii Robots" crash (*) when video layers are used in 2040 VGA.

Thank you,

Volhout

(*) Even USB disconnects from PC (roboot).

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9805
Posted: 05:29pm 05 Feb 2025      

Playing a directory should work if you set the drive first. I keep meaning to block it cross drives.
B:
Play MP3 "dirname"

cosmic frog
Senior Member

Joined: 09/02/2012
Location: United Kingdom
Posts: 299
Posted: 06:45pm 05 Feb 2025      

  matherp said  Playing a directory should work if you set the drive first. I keep meaning to block it cross drives.
B:
Play MP3 "dirname"


Error : Display not configured

cosmic frog
Senior Member

Joined: 09/02/2012
Location: United Kingdom
Posts: 299
Posted: 07:09pm 05 Feb 2025      

B:
PLAY MP3 "dirname"

Just reflashed with the VGA Version and got this error - "Error: Invalid address - resetting".

Run it again and it came up with this - "Error : VS1053 not properly installed!"

> option list
PicoMiteVGA MMBasic RP2350A Edition V6.00.02b8
OPTION FLASH SIZE 4194304
OPTION KEYBOARD US
OPTION CPUSPEED (KHz) 252000
OPTION SDCARD GP13, GP10, GP11, GP12
OPTION AUDIO GP6,GP7', ON PWM CHANNEL 3

Dave.
Edited 2025-02-06 05:11 by cosmic frog

electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 240
Posted: 08:02pm 05 Feb 2025      

@Peter,

Take a look at this problem i reported about MMB4W here https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=16422&LastEntry=Y#233706#233706

I know, it`s not latest beta, but moved to continue my project on HDMI/USB/RP2350 02b4 and it seems it does not input whole text line if meets coma symbol too ->> ,

Please check if I messed something, or it is real firmware prob.
Thx.

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9805
Posted: 08:45pm 05 Feb 2025      

If changing version clear the flash completely

cosmic frog
Senior Member

Joined: 09/02/2012
Location: United Kingdom
Posts: 299
Posted: 08:57pm 05 Feb 2025      

Peter,

I think I may have found the problem. It seems if the folder has more than 30ish tunes in it, it will fail with "Error : Display not configured"
Or it may be falling over when it finds an MP3 that is too large. not sure.

But it seems to be working if the folder contains less than 30 songs.

Dave.

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9805
Posted: 09:26pm 05 Feb 2025      

Thanks for the report. I will add an error message if the directory contains more files than the firmware can handle.

cosmic frog
Senior Member

Joined: 09/02/2012
Location: United Kingdom
Posts: 299
Posted: 09:35pm 05 Feb 2025      

  matherp said  Thanks for the report. I will add an error message if the directory contains more files than the firmware can handle.


Let me do some further tests first to make sure it is that and I'll get back to you.

Dave.

Footnote added 2025-02-07 20:28 by cosmic frog
Hi Peter.

After further tests it seems that more than 33 songs in a folder will cause the problem. But, I think this is dependent on the file size. So if the mp3's are short or small in size then you "should" be able to get more in a folder.
I think this problem needs to be tested by other Back Shedders just to confirm my findings.

Many thanks.

Dave.

JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 196
Posted: 05:29pm 06 Feb 2025      

Did some tests and played with PIO assembler.
Works much faster and has a better overview and you can start it immediately after editing. Test on an RP2350A.
It works fine on PicoMite 2. It doesn't work on the WebMite.

Greetings,

Jan

PIO ASSEMBLE V6.00.02b8
With the latest PicoMite version you can enter PIO ASSEMBLE as standard.  RP2350A Edition  

That's how it used to be.
PIO assemble 1,".program NES"       'A program needs a name.
PIO assemble 1,".side_set 2"        'Use 2 bits for side set, 3 for delay
PIO assemble 1,".line 0"            'Start code on line 0.
PIO assemble 1,"SET pindirs,&b11"   'Set GP0,GP1 output, side GP0,GP1 Low.
PIO assemble 1,".wrap target"       'Wrap target = Top of the Loop
PIO assemble 1,"IN null,32 side 2"  'Set ISR to 0, GP1 high (load),GP0 Low
PIO assemble 1,"SET X,7 side 0"     'Set X counter at 7, GP0,GP1 low.
PIO assemble 1,"loop:"              'Inner loop label.
PIO assemble 1,"IN pins, 1 side 0"  'Slide 1 data bit in,keep GP0,GP1 low  
PIO assemble 1,"JMP X-- loop side 1"'JMP to loop, dec. X, GP0 high(clock)
PIO assemble 1,"PUSH side 0 [7]"    'Now X=0, PUSH result in FIFO, delay7
PIO assemble 1,".wrap"              'End outside Loop, repeat.
PIO assemble 1,".end program list"  'End program, list result.

Copy the above from the manual into MMEdit and send it to the PicoMite.
Make any necessary adjustments in EDIT. Place PIO assemble 1 on the first line and delete it on the remaining lines as well as any " on each line. Change the line .side_set 2 to .side set 2 and line loop: to .label nes: and the line JMP X-- loop side 1 to JMP X-- nes side 1
The assembler program can now be saved with F1 or F2.

The program reads a NES controller (SPI) connected to the Raspberry Pi Pico.
The NES controller consists of a HEF4021 slide register connected to 8 push button switches.

> edit
PIO assembly 1
.program NES             'A program needs a name.
.side set 2              'Uses 2 bits for side set, 3 for delay
.line 0                  'Start code on line 0.
SET pindirs,&b11         'Set GP0,GP1 output, side GP0,GP1 low
.wrap target             'Wrap target = Top of the nes barrel
IN null,32 side 2        'Set ISR to 0, GP1 high (load), GP0 low
SET X,7 side 0           'Set X counter to 7, GP0,GP1 low
.label nes:              'Inner nes label.
IN pins, 1 side 0        'Slide 1 data bit in, keep GP0,GP1 low
JMP X-- nes side 1       'JMP to nes, dec. X, GP0 high(clock)
PUSH side 0 [7]          'Now X=0, PUSH result in FIFO, delay 7
.wrap                    'End outside nes, repeat.
.end program list        'End program, List=program, Run=start program

> run
0: E083
1: 5060
2: E027
3: 4001
4: 0843
5: 8700

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9805
Posted: 05:45pm 06 Feb 2025      

PIO 1 is used by the CWY43 on the Website. try PIO 0

JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 196
Posted: 05:53pm 06 Feb 2025      

Peter,

Thanks for the additional information.

Greetings,

Jan

JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 196
Posted: 06:17pm 06 Feb 2025      

Peter,

It works now.

Greetings,

Jan

WebMite MMBasic RP2350A Edition V6.00.02b8
Copyright 2011-2025 Geoff Graham
Copyright 2016-2025 Peter Mather

> list
PIO assemble 0
.program NES        
.side set 2          
.line 0              
Set of pindirs,&b11      
.wrap target        
In null,32 side 2    
Set X.7 side 0        
.label nes:          
In pins, 1 side 0    
Jmp X-- nes side 1    
Push side 0 [7]      
.wrap                
.end program list    

> run
0: E083
1: 5060
2: E027
3: 4001
4: 0843
5: 8700
>
And RP2040 Edition
See also additions in List Commands
Edited 2025-02-08 06:42 by JanVolk

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9805
Posted: 11:17am 08 Feb 2025      

V6.00.02b9 now available

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

Fixes timing issue in RP2040 VGA versions mode 2
Fixes bug causing crash when trying to play all audio files in a directory if the number exceeds 20
Enables I2S DAC for RP2040. NB: for RP2040 VGA and WEB versions there are no PIO available for user use if I2S is enabled

twofingers
Guru

Joined: 02/06/2014
Location: Germany
Posts: 1456
Posted: 01:40pm 08 Feb 2025      

Hi Peter, just for your information: in MMBasic 6.0001, files with the same name but different spelling are combined into one after copying with
copy "a:*" to "b:."

That is, "X.bas" and "x.bas" become "X.bas". I would have expected that copy is case-sensitive. I just now copied the contents from drive a: to drive b: and was surprised that the number of files didn't match. Of course, it's not a good idea to store files with the same name but different casing. And so far, no one seems to have been bothered by this.
Kind regards
Michael

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9805
Posted: 02:40pm 08 Feb 2025      

Manual - page 37

  Quote  In the following note that:
Upper/lowercase characters and spaces are allowed. The file system on the SD Card is NOT case sensitive however the Flash Filesystem IS case sensitive (this is the only difference between the two).


Therefore it is impossible that the copy from a to b can preserve both copies of the file
Edited 2025-02-09 00:40 by matherp

mozzie
Regular Member

Joined: 15/06/2020
Location: Australia
Posts: 78
Posted: 02:41pm 08 Feb 2025      

G'day Peter,
Once again can I pass on my thanks for the time and effort yourself and everyone else involved in making the PicoMite what it has become. Like others have mentioned it is a great ride trying to keep up and try out all the new functions.

Can you please advise if the DS1822 (DS18B20) "Parasitic Power Mode" as shown on page 50 of the latest (06.00.01) manual is still supported, I decided to use it for the first time recently and found the following:

With MicroMite 5.05.05:
TEMPR() works in powered and parasitic modes
OneWire routine works in powered and parasitic modes

With PicoMite 5.08.00:
TEMPR() works in powered mode only
OneWire routine works in powered and parasitic modes

With PicoMite 6.00.01 / 6.00.02b8
TEMPR() works in powered mode only
OneWire routine works in powered mode only

This was on a PicoMite RP2040 blank chip with no options etc set

The scope shows the strong pull-up is not enabled when the sensor fails, this is also true on the OneWire routines in 6.00.01 / 6.00.02

I only have two sensors from the same batch but the fact they both work with the earlier versions indicates they should be ok.

Can anyone else confirm this?

Regards,
Lyle.
Edited 2025-02-09 00:43 by mozzie

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9805
Posted: 03:06pm 08 Feb 2025      

It should work but not something I've ever played with. I'm away from home for the next couple of weeks without a DS18B20. Will try and fix when I get home.