Does anyone know what VLM does? There does not seem to be any info on this entry in either editions of the SysRPL guides. I cannot seem to make out much of the ROM dis-assembly since most of it consists of unsupported entries.
On Mon, 02 Nov 2009 21:41:01 -0600, rs1n wrote: > Does anyone know what VLM does?
Examine "StartupProc"
When the highest level "System Outer Loop" can not handle an error in its own "SysErrorTrap" it is assumed that there is Very Low Memory (VLM), a/k/a "Out of Memory" (#135h DOERR) which instigates a procedure of desperation, to try to free some.
The original HP48 Users Guides might illustrate the steps that VLM undertakes, asking questions about what you might be willing to purge (stack, variables, etc.) until enough memory is found to resume operation.
If you would like to see VLM in action on HP49/50 series (it might be a good idea to back up your memory first :)
Type: HOME 256 ATTACH Then type: MEM 100 - MAKESTR MEM
The actual number of bytes of free memory (somewhere in the vicinity of 100 or less) will now be on the stack.
Press ENTER (DUP) repeatedly; pretty soon you will see VLM, with "Out of Memory" displayed on screen, and questions about purging things, with Yes/No responses ("A" or "F").
You can press ON/CANCEL at any time, to see whether you have freed enough memory to resume normal operation.
If you free the stack (which contains a string using up nearly all of free memory), then you should be able to continue, but if anything goes wrong, just restore your memory back up :)
[about causing an "Out of Memory" to see VLM in action]
Since the method previously posted uses a large string on the stack to use up most of free memory, a warmstart (ON+C) is another way to recover.
One reason why VLM may not be mentioned in most SysRPL guides is that it is not something which has any use to be called from any program, but Sorcerers' Apprentices, like some cats, are always looking for some trouble to get into :)
> [about causing an "Out of Memory" to see VLM in action]
> Since the method previously posted > uses a large string on the stack to use up most of free memory, > a warmstart (ON+C) is another way to recover.
> One reason why VLM may not be mentioned in most SysRPL guides > is that it is not something which has any use > to be called from any program, but Sorcerers' Apprentices, > like some cats, are always looking for some trouble to get into :)