I just posted the Nifty List 3.4 package to comp.binaries.apple2. Enjoy! Here are the change from 3.3 to 3.4. ====================================================================== Version 3.4: o Ctrl-W deletes a word at a time from the command line. o Added infix operators "+", "-", and "*" in expressions. Operands are 1, 2, or 4 bytes. Examples: `1A34+F2 0/300:_MaxBlock-200 o ~s knows the name of scrap type $8003 ("resource reference"). o The main expression buffer is now 160 bytes instead of 64, so you can enter long literal strings into memory now. o ~m shows the name of message $0011 (wstring paths to Open/Print). o Control dumping (;c) knows about the Thermometer and Rectangle controls in 6.0. o Added a data file section for request codes (for SendRequest in 6.0). The Goodies command \reqcode can display these. You can also see them with (") and use them in expressions, as in _SendRequest(#systemSaysBeep,0,0,5,0). o ~m displays the memory IDs and addresses for any messages that correspond to Request Procedures in 6.0. (Request procedures are installed with AcceptRequests in the Tool Locator.) o Entering Nifty List from GSBug (with the "n" command) now properly sets Nifty List's "current address" to what your GSBug program counter was (so, for example, you can type N from GSBug and then immediately type W in Nifty List to see who owns the memory block you were executing in). o The "i" command no longer messes up the CurResourceApp setting if you happen to abort the display while it's displaying a a resource belonging to a different resource app. o When running under 6.0, the "i" command (and all other commands that display the resource type, ID, and file associated with a handle, such as \ri) now correctly determine which resource file, even when the correct resource is "hidden" by another open resource file containing a resource of the same type and ID. (In 6.0, the MatchResourceHandle call can return the file number directly, so Nifty List no longer has to rely on the usually- what-we-wanted result from HomeResourceFile.) o Stack crawl (;s) tops out at $C000 if the stack is not in page one and is not in an allocated block. o Tool display (T) no longer marks user tool calls using ClassifyAddr (they would all come out "other" anyway). Goodies 1.6: o New command \reqcode displays the name of a request code, or a list of all request codes in the data file. Examples: 0\reqcode 107\reqcode o New command \deskpat sets the desktop pattern to a solid color pattern (0..F) and uses Desktop(8) to inform the system. o New command \deskpic loads a 32K file and uses it for the desktop picture. Example: \deskpic ":MyDisk:MyPicture" o New command \idinfo summarizes memory use by ID. Examples: 1001\idinfo -- shows handle count and total size for ID=1001, 1101, 1201...1F01, and then the total count & size for 1x01 handles. 5000\idinfo -- shows memory use as above, for 5001, 5002, ... 50FF. o New command \strings searches for what seem like printable strings. Works with an address range, a handle, or a memory ID (just like \find). Example: 1001\strings Green Module 1.0: o Green Module contains commands that used to be private to the "Green System Software" group before 6.0 was released. o 1\reqproc installs a request procedure that displays a message on the text screen whenever it receives a request broadcast by SendRequest. 0\reqproc removes the procedure. (The procedure does not *accept* the request, it just displays a message and waits for you to hit a key.) Not all requests are detectable by this request procedure--any request directed at a specific target won't get offered to this procedure. It's useful for understanding when certain broadcast requests occur, such as finderSaysHello, finderSaysGoodbye, finderSaysSelectionChanged, systemSaysDeskShutDown, systemSaysBeep, systemSaysMenuKey, etc. (Note that finderSaysIdle is specifically excluded, since it happens continually while you're sitting in the Finder.) For Finder 6.0: o \finder shows various information as returned from tellFinderGetDebugInfo. o \fio (Finder icon objects) dumps a Finder iconObj list. 0/0\fio dumps the desktop list. _FrontWindow\fio dumps the front window's icons. handle\fio dumps starting with the specified iconObj handle. o \fwb (Finder WindBlk) dumps the windBlk structure of a Finder window (0/0\fwb for the front window). o \chains, \cdump, \mcdump, \ncdump -- These display some of the structures the Finder uses to match icons to files and devices. (The names stand for chains, chain dump, master chain dump, and name chain dump.) o The following commands send a few of the tellFinder codes to the Finder. (The names are obsolete...I'll fix it later. "frq" stood for "Finder request", the precursor to "tellFinder".) \frqopen "pathname" -- tellFinderOpenWindow \frqclose "pathname" -- tellFinderCloseWindow \frqareyouthere -- askFinderAreYouThere xxx\frqcolorselection -- tellFinderColorSelection \frqidlehowlong -- askFinderIdleHowLong \frqlaunch "path" -- tellFinderLaunchThis x\frqshutdown -- tellFinderShutDown \frqinformofchange "pathname" -- tellFinderAboutChange Big Brother 0.8d2: o Added a lot of stuff to \spy, but it's still more at the "interesting" stage than the extremely-useful stage. o Special-cased checking of Sound tool status to avoid false warnings when the 6.0 Sound Control Panel is present. o Parameter checking is present for many Memory Manager, QuickDraw, and QuickDraw Auxiliary calls, but not all. It catches things like corrupted regions, and pointers to unlocked strings and rectangles. -- David A. Lyons, Apple Computer, Inc. | DAL Systems Apple II System Software Engineer | P.O. Box 875 America Online: Dave Lyons | Cupertino, CA 95015-0875 GEnie:DAVE.LYONS CompuServe:72177,3233 Internet:dlyons@apple.com My opinions are my own, not Apple's.