TweetFollow Us on Twitter

Sep 87 Mousehole
Volume Number:3
Issue Number:9
Column Tag:Mousehole Report

Mousehole Report

By Rusty Hodge, Mousehole BBS

SuperPaint Update

From: David W

Silicon Beach Software just released an update to Superpaint in order to fix a problem Superpaint has with the most recently released drivers (4.0) of the LaserWriter. The new version is 1.0p. You can obtain a copy either by mailing a disk to Silicon Beach Software or use the patching software that I just posted on MouseHole Download. If you try to use the patching program FOLLOW THE INSTRUCTIONS carefully. Among other things you must first place your copy of SuperPaint on to a 400K floppy; it won’t work with an 800K floppy. Also you will need any version of the installer program that Apple distributes to upgrade system disks.

[The following post summarizes the Editor’s feelings on the issue of piracy and pre-release software, which recently became a hot topic on the Mousehole over Steve Brecher’s SuitCase program. -Ed]

Piracy & Beta Software

From: David Sternlight

It’s not pious to say that taking someone’s property without their permission is theft. (i.e., TSPWTPIT). It’s the law. If A is the beta tester and B is his friend, whether B knows he has received stolen property or not doesn’t change the facts that B is legally liable. The profit, by the way, is in knowing about it or using it. That’s what “intellectual property” is all about. You don’t have to make money from someone’s property obtained without permission for it to be theft.

If a developer wants the “benefit” of people seeing his beta and maybe buying the release, he has the option to circulate his beta. If he chooses not to do that, and imposes non-disclosure or non- distribution limits on it, then TSPWTPIT. You can’t make it o.k.; only he can--it’s HIS property.

I believe that TSPWTPIT. I am under the impression the law says the same thing. No amount of rationalization will change this. It won’t do to argue why it is a good thing to take someone’s property without permission. It won’t do to talk around it. The only LEGAL way to get someone else’s property is if they give it to you, or give someone else permission to give it to you. People miss this point with software because a copy seems not to affect the original; except for the cost of the medium, it seems cost-free. However, software is intellectual property and the law specifically recognizes that in this case, as with pirated tapes, passing on a copy is illegal. You are allowed to make a single copy for your own archive use under the copyright law. You are not allowed to give a copy to anyone else without permission. Beta or release version, it makes no difference; copyright is copyright. The law doesn’t say, “Oh yeah, if it’s a beta (or a pilot or test tape of a copyright song) THEN the law doesn’t apply.”

Code Length/Time in Sorting

From: Geoff Bryan

It is very difficult to generalize from length of code to length of execution time. The real issue is the quality of the algorithms you choose. For example, here is some code for a short but extremely slow sorting routine known as a “bubble sort”:

bubble(item,count)   /* bubble sort */   
char *item; /* item = ptr to char array */   
int count;   /* count = no. of elements */   
{  
 register int a,b;        
 register char t;        
 for(a=1;a<count;++a)             
 for(b=count-1;b>=a;--b) 
 {                  
 if item[b-1] > item[b] 
 {                       
 t=item[b-1];                       
 item[b-1]=item[b];                      
 item[b]=t;                  
 }             
 }    
} 

Even using register variables to speed things up, this has rightly been described as one of the worst sort methods ever conceived. The amount of time it takes to sort goes up by the square of the number of elements in the array, so the time gets much worse with bigger sorts. One of the better sorting algorithms is the “Quicksort” invented by C. A. R. Hoare. It takes up a bit more code, but for an array of 100 elements, can complete its work with only 1/5 the number of comparisons and far fewer exchanges than the bubble sort:

qs(item,left,right)    /* quick sort */   
char *item;   
int left,right;   
{        
 register int i,j;        
 char x,y;        
 i=left; 
 j=right;        
 x=item[(left+right)/2];  
 /* middle element = comparand */        
 do {             
 while(item[i]<x && i<right) i++;             
 while(x<item[j] && j>left) j--;            
 if(i<=j) {                 
 y=item[i];                  
 item[i]=item[j];                 
 item[j]=y;                 
 i++; 
 j--;             
 }        
 } 
 while(i<=j);        
 if(left<j)   
 qs(item,left,j);       
 if(i<right)  
 qs(item,i,right);   
} 

For a little more code, you get a lot of performance improvement. Thus it’s hard to “judge a book by its cover” in predicting execution speed from code length. (Examples from H. Schildt, “Advanced C.”)

Sorting & Piracy

From: Laser Dolphin

Although it is impossible to generalize speed from code length, there is one rule which is universally true: if you “unwrap” loops into a series of equivalent, noniterating statements, the code will be both longer and faster. Jim Reekes alluded to this when he spoke of the number of clock cycles needed to do branches. Bubble sort is more clearly written in Pascal pseudocode, thus:

