Aug 86 Letters
Source Code Disk Subscription?
San Francisco, CA
Keep up the good work!
Suggestions: a) How about a subscription service for source code disks! b) How about an on-line forum for distributing source code, questions to authors and Prof. Mac, etc. [a) What a great idea; watch for an anouncement soon! b) That is what the Mousehole is for. We don't have the resources for a national board, although the GEM BBS system has contacted us about placing MacTutor's source code disks on their board and charging access so we get paid for them. We are looking into that proposal and any opinions would be welcome. We are somewhat leary of the disks becoming public domain and the small but important revenue source to MacTutor drying up. -Ed.]
Best of MacTutor
In the April Mail Order Store, you advised that your book "Best of MacTutor" would be coming "next month". I went through the May issue and did not find it. Is the book available? [Keep holding your breath, I'm working night and day on it. Meanwhile, we have tons of back issues of every issue except vol. 1 number 6. -Ed.]
Snooping in the Operating System
St. Paul, MN
I am a scientific programmer who is enjoying my Mac and MacTutor very much. One thing which is not clear to me: if I want to start snooping around in the operating system, should I get MacNosy, TMON, or both? [Both are a must, but Nosy is specific to the problem of uncovering ROM mysteries. -Ed.]
New Macs:Old Macs
Los Altos, CA
I have noticed several articles on the new file system HFS for which I am pleased, since I have just upgraded one of my Macs to a MacPlus. However, when Apple releases the second generation Mac (68020 CPU, open bus, wide monitor screen, etc.), I hope MacTutor articles will continue to be valuable for programming on the old Mac.
My current concern is for development software and the new MacPlus. I have a considerable investment in development software which is of little value on the MacPlus. How long will MacPlus owners have to wait , and how much will it cost to upgrade to the new versions which are HFS compatible? [Most products have now achieved some level of HFS compatability, and generally, the HFS bugs have been released at little or no cost to registered owners. MacTutor has encouraged Apple to discuss ways to standardize the problem of how a program finds a file without help from the user's standard file dialog. Right now, everyone is using their own algorithm or method of finding program dependent files and the result is to destroy the symmetry of the user interface between applications. We have talked to Apple about this, and they are organizing a group to collect recommendations on an informal basis to present some of the better approaches to the problem. -Ed.]
Stolen from Apple Computer, Part II
Menlo Park, CA
More notes on the "stolen from Apple Computer" Icon. I originally discovered the code with Macsbug in Dec 84 when I was searching for $60FE instructions (BRA *) in ROM. At that time I noticed that the code was dead (not referenced by any other routine in the ROM), but did not try to execute it. A few weeks after that I had the opportunity to meet with Andy Hertzfeld, and discussed Apple's paranoia over other manufacturer's stealing their ROM code. He pointed out that they had left some visible copyright notices in the ROM along with some secret notices. He said that it was possible for an Apple programmer to test if the ROM in a machine was "stolen from Apple" by going up to the Mac and typing in some commands. He did not explain to me the meaning of the code I had discovered. Some months later Duane Maxwell of Levco pointed out to me the effects of executing the code, and I posted the info on the Nosy SIG on Delphi and other places.
There are a number of points to be learned from this particular example. I believe the code first came to my attention in Nosy when I had to convert it from Data to Code during Review data. This was necessary because it was unreferenced. The other thing that makes this code easy to find is that it ends with a "BRA *" which is unusual. So if your going to protect your code with secret messages, you should conditionally branch to it from legimate code so that a flow analyzer does not pick it out as dead code, and do not terminate it with a "BRA *", which can be found with a simple Hex search. [Gee, Steve, don't teach 'em how to defeat your program! Watch for Steve's new and improved Nosy at the Boston Expo this month. He's got some great debugging tools coming our way! -Ed.]
Us Intermediate Programmers
You folks put out a very informative publication; however, I wonder if it would be possible for you to cater a bit more to the beginning to intermediate programmer. I realize that those subscribers who are hardcore programmers would not appreciate this much, but when publications like Macworld, Macazine, MacUser, or A+ run tutorials, the language they use is usually BASIC, and they usually write about the most simplistic programming techniques. Perhaps you could provide the happy medium-not in every column-but maybe in a single column. [Look at the "Keyboard Sleuth" article in this issue, which presents both a useful utility and a very nice TML Pascal shell from which more powerful programs can be developed. -Ed.]
How to flatten HFS
Please renew my subscription for one year. Keep on doing good work! By the way, I would like to know how to scan all files of an HFS volume in Pascal to print a complete directory of my DataFrame hard disk. I use TML Pascal. Thanks! [So would a lot of developers like to know this so they can find their files! SeeTom Taylor's very good Modula-2 article from last month's issue (July) on how to create a path name for HFS. In that article, he alludes to the various data structures that you can use to do a tree search through the directory list to build a data base of all the file names. -Ed.]
Manx Has its HFS Act Together
I thing that your magazine is the best available for showing how to program the Mac. One item you might like to know is that Manx Software is shipping version 1.06H, which is supposed to support the full HFS system, especially in terms of using the full 800K storage available for the DSDD floppies; 1.06G, would only recognize 400K.
Source Code For Sale
I see a real and current need for interested parties to have complete access to useful information which helps stimulate their programming and problem solving abilities. As a result, I am selling source code for an intelligent linker/assembler, text editor and macro preprocessor for the back. I even have a Object C preprocessor. This source code is very reasonable, only $65 for the assembler/linker and $50 for the editor. Please notify your readers about our source code products. [You can contact Wayne at the WSM group in Tucson, AZ at (602)-298-7910. Anyone selling sophisticated source code for those prices should rate a phone call! -Ed.]
Thanks for MacTutor
Palo Alto, CA
Thank you for your prompt response in publishing my article about resource formats. For the last year, I have been telling everyone to buy MacTutor. Now, I'll also start recommending that they submit articles to you. I find MacTutor invaluable, and feel that you are doing a great job. I have a number of other articles in mind to submit. All I need is some free time... where have we all heard that before? [ Thank you. In the publishing business, you can never have too many articles...-Ed]
Wants TML 3-D Graphics Help
Please send me the 800K Utility II Disk and the source code for Mike Morton's famous "DissBits" routines. I'd like to see more TML Pascal articles. Finally we can have our cake and eat it too! It's great to be able to move from IM to the editor without translating. To me it feels like it's the only language for the Mac. (You probably hear that from every language's corner.) Oh, by the way, how about an article on those 3D graphics unit included with TML? Those procs look wierd! There's no help on them from TML or IM. [You should love this issue, since, after a recent drought of good TML articles, we have several good items this month. Perhaps Tom Leonard and his people can include some 3D documentation in an up-coming article in the series they are doing for us on their examples disk, a new product which features definition proc routines. -Ed.]
Mac Plus Glitch?
In going over Mike Schuster's fun little article on pop-up menus in the December 1985 issue of MacTutor, I noticed a small problem with the code. The menu is not drawn with the code as listed; it seems that until the sizeMsg is passed to the Menu Manager, a menu does not have a meaningful size. The fix is rather simple: add the following line:
MenuDefProc(mSizeMsg, theMenu, &menuRect, &nilPt, &whichItem);
after the call to WaitMouseUp() that starts the PopUPSelect. This may be due to the fact I am running this on a Mac Plus, yet another compatibility glitch.