Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 21:10 10 May 2025 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.02 betas

     Page 16 of 23    
Author Message
zeitfest
Guru

Joined: 31/07/2019
Location: Australia
Posts: 549
Posted: 01:00am 18 Feb 2025
Copy link to clipboard 
Print this post

off-topic but...

Errm....

clicking on "For everything Micromite visit micromite.org "
leads to a "related searches" page with a "Why is this page displayed" link...

clicking on that leads to this

[ https://adimg.uimserv.net/1und1/Werbemittel/IONOS/us_defaultpage.html ]

WhiteWizzard --  might like to clarify the situation ? Is it a commercial enterprise?
Edited 2025-02-18 11:01 by zeitfest
 
Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1636
Posted: 03:20am 18 Feb 2025
Copy link to clipboard 
Print this post

  Quote  WhiteWizzard --  might like to clarify the situation ? Is it a commercial enterprise?

It used to be. Maybe WhiteWizzard should remove it from his signature.

Bill
Keep safe. Live long and prosper.
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2927
Posted: 02:00pm 18 Feb 2025
Copy link to clipboard 
Print this post

  Turbo46 said  
  Quote  WhiteWizzard --  might like to clarify the situation ? Is it a commercial enterprise?

It used to be. Maybe WhiteWizzard should remove it from his signature.

Bill


I still get an error message whenever I try editing the signature (and hence unable to remove it).

Will contact admin…..
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 295
Posted: 07:39am 21 Feb 2025
Copy link to clipboard 
Print this post

@Peter,

02b11 HDMI/USB/2350

I looked through manual, but did not find how command --> TILE height < by itself might affect printing.

TILE height <--  should not change any printing parameters, e.i. it should be neutral  I believe.  

Check this short https://youtube.com/shorts/ItI-uHO_IFU?feature=share  

Or run this code.

Weird results to my opinion.


MODE 1
Font 7
For  a=0 To 40
'new_tile_h=MM.Info(fontheight)*2
TILE height  12
Print @(0,a*MM.Info(fontheight)) "THIS IS SOME RANDOM TEXT"
Next a

Edited 2025-02-21 17:40 by electricat
My MMBasic 'sand box'
 
mace
Newbie

Joined: 04/03/2023
Location: Finland
Posts: 7
Posted: 08:02am 22 Feb 2025
Copy link to clipboard 
Print this post

hellou.
Trouble with SUB's with Picomite newest V6.
RP2040 and RP2350.

SetPin gp0,dout :SetPin gp1,dout :SetPin gp2,dout :SetPin gp3,dout
SetPin gp4,dout :SetPin gp5,dout :SetPin gp6,dout :SetPin gp7,dout

'sub1 255
sub2 128
End

Sub sub1 num1
Port(gp0,8)=num1
End Sub

Sub sub2 num2
Port(gp0,8)=num2
End Sub

Enabling sub1 #255,sub2 port(gp0,8) is something else but not #128.
Variable is ok but port itself not. Earlier versions OK.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10067
Posted: 08:27am 22 Feb 2025
Copy link to clipboard 
Print this post

More information needed. what error?
What version did it work on?
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4854
Posted: 08:50am 22 Feb 2025
Copy link to clipboard 
Print this post

#128 is not equal to &h128
128 decimal equals &h80.

V.
PicomiteVGA PETSCII ROBOTS
 
mace
Newbie

Joined: 04/03/2023
Location: Finland
Posts: 7
Posted: 10:08am 22 Feb 2025
Copy link to clipboard 
Print this post

Hellou again.
BTW.Thanks good work!
--------------------

SetPin gp0,dout :SetPin gp1,dout :SetPin gp2,dout :SetPin gp3,dout
SetPin gp4,dout :SetPin gp5,dout :SetPin gp6,dout :SetPin gp7,dout

'sub1 255    'b11111111'  Test enabling and disabling this SUB. #255  
sub2 128     'b10000000'   #128
End

Sub sub1 num1    
Port(gp0,8)=num1
End Sub

Sub sub2 num2
Port(gp0,8)=num2  
End Sub
--------------------
port output on sub2 when sub1 enabled  'b01111111' is wrong but num2 is OK
port output on sub2 when sub1 disabled 'b10000000' is OK and num2 is OK.

working on picomiteV5.08.00
not working on picomiteRP2040V6.00.01

Seems that SUB1 causing error on SUB2 port output,but not to variables itself.
(Tested with multimeter on port gp0-gp7
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10067
Posted: 10:29am 22 Feb 2025
Copy link to clipboard 
Print this post

OK, got the issue. Caused by trying to circumvent the RP2350 pin bug - will fix
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7504
Posted: 10:46am 22 Feb 2025
Copy link to clipboard 
Print this post

Deleted
Edited 2025-02-22 20:47 by Mixtel90
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4251
Posted: 12:48pm 22 Feb 2025
Copy link to clipboard 
Print this post

Hi Peter,

I will have time to play this afternoon/tomorrow if you have a new (gamepad) beta for the Picomite VGA USB *RP2040* platform.

Best wishes,

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

Joined: 11/12/2012
Location: United Kingdom
Posts: 10067
Posted: 01:15pm 22 Feb 2025
Copy link to clipboard 
Print this post

Tom

This version has a couple of new features.
Use GAMEPAD MONITOR before plugging in a gamepad and when plugged in it will show the before and after report with each change of buttons

Use GAMEPAD CONFIGURE vid,pid,i0,c0,i1,c1,i2,c2,i3,c3,i4,c4,i5,c5,i6,c6,i7,c7,i8,c8,i9,c9,i10,c10,i11,c11,i12,c12,i13,c13,i14,c14,i15,c15


to set up a gamepad that isn't supported before plugging it in. The index and code values are as per my previous post. All 34 parameters are mandatory.

struct s_Buttons {
uint8_t index; // which report element relates to this bit set to 0xFF if bit not used
// code can be a bit number 0-7 for positive if pressed
// 128-135 for negative if pressed
// 64 for value less than 64 if pressed
// 192 for value greater than 192 if pressed
uint8_t code ;
};
struct s_Gamepad {
uint16_t vid;
uint16_t pid;
struct s_Buttons b_R;
struct s_Buttons b_START;
struct s_Buttons b_HOME;
struct s_Buttons b_SELECT;
struct s_Buttons b_L;
struct s_Buttons b_DOWN;
struct s_Buttons b_RIGHT;
struct s_Buttons b_UP;
struct s_Buttons b_LEFT;
struct s_Buttons b_R2;
struct s_Buttons b_X;
struct s_Buttons b_A;
struct s_Buttons b_Y;
struct s_Buttons b_B;
struct s_Buttons b_L2;
struct s_Buttons b_TOUCH;
};



PicoMite.zip
Edited 2025-02-22 23:29 by matherp
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 220
Posted: 03:12pm 22 Feb 2025
Copy link to clipboard 
Print this post

Hi Peter, Tom,

I just tested the new version with my robot (it still has a RP2040, which interprets the input of my wireless "fake" XBox controller). This is the output:
option list
PicoMiteVGA MMBasic USB RP2040 Edition V6.00.02b11
OPTION SERIAL CONSOLE COM2,GP8,GP9
OPTION COLOURCODE ON
OPTION KEYBOARD US
OPTION CPUSPEED (KHz) 252000
> gamepad monitor
> Generic Gamepad Connected on channel 3
> 057E,2009
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
81,01,00,03,35,00,35,00,31,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
Generic Gamepad Disconnected
> XBox Controller Connected on channel 3 (pid=&H48, vid=&H2F24)
> XBox Controller Disconnected
> XBox Controller Connected on channel 3 (pid=&H5500, vid=&H11C0)
> ?device(gamepad 3, b)
0
> ?device(gamepad 3, b)
4096
> ?device(gamepad 3, b)
1024
> ?device(gamepad 3, b)
2
>

`GAMEPAD MONITOR` nicely visualizes the negotiations (?) between the controller and the PicoMite. The controller cycles through some possible configurations before it settles on the configuration that works. Great!

Note that the firmware knows my controller (this is a modification I suggested to Peter to use the the code before I know that there is such a variety of "XBox" controllers ...), therefore I think I cannot test `GAMEPAD CONFIGURE`.

Thanks and best
Thomas
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2927
Posted: 08:54pm 22 Feb 2025
Copy link to clipboard 
Print this post

Can anyone please check b11 with a SPI SSD1306 0.96” OLED display.

I am getting ‘mirrored’ characters (as if viewing in a mirror).

All other display types I have tried so far work OK; just this type not (and have no other SSD1306’s to try)
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 295
Posted: 05:44am 23 Feb 2025
Copy link to clipboard 
Print this post

@Peter,

HDMI/USB/2350   all 02 betas until 11

It might be on purpose, but still I wonder, why after LIBRARY SAVE, if I use LIBRARY LIST, I see full code listed of SUBs` I just saved.

I was sure I will see only sub names as all is compacted and crunched according to v6 manual. Cames out they are not.  

  Quote  When the routines are transferred to the library MMBasic will compress them by removing comments,extra spaces, blank lines and the hex codes in embedded C routines and fonts. This makes the library space efficient, especially when loading large fonts. Following the save the program area is cleared.

Edited 2025-02-23 15:44 by electricat
My MMBasic 'sand box'
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2417
Posted: 07:13am 23 Feb 2025
Copy link to clipboard 
Print this post

  Quote  removing ... the hex codes in embedded C routines and fonts.
That applies to CSubs. The program and standard Subs are reconstituted from their Tokens** with Library List. Comments and un-necessary spaces are removed as per the manual.

** I think the code is tokenised whenever you save a program.
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 295
Posted: 07:52am 23 Feb 2025
Copy link to clipboard 
Print this post

  phil99 said  
  Quote  removing ... the hex codes in embedded C routines and fonts.
That applies to CSubs. The program and standard Subs are reconstituted from their Tokens** with Library List. Comments and un-necessary spaces are removed as per the manual.

** I think the code is tokenised whenever you save a program.


Got what you say.

However it does not seems to me saving all my long-name-variables, so useful at the moment of writing program, is meaningfull somehow in library.

I was thinking (comes out mistakenly), library is saved as user unreadable (but perfect for MMBASIC interpreter) blosk of bytes. I was sure, If library is saved tokenized, I would not see any "human readable" varaibles anymore. Names of SUBs and nothing more.

I have no any complains in any way, sure.
I just use find-replace in notepad++ and shorten all meaninghull long variable names as much as possible to save all precious bytes, then.
My MMBasic 'sand box'
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7504
Posted: 08:07am 23 Feb 2025
Copy link to clipboard 
Print this post

Code stored in the Library is no longer editable by normal means. LIBRARY SAVE is a one-way process, moving code from RAM to the Library, so always keep your Library as a normal BASIC program and save it first. Perhaps LIBRARY MOVE might have been a better name for the command.

AFAIK all legal variable names are preserved, even long ones. To be efficient though, I wouldn't go overboard with name length in the library. It's probably not needed as you should be passing variables to and from the routines, where they can be short internally, and using LOCAL and STATIC variables. It has little to do with available space.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 436
Posted: 08:09am 23 Feb 2025
Copy link to clipboard 
Print this post

PicoMite VGA/HDMI RP204/RP2350A v6.00.02b11
Memory    VGA RP2040 | HDMI RP2350A
RAM:
124K   (100%) Total | 228K   (100%) Total
 95,5K  (77%) HEAP  | 179,5K  (78%) HEAP
 28,5K  (23%) Free  |  48,5K  (22%) Free

If the entire heap of RAM is filled, then where is the remaining, free part of the memory spent?
(Under global variables 256*8=2k and 384*8=3k respectively.)
What other way can I use this remaining free RAM?

I found this glitch.
If you slightly exceed the Heap size limit when creating an array, then this array will be created, but when clearing it, its size will go to the General one and the memory will not be cleared.
Example:
> memory
RAM:
  0K  ( 0%) 0 Variables
  0K  ( 0%) General
124K (100%) Free

> ? MM.Info(HEAP)
97792

> Dim t$(382+1)
> ? MM.Info(HEAP)
Error : Not enough Heap memory
> clear
> memory
RAM:
  0K  ( 0%) 0 Variables
 96K  (77%) General
 28K  (23%) Free
>

Edited 2025-02-23 18:29 by javavi
 
Peter63
Regular Member

Joined: 28/07/2017
Location: Sweden
Posts: 45
Posted: 08:43am 23 Feb 2025
Copy link to clipboard 
Print this post

From the manual:
CLEAR   Delete all variables and recover the memory used by them.  
       See ERASE for deleting specific array variables.

i tested ERASE t$ , works OK

i used version ,  WebMite MMBasic RP2350A Edition V6.00.01RC9

/Peter63
 
     Page 16 of 23    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025