Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 00:26 08 Feb 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 1 of 12    
Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9512
Posted: 11:08am 16 Jan 2025
Copy link to clipboard 
Print this post

V6.00.02b0 is available on

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

Bugs fixed
Fixes bug in forward references in PIO assembler when the starting line number is > 1
Fixes bug in PRINT @(x,y) when outputting to a computer console
By default disables heartbeat and enables access to all pins on RP2350B
Allows selection of GP19 for PSRAM PIN
Fixes bug in TILE HEIGHT 12 command in PicoMiteVGA
Fixes bug in TILE HEIGHT command in PicoMiteHDMI[USB] setting the screen to white
Fixes bug in LINSTR changing the regular expression if a variable

General
The firmware now implements the ability to save the entire variable space to the A: drive or PSRAM (if available) and subsequently restore it.
This is completely transparent to the user although saving to the A: drive does take a second or so and there must be free space of just less than 256KB available.
This allows commands that historically have required access to the complete variable space to be run from within a program (e.g. FILES).
Specifically, this allows the implementation of a CHAIN command
When PSRAM is enabled 2MB of the available PSRAM is reserved for system use. The remaining space(typically 6MB) is available as normal MMBasic variable space
This allows 5 RAM program slots to be created and used both from within a program and at the command line.
Of course RAM program slots will not survive a power cycle but they will survive a system reset.

New functionality

Layer buffer now available in VGA mode 1 (252MHz and above) and all HDMI mode 1 resolutions

Supports ; at the end of LONGSTRING PRINT to suppress the CR/LF

I2C(2) OPEN now supports 1000 as a speed

FILE command can now be used in a program

CHAIN fname$ [,cmdline$] ' Allows the program to run another program with the variable space preserved - command is recommended to be used in top level program and not from within a subroutine (may work OK but not tested for side-effects)

EDIT FILE command used in a program will now only be memory limited the same as EDIT

SAVE CONTEXT [CLEAR]' saves the variable space and optionally clears it - command should be used in top level program and not from within a subroutine (may work OK but not tested for side-effects). If used in a subroutine a subsequent LOAD CONTEXT must DEFINITELY be in the same subroutine or a crash/corruption will DEFINITELY happen.

LOAD CONTEXT [KEEP]' restores the variable space to the previously saved state and optionally preserves the stored variables to allow a second LOAD if required.

RAM command (RP2350 with PSRAM only) functions like the FLASH command with 5 program slots available in PSRAM. All commands except RAM LOAD (copies a RAM slot to the main flash program space) can be used in a program.
RAM FILE LOAD n,fname$ [,O[VERWRITE]] can be used to load a RAM slot from a standard disk .BAS file

SHIFT-F3 to F10 now work for computer console. NB: Shift-F1, F2, F11, and F12 don't appear to send codes so can't work

PLAY MODFILE will preferentially use space in PSRAM if enabled for the file buffer (RP2350 only). In this case a modbuffer does not need to be enabled with the OPTION command

Edited 2025-01-16 21:41 by matherp
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7106
Posted: 11:42am 16 Jan 2025
Copy link to clipboard 
Print this post

I'm *SO* glad I didn't reprint my manual....  :)
(It always goes in a ring binder now anyway - just in case!)

Many thanks!
Mick

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

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 365
Posted: 09:30pm 16 Jan 2025
Copy link to clipboard 
Print this post

PicoMiteHDMI MMBasic RP2350A Edition V6.00.02b0

When performing function
A$=Dir$("*",DIR)
the list of files is printed to the screen.

When performing function
A$=Dir$("*",VOL)
Error : Invalid flag specification


https://www.thebackshed.com/forum/ViewTopic.php?TID=17283&P=7#232617
Edited 2025-01-17 07:40 by javavi
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9512
Posted: 11:00pm 16 Jan 2025
Copy link to clipboard 
Print this post