For scan := 1 to arraySize-1 do   
For index := 1 to arraySize-scan do     
if arrayElement[index] < arrayElement[index+1] then
 Swap(arrayElement[index],arrayElement[index+1])  

This code shows clearly the meaning of the procedure, minus the coding details. The bubble sort must scan the array one less time than there are elements in the array; for each scan, the inner loop compares adjacent elements and swaps them if they are out of order. In the example given, the lesser elements are thus bubbled down, one step at a time, to the bottom. At the end of each scan, one more element is ordered at the bottom of the array, which explains why the inner loop ends at arraySize-scan -- this marginally speeds up the process by not sorting stuff already sorted.

Bubble sort is of order n^2 -- that is, the time to execute is proportional to the square of the number of elements to be sorted. It is very simple to write, but is no good for more than about a 25-element array. It is frequently taught to beginning programmers because it is so easy to understand. Quicksort, by contrast, is exceedingly fast on average, but is difficult to understand, being a non-intuitive and recursive algorithm.

I use bubblesort to sort a 24 element array of records in a program I wrote in MPW Pascal, and it causes a BARELY perceptible delay in program execution. If the array were any larger, I would abandon bubble sort. The records consist of a Str255 and an INTEGER.

David Sternlight, there is no question that you are 100% right. Copying software without authorization from the copyright owner is illegal. However, copyright owners should recognize that distribution of beta copies, properly marked and properly guarded against long-term use, is helpful to sales of the release product. People should not have to buy software sight-unseen. Moreover, Microsoft BASIC became the de facto standard only because Bill Gates’s punch tape of Altair BASIC was thoroughly pirated. Bill Gates’s famous anti-piracy letter completely ignored the fact that his success was owed entirely to piracy. The pirates were wrong, but so was Gates. Of course, the pirates, as well as Gates, were all teenagers then; no doubt they know better now. [100% market share obtained by 100% pirated copies = 0% return on investment + 100% fame and glory. Adjust balance to suit. Poor and famous, or rich and unknown. Bill Gates obviously found a balance he could live with. -Ed]

Author’s apology

From: SpUd PoTatO

Okay, okay, stop bugging me! my program (the new “Font/Fkey/etc. Sampler”) has bugs in it! I hereby give a public apology for those bugs, but give me a break; I’ve got to work just like everybody else! Look for a debugged version on your favorite BBS in a week or so...

By the way, contrary to popular belief, I was NOT part of the Microsoft Word 3.0 Development Team...

I’m in hog heaven!

From: Bugs

Apple is shipping Mac II color monitors and I got mine today. It gives new meaning to “totally awesome”. What you can do with this machine... at this late date I’m still amazed!

Microsoft Word 3.01

From: Jim Von Schmacht

Speaking of Word 3.01 I received mine on the 1st. Neat stuff, all the problems I was experiencing are fixed, it runs faster. It still leans a little to far toward an IBM interface...oh well...

Byte Benchmarks off mark

From: Frank Henriquez

I typed in two of the benchmarks that Byte used on the Mac II article, the Fibonacci and the Sieve, and compiled them using Lightspeed C (obviously the resulting code was not optimized for the 68020 and the math operations went through SANE). On the Mac II, the Fibonacci ran in about 40 seconds (not 83.70, as in the Byte article). I’ll have to recompile the Sieve, because it ran too quickly to time...(under 1 sec). I don’t know what the fine folks at IBM Slave Magazine (aka “Byte”) were thinking / doing when they were running these benchmarks on the II, but they should be made poster children for the Drug Free America project.

HyperCard

From: Jim Reekes

I’ve been checking out HyperCard 1.0, the new wonder program from MacPaint’s Bill Atkinson. It reminds me of a fancier version of the old Habadex program from ’84, only bigger. Including the sample files, it’s nearly 3MB! The help file (which is the best ‘stack’) is nearly 600k. Sure it’s a beta copy, but I don’t understand it’s application. Maybe I’m missing something. I don’t feel that 3rd party software developers need to worry about Apple bundling it with the Mac.

MPW Assembler

From: Geoff Bryan

I spent the money to “upgrade” from the beta to “final” version of the MPW Assembler manual. As far as I can see, (1) none of the mistakes I had noticed in the first manual were touched, and (2) one or two new ones were introduced. (This is for version 1.0, by the way.) What gives?

MPW manual

From: Power Hopeful

The new manual has an index!

Slow SE hard disks

From: Jim Reekes

The slow internal 20MB in the Mac SE is not Apple’s fault. Well, in a way maybe, but it is a slow (85ms) Rodime 652. With a fair amount of file fragmentation, I don’t doubt you’ve noticed it’s sluggishness.

