Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 07:08 02 Aug 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 and Picomite VGA flash slots

     Page 1 of 2    
Author Message
Gurgs
Newbie

Joined: 14/07/2022
Location: United Kingdom
Posts: 6
Posted: 11:43am 12 Dec 2022
Copy link to clipboard 
Print this post

What is the size of the Picomite/VGA flash slots? I cannot seem to find that information in the manuals.

Thanks
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 11:49am 12 Dec 2022
Copy link to clipboard 
Print this post

120K? Just type memory at the command prompt.
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 11:53am 12 Dec 2022
Copy link to clipboard 
Print this post

 
Gurgs
Newbie

Joined: 14/07/2022
Location: United Kingdom
Posts: 6
Posted: 12:05pm 12 Dec 2022
Copy link to clipboard 
Print this post

Would this mean that the Picomite VGA, for example, could actually store a program of 8 x 120KB, if I broke down the program into 8 different modules, for a total size of 960 KB, or maybe even 1080KB adding the program storage are which is not a flash slot?
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4044
Posted: 12:13pm 12 Dec 2022
Copy link to clipboard 
Print this post

Maybe use CHAIN (FLASH CHAIN).

John
Edited 2022-12-12 22:13 by JohnS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7938
Posted: 01:15pm 12 Dec 2022
Copy link to clipboard 
Print this post

Each flash slot can hold a full user program. It is in a tokenized form so the flash slots cannot store data.
You can use CHAIN to link slots together, preserving variables. Alternatively you can RUN a flash slot program, in which case variables are not preserved.
Whenever you transfer to a flash slot by any means you are transferred to the first line of the program, it isn't a CALL like a subroutine.
Mick

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

Joined: 14/07/2022
Location: United Kingdom
Posts: 6
Posted: 01:19pm 12 Dec 2022
Copy link to clipboard 
Print this post

I Understand that I can use FLASH CHAIN.

The manual states that the maximum program size is 120KB.

I take it to mean that this does NOT include the flash slots.

Is each flash slot also 120KB in size?

Sorry if I didn't make myself clear on the original post.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4044
Posted: 02:09pm 12 Dec 2022
Copy link to clipboard 
Print this post

Earlier manuals say 124KB for flash slot & for program. I think both changed to 120KB.