The error message with VOL is correct. Valid are DIR FILE and ALL
The list is me leaving a diagnostic in.
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 365
Posted: 05:21am 17 Jan 2025
Copy link to clipboard 
Print this post

  matherp said  The error message with VOL is correct. Valid are DIR FILE and ALL

in PicoMite User Manual MMBasic BASIC Interpreter Ver 6.00.01 Revision 3 (29 December 2024)
DIR$( fspec, type )
'type' is the type of entry to return and can be one of:
VOL  Search for the volume label only
DIR  Search for directories only
FILE  Search for files only (the default if 'type' is not specified)

  matherp said  The list is me leaving a diagnostic in.

This diagnostic conclusion is making my FM go crazy.  
FM_V120
Edited 2025-01-17 16:23 by javavi
 
ville56
Senior Member

Joined: 08/06/2022
Location: Austria
Posts: 150
Posted: 06:46am 17 Jan 2025
Copy link to clipboard 
Print this post

Small bug in OPTION LIST on RP2350B (and also RP2040)

after
OPTION HEARTBEAT ENABLE GP0 and
OPTION HEARTBEAT DISABLE (or OFF)

OPTION LIST still says "OPTION HEARTBEAT PIN GP0". Despite this, GP0 can be used as normal I/O pin, so it seems to affect only the option list command.
                                                                 
73 de OE1HGA, Gerald
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4528
Posted: 07:46am 17 Jan 2025
Copy link to clipboard 
Print this post

@Peter,

The PIO assembler fix works. Thanks.
Pitty this could not get into 6.00.01. But I understand your position.

Volhout
Edited 2025-01-17 17:49 by Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9512
Posted: 08:23am 17 Jan 2025
Copy link to clipboard 
Print this post

  Quote  in PicoMite User Manual MMBasic BASIC Interpreter Ver 6.00.01 Revision 3 (29 December 2024)


The manual needs updating - I'll ask Geoff. AFAIK that has never been available - certainly not in the PicoMite

  Quote  This diagnostic conclusion is making my FM go crazy.


I'll post an update later today

Small bug in OPTION LIST on RP2350B (and also RP2040)

after
OPTION HEARTBEAT ENABLE GP0 and
OPTION HEARTBEAT DISABLE (or OFF)

OPTION LIST still says "OPTION HEARTBEAT PIN GP0". Despite this, GP0 can be used as normal I/O pin, so it seems to affect only the option list command.


Please could you do OPTION RESET and see if it still happens.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9512
Posted: 09:05am 17 Jan 2025
Copy link to clipboard 
Print this post

Download now updated to remove diagnostic in DIR$ command - no version change
 
ville56
Senior Member

Joined: 08/06/2022
Location: Austria
Posts: 150
Posted: 07:38pm 17 Jan 2025
Copy link to clipboard 
Print this post

  matherp said  
  Quote  
Small bug in OPTION LIST on RP2350B (and also RP2040)

after
OPTION HEARTBEAT ENABLE GP0 and
OPTION HEARTBEAT DISABLE (or OFF)

OPTION LIST still says "OPTION HEARTBEAT PIN GP0". Despite this, GP0 can be used as normal I/O pin, so it seems to affect only the option list command.


Please could you do OPTION RESET and see if it still happens.


did OPTION RESET, still happens.
                                                                 
73 de OE1HGA, Gerald
 
ville56
Senior Member

Joined: 08/06/2022
Location: Austria
Posts: 150
Posted: 08:16pm 17 Jan 2025
Copy link to clipboard 
Print this post

Another strange behaviour found:

PicoMite MMBasic RP2040 Edition V6.00.01, Pico-restouch-lcd-3.5

After resetting options and re-establishing options for the panel AND setting
OPTION GUI CONTROLS 71 the old problem with GUI CALIBRATE occurs ...

Error : Touch not calibrated

in a loop after the first calibration point is touched.

If GUI CONTROLS is set to 0, calibration works ...
Edited 2025-01-18 06:16 by ville56
                                                                 
73 de OE1HGA, Gerald
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 365
Posted: 08:27pm 17 Jan 2025
Copy link to clipboard 
Print this post

