Apr 85 Letters
Volume Number: | | 1
|
Issue Number: | | 5
|
Column Tag: | | Letters
|
Letters
Editors comments are sprinkled liberally within brackets [...] so please do not mistake them for the writers comments. Thank you to those who take the time to write and share the technology. We need all the help we can get!
Heinichs Benchmark on Consulair
Thank you for MacTutor! I have been programming on the Macintosh since last July and participated in the early (?) testing of the Apple 68000 MDS package. Shortly after that experience, I purchased Mac C from Consulair. Mac C, with its toolkit is worth every cent! However, youll need two drives and the Inside Macintosh document to do any serious programming. Robert Heinich [Vol. 1, No. 3 Benchmark for C] should immediately send a check to Consulair. The benchmark (attached) works primarily because of the addressing capability of the 68000 and the word sizes chosen for long, 32 bit, and short, 16 bit variables. I am just slightly curious about brands X and Y.
I have a problem (bombs 2 and 10) accessing the International Utilities Package using assembly code (e.g. IUDateString, IUTimeString, IUGetIntl). Could you publish the calling sequences in a future issue? [Would love to, if I knew them!] I could also use the format for the Apple 68K MDS assembler relocatable object files. [Try MacNosy on it] What do you pay for original articles for MacTutor? [A lot! I dont understand your listing below.]
- John J. Novak
Mount Laurel, NJ
Consulair C Benchmark
; Consulair MAC C Compiler 1.0
; By John Novak (see above)
STRING_FORMAT 0
INCLUDE M68KLIB.D
main:
; {
; union u_storage{
; long a_long;
; struct T_0000{
; short a_short;
; short b_short;
; }S_000;
; }storage;
CLR.L -(SP)
LINK A6, #-8
; storage.a_long = 6;
MOVE.L #6, -8(A6)
XREF printf
;printf(\na_short = %d, storage.S_0000.a_short);
; D1 _storage
MOVE -8(A6), D1
EXT.L D1
LEA a_short = %d, A0
MOVE.L A0, D0
JSR printf
;printf(\nb_short = %d, storage.S_0000.b_short);
;D1 _storage+2
MOVE -6(A6), D1
EXT.L D1
LEA b_short=%d, A0
MOVE.L A0, D0
JSR printf
;printf(\n);
LEA , A0
MOVE.L A0, D0
JSR printf
;}
RETX
XREF main
; 0 errors
C Reviews Needed
Thanks for the prompt delivery of my first subscription issue. I really like your no fluff approach; its about time! Some suggestiosn:
-encourage editors to comment on development softare quality. (Im having trouble picking a C compiler.)
-do personal profiles on the editors.
-in depth, Mac Language word definitions would be helpful. (How about a MacTech sweatshirt?)
- L.E. Thomas
Teaksburg, MA
[Our editors are shy, unassuming Software Developers! A MacTutor T-shirt with Professor Mac on it is in the works.]
External Drive in Basic 1.0
Do you have any idea how to use the external drive in MS-Basic V. 1.0?
-Peter Wollschlaeger
West Germany
[You cant that I know of! Use version 2.0 instead. I yield to Dave Kelly]
Typos in Robert Heinichs Listing
Ive enclosed two copies of the source code I used to run the Byte benchmark using Manx Axtec C compiler. By using global variables, the program runs in 6.3 seconds. Changing to register variables cuts the time down to an impressive 3.6 seconds! I also ran the benchmark in the letters section of Vol. 1 No. 3 issue of MacTech with the union struct. The Aztec compiler duplicates the results of COMPILER Z. I found five typos in the source code as listed:
line 8: short B_short should be short b_short with a lower case b.
line 10: )storage should be }storage with a brace.
other: all occurrances of /n should be \n instead (three occurrances).
I really enjoy your journal and look forward to recieving each issue. I dont yet have Inside Macintosh, so the Journal is a big help to me.
-Thomas Fosson
Waverly OH.
New Pascal Book Due Out
I am a fan of your MacTech journal. My particular interest now is Assembly Language, though for the past year I have been involved with MacPascal. My book on MacPascal, titled Macintosh Pascal Illustrated: The Fear and Loathing Guide is being published by Addison Wesley and will be available in May. If you would like to publish an advance excerpt from the book, please contact me.
-Scot Kronick
Berkeley, CA
[YES, would love to!]
Ideal Development Described
Okay! I want what you offer enough to try it sight unseen. If you can really cover opening up the Mac to us who want to write our own stuff, I think you will have so much success you wont know what to do with it. [Hope so, as Im close to losing my Job with all the time spent on MacTutor!]
As you know, MS-Basic is sort of useful on a 128K Mac, but the workspace is small and it is slow. My Apple II+ with Applesoft compiler and math board is SIX TIMES FASTER! If you know of a true compiler for MS-Basic, please let me know. [You and everyone else in the world!]
I will be happy to program in another language such as Pascal, Modula II, C, if it has:
- Full screen editor
- Interpreted run mode for test/debug
- true compilation to 68000 object code
- XREF for variable usage & calls
- Document program for variable definitions and comments.
- Ability to dynamically display variables & execution flow during development.
-Michael Zuteck
Kemah, TX.
[Anyone want to nominate their pick to fill Mr. Zutecks requirements?]
Whole Journal on Mac Pascal Wanted
Please enter my subscription to MacTutor. Other magazines seem based on the premise that most users want only ready-made applications, instruction in using paint programs, and product announcements. It seems likely that a large percentage of Macintosh purchasers, especially early ones, really wanted the 68000 processor and the toolbox traps to graphics routines. Your magazine is exactly what they need to help them realize the potential of fast and interesting graphics without necessarily succumbing to the agonies of machine language programming. [Bite your tongue, hee hee!]
PAINT LOADER PROCEDURE NEEDED
We have been developing procedures for both text analysis and for computer assisted instruction. For the most part, development with MacPascal has been rewarding, but we still lack some capabilities. The most glaring omission from MacPascal is a procedure to load MacPaint files from the diskette into internal memory. It is needed to provide detailed and interesting figures within an interactive program. Also helpful would be discussion of drawing off screen and the use of off screen drawings in more than one port.
Dispose Region Crash
As you reported, quickdraw routines gobble memory, so discussion of memory management in graphics-intensive programs would be welcome. For example, I would like to know why disposing regions sometimes causes programs to crash [dangling pointers??]. Referring to the excellent article Quickdraw Does Regions by the Chief Wizard in Vol. 1 No. 3, does reusing the same region (by name) several times use more memory each time? Would it be possible to save memory by disposing of the region after each use?
IN LINE TRAPS
Beyond these interests, I would like to see lots of examples and discussion of the Inline Procedures and the Toolbox routines. [See this months Advanced Macing column by Steve Brecher] In fact, I would really like to see a whole journal devoted to Pascal programming for the Mac. I have far more questions than can be answered in a single short monthly column, even over a period of several months. [Out of 300,000 Macs, what percentage of those program, and of those programmers what percentage only use Pascal? You see the problem magazines face.]
You are starting in the right place by presenting the more basic functions, and you do it very well, but I look forward to future columns on more advanced topics.
-Gary Palmer, Ph. D.
University of Nevada
Las Vegas, NV
FOAMING AT THE MOUTH
I recieved my first MacTech Journal the other day and I must say that it is an excellent assortment of technical information. (Excuse me while I wipe the foam from my mouth). I dont want to sound like Im deprived, but the usual mass market magazines do nothing more than pump you up until you wet your pants. This may make you feel excited about owning a Mac, but does little to inform you that wetting your pants byond the 5th grade is in inexcusable cultural phenomenon-Mac or no Mac.
-Romanas J. Buskus
Bridgeview, Il.
[We all rolled over your letter! Great!]
Disk Directory Format?
I am now planning a diskette lister program and need to know the format of the directory area of a diskette. I have found the definition of some of the fields but have so far not been able to locate a published reference on the complete picture. Could you point me to one? [See Jorgs Forth column on the VTOC format.]
-William Deever
Dallas, TX.
OS Documentation Errors
There are errors in the OS Utilities appendix for register-based traps which return a value in A0. Bit 8 ($0100) must be set in the trap value for such traps. Bit 8 set tells the trap handler NOT to save/restore A0. The trap address for _GetTrapAddress is $A146. Earlier documentation had it incorrect.
-Steve Brecher
Hyper-Drive Shock
General Computer has mounted one of those little shock detectors that turn pink when abused on the underside of the HDA. Once the hard disk drive is installed, you cant see it. So if you drop your box, theyre gonna know it and it may be a bit harder to claim warrenty.
-MacGeorge
Switching Finders under Program Control
I have seen a few messages about alternatives to the Finder. Any application can serve as a finder (assuming it does the right things!!). To change the application that runs when other applications exit, you need only zap the global location FinderName.
In theory, change the contents of FiinderName to contain a string which is the name of your finder. This could be done by a small change finder application which uses standard file to allow you to select the application that is to be the new finder. How about a dialog box to select between the Tardis FastFinder and the Apple Finder without the mess and permanency of changing filenames?
The file type does not have to be a DRVR (resource name for a driver or desk acc.); anything named FINDER (case insenitive) will do if the FinderName global contains a pascal-flavor string (counted) which is the name. The thing must be a runnable application, of course! The finders creator/type has nothing to do with it. If the system attribute bit is set, the Apple Finder wont let you change the name of the application, and the Apple finder forces the :system attribute bit on for any files it finds named IMAGEWRITER, FINDER, SYSTEM and probably a few others.
Ok, Ive tried it. You can change finders at will by just filling in a Pascal (counted) string at absolute location $2E0 containing the filename (no device name) of the application that you want to act as the finder.
Ive written an application that puts up a dialog box and lets you select either FastFinder or Mac Finder. [Hey, Bob, how about an article on this? This is great stuff!]
-Bob Denny
Lisp Sounds Good
ExperLisp is going to be great for the Mac even though the price is $500. A feature of the lisp code is that it is upward compatible on the Symbolics 3600 series lisp computers.
-The Terminator
New Finder 2.6X Features
2.6 is the newest finder. It has some interesting new features...When the alarm clock is on the desktop (not active), you cannot use cmd E to eject disks. It goes beep. You have to use the menu command.
RAM disk and other things that formerly showed up as being on AppleBus are now shown as on AppleTalk. Get info now shows bytes used and the number of files in use.
Under the special menu there is now a shutdown command that ejects all disk and re-boots. This is REAL handy.
Empty folder is gone, instead there is a new folder command. The put back command disappeared too. Big loss (hee hee). What did put back do? I never used it. Guess no one else did either.
There are a lot of changes to the standard file dialog. It permits further character scrolling without additional input, automatically selects the first file, handles ejecting hard disks correctly. (How do you eject a fixed hard disk??)... and many other minor tweaks were made, to quote Mr. Capps. An update utility SFUdate will update other disks to this new standard file dialog format.
Oh, finally, the best thing about 2.6 is that it optimizes itself for a FatMac, loading in resources normally not pre-loaded and only purging what it actually has to. Tremendous increase in desk accessory speed.
-Rusty Hodge
Sys Op
Switcher works with 2.6X
Ive had no problems with Switcher 0.90 under Finder 2.6X. Ive been warned that 0.90 is the only reliable switcher. The later versions have more features, but bomb more frequently, and when switcher bombs, it usally takes the whole disk with it.
-Robert Wiggins
The switcher (1.1) problem only occurs when you try to run it from a RamDisk that has the system and finder on it. Switcher doesnt seem to check and see if the memory is assinged to something else before taking of.
-Rusty Hodge
Rumor Mill at the Expo
I just got back from S.F. after an 8-hr. drive. It took me almost as long to get on the mousehole! Impressions:
- No color for the Mac in 1985, probably not in 1986.
- No 800K floppy drive for at least 6 months.
- No dedicated hard disk for the Mac from Apple for at least 3 months, probably 6 months.
- Mac XL stands for Mac Extra Large or eX-Lisa. The new finder should be out officially real soon!
- I enjoyed David Smiths 35-minute commercial for MacTutor, oops, I mean talk on becoming a machine language wizard. Had lots of fun at Round Table Pizza playing Maze Warz on two Mac networks with all the mouseholers at the MouseFest.
-Midnight Macker
PAINT 1.4
Print catalog now works the way its supposed to. MacPaint 1.4 will now print a catalog of the last disk accessed.
-Don L.
Paint File in Ram
Yes, the new Paint 1.4 will keep the whole picture in ram on a FatMac, eliminating disk access during show page and hand movements.
-The Jerk
FBI PLAYING WAR GAMES
FBI ALERT: I heard a rumor today that the FBI is watching this board and is keeping an eye on a few people, so watch what you say.
-The Jerk
InLine Trap Example
For anyone using Mac Pascal, here is a quick way to change the title of the drawing window:
Program Sample;
uses
QuickDraw2;
const
SetWTitle = $A91A;
begin
InLineP(SetWTitle,thePort, title);
end.
This uses the undocumented InLine facility which gives access to any toolbox routines by its trap number.
-Don L.
LISA BECOMES MAC XL
Got some lables from Apple to stick over the Lisa name on the boxes, so it reads Macintosh XL. Whats that tell ya?
-MacGeorge
Absoft Fortran
Just got Absofts FORTRAN in the store last week...its Great! Makes application programs that can be run from the finder, compiles totally into 68000 code (at least thats what it says...). It even lets you save out assembled code in a text file to load in with your favorit assembler! I ran a floating point benchmark on it to see what the speed was and here are the results:
Mac. 15.92 secs
IBM 170.5 secs
Applesoft 390 secs
IBM (8087) 12.06 secs
Apple II (68000) 40.7 secs
DEC PDP 11/34 27.6 secs
-The Atom
Spinwriter 5500 to Mac
You can run a Spinwriter 5500/7700 series on the Mac serial port using the Daisy Wheel Connection Program from Assimilation Process (NOT THE NEC VERSION!). You need a different cable:
Mac: 2 > 2 :Spinwriter
3 > 3
7 > 7
20 > 19
Also connect 5, 6, 8 and 20 together on the spinwriter side. Use the NEC option in the selection box and set for 600 baud.
-Dave Smith