Post Reply 
48SX: Missing memory?
05-29-2015, 01:01 PM
Post: #1
48SX: Missing memory?
I've got a 48SX with a 32K card in port 1 merged with main memory. Something isn't adding up right.

I've got 23,429.5 bytes in HOME, totaled by running this small program:

Code:
\<< 0 \-> T
  \<< VARS 1
    \<< DUP BYTES SWAP DROP DUP 'T' STO+ 2 \->LIST \>>
    DOLIST T
  \>>
\>>

(DOLIST is provided by GXLIB, as it's not a standard part of the 48SX.)

Going into the hidden directory and running this program gives me a total of 609.

Then I have two libraries in port 0, Keyman and GXLIB, for a total of 3409 bytes. (Recalling them to the stack from the LS LIBRARY PORT0 menu and running BYTES.)

So that's 23,429.5 + 609 + 3409 (or should I say 23,429.5 609 + 3409 +?), for a total of 27,447.5 bytes.

Alright, so MEM DROP MEM with an otherwise clear stack shows 31,002.5 bytes free. That's a total of 58,450 bytes accounted for. But what of the other ~7 KB?

I had a similar issue on my 48GX with a merged 128 KB card, but the difference was far more pronounced, I think closer to 20-30 KB. I did a backup/full reset/restore on that one, and it all came back. Is there something causing orphaned objects to hang around in memory and not get garbage collected? Is there a remedy besides a full reset?
Visit this user's website Find all posts by this user
Quote this message in a reply
06-01-2015, 02:11 PM
Post: #2
RE: 48SX: Missing memory?
Interesting...
I think you already tryied this ?

PICT PURGE
[ON]+[C]

Split your data by trying : {your libs} 1 FREE, (MEM ? 1 PVARS ?) then 1 MERGE

Or may be, there is a 'ghost' object ? (Library or Backup object with a bad CRC (ie. corrupted) are hidden)
Backup your data, then [ON]+[A]+[F] -> YES
Find all posts by this user
Quote this message in a reply
06-01-2015, 02:24 PM
Post: #3
RE: 48SX: Missing memory?
(06-01-2015 02:11 PM)Bruno Wrote:  Interesting...
I think you already tryied this ?

PICT PURGE
[ON]+[C]

Split your data by trying : {your libs} 1 FREE, (MEM ? 1 PVARS ?) then 1 MERGE

Or may be, there is a 'ghost' object ? (Library or Backup object with a bad CRC (ie. corrupted) are hidden)
Backup your data, then [ON]+[A]+[F] -> YES

I hadn't tried PICT PURGE, but good idea. That regained about 1 KB.

I'm guessing it's corrupt port 0 objects. A while back, I had the old "Wait a minute, didn't I have two libraries installed?" Annoying that the only apparent fix is a full reset. There's a program called P0FIX, but it seems to be G/GX only.
Visit this user's website Find all posts by this user
Quote this message in a reply
06-05-2015, 10:16 AM
Post: #4
RE: 48SX: Missing memory?
If you know the Library number or the backup object name of the corrupted object, you can try to PURGE it.
Find all posts by this user
Quote this message in a reply
06-05-2015, 10:27 AM
Post: #5
RE: 48SX: Missing memory?
The calculator reserves a bit of RAM in order to run its OS, though 7Kb seems like a bit much. Unless you have important items you wish to preserve on the calc, I recommend freeing the merged memory and removing the backup battery in the RAM card. As for the calc itself, try ON-A-F and do not recover anything.

This should basically put everything back to factory settings. When you type MEM after this complete reset, that would be the amount left to the user after the calc reserves memory for itself.

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
06-05-2015, 10:58 AM
Post: #6
RE: 48SX: Missing memory?
(06-05-2015 10:16 AM)Bruno Wrote:  If you know the Library number or the backup object name of the corrupted object, you can try to PURGE it.

That's a good idea. If it happens again, I'll have to try that.

(06-05-2015 10:27 AM)Han Wrote:  The calculator reserves a bit of RAM in order to run its OS, though 7Kb seems like a bit much. Unless you have important items you wish to preserve on the calc, I recommend freeing the merged memory and removing the backup battery in the RAM card. As for the calc itself, try ON-A-F and do not recover anything.

This should basically put everything back to factory settings. When you type MEM after this complete reset, that would be the amount left to the user after the calc reserves memory for itself.

That's what I ended up having to do, unfortunately (minus the battery pull). It seems to have fixed it, at least. Side note: a 200LX is really handy for creating/restoring backups via IR.
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




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