Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!apple!portal!cup.portal.com!David_Michael_Kaffine From: David_Michael_Kaffine@cup.portal.com Newsgroups: comp.sys.handhelds Subject: Re: Today the subject is libraries (LONG) Message-ID: <35980@cup.portal.com> Date: 16 Nov 90 04:49:45 GMT References: <46387@eerie.acsu.Buffalo.EDU> Organization: The Portal System (TM) Lines: 30 (I'm still trying to get used to posting, bear with my mistakes) Just one more note on library objects. I made a small mistake in my previous post. When you install a library with an incorrect CRC, it does not get moved so that all of the 'good' objects in that port are contiguous, as I stated before. Instead, the object stays still, and the prolog (in this case, #02b40 for a library) is overwritten with 0's. This 00000 is also what's used to mark the end of objects in a port (i.e Port 0, at least, is just a sequence of RPL objects, terminated by 00000). Thus, the bad object is now hidden, ALL objects that were after it in port memory are hidden, and you're suddenly missing a fair chunk of memory. The only reasonable way of getting the memory back is to archive your user data, do an ON-A-F, and restore your user data. I apologize for the mistake - my memory on this was a few months old, and wasn't refreshed until I installed Jim Cloos' sample library and saw the same things over again. To summarize: If you store the library object from Jim Cloos' article into port 0 and press ON-C (or turn calc. off and on), you will get the message "Invalid Card Data". The library will no longer show up in the port 0 listing. Anything that was previously in the port 0 listing will no longer show up. All of the objects that have disappeared are still taking up memory. A memory-clear will reclaim the lost memory (not to mention your user variables!). Dave.Kaffine@MicroProd.NCR.com or David_Michael_Kaffine@cup.portal.com