Is it possible to implement in V6.00.02 sound on I2S DAC?
PCM5102 TDA1387
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9512
Posted: 08:25am 18 Jan 2025
Copy link to clipboard 
Print this post

  Quote  Is it possible to implement in V6.00.02 sound on I2S DAC?
PCM5102 TDA1387

I have looked at this but to work properly it relies on the processor running at specific speeds to allow the 44100*64*8 master clock rate for the PIO. These speeds are incompatible with VGA and HDMI.
Given that VS1053 is fully supported I don't intend to pursue this further


  Quote  Another strange behaviour found:

Can't replicate


Edited 2025-01-18 18:28 by matherp
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 365
Posted: 12:20pm 18 Jan 2025
Copy link to clipboard 
Print this post

  matherp said  
  Quote  Is it possible to implement in V6.00.02 sound on I2S DAC?
PCM5102 TDA1387
I have looked at this but to work properly it relies on the processor running at specific speeds to allow the 44100*64*8 master clock rate for the PIO. These speeds are incompatible with VGA and HDMI.
Given that VS1053 is fully supported I don't intend to pursue this further

And at what sampling frequency is the data updated for sound on PWM or for SPI DAC?

For the I2S bus, it is not at all necessary to adhere to the exact flow frequency; it is possible to transmit data packets at a higher clock frequency with the required sampling period.

Edited 2025-01-18 22:38 by javavi
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9512
Posted: 12:42pm 18 Jan 2025
Copy link to clipboard 
Print this post

Sorry, but I've had a look at it and made a decision. If you want to pursue it further the PicoMite source is on github. The MMX port of MMbasic fully supports I2S output as that chip has a proper I2S module. The Rp2404/2350 can only do it using PIO
 
ville56
Senior Member

Joined: 08/06/2022
Location: Austria
Posts: 150
Posted: 01:01pm 18 Jan 2025
Copy link to clipboard 
Print this post

  Quote  Another strange behaviour found:

Can't replicate


ok, can't either anymore after a clear_flash. Must have been some garbage left over in the options area, sorry to bother you ....
                                                                 
73 de OE1HGA, Gerald
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 365
Posted: 05:47pm 18 Jan 2025
Copy link to clipboard 
Print this post

  matherp said  Download now updated to remove diagnostic in DIR$ command - no version change

It looks like diagnostics in the DIR$ command is disabled only for disk B: but for disk A: it is still enabled.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9512
Posted: 06:14pm 18 Jan 2025
Copy link to clipboard 
Print this post

Sorry - will fix

I was trying to update  LFS and FatFS to the latest versions but hit problems hence the diagnostics. Eventually I backed the changes out but not after they rendered two SD cards dead and on the A: drive neither FILES nor DIR$ gave any output even though you could load and save files and the free space changed - bizarre

NB: PIO DMA TX and PIO DMA RX don't work for RP2350 PIO2 - bug in sdk
Edited 2025-01-19 04:18 by matherp
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2281
Posted: 12:26am 19 Jan 2025
Copy link to clipboard 
Print this post

WeAct RP2350A_V20 Completely replace the original PICO2 Raspberry Pi RP2350 RISC-V Hazard3 520KByte SRAM 4 or 16MByte QSPI Flash

Color: RP2350A-V20-16MB AU$7.21 Tax excluded, add at checkout if applicable. Shipping: AU$6.86
https://www.aliexpress.com/item/1005008117237405.html
Edited 2025-01-19 10:34 by phil99
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 365
Posted: 01:04am 19 Jan 2025
Copy link to clipboard 
Print this post

  phil99 said  WeAct RP2350A_V20 Completely replace the original PICO2 Raspberry Pi RP2350 RISC-V Hazard3 520KByte SRAM 4 or 16MByte QSPI Flash

Here is a QSPI flash installed in a large case, onto which a PSRAM microcircuit can be soldered on top.
 
     Page 1 of 12    
Print this page
© JAQ Software 2025