![]() |
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 KingdomPosts: 6 |
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 KingdomPosts: 1646 |
120K? Just type memory at the command prompt. |
||||
Tinine Guru ![]() Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
![]() |
||||
Gurgs Newbie ![]() Joined: 14/07/2022 Location: United KingdomPosts: 6 |
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 KingdomPosts: 4044 |
Maybe use CHAIN (FLASH CHAIN). John Edited 2022-12-12 22:13 by JohnS |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7938 |
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 KingdomPosts: 6 |
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 KingdomPosts: 4044 |
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 KingdomPosts: 6 |
Thank you very much JohnS for clearing this up. Very helpful ![]() |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5091 |
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 KingdomPosts: 7938 |
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 KingdomPosts: 162 |
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: GermanyPosts: 1234 |
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 KingdomPosts: 162 |
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: AustraliaPosts: 2642 |
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 KingdomPosts: 162 |
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: AustraliaPosts: 2642 |
"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 KingdomPosts: 4044 |
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 ZealandPosts: 9610 |
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 KingdomPosts: 162 |
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 ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |