Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 05:59 20 Nov 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 question to users

Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10617
Posted: 04:16pm 21 Dec 2021
Copy link to clipboard 
Print this post

I've been doing some experimenting while programming the VGA version.

It transpires that saving the Basic program in flash memory and running it from there has only a minimal impact on performance - around 10% maximum. Most of the critical bits of the MMBasic firmware are copied to RAM so in normal use the flash cache would then be nearly all available to the Basic program, hence the minor speed impact

Doing this would allow Basic programs to increase in size to close to 160Kb with a concomitant increase in variable memory to the same amount. The number of flash slots available for storing programs would reduce from 10 to 5.

The confusing OPTION MEMORY command would be removed

Is this the correct approach for the next release?
 
Cyber

Senior Member

Joined: 13/01/2019
Location: Ukraine
Posts: 161
Posted: 04:33pm 21 Dec 2021
Copy link to clipboard 
Print this post

"allow Basic programs to increase in size to close to 160Kb" - sounds good to me.
"number of flash slots available for storing programs would reduce from 10 to 5" - I am okay to sacrifice.
"confusing OPTION MEMORY command would be removed" - also sounds good to me!

Do you plan doing this changes for VGA version only or for original PicoMite as well?
_
Edited 2021-12-22 02:43 by Cyber
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 8298
Posted: 05:10pm 21 Dec 2021
Copy link to clipboard 
Print this post

Hmmm...

IMHO 10 flash slots is really nice if you are running without an SD card. It keeps it nicely self contained. So I don't know really...
Mick

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

Joined: 11/12/2012
Location: United Kingdom
Posts: 10617
Posted: 06:04pm 21 Dec 2021
Copy link to clipboard 
Print this post

  Quote  Do you plan doing this changes for VGA version only or for original PicoMite as well?


Definitely for the VGA to overcome the loss of memory to the framebuffer. The question is about the PicoMite original
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 08:17pm 21 Dec 2021
Copy link to clipboard 
Print this post

@Matherp

"Concomitant"! Holy cr@p, you swallowed a dictionary?

I like the idea of 160K. Yes, the slots are cool but can be clunky when the program exceeds 80K.
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 2171
Posted: 09:31pm 21 Dec 2021
Copy link to clipboard 
Print this post

"ooh! you can't do that Les, it's not conducive, it's not concomitant!"... was a catchphrase from some 70s sit-com... but I can't remember which
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 09:47pm 21 Dec 2021
Copy link to clipboard 
Print this post

@CaptainBoing
"70s sitcoms"   Buddy suggested "Alf Garnett TV repair" on YT. How the heck that's survived the woke-brigade beats me.
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2832
Posted: 11:07pm 21 Dec 2021
Copy link to clipboard 
Print this post

Reducing the number of flash slots need not be a problem. More than one program can be put into each slot.
On the MM2 and MM+ I use the library to store several short utility programs by turning them into subroutines. The first line in them is "Clear" to remove old variables. At the command prompt you just type their name and they run.
Even on the MM F4 (no library) they can be put at the end of the main program, and it works just as well.
The main program in that slot could be a menu to make it even easier.
Edited 2021-12-22 09:10 by phil99
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2466
Posted: 12:11am 22 Dec 2021
Copy link to clipboard 
Print this post

hi peter,
  +1 for running basic programs directly from flash.

would it be worthwhile thinking about making the flash slot sizes variable, to allow maintaining the current number? not quite a full 'file system', but perhaps have a pool of 240 2k blocks (with a 240 entry 'allocation table') which are allocated to flash slots as needed.


cheers,
rob   :-)
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 299
Posted: 06:45am 24 Dec 2021
Copy link to clipboard 
Print this post

+1 for performance

Most interesting problems/projects seems to be time related (emulations, measuring and feedback, calculations, user interfaces etc.)  

10 slots for CHAIN or PROGRAM looks pretty well balanced already :-)
My MMBasic 'sand box'
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10617
Posted: 08:35am 24 Dec 2021
Copy link to clipboard 
Print this post

  Quote  +1 for performance


Too late

V5.07.03 PicoMite
Maximum program size now 124Kbytes, Flash slots reduced from 10 to 7.
Program now runs from flash memory freeing up much more memory, following tuning there is no significant impact on performance

V5.07.03 PicoMite VGA
Maximum program size now 108Kbytes, Flash slots reduced from 10 to 8.
Program now runs from flash memory freeing up much more memory, following tuning there is no significant impact on performance
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 10:58pm 24 Dec 2021
Copy link to clipboard 
Print this post

@matherp

Nice compromise  

Man, this stuff just keeps getting better.
 
Cyber

Senior Member

Joined: 13/01/2019
Location: Ukraine
Posts: 161
Posted: 05:30am 25 Dec 2021
Copy link to clipboard 
Print this post

matherp, so there will always be two releases for PicoMite: regular and VGA.
Do you have source code well organized, so common code of these releases is not repeated? Ir is it not that great?..
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10617
Posted: 09:14am 26 Dec 2021
Copy link to clipboard 
Print this post

  Quote  Do you have source code well organized, so common code of these releases is not repeated? Ir is it not that great?..


What are you implying  

There is a single source with two make files. All differences between the versions are driven by a single global define
 
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 2025