Cursor and CopyBits

From: Leslie

Has anyone seen their cursor disappear when a call is made to CopyBits? I’m using Lightspeed Pascal, and when I call CopyBits to erase a bitmap (copying a bitmap to itself using srcXor) the cursor disappears then reappears when the call is complete. The bitmap is offscreen and the cursor comes from a resource file and is visible prior to the call.

From: Lsr

I have noticed this happening also. Normally, Quickdraw will not obscure the cursor unless it is drawing to the screen. There must be low level routine somewhere that is not checking for drawing on the screen before hiding the cursor.

Mac II memory

From: Palomar

I’d be real careful on Mac II memory. Some people here got SIMMs (120ns, I believe) from a local chip dealer and they didn’t work; nor did the second set. We bought the Levco ones, which are not as cheap as some quotes I’ve heard (even developer priced), but are much cheaper than Apple’s. Most important, they worked the first time. I would not write a check for a grand or $800 or whatever unless I personally took my Mac II in and installed them. (You don’t need a monitor, particularly if you make your startup program on the boot floppy a SysBeep loop) Incidentally, I got some video RAMs from an unknown source, which turned out to be flakey. One Mac II now has the official Apple kit, the other ones from a vendor in the City of Industry and both work fine.

MacsBug for 4Mb Mac II

From: Palomar

I ended up with 4Mb on my Mac II, but the MilkBug with MPW 2.0b1 came with only 1,2,5, and 8Mb versions (yes I plan to get the real Mac II version of TMON when it comes out...)

I ended up comparing (in C) the 2Mb and 5Mb and producing a common subset; wherever it was 001F and 004F, changed it to 003F. My program wouldn’t make any changes unless there was a difference between the two files.

Here’s a little MPW tool to produce a 4 Mb version, by changing

001Fxxxx 2 Mb version

and 004Fxxxx 5 Mb version

to 003Fxxxx 4 Mb version

There’s one other difference that I guesstimate a middle value for; turns out it’s only the version time (offset 0x3058) which differs by 12 seconds for the two versions.

No guarantees that this is the recommended way to go, but it seems to work just fine...

/* BugPatcher.c: Synthesize 4Mb MacsBug for Mac II
   July 1987, by Joel West, Palomar Software, Inc. */
#include <stdio.h>
typedef unsigned char ubyt;
typedef unsigned short HalfWord;
/* two 16-bit I/O functions; 
 getw() does 32 bits on MPW C */
#define gethw(stream) ((tmp=getc(stream)) == EOF ? EOF : \ (HalfWord)(((ubyt)tmp)<<8)+(ubyt)getc(stream))
#define puthw(hw, stream) (putc(hw>>8, stream), putc(hw&255, stream))

main()
{  FILE *fd2, *fd5, *fd4;
   int c2,c5,c4;
   int cnt = 0, tmp;

   fd2 = fopen(“MPW ONE:Debuggers:Milk2MB”, “r”);
   fd5 = fopen(“MPW ONE:Debuggers:Milk5MB”, “r”);
   fd4 = fopen(“HD:Milk4MB”, “w”);

   while ((c2=gethw(fd2)) != EOF)
   { if (c2 == (c5=gethw(fd5)))
         puthw(c2, fd4);    /* vote consensus */
     else
       { printf(“Offset 0x%.4X; 2MB: %X; 5Mb: %X”, cnt, c2, c5);
           if (c2==0x1F && c5==0x4F)
              puthw(0x3F, fd4); /* known difference */
           else  /* the only other diff is the time */
           {  c4 = (c2+c5+c5) / 3;  /* weighted ave */
              printf(“; guess: %X\n”, c4);
              puthw(c4, fd4);
            }
              printf(“\n”);
        }
          cnt += sizeof(short);
    }
     printf(“A total of %d bytes were merged\n”, cnt);
}

‘The Debugger’ and TML Linker

From: Pkbrown

Steve Jasik’s debugger docs state that “the first line of a ‘.MAP’ file produced by the TML Pascal Linker contains a comma. This bothers the debugger.”

I took his advice to heart about patching the offensive code in the Linker. I had to because I’ve been using the TML Linker with my V1.0 MDS for quite some time now. The problem is this:

1. The first line placed in the ‘.Map’ file is as follows:

TML Systems, Inc.

The comma above crashes the system.

2. The Linker’s code that inserts the string in the output file is in the code 001 resource.

3. The embedded string is at “CODE0001” + $063C. Changing the comma to a space works fine.

4. Using MacZap, search for the first occurence of the ‘TML Systems, Inc.’ string and change it in the ascii side of the sector buffer window. In version 2.0 of the linker, the comma occurs at a file offset of $4C1C.

