Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 23:17 07 Jun 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/PicoMiteVGA V5.07.03 betas - major update

     Page 1 of 4    
Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10135
Posted: 09:17am 23 Dec 2021
Copy link to clipboard 
Print this post

http://geoffg.net/Downloads/picomite/PicoMite_Beta.zip

PicoMite

V5.07.03b0
YOU MUST LOAD clear_flash BEFORE LOADING THIS VERSION

Changes from PicoMiteVGAV5.07.02b7
Program now runs from flash memory freeing up much more memory, following tuning there is no significant impact on performance
Maximum program size now 124Kbytes, Flash slots reduced from 10 to 7.
FLASH RUN and FLASH CHAIN now execute direct from the specified flash slot without changing the main program
OPTION MEMORY removed as no longer relevant
OPTION BAUDRATE n now sets the baudrate for when a serial console is used
Fixes bug in using SYSTEM I2C or I2C2 for general I2C use if I2C READ does not use a string as the variable.
Fixes bug in COM1 where buffer overrun is losing characters.
Support for a PS2 Keyboard added
OPTION KEYBOARD NO_KEYBOARD/US/FR/GR/IT/BE/UK/ES
use level conversion between the Pico pins and the PS2 socket or run the keyboard at 3.3V
Connect GP8 to PS2 socket CLOCK pin via level converter
Connect GP9 to PS2 socket DATA pin via level converter
Connect VBUS to PS2 socket +5V
Connect GND to PS2 socket GND
NEW subcommands for SETTICK
SETTICK PAUSE, myint [,tickno] ' pauses the tick so that the interrupt is delayed but the current count is maintained
SETTICK RESUME, myint [,tickno] ' resumes the tick after a pause
FLASH LIST no [,all] ' lists in full the program held in the flash slot
Increases drive level for SDcard output pins (CD, MOSI and CLOCK) which MAY improve SDcard reliability when the SPI bus is loaded with additional devices (LCD and/or touch)
Reduces maximum file name length to 63 characters but increase maximum files that can be listed with FILES command to 1000
Fixed memory leak caused by ctrl-C out of FILES command
V5.07.02b2
Fixes bug in day$(now) function
Fixes bug where writing text to an SPI LCD that overlapped the bottom of the screen would fail to de-assert LCD_CS
Fixes bug that added an extra space after a REM command each time the program was edited.
NEW subcommands for SETTICK
SETTICK PAUSE, myint [,tickno] ' pauses the tick so that the interrupt is delayed but the current count is maintained
SETTICK RESUME, myint [,tickno] ' resumes the tick after a pause
NEW subcommands for FLASH
FLASH LIST no [,all] ' lists in full the program held in the flash slot

PicoMite VGA

V5.07.03b0
YOU MUST LOAD clear_flash BEFORE LOADING THIS VERSION

Changes from PicoMiteVGAV5.07.02b7
Program now runs from flash memory freeing up much more memory, following tuning there is no significant impact on performance
Maximum program size now 108Kbytes, Flash slots reduced from 10 to 8.
FLASH RUN and FLASH CHAIN now execute direct from the specified flash slot without changing the main program
OPTION MEMORY removed as no longer relevant
OPTION BAUDRATE n now sets the baudrate for when a serial console is used
Fixes bug in using SYSTEM I2C or I2C2 for general I2C use if I2C READ does not use a string as the variable.
Fixes bug in COM1 where buffer overrun is losing characters.
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 232
Posted: 10:34am 23 Dec 2021
Copy link to clipboard 
Print this post

Hi,
thanks for the update.
How do I set the size of the console (e.g. TeraTerm)? Before the update, it was OPTION DISPLAY but now this generates an error:

> OPTION DISPLAY 64, 80
Error : Cannot change LCD console


I cannot find anything in the readme about this.

Thanks
Thomas
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10135
Posted: 10:43am 23 Dec 2021
Copy link to clipboard 
Print this post

  Quote  How do I set the size of the console (e.g. TeraTerm)? Before the update, it was OPTION DISPLAY but now this generates an error:


Works on the PicoMite. Shouldn't and can't work on the VGA version as the resolution is driven by the display mode and font to fit the screen
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 232
Posted: 10:46am 23 Dec 2021
Copy link to clipboard 
Print this post

Hi,

unfortunately I also ran into another problem.
When retrieving the program I was working on via xmodem, the Pico went into a reboot loop:

> xmodem r
Saved 41197 bytes
Error: Invalid address - resetting
PicoMite MMBasic Version 5.07.03b0
Copyright 2011-2021 Geoff Graham
Copyright 2016-2021 Peter Mather

