LLX > Neil Parker > Apple II > Memory Information NDA

Memory Information NDA

This is a New Desk Accessory (NDA) for the IIGS that displays some basic information about how much RAM you have and how much is in use. A Purge Memory button is available to try to maximize the amount of free memory.

Purge Memory works by trying to allocate a memory block big enough to contain your entire RAM. This is guaranteed to fail, but before it fails, it frees up all purgeable memory blocks, and tries to consolidate unallocated memory into as large a contiguous block as possible.

I've found that this often helps various programs succeed at operations where they would othewise fail because they couldn't allocate a big enough block of memory. But it's not necessarily always safe...purging purgable memory blocks is supposed to be OK, but some buggy software might mark memory blocks as purgeable when they're still needed. (And technically it shouldn't work at all--the program's attempt to allocate the memory it needs should have the same effect as Purge Memory--but nevertheless I've found that it often does work. GSHK [GS Shrinkit] has been a frequent offender.)

The free and used memory display auto-updates every five seconds.

Requirements

Apple IIGS with Prodos 16 or GSOS. It was developed under (GSOS) System 5.0.2, and has been verified to work with System 6.0 and System 6.0.1. It ought to work with system software as far back as System 2.0 (but not earlier than that).

Usage

Copy the file "MemoryInfo" into the System:Desk.Accs folder of your boot disk, and reboot. Then choose "Memory Info" from the Apple menu.

Download

What's New in 2020

The original version was written in 1991 using the only IIGS assembler I had at the time, a severely-outdated beta version of APW. It was a version 1 object module file (the only kind my APW could produce), and its (uncommented) source code depended on several macros that were not included in released versions of APW or ORCA, so anybody trying to assemble it themselves in a more modern environment could succeed only if they could write their own versions of the missing macros.

This new version has no additional functionality, but the source code has been commented and improved in a few minor ways, and the problem macros are gone. Users of released versions of APW or ORCA should be able to assemble it without any problems.

Additionally, it's been linked as an ExpressLoaded version 2 object module file, which makes it smaller and faster-loading. It also makes it incompatible with System Software before v2.0 (ProDOS 16 v1.2)...hopefully that won't inconvenience too many people.

LLX > Neil Parker > Apple II > Memory Information NDA

Original: June 26, 2016
Modified: April 8, 2018--Added zipped disk image
Modified: December 6, 2020--New version, with source code that assembles in modern versions of APW/ORCA