Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 07:46 23 Dec 2024 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.01 release candidates - please test thoroughly

     Page 2 of 20    
Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9285
Posted: 07:56pm 26 Nov 2024
Copy link to clipboard 
Print this post

V6.00.00RC2

This will delete all options and the A: drive

PicoMiteRP2350V6.00.01RC2.zip

PicoMiteRP2040V6.00.01RC2.zip

Includes full descriptions of reserved pins in mm.info(pin n)
Allows mm.info(pinno) to interrogate hard allocated pins (HDMI and Pico_W)
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4343
Posted: 08:54pm 26 Nov 2024
Copy link to clipboard 
Print this post

Hi Peter,

Any fix for the CWD$ or MM.INFO(PATH) in this release ?

Volhout
PicomiteVGA PETSCII ROBOTS
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4066
Posted: 08:57pm 26 Nov 2024
Copy link to clipboard 
Print this post

  Volhout said  Hi Peter,

Any fix for the CWD$ or MM.INFO(PATH) in this release ?

Volhout


Is there really a problem with CWD$ ? The only thing that should change its value is CHDIR or DRIVE, it has nothing to do with the drive+directory that the program file being RUN is in.

Best wishes,

Tom
Edited 2024-11-27 06:59 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
javavi

Senior Member

Joined: 01/10/2023
Location: Ukraine
Posts: 296
Posted: 09:31pm 26 Nov 2024
Copy link to clipboard 
Print this post

  matherp said  
Includes full descriptions of reserved pins in mm.info(pin n)
Allows mm.info(pinno) to interrogate hard allocated pins (HDMI and Pico_W)

PicoMiteHDMI MMBasic RP2350A Edition V6.00.01RC2
> ? MM.Info(pinno GP11)
15
> ? MM.Info(pinno GP12)
Error : Invalid pin
>

Edited 2024-11-27 07:41 by javavi
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4343
Posted: 09:46pm 26 Nov 2024
Copy link to clipboard 
Print this post

Tom,

Some code in robots uses these. Code you added for GameMite. And with the new 6.00.01 it does not work anymore as before. Sure I can make it work again by changing robots. Peter asked to test, he may still decide to leave it as is.

Volhout
Edited 2024-11-27 08:02 by Volhout
PicomiteVGA PETSCII ROBOTS
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4066
Posted: 10:10pm 26 Nov 2024
Copy link to clipboard 
Print this post

Volhout,

Please point me at a specific version of the Robots code and I will take a look tomorrow with the latest firmware on the RP2040 ... I don't have a 2350.

Best wishes,

Tom
Edited 2024-11-27 08:11 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4343
Posted: 07:44am 27 Nov 2024
Copy link to clipboard 
Print this post

@Peter, Tom,

Demo of the difference between 5.09.00rc5 and 6.00.01rc1