The debugger looks good; it’s a little slow in drawing all it’s windows if you’re stepping through the code of a long proc, especially in the Mac ROMs.

hmmmm

From: Dave Kelly

Seems to be some delay in Zedcor finishing their editor, but I was told by someone today that they are starting to ship tomorrow. As soon as I get 4.0 I’ll post a message here for anyone that might like to know (especially if you are waiting for it). By the way, check out sept. MacTutor for info on how to figure out the size of the screen being used while in ZBasic. This might be of interest to some of you. Dave

II beep sounds

From: Macowaco

Hey the beep sounds are starting to appear for the II. The latest batch contains a road runners meep-meep, 2001’s “dave” and Monty Pythons’ “SPAM!” among a ton of others. Great stuff. Problem is I can’t decide which one to use.

Beep

From: James Murray

Use “SPAM!”.

DTB

From: Jim Reekes

The mouse definately behaves differently when connected to the keyboard instead of the Mac. I recommend not chaining the mouse off any DTB devices.

TORX

From: Dave Kelly

Ok, I’ve had conflicting stories about which size TORX opens the Mac. What size is it, 10 or 15??? I too have some video deflection that I would like to open up and take a look at. So... where can I get the TORX screwdriver I need and how much will it cost? I’d like to do this right away. Thanks Dave

From: Richard Clark

According to Jim Magner (a local repair guy), Snap-On tools sells an extra long (2 foot!) TORX T-15 screwdriver for $7.95. All you have to do is call the local Snap-On number in the phone book, and one of their trucks will come to your door. Pay the nice driver, and you get your screwdriver.

P.S. I have seen these screwdrivers -- they’re perfect for opening a Mac.

Memory Upgrades

From: Richard Hyman

Regarding the 512E upgrade, the Dove upgrades and others do have problems with future expansion. I, however, have found Dove’s telephone support to be very good. Dove doesn’t sell directly, so I went through distributor in Eugene called TSI, sales rep is Jean Sorensen. With little excuse, like hoping to sell more units to people in your company, she will give good prices on the Doves. Figure on $119 for a 1M, and $330 - $350 for a 2M. SCSI ports available for about $70 more. TSI’s support is also very good. I had a bad board when upgrading an old 128K Mac to 1M, and they sent me the new one via 2nd day UPS with no additional shipping charges to me. TSI’s phone number is 1-800-874-2288.

Mac Menu Manager

From: Mark Chally

Well, in my opinion, the Mac Memory manager is a bit of a kludge anyway. Having an application that does real-time modem gaming, I find it particularly dismaying that there doesn’t seem to be a good way to do any drawing to the screen while a menu is down. The menu manager does some really scary stuff past my understanding, and I just wonder what’s gonna happen when we have a truly multitasking Mac and one program wants to draw when another program has a menu down! My guess is the menu manager gets “fixed” real soon now. I’m on the brink of hitting Developer Support about it, but I don’t know what good it will do-->it’d take a big re-write for the manager, and/or a big re-write on my part to allow drawing while menus are down. (By the way, try posting an event while the menu’s down and you get a nice surprise--zappo, just like a roll-up blind, up goes the menu.)

Coprocessor Errors

From: Randy Saunders

I have started to have an odd problem with my Mac. When you first turn it on it boots up and displays the desktop. If you do absolutely nothing in about 5-7 minutes it bails into MacsBug with a coprocessor error. Bang, you are dead. If you hit reset - Sad Mac. Wait 3-5 more minutes and hit reset => success, and many happy hours of computing. I have an exhaust fan and I notice that the problem occurs when the exhaust air is between 78 and 85 degrees F. Has my Mac caught a cold? My normal operating exhaust temp is 92 degrees F. I have opened it up and reseated every chip in the assumption that the problem is poor seating in a socket until some part expands from the heat. No change. Any other suggestions? Anybody else ever had this, or is the schrunken screen the only popular failure mode? I don’t want to have to get a new digital board just because I can’t figure out what’s wrong with this one.

Temp-sensitive component

From: Laser Dolphin

Randy -- this is just a guess, but it does sound like some component on your power supply has gotten temperature sensitive. I once had a similar problem, except the problem was on the motherboard. My internal drive would only work when the Mac was hot, so I left it on 24 hours a day, until the component got so bad that it wouldn’t work at all. Intermittent problems are a real female dog. Good luck.

power supply

From: The Atom

A friend has a 512 (upgraded from 128) that has suddenly died. When you turn it on, nothing comes up on video(black), and the drive whirs some. If you listen close you can hear some popping noises (quiet) inside. I opend it up and can’t see any components that look blown, anyone know what I should look for on the power supply. / video board?