Error: Invalid address - resetting
...

I cleared the flash before installing the new version. I realize that this is difficult to debug (the program I was working on is quite complex), but it would already help me if the previous beta firmware (5.07.02xx) was available. On Geoff's site, it is not in the archive, and every general link I found in the forum points at the new beta version. And yes, I should have saved a copy myself ...

EDIT: Just loading the program via xmodem starts the reboot; I cannot edit/run or do anything else.

Thanks and best
Thomas
Edited 2021-12-23 20:51 by karlelch
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10135
Posted: 10:53am 23 Dec 2021
Copy link to clipboard 
Print this post

  Quote  would already help me if the previous beta firmware (5.07.02xx) was available.


VGA or normal?

If you post your program I can try and replicate. Also list what options you have set
Edited 2021-12-23 20:56 by matherp
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 232
Posted: 11:25am 23 Dec 2021
Copy link to clipboard 
Print this post

... ok, I found two issues:

(1) My program uses `DefineFont` to load to user-defined font. If I remove all these font definitions, the Pico running V5.07.03b0 can load the program via xmodem.

(2) My program uses `Var` statements to save/retrieve some configuration values. Apparently, the memory size for these variables is now smaller than in the previous beta. My program uses 4 integer variables and 1 51-element integer array, and this crashes the Pico (see also code below).


PicoMite MMBasic Version 5.07.03b0
Copyright 2011-2021 Geoff Graham
Copyright 2016-2021 Peter Mather

> dim integer a, b(10)
> var clear
> var save a,b()
> var restore
> erase b()
> dim integer b(50)
> var clear
> var save a,b()

-> Freezes the Pico.

Best
Thomas
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 232
Posted: 11:26am 23 Dec 2021
Copy link to clipboard 
Print this post

  matherp said  
  Quote  would already help me if the previous beta firmware (5.07.02xx) was available.


VGA or normal?

If you post your program I can try and replicate. Also list what options you have set


Normal
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 232
Posted: 11:29am 23 Dec 2021
Copy link to clipboard 
Print this post

  matherp said  If you post your program I can try and replicate. Also list what options you have set


Thanks. If I eliminate `Var` and `DefineFont` (see above) my program seems to run fine.
In any case, these are the options I set:

OPTION CPUSPEED (KHz) 126000
OPTION COLOURCODE ON
OPTION SDCARD GP22
OPTION SYSTEM SPI GP10,GP11,GP12
OPTION SYSTEM I2C GP2,GP3
OPTION LCDPANEL ST7789_320, LANDSCAPE,GP8,GP15,GP9,GP13
OPTION RTC AUTO ENABLED
OPTION GUI CONTROLS 60
OPTION TOUCH GP16,GP17
GUI CALIBRATE 0, 438, 3992, 890, -650
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 232
Posted: 11:32am 23 Dec 2021
Copy link to clipboard 
Print this post

  matherp said  
  Quote  How do I set the size of the console (e.g. TeraTerm)? Before the update, it was OPTION DISPLAY but now this generates an error:


Works on the PicoMite. Shouldn't and can't work on the VGA version as the resolution is driven by the display mode and font to fit the screen


This is how it looks on my terminal (normal firmware, not VGA):
> option reset
PicoMite MMBasic Version 5.07.03b0
Copyright 2011-2021 Geoff Graham
Copyright 2016-2021 Peter Mather

> option list
OPTION CPUSPEED (KHz) 126000
> option display 64
Error : Cannot change LCD console
> option display 64,80
Error : Cannot change LCD console
>

Edited 2021-12-23 21:33 by karlelch
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 232
Posted: 11:42am 23 Dec 2021
Copy link to clipboard 
Print this post

  karlelch said  (1) My program uses `DefineFont` to load to user-defined font. If I remove all these font definitions, the Pico running V5.07.03b0 can load the program via xmodem.


I tried to load (via xmodem) a minimal program containing just the font definition from page 48 of the user manual and the Pico goes right into a reboot loop  

Error: Invalid address - resetting

Edited 2021-12-23 21:42 by karlelch
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10135
Posted: 11:58am 23 Dec 2021
Copy link to clipboard 
Print this post

Thanks for the diagnostics. Found most of the issues. Question which font numbers are you using?
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 232
Posted: 12:03pm 23 Dec 2021
Copy link to clipboard 
Print this post

  matherp said  Thanks for the diagnostics. Found most of the issues. Question which font numbers are you using?


#8 and #9
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10135
Posted: 12:29pm 23 Dec 2021
Copy link to clipboard 
Print this post

