rprosperi wrote: ↑Sat Feb 20, 2021 1:51 am
The contents of HEPRAM, just like any other upper RAM pages, do indeed remain intact when you remove the HEPAX module; this is described in the docs.If you plug in another module which allocates RAM pages, they will still have their prior contents, but AFAIK, modules doing so do initialize the RAM pages they use, typically with some form of proprietary file system.
So here's where this approach may cause problems: if you were to swap the HEPAX_4H and the HEPAX_8H modules the memory arrangement would be different for each one, and the HEPAX initialization process won't detect that (since it was designed to work on modules that carry their own memory, as opposed to sharing a common memory pool). So the HEPAX FileSystem is configured when the first HEPAX module is plugged in. If this happens to be the "8H" version then four pages are allocated to the HEPAX FileSystem. If you then unplug the "8H"version and plug the "4H" Module the initialization process does not see that change and leaves the pointers in HEPRAM unchanged, signaling a four page congiguration - which clashes with the "4H" Module instructions to allocate only 2 pages to it from the RAM pool.
Not a very common occurrence, you'd say, and you're right - especially considering that the HEPAX_8H module did not exist prior to yesterday... but here's another case: using multiple copies of the HEPAX_4H module on V41 allows you to have different sets of HEPRAM - one per copy -, so it is like having multiple units of physical HEPAX Modules. However on the 41X all of them share the same RAM resource, so they all will "show" the same contents.
rprosperi wrote: ↑Sat Feb 20, 2021 1:51 am
But you can also EXPORT the Upper RAM ([shift] [SETUP] [2] [7]) to a file in the FAT, which can then be copied to PC, and the most recent version of Meindert's M2KM program will let you extract individual pages, which you could then copy into a new .mod file framework, effectively giving you an easy/poor mans method of authoring FOCAL modules. This has been tested and verified.
Indeed this is what SM came up with to address this scenario, effectively your HEPAX RAM content resides in "RAM" files instead of being part of the actual MOD file. Of course this imposes a restriction on the user, that of properly matching RAM and MOD files so their configuration settings are valid to access that content. So you'd better name those files with descriptive enough names!
PS. On the CL the HEPAX RAM pages are handled individually as standard ROM images, so you can use one HEPAX ROM to "manage" as many sets of HEPRAM pages as you can fit in the I/O bus. Better but more complicated to manage, specially because the FileSystem initialization process is disabled and the use needs to do it manually using dedicated functions available in the PowerCL Module. So it's a power user dream, of course