Power Supply Revisited

From: Dave Morris

My Mac + has the original 128K PW. When I noticed some screen shaking, I looked at the yoke connections. They had crystallized. Some resoldering fixed that right up. Later I noticed that my PRAM memory was spastic. The clock would come up scrambled, and Mouse set to slow speed etc. New battery did not help. Just looked at the battery holder connections on the power board. They also were cold. Re-soldered and now all is well. If you suspect any video or clock problems, resolder the connections on the power supply board before you go to the Apple dealer. You can save a bunch of money!!

Using a 68851

From: Palomar

You gotta Mac II? There’s a custom HMMU in it in one of those huge 48(?) pin square sockets. Go to Radio Shack and buy an IC extractor. Go to a Motorola distributor, plunk down $600 and wait 2 months for the 68851. Pull out the HMMU and put in the (16 MHz) 851. Now if you have a disk with A/UX on it, you can boot A/UX. If you have a disk with the Mac OS, you can boot it just fine (I do it all the time.)

Given the price and availability, I assume Apple will be bundling the 68851 with A/UX, or no one would ever be able to get one. I haven’t seen any indication that anyone else would want one any time soon; don’t forget, the Mac OS won’t require an MMU as long as the majority of the installed base is 68000 with no MMU available. As for HMMU in 32-bit mode, that’s a hardware question and I’m a software person. On the other hand, I do know that they’ve downplayed the 32/24 traps between the draft Paris docs and the final MPW 2.0/IM Volume V. The current thinking is that an application NEVER changes the bit; it’s up to the OS to decide which mode is appropriate. Joel West Palomar Software, Inc.

Imagewriter II Mashed!

From: Macowaco

Egads! I just totally trashed an ImagewriterII! It was printing like mush and no matter what I adjusted or changed it would still do a poor print (even in high qual). So I pulled the head and cleaned it. It was pretty bad all right, but when I carefully tried to replace it I crushed two of the teeth in the plug that accepts the heads’ card. Any ideas anybody? Yeah, I know the whole head assembly has to be replaced, so does the rear right fender on my Honda.

******* and 65881

From: Rusty Hodge

Well, does Juggler <oops, erase that> work any better with the PMMU?

LaserWriters & Margins

From: Ross Yahnke

Margins on legal sized documents printed on the LaserWriter are a real problem; even if you do select the “Larger Print Area (fewer downloadable fonts)” print option you still get 1 inch margins of blank space around the whole document, which is really unacceptable in a lot of situations. Question 1: Is this due to memory limitations of the LaserWriter? Question 2: If so, will there ever exist a way to increase the memory of the LaserWriter? Question 3: Will any of the new, rumored, laser-based printers solve this problem? For Apples sake, I hope so or they should kiss a big section of the business market bye bye.

popUpMenuSelect

From: Jeff

Does anyone know how to use popUpMenuSelect. My copy of inside Mac Vol. 5 makes no mention of it. I tried to use it with a regular text menu and had no luck. I saw a new constant declared in the interface files mPopUpMsg = 4; A new message for MDEF’s? A little advice from someone in the know would be much appreciated. Thanks.

Popup Menus

From: Lsr

PopupMenuSelect takes 4 parameters: menu, top, left, and item. menu is a menu handle, top & left define a point in screen coordinates, and item is an item number. The MenuManager will try to place the topLeft corner of item at the point you specify. It will make the menu scroll if necessary to do this and still keep the menu on the screen. In order to implement a popup menu, a new message was added to the protocol that a defproc must understand. The number is 3 (not 4 as listed in the MPW interfaces). The purpose of the message is to have the defproc define the rectangle in which the menu will appear. [See this issue’s article by Steve Sheets for an example of how to create a PopUp menu in his Color Life. Also, a simple proc for identifying color quickdraw machines. -Ed]

SysEnvirons

From: The Cloud

Okay, I give up. How do you check to see if the SysEnvirons trap is present without using MPW and “linking with the .obj glue file”? I want to be able to use the trap, or barring that, at least definitively determine that it isn’t there, from Lightspeed... Making a LS library from the glue file doesn’t work...some code snippets would be appreciated. Thanks-- -k

^^^^

From: Lsr

Tech Note 129, gives the code. First test for 64K ROMS or later. If you have 128K ROMs or later, then do a get trap address on ‘SysEnvirons’ and compare the address with that of the ‘Unimplemented’ trap. If they are not equal, then you have ‘SysEnvirons’. The Tech Note code is in assembler. In that language, you get the ‘SysEnvirons’ address with:

MOVE.W #$90,D0  
_GetTrapAddress,NEWOS. 

You get the ‘Unimplemented’ address with:

 MOVE.W #$9F,D0  