PicoMiteb1.zip


Could you try attached without font 8 and let me know. I've added a new built-in font 8 (6x4) and forgot to include in the changes. You will need to do OPTION RESET to fix the OPTION DISPLAY problem

Thanks

UPDATE - won't fix the font issue - now know the problem - flash reads and writes are to different addresses for the same byte (yuk)
Edited 2021-12-23 22:41 by matherp
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 232
Posted: 02:50pm 23 Dec 2021
Copy link to clipboard 
Print this post

  matherp said  PicoMiteb1.zip


Could you try attached without font 8 and let me know. I've added a new built-in font 8 (6x4) and forgot to include in the changes. You will need to do OPTION RESET to fix the OPTION DISPLAY problem

Thanks

UPDATE - won't fix the font issue - now know the problem - flash reads and writes are to different addresses for the same byte (yuk)


The OPTION DISPLAY issue is solved - thanks!
The VAR issue persists.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10135
Posted: 03:41pm 23 Dec 2021
Copy link to clipboard 
Print this post

http://geoffg.net/Downloads/picomite/PicoMite_Beta.zip

PicoMite & PicoMite VGA

V5.07.03b1
New font added FONT 8 is a very small 6x4 font useful for 320x240 screens when high text density is needed (same as in the Picomite manual but can now be used for editing on the PicoMite VGA with OPTION DEFAULT FONT 8)
Bugs introduced in the major update fixed in VAR command, DEFINE FONT, and OPTION DISPLAY (PicoMite only)

OPTION RESET is required to fix the OPTION DISPLAY bug

YOU MUST LOAD clear_flash BEFORE LOADING THIS VERSION if updating anything other than a 5.07.03beta
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 232
Posted: 04:52pm 23 Dec 2021
Copy link to clipboard 
Print this post

  matherp said  
Bugs introduced in the major update fixed in VAR command, DEFINE FONT, and OPTION DISPLAY (PicoMite only)


I tested it briefly, everything seems to work.
Thanks a lot for the quick fixing!

Best
Thomas
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10135
Posted: 05:01pm 23 Dec 2021
Copy link to clipboard 
Print this post

Thomas
Thanks for testing and the great diagnostics. It was a major change to the internal structure and there were bound to be bits I missed.
One thing I suspect won't work is running a program with one or more CSUBs from a flash slot but this may just end up a limitation.

UPDATE
I've worked out how to make launching a CSUB program start relative so from b2 this should work. I'll post b2 after I see if any more issues arise
Edited 2021-12-24 03:54 by matherp
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 232
Posted: 07:49am 24 Dec 2021
Copy link to clipboard 
Print this post

  matherp said  Thomas
Thanks for testing and the great diagnostics. It was a major change to the internal structure and there were bound to be bits I missed.
One thing I suspect won't work is running a program with one or more CSUBs from a flash slot but this may just end up a limitation.

UPDATE
I've worked out how to make launching a CSUB program start relative so from b2 this should work. I'll post b2 after I see if any more issues arise


Thanks for being so responsibe and fixing the firmware quickly.
I think it is a great software. I was using MicroPython so far - and I know this and MMBasic are different things - but for some tasks it is much more straight forward to have a very pridictable, still easy to program language like MMBasic.

Happy Christmas,
Thomas

P.S.: If I could make a wish, I'd like to have the 2nd core available for running SUB routines :)
 
Kabron

Regular Member

Joined: 30/11/2017
Location: Germany
Posts: 65
Posted: 03:12pm 25 Dec 2021
Copy link to clipboard 
Print this post

  Quote  PicoMiteVGA MMBasic Version 5.07.03b1                                          
Copyright 2011-2021 Geoff Graham                                                
Copyright 2016-2021 Peter Mather                                                
                                                                               
> option list                                                                  
OPTION COLOUR VGA ON                                                            
OPTION COLOURCODE ON                                                            
OPTION DISPLAY 30, 53                                                          
OPTION KEYBOARD US                                                              
OPTION DEFAULT FONT 7, 1                                                        
>                                                                              
> OPTION SYSTEM SPI GP2,GP3,GP4                                                
Error : Invalid Option


What's the matter?
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10135
Posted: 03:20pm 25 Dec 2021
Copy link to clipboard 
Print this post

  Quote  What's the matter?


Forgot to document, because the system SPI is only used for SDcard just use the alternative SDcard syntax

OPTION SDCARD CSpin, CLKpin, MOSIpin, MISOpin

OPTION SYSTEM SPI is disabled on the VGA version
Edited 2021-12-26 01:20 by matherp
 
     Page 1 of 4    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025