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
$100.75
Apple Inc.
+0.64
MSFT
$46.36
Microsoft Corpora
-0.08
GOOG
$577.36
Google Inc.
+1.00

MacTech Search:
Community Search:

Software Updates via MacUpdate

QuickBooks 2015 16.0.0.1352 R1 - Financi...
QuickBooks 2015 helps you manage your business easily and efficiently. Organize your finances all in one place, track money going in and out of your business, and spot areas where you can save.... Read more
Mac DVDRipper Pro 5.0.1 - Copy, backup,...
Mac DVDRipper Pro is the DVD backup solution that lets you protect your DVDs from scratches, save your batteries by reading your movies from your hard disk, manage your collection with just a few... Read more
Apple OS X bash Update 1.0 - Fix for sec...
The OS X bash Update fixes a security flaw in the bash UNIX shell on OS X 10.9.5 (also on OS X 10.8 and 10.7 [see Related Links below]). OS X 10.9.5 or later Downloads for OS X 10.8 and OS X 10.7 in... Read more
SyncTwoFolders 2.0.5 - Syncs two user-sp...
SyncTwoFolders simply synchronizes two folders. It supports synchronization across mounted network drives and it is a possibility to run a simulation showing in a log what will be done. Please visit... Read more
FinderPop 2.5.7 - Classic Mac utility, n...
FinderPop is a Universal preference pane that extends OS X's contextual menus using a FinderPop Items folder much as the Apple Menu Items folder used to do for the Apple menu. It has other features... Read more
VueScan 9.4.45 - 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
LibreOffice 4.3.2.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
calibre 2.4 - Complete e-library managem...
Calibre is a complete e-book library manager. Organize your collection, convert your books to multiple formats, and sync with all of your devices. Let Calibre be your multi-tasking digital... Read more
Default Folder X 4.6.9b1 - Enhances Open...
Default Folder X attaches a toolbar to the right side of the Open and Save dialogs in any OS X-native application. The toolbar gives you fast access to various folders and commands. You just click... Read more
Beamer 2.0.4 - Stream any movie file fro...
Beamer streams to your Apple TV.... Plays any movie file - Just like the popular desktop movie players, Beamer accepts all common formats, codecs and resolutions. AVI, MKV, MOV, MP4, WMV, FLV. To... Read more

Latest Forum Discussions

See All

apeFilter (Music)
apeFilter 1.0 Device: iOS Universal Category: Music Price: $6.99, Version: 1.0 (iTunes) Description: | Read more »
Shred It! Review
Shred It! Review By Jennifer Allen on September 30th, 2014 Our Rating: :: GORGEOUS BUT BASICUniversal App - Designed for iPhone and iPad It might look lovely, but Shred It! is a pretty shallow endless runner/snowboarding game.   | Read more »
It Came From Canada: Angry Birds: Transf...
Anyone afraid that throwing Transformers into the Angry Birds mix would result in a Michael Bay-level of childhood pillaging can rest easy. While Rovio’s famous fowls may be a 21st century staple, Angry Birds: Transformers wears its affection for... | Read more »
Galaxy Trucker Review
Galaxy Trucker Review By Rob Thomas on September 30th, 2014 Our Rating: :: IN FOR THE LONG HAULiPad Only App - Designed for the iPad We got a great big convoy, rockin’ through the night… the endless night of outer space, that is.... | Read more »
Moon and Sun – children’s book Review
Moon and Sun – children’s book Review By Amy Solomon on September 30th, 2014 Our Rating: Moon and Sun is a fable-like children’s book with lush illustrations.   Developer: Marcio Monteiro Price: $3.99 Version: 1.0 App Reviewed on... | Read more »
Kairosoft Finally Brings The Pyraplex to...
Kairosoft Finally Brings The Pyraplex to iOS Posted by Jessica Fisher on September 30th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Yeti’s Parole Officer Review
Yeti’s Parole Officer Review By Jennifer Allen on September 30th, 2014 Our Rating: Universal App - Designed for iPhone and iPad Yeti’s Parole Officer proves that looks aren’t everything in this entertaining, if plain, piece of... | Read more »
Record Keeper and World Wide Words – Two...
Record Keeper and World Wide Words – Two New Final Fantasy Games Arrive on iOS in Japan Posted by Ellis Spice on September 30th, 2014 [ permalink ] | Read more »
iPollute Review
iPollute Review By Nadia Oxford on September 30th, 2014 Our Rating: :: iPOLLUTE, uPOLLUTEUniversal App - Designed for iPhone and iPad iPollute is a delightful-looking pollution simulator, though it’s a bit light on “game” content... | Read more »
This Week at 148Apps: September 22-26, 2...
Your Source For The Latest App Reviews   | Read more »

Price Scanner via MacPrices.net

MacBook Airs on sale for $100 off MSRP, start...
Best Buy has the new 2014 MacBook Airs on sale for $100 off MSRP on their online store. Choose free home shipping or free local store pickup (if available). Prices valid for online orders only, in-... Read more
Apple Releases OS X Mavericks bash Update 1.0...
Apple has released a patch update for OS X Mavericks users to address the recently-detected “Shellshock” security bug in BSD UNIX’s bash shell. Apple says only a few Mac users who had manually... Read more
Pivotal Payments Ready for Apple Pay – FlexPo...
Pivotal Payments, a provider of merchant services and global payment processing solutions, has announced its proprietary FlexPoint platform will support credit and debit transactions through Apple’s... Read more
iStabilizer Announces Tabarm — First Friction...
iStabilizer, a specialist in universal lightweight compact tripods, steady cams, dollies, mounts, and remotes for smartphones, tablets, and cameras, announced today the iStabilizer tabArm, the first... Read more
IStabilizer Flex Smartphone Tripod Wins Usa T...
iStabilizer, a specialist in universal lightweight compact tripods, steady cams, and other products for smartphones, tablets, and cameras, has announced today that its iStabilizer Flex smartphone... Read more
13-inch 2.8GHz Retina MacBook Pro on sale for...
B&H Photo has the new 2014 13″ 2.8GHz Retina MacBook Pro on sale for $1699.99 including free shipping plus NY sales tax only. They’ll also include free copies of Parallels Desktop and LoJack for... Read more
15-inch Retina MacBook Pros on sale for up to...
B&H Photo has the new 2014 15″ Retina MacBook Pros on sale for up to $150 off MSRP. Shipping is free, and B&H charges NY sales tax only. They’ll also include free copies of Parallels Desktop... Read more
Get Down to Business On Your iPad With Free N...
Utah based Poem LLC has introduced Nexticy 1.0, a full-featured, affordable (Free) forms application for iPad. Nexticy makes it ‘way easy’ to create, store, retrieve and analyze paper-like forms of... Read more
13-inch Retina MacBook Pros on sale for $100...
Best Buy has 13-inch 2.6GHz Retina MacBook Pros on sale for $100 off MSRP on their online store. Choose free shipping or free local store pickup (if available). Prices are for online orders only, in-... Read more
Reports Outline Claimed 12-Inch Macbook Air D...
Blogger Jack March says that according to information he’s received from an anonymous “source familiar with Apple’s plans,” the next-generation MacBook Air will launch in mid-2015 and be available... 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...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, 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.