_GetTrapAddress,NEWTOOL. 

The point here is that ‘SysEnvirons’ is an OS trap and ‘Unimplemented’ is a Toolbox trap. (For more info on the distinction, see Inside Mac volume 4.)

Uh, right..

From: The Cloud

The tech note *does* spell out the way to do it --in ASSEMBLY! My problem is a high ignorance quotient when it comes to diddling with addresses from Pascal... Thanks for the e-mail. -k

^^^^^

From: Lsr

If your language supports INLINES (as does MPW), it is easy to define INLINE functions that return the desired low memory globals. For example, in MPW Pascal:

FUNCTION GetWordxxx: INTEGER; INLINE $3EB8, $xxxx; 

will define a function that returns low memory global at location $xxxx. (If you change the first hex number to $2EB8, then the function will return a LONGINT.)

LSC & GetTrapAddress

From: Ross Yahnke

Greetings from muggy Madison, Wisconsin! I’m working on a game type program using LSC, and it’s to the point now where I need to speed it up a little. I want to do inline assembler trap calls using GetTrapAddress. MacTutor had a good Pascal article on this by Mike Morton in the August ’86 issue but he made a cryptic comment, “...many C compilers pass parameters differently than ROM routines do. Some C compilers allow you to choose the method of parameter passing; this will allow you to dispense with assembler altogether and just call the routine with a pointer (ask your nearest C guru how to do this).” So could someone out there show me an example? Many thanks in advance! -rosco

Indirect Toolbox Calls

From: Gary Voth

Ross: What you want to do is slightly complicated by the different calling convetions of C and Pascal. While C makes it easy to call a function indirectly, Lightspeed ALWAYS makes indirect calls using C stack discipline, so a glue routine is necessary. Make sure you check out the new information about GetTrapAddress on page IV-234 of Inside Macintosh before you proceed. In C a function pointer may be declared in this fashion:

int  (*myfunction) ();   

Note that the parentheses are necessary for correct grouping. If instead you wrote:

int  *myfunction ();   

you would be declaring a function returning a pointer to an int, which is not the same thing at all. If myfunction pointed to a C function you could call it indirectly by writing:

(*myfunction) (arg1, arg2, etc.);  

However, if myfunction pointed to a Pascal function (like the Toolbox routines) you cannot call it indirectly using the above method because Pascal stack discipline will not be enforced. However, Lightspeed has a built-in routine, CallPascal, which can do the job:

CallPascal (arg1, arg2,...argn, myfunction);  

Note that the function pointer is always the last argument to CallPascal. Of course, you can declare your own function which uses a single inline assembly instruction to call the Toolbox trap and not use pointers at all. Assuming that trap_add contains the address of the Toolbox trap TEnew you might write a “psuedo” function:

pascal TEHandle OurTENew(destRect, viewRect);   
Rect   destRect, viewRect;    
{        
extern  (*trap_add) (); /* global ptr to TENew() */          
asm { 
 JSR    trap_add     ; 
 call TENew 
 }    
}   

Note that the C compiler has taken care of setting up the stack and returning the proper value for you. Good luck. Gary.

Pgmkr printing

From: Macowaco

I’m trying to print with Pagemaker 2.0 using either a MacII or an SE with an IW II. It doesn’t seem to want to do the high quality printing. It prints but it ain’t high quality even though it is bidirectional

PageMaker Printing problems

From: Laser Dolphin

PageMaker 2.0 sometimes returns PostScript errors that are quite mysterious. The problem seems to be insufficient memory on the Mac (not LaserWriter) system heap. The solution consists of removing memory hogs like CheapBeep, Tops, and the screenblanker that pretends it’s MacsBug, as well as printing pages individually or in small groups. Pages with 300 dpi scan graphics most often cause this problem. Some combination of the solutions suggested above has always worked to get around the problem for me.

PM 2.0

From: Mike Steiner

Aldus has admitted that 2.0 doesn’t support the Imagewriter properly and that they are working on a fix for it. I haven’t spoken to them in a while, so the fix might be out by now. I do know that the current version being shipped is 2.0a. I have no idea what differences the alpha adds to 2.0, but I plan to call Aldus tomorrow to find out. [It fixes the imagewriter problem and costs $10 to upgrade. -Ed]

RSG, version 4.0

From: Peter

Saw a demo of RSG, version 4.0, last night. It really looks great. lots of new & improved features (though really if any program is worth $495 is a question). Free if you bought version 3.0 after June 1st - otherwise $75 upgrade fee. It’ll be ready in a couple of weeks.

The Rumor Board

[Consider tanything on the rumor board with a big grain of salt as speculation. -Ed]

^^^^^^^

