Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 10:45 23 Apr 2026 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 : MM.DEVICE$. For Picomite?

Author Message
Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1691
Posted: 05:59am 21 Apr 2026
Copy link to clipboard 
Print this post

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: Australia
Posts: 3159
Posted: 06:08am 21 Apr 2026
Copy link to clipboard 
Print this post

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: Australia
Posts: 63
Posted: 06:27am 21 Apr 2026
Copy link to clipboard 
Print this post

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: Australia
Posts: 278
Posted: 07:06am 21 Apr 2026
Copy link to clipboard 
Print this post

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: Australia
Posts: 6509
Posted: 07:07am 21 Apr 2026
Copy link to clipboard 
Print this post

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: Australia
Posts: 3357
Posted: 12:15pm 21 Apr 2026
Copy link to clipboard 
Print this post

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: Australia
Posts: 1691
Posted: 12:22pm 21 Apr 2026
Copy link to clipboard 
Print this post



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 Kingdom
Posts: 4304
Posted: 12:41pm 21 Apr 2026
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 8773
Posted: 04:51pm 21 Apr 2026
Copy link to clipboard 
Print this post

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: Australia
Posts: 1691
Posted: 06:42am 22 Apr 2026
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 8773
Posted: 08:11am 22 Apr 2026
Copy link to clipboard 
Print this post

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: Australia
Posts: 3159
Posted: 08:17am 22 Apr 2026
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 8773
Posted: 08:42am 22 Apr 2026
Copy link to clipboard 
Print this post

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: Australia
Posts: 1691
Posted: 09:16am 22 Apr 2026
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 8773
Posted: 12:30pm 22 Apr 2026
Copy link to clipboard 
Print this post

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: Australia
Posts: 3159
Posted: 12:39pm 22 Apr 2026
Copy link to clipboard 
Print this post

> ? MM.DEVICE$
PicoMiteVGA RP2350A
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3357
Posted: 02:06pm 22 Apr 2026
Copy link to clipboard 
Print this post

  Turbo46 said  I'm not suggesting that the manual should contain the MM.DEVICE$ text for other versions, just the Pico ones.

Good point Bill (thanks).  The next revision of the manual will have something like this:



Geoff
Geoff Graham - http://geoffg.net
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2026