(If the FLASH slot was bigger than the program size the extra would never get used, and if smaller you couldn't save a max-sized program...)

John
Edited 2022-12-13 00:10 by JohnS
 
Gurgs
Newbie

Joined: 14/07/2022
Location: United Kingdom
Posts: 6
Posted: 02:25pm 12 Dec 2022
Copy link to clipboard 
Print this post

Thank you very much JohnS for clearing this up.
Very helpful  
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5091
Posted: 02:28pm 12 Dec 2022
Copy link to clipboard 
Print this post

AFAIK you can only use the program slots for basic programs, not for data.

But I guess you could write a basic program that supports the chaining of the 7 free slots, combined with a large block of data. Maybe disguised at data statements, strings.

Volhout
PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7938
Posted: 03:40pm 12 Dec 2022
Copy link to clipboard 
Print this post

You'd have to check the latest manuals for both versions to get an idea of the current state of play regarding flash slot & program size. :)

It's probably safe to say that each flash slot will accept a full user program. However, when I say things like that Peter usually pops up to correct me. :)
Mick

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

Joined: 20/03/2019
Location: United Kingdom
Posts: 162
Posted: 09:01pm 12 Dec 2022
Copy link to clipboard 
Print this post

Hi Gurus,
I still find the subject of flash slots somewhat confusing. The manual section Tinine refers to above mentions that a program is run from Flash, then goes on to mention the "main program memory" too.

I understand that there are 7 flash slots whose contents are accessible and editable via the RAM memory.

You can "hop" between code in the flash slots with the "FLASH CHAIN N" command, starting at the first line of any slot.

It is this "main program memory" that mystifies me. Is this effectively a flash slot zero ??, or some other memory area??

How do you return to this area if currently running code in one of the flash slots 1 to 7 ?

If running code in the "main program memory", then hop to a flash slot, is there any timing penalty incurred ?

Please enlighten my foggy understanding !!

With best regards , Paul.
Edited 2022-12-13 07:06 by Bowden_P
Nothing so constant as change.
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1234
Posted: 09:11pm 12 Dec 2022
Copy link to clipboard 
Print this post

Hi Paul,
you chouse you Slot by using Flash Load 1 to 7 (this switches this part of Flash to active)
At that moment if you Run the Program, it Runs directly from this slot.
Variables are stored in Ram but the Program is not copyd to some mistery Flash area, it stays in its Slot while running.
Thats why there is no "Return" to the original Slot.You have to do it manualy by using "FLASH CHAIN N" again.
Cheers
Mart!n
Edited 2022-12-13 07:15 by Martin H.
'no comment
 
Bowden_P
Senior Member

Joined: 20/03/2019
Location: United Kingdom
Posts: 162
Posted: 09:22pm 12 Dec 2022
Copy link to clipboard 
Print this post

Thanks Martin H,
So the  "main program memory" is in fact Flash slot 1 ?
With best regards, Paul.
Nothing so constant as change.
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2642
Posted: 09:22pm 12 Dec 2022
Copy link to clipboard 
Print this post

The original question was for the PicoVGA which has 9 x 100k slots.
As noted above data that is to be used by more than one slot can be put in arrays or strings.
 
Bowden_P
Senior Member

Joined: 20/03/2019
Location: United Kingdom
Posts: 162
Posted: 09:32pm 12 Dec 2022
Copy link to clipboard 
Print this post

Hi phil99,
Sorry - I understood the op's Picomite / VGA to mean either variant of the Picomite.

Do flash slots apply to both ? ( I have only read the non-VGA manual so far.)

With best regards, Paul.
Nothing so constant as change.
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2642
Posted: 09:59pm 12 Dec 2022
Copy link to clipboard 
Print this post

"Do flash slots apply to both ?"

Yes, the main differences are due to the resources required to generate the VGA signal. In particular the frame buffer is quite hungry.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4044
Posted: 11:53pm 12 Dec 2022
Copy link to clipboard 
Print this post

The most recent draft manual (PicoMite VGA) I have says 9 slots each of 100KB.

Older versions were 8 slots of 108KB and so on.

John
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9610
Posted: 01:12am 13 Dec 2022
Copy link to clipboard 
Print this post

  Quote  So the  "main program memory" is in fact Flash slot 1 ?


No.
Flash slots are separate from the "Main program memory".
Considder the main memory to be a form of "Flash slot zero".

If you write a code of some sort, save it(F2/F1 or AUTOSAVE from the console), but you DON'T save it to ANY of the flash slots, it is still there if you cycle power to the PM.

The likes of OPTION AUTORUN ON still work fine on the main program memory, and if you DON'T specify a flash slot, then the code runs automatically exactly like the PIC32 versions of the interpreter, despite there being nothing at all in any of the flash slots.

You can also leave this "Flash slot zero" empty, and just issue OPTION AUTORUN 1, for example, then the PM will load and run the code in slot #1 at boot-up, and from there, you can chain to the other ones at will, and chain back to slot #1 if you need the main program again kind of idea.

That is how you would do it if you wanted to autorun a multi-slot program arrangement, as you cannot FLASH CHAIN back to the hidden area, so your main program would need to be in one of the slots, and you autorun THAT slot at power-up, allowing you to chain to any of the others when you want, and also back to the original program if you wanted to.
Edited 2022-12-13 11:16 by Grogster
Smoke makes things work. When the smoke gets out, it stops!
 
Bowden_P
Senior Member

Joined: 20/03/2019
Location: United Kingdom
Posts: 162
Posted: 10:49pm 13 Dec 2022
Copy link to clipboard 
Print this post

Hi Grogster,
Many thanks for your clarification. It's a shame that the "Main program memory" is essentially lost if your program is unable to fit in it, and you have to resort to the FLASH CHAIN structure.

However, it does result in a lot more code space!

( A bit reminiscent of my long gone Amstrad 6128, where you had side "pages" of extra memory you could swap to and from - although I never used them back then.)

With best regards, Paul.
Nothing so constant as change.
 
     Page 1 of 2    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025