Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 09:43 27 Nov 2024 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 : # Flash slots - views needed

Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 02:46pm 13 Nov 2023
Copy link to clipboard 
Print this post

Recent changes to the firmware have increased the amount of RAM available and therefore the size of each flash slot. In addition the new functionality means that more of the flash has had to be allocated to the program space.
Together these have reduced the size of the "A:" drive particularly on the PicoMite standard version.

Question therefore is should I reduce the number of flash slots to 3 to recover disk space or leave things as they are - a: drive is 573440 bytes less any mod buffer enabled (used to play .mod files)
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 03:11pm 13 Nov 2023
Copy link to clipboard 
Print this post

Personally I'm happy with that. A: can often be backed up to B:.
The flash slots are already at 3 if the library is used.
Mick

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

Joined: 18/02/2023
Location: United States
Posts: 118
Posted: 03:50pm 13 Nov 2023
Copy link to clipboard 
Print this post

  matherp said  
Question therefore is should I reduce the number of flash slots to 3 to recover disk space or leave things as they are - a: drive is 573440 bytes less any mod buffer enabled (used to play .mod files)


Personally...   In my mind the A: drive replaces the Flash Slot functionality in a very robust manner.   Perhaps a few Flash Slots should be maintained for legacy reasons.    But gradually shrinking those to Zero over time makes sense to me.
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4042
Posted: 03:51pm 13 Nov 2023
Copy link to clipboard 
Print this post

Given we have a flash drive "A:/", what is the use-case for flash slots ?

For me:

1. A way to start a program on boot, though an "OPTION AUTORUN FILE" that always ran "A:/autoexec.bas" would IMO be better/simpler.

2. The LIBRARY ... well actually I don't give tuppence for the LIBRARY; my gut tells me any program that depends on it is fragile, but I accept that some people make use of it.

3. And thanks to the latest additions to the firmware using them as ROM for program assets; as used by the PETSCII Robots port.

I'd be happy with "autoexec.bas" and just 2 slots, one as ROM and one as double-duty LIBRARY or ROM.

YMMV,

Tom
Edited 2023-11-14 02:08 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 04:22pm 13 Nov 2023
Copy link to clipboard 
Print this post

Flash slots can do something autoexec can't - chain programs with variables maintained.

Library shouldn't be fragile anymore as I have fixed the tokens.

I have got some space back anyway by using optimisation Os on more routines - things like the editor and MATH commands and other non-time-critical things like SETPIN.
There is something strange in the way the RP2040 programs. If I reduce the program space to close to the flash usage as identified in the map (.text+.rodata) then MMBasic won't start so I have to leave at least 32Kb of extra space for the program over what I would expect.

Current status with 4 flash slots is


PICOMITE      655360
PICOMITEVGA   868352
WEBMITE       561152


decreasing the flash slots to 3 would increase these values by


PICOMITE      135168
PICOMITEVGA   102400
WEBMITE        98304
 
gadgetjack
Senior Member

Joined: 15/07/2016
Location: United States
Posts: 145
Posted: 04:23pm 13 Nov 2023
Copy link to clipboard 
Print this post

I am fine with losing the flash slots. A drive is great and useful.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 04:34pm 13 Nov 2023
Copy link to clipboard 
Print this post

I can see I'm getting more and more outvoted here, but I do like being able to chain programs with intact variables. The size of A: is almost irrelevant if you have B: - and SD cards are a doddle to fit.
Mick

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

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4042
Posted: 04:56pm 13 Nov 2023
Copy link to clipboard 
Print this post

I'd love to have that ~130K back, 260K would be even better ;-)

I've never used CHAIN, but fair enough.

Observation 100-130K is a really big BASIC program; if you want one that big it can come from "A:/" ... and I don't believe you can fill it all anyway because of issues with the tokenizer. How difficult would it be to have 4 x 32-64K slots plus one 100K (or if you insist maximum size) for the library ?

  matherp said  Library shouldn't be fragile anymore as I have fixed the tokens.


A good fix, but that wasn't actually the fragility I was talking about. I was thinking more along the lines of:

   - A single LIBRARY isn't a great fit when there are multiple programs by different developers who might try to use it.
   - Even considering a single developer, if they made a change to the API of something in the LIBRARY they would need to update all their programs simultaneously to adapt to that change.

Best wishes,

Tom
Edited 2023-11-14 02:58 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2129
Posted: 05:16pm 13 Nov 2023
Copy link to clipboard 
Print this post

I've got by never using flash slots or loading files. Beginners innocent bliss.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 05:36pm 13 Nov 2023
Copy link to clipboard 
Print this post

Of course, if there was a "CHAIN <filename>" or maybe "RUN <filename>, CHAIN" command to retain the variables between program changes and an OPTION AUTOEXEC <filename> system the flash slots would probably be redundant.
Mick

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

Joined: 18/02/2023
Location: United States
Posts: 118
Posted: 06:07pm 13 Nov 2023
Copy link to clipboard 
Print this post

  Mixtel90 said  Of course, if there was a "CHAIN <filename>" or maybe "RUN <filename>, CHAIN" command to retain the variables between program changes and an OPTION AUTOEXEC <filename> system the flash slots would probably be redundant.


That might be the best approach.    If a person could chain from one file on the A: drive to another and keep the variables intact, that might satisfy everybody.

If that was done, it might be logical to make keeping (or discarding) the variables an option on the chain command.    Alternatively...   Maybe chain could always keep the variables intact and run starts the next program fresh and clean?
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 07:49pm 13 Nov 2023
Copy link to clipboard 
Print this post

You can't do that. The variable memory is used to load and tokenise the program before it is stored in flash
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 07:55pm 13 Nov 2023
Copy link to clipboard 
Print this post

I can but dream......

:)

.
Mick

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

Joined: 09/01/2022
Location: United Kingdom
Posts: 509
Posted: 08:58pm 13 Nov 2023
Copy link to clipboard 
Print this post

I do use the flash slots, I currently have one application that uses 3 and chains them in sequence, I rarely use A: on a standard Pico, I do use A: on the Chinese versions with lots more flash available, one reason I don't regularly use A is that  I have to connect an SD anyway if I do any updates as I've lost stuff before now by loosing the A: drive.
Regards Kevin.
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4243
Posted: 08:04am 14 Nov 2023
Copy link to clipboard 
Print this post

Hi Peter,

I am late to respond. Initially I would be in position to do away with all flash slots in favour of a larger A: drive.
But that has changed now I see the benefit and speed advance of using a flash slot or library for graphical elements. This is really a important feature for game development. Petscii robots would not have been possible without it.

So please leave minimal 2 flash slots alive (3 is also fine, as Kevin uses 3) and increase the size of the A drive to occupy the remaining flash. Leave the library function as it is now (occupying a flash slot), I do see benefit in it.

Thank you for your consideration.

Volhout
Edited 2023-11-14 18:05 by Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 08:30am 14 Nov 2023
Copy link to clipboard 
Print this post

Thanks for the feedback
RC17 has changed to 3 flash slots. There will be no further changes to this
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4042
Posted: 09:40am 14 Nov 2023
Copy link to clipboard 
Print this post

Thank you for your consideration Peter.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Print this page


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

© JAQ Software 2024