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 1 of 20 | |||||
Author | Message | ||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9283 |
Raspberry Pi have just released an update to the sdk (2.1.0) which is used to build the PicoMite. I've changed to this because it is needed to support the Pico2-W which I will endeavour to support once I have one. It makes sense to do the upgrade now before the final V6.00.00 release. As a result I have increased the version number and rebuilt all the versions. There should be no changes other than DEVICE WII should now work as before (you can also use DEVICE WII, DEVICE WII CLASSIC or just "WII CLASSIC". PicoMiteRP2350V6.00.01RC1.zip PicoMiteRP2040V6.00.01RC1.zip |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4343 |
Hi Peter, Tested 6.00.01RC1 RP2040 VGA PS2 tested following programs - 2048 - asciimovie - blocks - chemichaos - circle - flappyVGA - flow-pico - GemsNRocks - LA - Petrobot - picoChess - picoman - rocks - snake - ZX81-maze All these run after making adaptions due to the removal of DEVICE in some commands, i.e. WII. In these cases, also the keyword WII requires change of variable names WII. RP2350 VGA PS2 same programs tested - MM.Device$ is sometimes used, and does not include 2350. This need adaptation. - picoChess fails because it checks the heap/stack (hard coded addresses). Must change for 2350. bug: keyword RANDOMIZE is missing in 2350. Geoff's games (blocks/picoman) use RANDOMIZE TIMER. When these lines are commented out the games run. Volhout Edited 2024-11-26 04:56 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9283 |
Harm Thanks for the testing RANDOMIZE is not valid on the RP2350 because it uses a H/W mechanism for generating entropy What variant doesn't show RP2350 in MM.DEVICE$? Everything I've tried do and the code appears correct. What variant of DEVICE WII isn't working. I tried to make this version backwards compatible? Edited 2024-11-26 05:18 by matherp |
||||
scruss Regular Member Joined: 20/09/2021 Location: CanadaPosts: 86 |
Wait, the RP2350 doesn't have a HWRNG, but the RP2040 does? (The RP2040's one is at best good enough. Definitely not suitable for cryptography.) |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4343 |
Hi Peter, RP2350A in MM.Device$ is correct in the firmware. But the MMBasic programs are not including the RP2350A version, they only check if the MM.Device$ equals "PicoMiteVGA". When changing that check to INSTR(MM.Device$,"PicoMiteVGA") they most cases simply work. Geoff will have to modify his game (or let me do it) to get compatibility with RP2350A when you remove the RANDOMIZE command. 6.00.00RC16 did not support DEVICE WII OPEN for classic controller. But RC1 does. Thanks. But since WII CLASSIC OPEN also works the WII word is a keyword now, and cannot be used as variable name anymore. Looking good Peter, Volhout Edited 2024-11-26 06:17 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4343 |
Hi Peter, Next challenge will be to look at the Game*Mite. Tom is very busy with the MMB4L release for 0.7. I hope tomorrow night to look into the Game*Mite. I have a Game*Mite with RP2350A. Curious how the button handling goes with the GPIO error on the 2350. The buttons have no external pullups, and rely on the internal pullup. But theoretically it should work with this bug. Volhout PicomiteVGA PETSCII ROBOTS |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4066 |
Yes, sorry for not pulling my weight on the PicoMite testing. Though it's as much the day job, family and shaky health as it is MMB4L v0.7 which has been largely done for at least a month now. Tom Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Pluto Guru Joined: 09/06/2017 Location: FinlandPosts: 365 |
WebMite MMBasic RP2040 Edition V6.00.01RC1 teted with my new program for following the electricity SPOT-price. Program works as with the earlier firmware. The only difference noted in the program is that version is now 6.0001. Before it was just 6 (without decimals). A few other observations: -the new firmware did not erase the options, including SSID and Password. -Webmite started immediately the program in memory, but run directly into error. Installation of the new firmware did not erase the program. Re-loaded the program and all OK. I know, I know,...should have run the clear_flash.uf2 before loading new firmware, but was so eager to test that I forgot it. (Isn't it so?) Anyhow, it was very conveniant to have the options already set. Fred |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4343 |
Hi Peter, The VGA version (both 2040 as well as 2350) did erase options. The 2350 picomite (for Game*Mite) version did not erase options. I did re-program the flash slot since i expect tokenizing errors (previous was 6.0.0RC6). 6.00.01RC1 for 2350 standard picomite (as used for Game*Mite). There is something changed in the path information. robots2.bas uses MM.INFO(PATH) and CWD$ to determine where files can be found. To determine the path of the current running program. When I use the file browser (on A:/) in the Game*Mite to browse to B:/ and use the file browser to start a program, that program starts, but both MM.INFO(PATH) and CWD$ are not updated, they point still to the A:/ drive. Again, this is a printout from the program that runs from B:/ CWD$ (Current Work Directory) should be updated at least. Volhout P.S. When manually changing directory both CWD$ and MM.INFO(PATH) are correct. But MM.INFO(PATH) has a trailing "/" CWD$ has no trailing "/" It is only when you RUN a program from inside another program that these are not updated. Edited 2024-11-26 07:55 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4066 |
I believe that inconsistency is "expected", CWD$ only gets a trailing "/" when the current working directory is A:/ or B:/. Best wishes, Tom Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4343 |
Hi Peter, I know you are very close to release, but maybe it is possible (or put it on the wish list for 6.00.02) to correctly display the pin function for pins that are in use in the OPTIONS (boot reserved). GP0 1 OFF GP1 2 OFF GP2 4 OFF GP3 5 OFF GP4 6 OFF GP5 7 OFF GP6 9 OFF GP7 10 OFF GP8 11 OFF: Boot Reserved GP9 12 OFF: Boot Reserved GP10 14 OFF: Boot Reserved GP11 15 OFF: Boot Reserved GP12 16 OFF: Boot Reserved GP13 17 OFF GP14 19 OFF GP15 20 OFF GP16 21 OFF GP17 22 OFF GP18 24 OFF: Boot Reserved GP19 25 OFF: Boot Reserved GP20 26 OFF: Boot Reserved GP21 27 OFF GP22 29 OFF GP23 41 OFF: Boot Reserved GP24 42 OFF: Boot Reserved GP25 43 OFF: Boot Reserved GP26 31 OFF GP27 32 OFF GP28 34 OFF GP29 44 OFF The Boot reserved pins could indicate what they are used for (i.e. I2C or SPI or COM or DOUT or DIN). That would give insight what you can use. This is the code for above list (I put this sub in the library for normal picomites) 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 Volhout P.S. This is 6.00.01RC1 running on RP2040-GEEK Edited 2024-11-27 01:31 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9283 |
Not really possible without a huge amount of code to go through every possible allocation for each pin and check the Option to see if that pin is using it. |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 6904 |
It's not too bad to do something like this as a library routine on a built system. I put it in the Library for Gamma as one of the utility programs. You'd need more columns for a PGA2350 anyway. :) Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9283 |
I suppose you mean something like this |
||||
javavi Senior Member Joined: 01/10/2023 Location: UkrainePosts: 293 |
On the PicoMiteHDMI MMBasic RP2350A Edition V6.00.01RC1 firmware, this procedure gives an error when it reaches GP12 ... [7] p = MM.Info(pinno gp$) Error : Invalid pin > apparently reserved for HDMI video output. Edited 2024-11-27 03:51 by javavi |
||||
twofingers Guru Joined: 02/06/2014 Location: GermanyPosts: 1301 |
I can confirm that! Errors from GP12 to GP19. freepins End Sub FreePins Local n,gp$,p,pu$ For n=0 To 29 p=666 gp$ = "GP"+Str$(n) On error skip p = MM.Info(pinno gp$) pu$ = MM.Info(pin p) Print gp$; Print @(50,MM.Info(vPOS)) p, pu$ Next End Sub Michael causality ≠ correlation ≠ coincidence |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 6904 |
That's because there's no such thing as GP12 to GP19 when the HSTX has been initialised. They have been disconnected from the GPIO matrix, I think. I had to trap those. Edited 2024-11-27 03:57 by Mixtel90 Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
javavi Senior Member Joined: 01/10/2023 Location: UkrainePosts: 293 |
Yes! PicoMite's built-in procedure for informing about port status and reservations will be very useful for users/developers. Edited 2024-11-27 04:00 by javavi |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4343 |
Hi Peter, That is way over the top. Very nice, but reading the pin config (alternate function registers), and justconverting that to SPI or I2C would have been enough. But this sure is very nice, Volhout Edited 2024-11-27 04:53 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9283 |
Doesn't work for thing like CS pins etc. |
||||
Page 1 of 20 |
Print this page |