You do not need to put an appvar into ram for it to be read. This means you can pretty much have unlimited tilemaps. The only RAM that it will take up is the string that holds the tilemap data, which I believe is approximately 900 bytes. This should be a huge fix for your memory problems.
When I call det(0, the Appvar is temporarily loaded into RAM by Doors CSE, and it has to be, as far as I can tell. Otherwise, it is in Archive. It stops when the Appvar is loaded on top of the other 14k+ bytes of the main program. And if I'm wrong about this, someone who knows this for sure, correct me!
hmm... Well I asked KermM in SAX, and he said it was read directly from archive... Also if you look at tifreak's Lib Help program you will see that the appvar for it is over 40kb. I'm not sure how DCSE could load that into ram.
Anyways would be awesome if someone who knows for sure could comment and explain what is true.
Ok, thanks. It's probably because I have to store the 600 byte tilemap data twice then, once when it is read into Str9 and then into the string reserved for holding map data, Str1. Although that shouldn't be enough to crash the game, I guess it might be.