Post Reply 
HP 49G / HP 50G memory
11-18-2017, 05:46 AM
Post: #4
RE: HP 49G / HP 50G memory
When a library is stored in a high port (not main RAM), every time a command in the library is called, ONLY THAT COMMAND gets copied to RAM, then it is run there. The entire library is NOT copied to RAM. Library authors must be aware of one potential danger (caused by this scheme) which can even wipe out all your memory.

The problem only occurs when a library author includes multiple Saturn code objects in the source code of a library, AND includes a Saturn jump (e.g. a GOVLNG) which jumps directly from one library command into a Code object in another command. It's tempting to do this, since it can avoid repeating code, but it will make the library crash if run from a high port, because the intended target of the jump will not have been copied to RAM, and the jump will land on unpredictable contents of RAM.

This is one of the reasons that some libraries which run fine in RAM ports fail to run in higher ports.

<0|ΙΈ|0>
-Joe-
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
HP 49G / HP 50G memory - groskwik - 11-15-2017, 06:54 PM
RE: HP 49G / HP 50G memory - DavidM - 11-16-2017, 03:41 PM
RE: HP 49G / HP 50G memory - Han - 11-17-2017, 04:14 PM
RE: HP 49G / HP 50G memory - Joe Horn - 11-18-2017 05:46 AM
RE: HP 49G / HP 50G memory - DavidM - 11-18-2017, 03:32 PM
RE: HP 49G / HP 50G memory - pier4r - 11-18-2017, 09:50 AM
RE: HP 49G / HP 50G memory - TravisE - 11-19-2017, 01:37 AM
RE: HP 49G / HP 50G memory - DavidM - 11-19-2017, 04:22 PM



User(s) browsing this thread: 1 Guest(s)