ShowMem3 - The Displayer - runs as .PRG _or_ .ACC Copyright 1988 John Eidsvoog version date: 8/12/88 This program is public domain. It may not be sold or distributed commercially without my written permission. You may freely distribute it otherwise. ShowMem3 is specially written so that it can be run as either an accessory _or_ a program. All you have to do is change the name (using Show Info) so that the extension (last three letters) is .ACC for an accessory, or .PRG for a program. For this reason, I've ARCed ShowMem3 as SHOWMEM3.PCC so that you'll read this doc to find out why. ShowMem3 allows you to examine the gemdos memory descriptor lists. The locations of these lists in memory is not documented by Atari. There is a search routine that should find these lists in all ROM versions (including future ones). If this search should fail, you will be alerted that this is an unknown ROM. You may list the information to the screen or to a printer. This is selected from the initial alert box. The listing will include all allocated memory blocks, followed by all memory free blocks. If you hold down the 'Alternate' key when you select the output device, you will also get the memory descriptor waiting list (this is my name for it as until recently its very existence was undocumented). It is now documented as _root, or a pointer to the OS pool, although the new beta test ROMs seems to contain a pointer to a null. When gemdos splits a block into two smaller blocks, it uses this list to get a new descriptor location. When two contiguous blocks are merged, the unused block is put back in this list. For this reason, the entries in this list may or may not contain any useful information. While the listing is scrolling on the screen, you may pause/continue by using the mouse button. The structure of a memory descriptor is as follows: long pointer to next descriptor in list or zero (end of list) long starting address of the block long number of bytes in block long pointer to base page of block's owner One point that should be raised about free memory, is that when gemdos returns the bytes available via Malloc(-1), gemdos returns the size of the largest available block, _not_ the total available memory. To find the true total available memory, you have to add up all the memory free blocks. Of course, much of this memory is unusable because there may be many small 'holes' in memory, too small to use. John Eidsvoog P.S. If you use programs requiring GDOS, you'll LOVE: G+PLUS suggested retail price: $34.95 credit card orders: Logical Choice for Computing - (800)-992-5232 or send check or money order: CodeHead Software P.O. Box 4336 N. Hollywood, CA 91607 A POWERFUL AND COMPLETE REPLACEMENT FOR GDOS.