Before they had me sign on a stack of bibles, I had some information about HyperCard (nee WildCard). One thing that is 100% definite is they’ve planned to bundle it all along, and briefed their sales staff several months ago on why they will be doing so.

Bundling

Well, I hope they know that current owners of new machines are going through life unbundled and plan to correct the situation. Get my drift?

Laptop Mac

A source high up in Apple development has related that the Laptop Mac is very much a real thing. Seems that they now have the cases in foam. In other words, they’re working on final case design. Expect to see it in about a year Also, the high end laserwriter is definitely color. The small laser may be out sooner then expected, and the BusinessWriter may be also out soon at a price of $1295. (Providing Toshiba can get them here).

Shutdown

Have an SE and no use for that strange power up button at the top of your keyboard? There is a product in testing that will allow you to use this key to jump into TMON or do a few other things. Look for it in Boston. ADB Break? I think thats the name.

ADB Key

The ADB Break is by Paul Mercer, and is currently in the Public Domain. It is, however, a very big hack. Paul is using some information that he discerned from looking at the ADB driver code, and which will probably change when the ADB driver gets revved. (And since there’s already a known bug with ADB, you can expect that to definetely happen.) ADB Break is GREAT, and I use it all the time. But it should only be used by those people that understand that it is potentially dangerous. Paul Mercer pulled off a difficult programming task to make this work. The best thing about it is that the default mode is Trap Signal, so you always enter TMON in a clean state. the “Chief Wizard”

 
AAPL
$102.76
Apple Inc.
+0.51
MSFT
$44.91
Microsoft Corpora
+0.03
GOOG
$569.77
Google Inc.
+0.57

MacTech Search:
Community Search:

Software Updates via MacUpdate

VueScan 9.4.41 - Scanner software with a...
VueScan is a scanning program that works with most high-quality flatbed and film scanners to produce scans that have excellent color fidelity and color balance. VueScan is easy to use, and has... Read more
Cloud 3.0.0 - File sharing from your men...
Cloud is simple file sharing for the Mac. Drag a file from your Mac to the CloudApp icon in the menubar and we take care of the rest. A link to the file will automatically be copied to your clipboard... Read more
LibreOffice 4.3.1.2 - Free Open Source o...
LibreOffice is an office suite (word processor, spreadsheet, presentations, drawing tool) compatible with other major office suites. The Document Foundation is coordinating development and... Read more
SlingPlayer Plugin 3.3.20.505 - Browser...
SlingPlayer is the screen interface software that works hand-in-hand with the hardware inside the Slingbox to make your TV viewing experience just like that at home. It features an array of... Read more
Get Lyrical 3.8 - Auto-magically adds ly...
Get Lyrical auto-magically add lyrics to songs in iTunes. You can choose either a selection of tracks, or the current track. Or turn on "Active Tagging" to get lyrics for songs as you play them.... Read more
Viber 4.2.2 - Send messages and make cal...
Viber lets you send free messages and make free calls to other Viber users, on any device and network, in any country! Viber syncs your contacts, messages and call history with your mobile device,... Read more
Cocktail 7.6 - General maintenance and o...
Cocktail is a general purpose utility for OS X that lets you clean, repair and optimize your Mac. It is a powerful digital toolset that helps hundreds of thousands of Mac users around the world get... Read more
LaunchBar 6.1 - Powerful file/URL/email...
LaunchBar is an award-winning productivity utility that offers an amazingly intuitive and efficient way to search and access any kind of information stored on your computer or on the Web. It provides... Read more
Maya 2015 - Professional 3D modeling and...
Maya is an award-winning software and powerful, integrated 3D modeling, animation, visual effects, and rendering solution. Because Maya is based on an open architecture, all your work can be scripted... Read more
BBEdit 10.5.12 - Powerful text and HTML...
BBEdit is the leading professional HTML and text editor for the Mac. Specifically crafted in response to the needs of Web authors and software developers, this award-winning product provides a... Read more

Latest Forum Discussions

See All