Create this program (in my case called "path_test.bas".

Print Cwd$
Print MM.Info(path)


Store it in the SD card in the folder "B:/path_test/"

files
B:/path_test
00:03 01-01-2000         33  path_test.bas
0 directories, 1 file


When you run this program from the A:/ drive the difference is this:

V5.09.00
> option list
PicoMite MMBasic Version 5.09.00RC5
OPTION SYSTEM SPI GP18,GP19,GP16
OPTION COLOURCODE ON
OPTION SDCARD GP17

> a:
> run "b:/path_test/path_test.bas"
A:/
B:/path_test/


V6.00.01
> option list
PicoMite MMBasic RP2040 Edition V6.00.01RC1
OPTION SYSTEM SPI GP18,GP19,GP16
OPTION COLOURCODE ON
OPTION SDCARD GP17

> a:
> run "b:/path_test/path_test.bas"
A:/
A:/


The content of MM.INFO(PATH) is different between 5.09.00 and 6.00.01

For Tom: if you have any working version of petrobot on SD card, and use RP2040, you see it immediately, no need to install a new version. No special version needed.

Otherwise get the version here:

petrobot
The version "robots601.bas" is the one that runs on RP2040 and RP2350, but the normal "robots.bas" also works on Game*Mite... when started from the commandline...


Volhout

P.S. Tom, for V6.00.01 you have to install your "alternate package". Note that you have to run the "install-a.bas" from the folder. Running it like RUN "B:/GameMite/install.bas" also does not work (maybe same issue).
Edited 2024-11-27 17:49 by Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9285
Posted: 07:52am 27 Nov 2024
Copy link to clipboard 
Print this post

I believe I made mm.info(path) and cwd$ compatible with CMM2 hence the change
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4343
Posted: 07:55am 27 Nov 2024
Copy link to clipboard 
Print this post

@ Peter,

The 6.00.0x series also have a difference in executing multi-command lines.
To be honest, looking at these lines I am not proud they exist, but the 6 series has problems with lines like this, that where OK in 5.09.00

IF vga=0 THEN FRAMEBUFFER CREATE ELSE MODE 2 END IF


If you change the same in to

IF vga=0 THEN
 FRAMEBUFFER CREATE
ELSE
 MODE 2
END IF


It works as in previous version.

This is not a bug, only a difference. The single line is ugly at least. I cannot remeber where this line is, maybe GemsNRocks... I can find it back when you need me to.

Volhout
Edited 2024-11-27 17:56 by Volhout
PicomiteVGA PETSCII ROBOTS
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4066
Posted: 08:03am 27 Nov 2024
Copy link to clipboard 
Print this post

  matherp said  I believe I made mm.info(path) and cwd$ compatible with CMM2 hence the change


Peter the MM.INFO(PATH) thing isn't a difference it's a bug, if it doesn't always return the drive/directory containing the file being RUN then what is it for? ... you need it so that a program can locate any external assets without relying on their location being hard coded or the user executing from a specific directory.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9285
Posted: 08:59am 27 Nov 2024
Copy link to clipboard 
Print this post

OK understand - will fix
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9285
Posted: 10:58am 27 Nov 2024
Copy link to clipboard 
Print this post

Hopefully now fixed - no version change


PicoMiteRP2040V6.00.00RC2.zip

PicoMiteRP2350V6.00.01RC2.zip
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2176
Posted: 11:36am 27 Nov 2024
Copy link to clipboard 
Print this post

Re multi-command lines.
To get consistent results with IF statements, all versions, I would change this:-
IF vga=0 THEN FRAMEBUFFER CREATE ELSE MODE 2 END IF

to this:-
IF vga=0 THEN :FRAMEBUFFER CREATE :ELSE :MODE 2 :ENDIF


Edit.
Just tried the original on RP2350 VGA 6.00.01RC1 and it ran without problem.
Edited 2024-11-27 21:45 by phil99
 
Pluto
Guru

Joined: 09/06/2017
Location: Finland
Posts: 365
Posted: 11:38am 27 Nov 2024
Copy link to clipboard 
Print this post

Peter, shouldn't it be 6.00.01 also for RP2040!
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9285
Posted: 11:46am 27 Nov 2024
Copy link to clipboard 
Print this post

Yes just renamed the files incorrectly - the firmware should be correct


PicoMiteRP2040V6.00.01RC2.zip
 
disco4now

Guru

Joined: 18/12/2014
Location: Australia
Posts: 916
Posted: 06:17am 28 Nov 2024
Copy link to clipboard 
Print this post

  Volhout said  

IF vga=0 THEN FRAMEBUFFER CREATE ELSE MODE 2 END IF


Volhout


From the manual only a multiline IF statement ends with  and END IF

In the single line version END IF is not allowed/required

IF expr THEN stmt [: stmt]
or
IF expr THEN stmt ELSE stmt

If added the END and IF seem to be treated as variables

> list
'Option explicit
'Dim integer x,y,vga
If vga<>0 Then Print "x"  Else  Print "y" END IF
>
> run
y 0 0         <------ END and IF printed
>
>



With Option Explicit they are trapped

>
> list
Option explicit
Dim integer x,y,vga
If vga<>0 Then Print "x"  Else  Print "y" END IF
>
> run
y
[3] If vga<>0 Then Print "x"  Else  Print "y" END IF
Error : END is not declared
>


Latest F4 Latest H7
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2176
Posted: 07:26am 28 Nov 2024
Copy link to clipboard 
Print this post

ENDIF appears to be less of a problem than END IF.
 
vegipete

Guru

Joined: 29/01/2013
Location: Canada
Posts: 1110
Posted: 07:34am 28 Nov 2024
Copy link to clipboard 
Print this post

  disco4now said  In the single line version END IF is not allowed/required

Note the colon (:) after the THEN. This allows multiple statements after the IF and/or the ELSE, and requires the final END IF.
Visit Vegipete's *Mite Library for cool programs.
 
disco4now

Guru

Joined: 18/12/2014
Location: Australia
Posts: 916
Posted: 08:01am 28 Nov 2024
Copy link to clipboard 
Print this post

  vegipete said  
  disco4now said  In the single line version END IF is not allowed/required

Note the colon (:) after the THEN. This allows multiple statements after the IF and/or the ELSE, and requires the final END IF.

Agree a single line broken by : requires an END IF, but this is then a multi line IF syntax.

I was referring to the original example which is a single line IF command/statement no colons)

The manuals shows the syntax for the two are different  in that the single line versions does not use the END IF.
Edited 2024-11-28 18:02 by disco4now
Latest F4 Latest H7
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9285
Posted: 05:27pm 28 Nov 2024
Copy link to clipboard 
Print this post

V6.00.01RC3


PicoMiteRP2350V6.00.01RC3.zip


PicoMiteRP2040V6.00.01RC3.zip

Fixes various bugs when editing in mode 3
Fixes corruption when moving sprites

New Commands

LOAD PNG fname$ [, x] [, y] [,transparent] [,alphacut] 'loads and displays a png file 'fname' If no extension is specified .png will be automatically added to the filename. The file must be in RGBA8888 format which is the normal default. If specified 'x' and 'y' indicate where on the display or framebuffer the image will appear. The optional parameter 'transparent' (defaults to 0) specifies one of the colour codes (0-15) which will be allocated to pixels in the png file with an alpha value less than 'alphacut' (defaults to 20). If 'transparent' is set to -1 the png image is written with pixels with an alpha value less than 'alphacut' missed completely.


SPRITE LOADPNG [#]b, fname$ [,transparent] [,alphacut] 'loads SPRITE number b from the png file fname$. If no extension is specified .png will be automatically added to the filename. The file must be in RGBA8888 format which is the normal default. The optional parameter 'transparent' (defaults to 0) specifies one of the colour codes (0-15) which will be allocated to pixels in the png file with an alpha value less than 'alphacut' (defaults to 20). The variable transparency can then used with the command SPRITE SET TRANSPARENT n or FRAMEBUFFER LAYER n to display the sprite with the transparent region hidden.
 
     Page 2 of 20    
Print this page
© JAQ Software 2024