sunny@sun.uucp (Ms. Sunny Kirsten) (06/04/85)
For those of you interested in how the guts of your Mac work: send $50 to Steve Jasik Free the ROM 64 343 Trenton Way Menlo Park, CA 94025 I have no connection with either. I haven't tried it. Sunny -- {ucbvax,decvax,ihnp4}!sun!sunny (Ms. Sunny Kirsten)
gus@Shasta.ARPA (06/05/85)
> For those of you interested in how the guts of your Mac work: > send $50 to Steve Jasik > Free the ROM 64 > 343 Trenton Way > Menlo Park, CA 94025 > > I have no connection with either. I haven't tried it. > > Sunny I happen to know Steve Jasik and MacNosy fairly well. I have been following Nosy's development since early this year and have received several updates. The only reason I would recomend this program is that it does something that no other Mac application does - disassemble to source code. MacNosy works by first trying to figure out where various procedures are in the program being debugged (either ROM, an application, or Macsbug) by doing a 'tree walk' over the code and following branches and procedure calls. The program has various heuristics for figuring out things like case jumps, but invitably, I always gets things wrong, and you have to go in and change code to data segments and vice versa. You can also change data formats. (bytes, words, ascii, etc.) Once this is done, you cand send output to a file, and further annotate the code with a text editor. Now for the bad stuff. MacNosy shares the cellar with the UCSD P-system and the old OMNIS2 as the most un-macish application available. The mouse is not used anywhere in the program, except in the mini-editor (more on this later) and as a pointing device when doing presentations. Instead, you get the cryptic UCSD style menu bars with all sorts of abbreviations. There are several modes which you must frequently get into and out of. The two most frequent are the top level and review-data mode. Review data steps you forwards through the various code/data blocks allowing you to change format attributes, split a block into smaller blocks, etc. Unfortunately, you can only step forwards. Once you make a mistake, you must quit back to the top level and start from the beginnin, unless (as jasik sugests) you write your position down on paper!!!! The various functions of Nosy lend themselves perfectly to a multi-window environment, where each function is a window, and one can easily move between windows WITHOUT LOSING STATE in the inactive windows. While Steve admitts that he could use a better user interface, he also considers the Mac interface to be "training wheels" for real programmers. I would not expect Nosy to have a "good" user interface for quite some time (if ever.) The next problem with Nosy, is Steve Jasik's general attitude toward the Mac. He hasn't bothered to read all of INSIDE MAC in order to take full advantage of it. For example, he wrote his own memory management routines (for which he provides source code for on the Nosy master disk.) because he wanted to allow Nosy to run on both the Lisa and the Mac, but also because he didn't want to have to learn the Mac memory manager. This means that Nosy immediately takes up the entire applications heap, on a 512K mac It doesn't run on a 128K. It requires a modified system for a smaller system heap. Good bye desk accessories! Goodbye Switcher! The one place where MacNosy looks a little mac-ish is in the mini-editor. This is simply a regular text editor using textedit (i.e. 32K file limit.) Guess what folks, all this is is Carry Klarke's FILE program, the cannonical "example" mac application that comes with the software supplement. Steve simply moved the code over to his program with onlyu minor modification. Switcher could have done just as well! Yet another problem is that the source code which Nosy produces is not valid for any existing assembler. The pseudo-ops produced seem to work for somewhere in between MDS and the CDC assembler which Steve used before writing Nosy. You have to go in with a text editor and manually (albeit mechanically) modify the source to be able to assemble properly. Even worse is Jasik's use of non-standard macros and predefined labels. Although both are provided in the Nosy master disk, I would rather stick with single opcodes (when the macros such as push and pop expand to only 1 m68k instruction) and "standard" apple labels, even if Steve Jasik thinks that they're ugly. Perhaps the worst problem is the documentation. Steve Jasik is no technical writer. The few pages of hastily written and very dense documentation is poorly written and is no excuse for a user manual. Be ready to call Steve on the phone for a lot of help for things you don't undestand. One good note - MacNosy is NOT copy-protected. In fact, Jasik makes no secret of the fact that he designed nosy to break copy-protection systems. He even devotes a few paragraphs in the documentation about it. Don't, however, expect Nosy to help you with some of the more sophisticated protection systems emerging, such as Lutus Jazz. Nosy assumes that the object code is not encrypted on the disk. This assumtion is not always valid. If you absolutely need a disassembler more sophisticated than Macsbug, then you might look into MacNosy, otherwise, stay very clear. Gus Fernandez
winkler@harvard.ARPA (Dan Winkler) (06/07/85)
The price of Nosy is now $60.