Stupeflix Has Released a Major Update fo...
Stupeflix Has Released a Major Update for Replay Posted by Jessica Fisher on August 29th, 2014 [ permalink ] iPhone App - Designed for the iPhone, compatible with the iPad | Read more »
ALONE… Review
ALONE… Review By Jennifer Allen on August 29th, 2014 Our Rating: :: MINIMALISTIC AND TOUGHUniversal App - Designed for iPhone and iPad Tough yet satisfying, ALONE… is a challenging endless flyer with some suitably sensitive... | Read more »
Hyperlapse Review
Hyperlapse Review By Jennifer Allen on August 28th, 2014 Our Rating: :: SPEEDY VIDEO SNAPSUniversal App - Designed for iPhone and iPad Want to make a great time-lapse video quickly? Hyperlapse is perfect for that.   | Read more »
Back To Bed Review
Back To Bed Review By Jennifer Allen on August 28th, 2014 Our Rating: :: STYLISH BUT LIMITEDUniversal App - Designed for iPhone and iPad It looks gorgeous, but Back to Bed is actually a fairly simple and uneventful puzzle game.   | Read more »
New Cars, New Locations, and a New Seaso...
New Cars, New Locations, and a New Season in Asphalt 8: Airborne Update Posted by Jessica Fisher on August 28th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Award Winning Children’s Book Bedtime fo...
Bedtime for Sarah Sullivan is a children’s storybook that emphasizes the importance of going to bed, dreams, and those magical moments right before being tucked in. Now Kelly Paniagua, author of the award-winning children’s book, is planning to... | Read more »
Happy Cube Death Arena Review
Happy Cube Death Arena Review By Jordan Minor on August 28th, 2014 Our Rating: :: CUBEDUniversal App - Designed for iPhone and iPad Happy Cube Death Arena is adorably violent, but very, very shallow.   | Read more »
8bit Doves, the New Game from Icebreaker...
8bit Doves, the New Game from Icebreaker Developers Nitrome, is Now Available – and in Four Colours Posted by Ellis Spice on August 28th, 2014 [ | Read more »
Ace Ferrara and the Dino Menace Review
Ace Ferrara and the Dino Menace Review By Nadia Oxford on August 28th, 2014 Our Rating: :: DINO-MYTEUniversal App - Designed for iPhone and iPad Ace Ferrara and the Dino Menace combines space combat and weird humor into a fun game... | Read more »
Draw Stuff, Win Prizes. Glorkian Warrior...
Draw Stuff, Win Prizes. | Read more »

Price Scanner via MacPrices.net

New 21″ 1.4GHz iMac on sale again for $999, s...
Best Buy has the new 21″ 1.4GHz iMac on sale for $999.99 on their online store. Their price is $100 off MSRP. Choose free shipping or free local store pick up. Price is for online orders only, in-... Read more
Smartphone Outlook Remains Strong for 2014, U...
According to a new mobile phone forecast from the International Data Corporation (IDC) Worldwide Quarterly Mobile Phone Tracker, more than 1.25 billion smartphones will be shipped worldwide in 2014,... Read more
Save up to $60 with Apple refurbished iPod to...
The Apple Store has Apple Certified Refurbished 5th generation iPod touches available starting at $149. Apple’s one-year warranty is included with each model, and shipping is free. Many, but not all... Read more
12-Inch MacBook Air Coming in 4Q14 or 2015 –...
Digitimes’ Aaron Lee and Joseph Tsai report that according to Taiwan-based upstream supply chain insiders, Apple plans to launch a thinner MacBook model either at year end 2014 or in 2015, and that... Read more
Sapphire Screen “Most Wanted” iPhone 6 New Fe...
According to the ‘uSell.com iPhone Most Wanted Survey’ — a representative survey of 1,000 U.S. smartphone users conducted by used iPhone marketplace uSell.com — close to half of all smartphone users... Read more
The iPad’s Real Competitive Challenger (Not S...
It’s been my contention for some time that the iPad is suffering from something of an identity crisis, and I suspect that may be a factor in slackening sales this year. Apple can’t seem to decide... Read more
13-inch 2.6GHz/256GB Retina MacBook Pro on sa...
B&H Photo has the 13″ 2.6GHz/256GB Retina MacBook Pro on sale for $1379 including free shipping plus NY sales tax only. Their price is $120 off MSRP. Read more
Life Inventory iOS Apps – Learn to Know Thyse...
James Hollender’s Life Inventory apps s are now on sale with 20% off thru Labor Day, 09/01/2014. This is a great opportunity to get started on that Moral Inventory you’ve been putting off doing for... Read more
Pocket Watch, LLC. Reveals Cloud Server For P...
Beaumont, Texas based Pocket Watch, LLC. has announced the availability of its new ActivePrint Cloud Server Powered by Raspberry Pi. With this small standalone box almost any USB printer or available... Read more
902it Simplifies Area Code Changes For Nova S...
The east coast Canadian provinces of Nova Scotia and Prince Edward Island are phasing in 10 digit telephone dialing, to be fully in place by November, in order to accommodate a second area code to... Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
Senior Event Manager, *Apple* Retail Market...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global event strategy. Delivering an overarching brand story; in-store, Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
Project Manager / Business Analyst, WW *Appl...
…a senior project manager / business analyst to work within our Worldwide Apple Fulfillment Operations and the Business Process Re-engineering team. This role will work Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.