|
Forum Index : Microcontroller and PC projects : MM.DEVICE$. For Picomite?
| Author | Message | ||||
| Turbo46 Guru Joined: 24/12/2017 Location: AustraliaPosts: 1691 |
Does anyone know where to find What MM.DEVICE$ returns for each Pico platform? It's not in the manual. Thanks Bill Keep safe. Live long and prosper. |
||||
| phil99 Guru Joined: 11/02/2018 Location: AustraliaPosts: 3159 |
Here is a couple of them. > ? MM.DEVICE$ PicoMiteVGA RP2350A > option list PicoMiteVGA MMBasic RP2350A Edition V6.02.01 > ? MM.DEVICE$ PicoMite A:> option list PicoMite MMBasic RP2040 V6.02.01 > ? MM.DEVICE$ WebMite > option list WebMite MMBasic RP2040 Edition V6.00.03 Edited 2026-04-21 16:09 by phil99 |
||||
| Supertech Regular Member Joined: 13/11/2016 Location: AustraliaPosts: 63 |
It may be found in the current manual, found here, and certainly is NOT missing, https://geoffg.net/Downloads/picomite/PicoMite_User_Manual.pdf Page 95, 3rd item down list on left, MM.DEVICE$ And I use it regularly on 4 different hardware's that does as it says although I have found not so informative on early RP2040 modules. 'Seek and ye shall find' old but good saying. Regards. Supertech. |
||||
| mozzie Senior Member Joined: 15/06/2020 Location: AustraliaPosts: 278 |
G'day Bill, Looks like the returns for MM.Device$ went missing from V5.08.00 to V6.00.01 This is the last version found: I too would have sworn they were in the manual, defective grey matter once again Regards, Lyle. |
||||
TassyJim![]() Guru Joined: 07/08/2011 Location: AustraliaPosts: 6509 |
I haven't kept up with the latest work but this is my list for MMEdit. ; This file is 'devicelist.txt' and resides in the Data folder. ; The file is used by MMEdit and MMCC ; In MMEdit select the syntax to match your device as returned with MM.DEVICE$ ; In MMEdit, choosing the wrong syntax will result in keywords not showing in the correct colour ; In MMEDit, the syntax is only for visual effects and does not have any other purpose. ; In MMCC, the syntax is used to determine the commands required to transfer files by XMODEM or AUTOSAVE ; New devices can be added and mapped to an existing syntax or a newly created syntax. ; If you add a new syntax, the file 'devicetypes.txt' will also need editing ; Lines starting with ; are comments and the remaining lines are TAB delimited ; blank lines are ignored. ; MM.DEVICE$ Syntax ARMmite F407 ARMmite Armmite F407xGT ARMmite ARMmite H7 ARMmite ARMmite L4 ARMmite Colour Maximite maximite Colour Maximite 2 CMM2 Colour Maximite 2 G2 CMM2 DOS DOS DuinoMite maximite Generic PIC32 maximite Maximite maximite Micromite micromite Micromite Extreme micromite+ Micromite MkII micromite Micromite Plus micromite+ MMBasic for Linux MMB4W MMBasic for Windows MMB4W PicoMite picomite PicoMite RP2350A picomite PicoMite RP2350B picomite PicoMiteHDMI RP2350A picomiteVGA_HDMI PicoMiteHDMI RP2350B picomiteVGA_HDMI PicoMiteHDMIUSB RP2350A picomiteVGA_HDMI PicoMiteHDMIUSB RP2350B picomiteVGA_HDMI PicoMiteVGA picomiteVGA_HDMI PicoMiteVGA RP2350A picomiteVGA_HDMI PicoMiteVGA RP2350B picomiteVGA_HDMI PicoMiteVGAUSB picomiteVGA_HDMI PicoMiteVGAUSB RP2350A picomiteVGA_HDMI PicoMiteVGAUSB RP2350B picomiteVGA_HDMI WebMite webmite WebMite RP2350A webmite ATTiny85 ATTiny85 Jim VK7JH MMedit |
||||
| Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3357 |
With so many variations of MMBasic it became more and more impractical to list the various values of MM.DEVICE$ and keep the list accurate and complete. That is why the listing disappeared from the manual. MM.DEVICE$ is quite handy if you want to check that the program is running on the platform that you wrote it for. In that case you can print its value on the console, then embed the response in the program. But, I agree, it is not that easy if you want to check if your program is running on a platform that you do not have access to. Geoff Geoff Graham - http://geoffg.net |
||||
| Turbo46 Guru Joined: 24/12/2017 Location: AustraliaPosts: 1691 |
![]() This is from the just downloaded manual. I want to configure a program to cater for various mites and this is no help. Thanks Jim, I'll go with your information for now. It looks like the only way to find out is to program the Picomites with each version of the firmware and see what: ? MM.DEVICE$ Reports. Bill Keep safe. Live long and prosper. |
||||
| JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 4304 |
Jim, I think you should change the MMB4L string. For MMBasic for Linux x86_64 v0.7-alpha.1 ? mm.device$ MMB4L John |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8773 |
IMHO this isn't granular enough anyway. Your program needs to include a full database of all current and future models! For a program to run it only needs: MMBasic version Connected display (LCD resolution / VGA / HDMI) Connected touch (Yes / none) Connected keyboard (USB / PS2 / Serial / None) Connected mouse (USB / PS2 / None) Connected wi-fi (Pico / None) CPU speed (in case timings are critical) These can generally be sorted out with MM.INFO() The actual processor shouldn't matter really. A correctly written program will rarely care. The main differences between platforms are significant during program development. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| Turbo46 Guru Joined: 24/12/2017 Location: AustraliaPosts: 1691 |
Hi Geoff, I realize that there are 12 varieties of the firmware for the Pico and every aspect of them is documented in the manual except for MM.DEVICE$. If that information of what each version of the Pico firmware returns for MM.DEVICE$ was in the manual then it need not be changed. I'm not suggesting that the manual should contain the MM.DEVICE$ text for other versions, just the Pico ones. I hope you will reconsider your decision for the next manual update. Bill Keep safe. Live long and prosper. |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8773 |
Doesn't MM.INFO(version) give you that? MM.VER gives the info numerically. Don't expect it to be updated on beta releases though. It's your problem to track those. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| phil99 Guru Joined: 11/02/2018 Location: AustraliaPosts: 3159 |
A:> ? MM.INFO(version) 6.0201 A:> ? MM.VER 6.0201 A:> ? MM.DEVICE$ PicoMite A:> ? MM.INFO$(DEVICE) PicoMite A:> Edited 2026-04-22 18:20 by phil99 |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8773 |
That makes sense. There's no need to return more than the basic platform name in DEVICE[$]. It's only useful for information really, not for program configuration. ARMmite ATTiny85 CMM2 Colour Maximite DOS maximite MMB4W MMB4L PicoMite PicoMite 2 Webmite Would probably be sufficient! You don't want to have to test the full list to see if your program will run on a particular platform. You *do* need to know if it has the correct display, keyboard, sound capabilities etc. though, and they aren't in DEVICE$. That's what MM.INFO() is for. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| Turbo46 Guru Joined: 24/12/2017 Location: AustraliaPosts: 1691 |
I'm using MMB4W to develop new and port existing game programs to the Game*Mite and PicoGamer using either the Pico 1 or Pico 2 processor. Each of which has different image and graphics capabilities and I need to cater for all. I don't have a working version of either Pico device at the moment. That is the reason for my question. Getting a working device is difficult for me at the moment. Bill Keep safe. Live long and prosper. |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8773 |
You can use: MM.DISPLAY to check that there is a display connected MM.INFO$(LCDPANEL) to find out if it's a LCD display or not MM.INFO(LCD320) will let you know if the LCD panel can do 320x240 MM.VRES returns the current vertical display resolution (all displays) MM.HRES returns the current horizontal display resolution (all displays) You can't check for the maximum available resolution for VGA and HDMI displays as the monitor may not manage it, even though the hardware will do it. If you are going to cater for a wide range then I suggest that you just stick with the defaults in each case. I don't know if any of your platforms would normally be set up with OPTION PLATFORM by default, but that can be tested for too. I think I saw a way of testing the difference between Pico and Pico 2 but I can't find it now. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| phil99 Guru Joined: 11/02/2018 Location: AustraliaPosts: 3159 |
> ? MM.DEVICE$ PicoMiteVGA RP2350A |
||||
| Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3357 |
Good point Bill (thanks). The next revision of the manual will have something like this: ![]() Geoff Geoff Graham - http://geoffg.net |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2026 |