Apr 89 Mousehole
Volume Number: | | 5
|
Issue Number: | | 4
|
Column Tag: | | Mousehole Report
|
Mousehole Report
By Rusty Hodge & Larry Nedry, Mousehole BBS
From: dbieber (Douglas Bieber, Alta Loma, CA)
Subject: PICT display
HELP!! I am currently using a Mac II w/a Supermac 19" color monitor. I am programming under MPW C 2.0.2. I have been attempting to convert the PICT file Pascal tech-note examples into work-able C code. Unfortunately, I have not been successful. I would be interested in any C source that reads and displays a PICT-2 file. Any help would be appreciated. Thanks.
From: emmayche (Mark Hartman, Fullerton, CA)
Subject: Re: PICT display
Heres some Lightspeed C code that Ive written which does what I think you want to do. This also takes care of picture spooling. Im not sure how much will be applicable to MPW C.
/* 1 */
int thePath;
pascal void GetPICTData(dataPtr, byteCount)
Ptr dataPtr;
int byteCount;
{
long longCount;
longCount = byteCount;
filErr = FSRead(thePath, &longCount, dataPtr);
}
ReadPICTFile(path, window)
int path;
GrafPtrwindow;
{
QDProcsPtr savedProcs;
CQDProcs myProcs;
PicHandlemyPicture;
long longCount, myEOF, filePos;
Rect r;
thePath = path;
SetStdCProcs(&myProcs);
myProcs.getPicProc = (Ptr)&GetPICTData;
savedProcs = window->grafProcs;
window->grafProcs = (QDProcsPtr)&myProcs;
SetPort(window);
myPicture = (PicHandle)NewHandle(sizeof(Picture));
if (filErr=GetEOF(path, &myEOF))
return FALSE;
if (filErr=SetFPos(path, fsFromStart, 512))
return FALSE;
longCount = sizeof(Picture);
if (filErr=FSRead(path, &longCount, (Ptr)*myPicture))
return FALSE;
r = (*myPicture)->picFrame;
DrawPicture(myPicture, &r);
if (filErr=GetFPos(path, &filePos))
return FALSE;
KillPicture(myPicture);
window->grafProcs = savedProcs;
if (filePos != myEOF)
return FALSE;
return TRUE;
}
Note that there are some casts to QDProcsPtr when youd think it should really be CQDProcsPtr; dont worry about these, they work fine and leave the flexibility to return to black-and-white should you ever be crazy enough to do so. filErr is a global error code declared in a .h file.
Hope this helps - please let me know. [Another good source is Dave Wilson's Color Paint Example program in his Macintosh II Programming Class Notes, available from the MacTutor Mail Order Store. -ED]
From: andyv (Andrew Voelker, Long Beach, CA)
Subject: Mac II bus error
I wrote a program that works fine on my SE, but it bombs with a bus error on a Mac II. What does a bus error mean on a Mac II?
From: emmayche (Mark Hartman, Fullerton, CA)
Subject: Re: Mac II bus error
It very much depends upon what youre doing. Generally, a bus error means that somebody (generally the CPU) has asserted an address and nobody lives there (actually, nobody has responded within the time limit of the bus).
If you can figure out about where youre bombing and post some of the code around that point, it would be helpful in the diagnosis.
From: lsr (Larry Rosenstein, Cupertino, CA)
Subject: Re: Mac II bus error
You can never get a bus error on the Mac SE (or Plus) because of the way the hardware is designed. Your program is still accessing some strange error, but the hardware is mapping that access back to some valid memory address. This means you could be stomping on random memory locations on the SE.
From: dbieber (Douglas Bieber, Alta Loma, CA)
Subject: PICT display again...
The code that emmayche provided worked great! However, I am having two problems:
1) A color picture created by MacDraw II will not appear in color using the aforementioned code. Perhaps further tweeks are necessary.
2) A color picture created by Pixel Paint will appear in color. However, the update region (the area of the picture window covered by the SFGetFile dialog) is updated in black & white. I am using CopyBits in my update function. I have retrieved the picture window using GetNewCWindow, and I have defined an off screen PixMap for use with the CopyBits routine. Unfortunately, when I initialize the system, the pixSize variable has a value of zero. I suppose I need to do further initializations not previously required for B&W. But what??
Any code and/or suggestions would be appreciated. The February 1988 issue of MacTutor has an excellent article entitled Macintosh II: Color Screen Dump FKEY. The use of PixMaps is demonstrated in a Pascal DA. Unfortunately, no update procedures are performed.
From: emmayche (Mark Hartman, Fullerton, CA)
Subject: Re: PICT display again
It is unclear to me how your program is handling the update event that it will receive after the SFGetFile dialog clears away. If you are updating from an off-screen PixMap, you should be sure that the offscreen port is opened with the proper depth, and use the OpenCPort command for it.
I open my palette window first with a GetCWindow call, then steal the depth of that window for document windows. Works fine unless someone makes the screen shallower on you (deeper, we can handle). This is tricky, which is one of the reasons Pixel Paint *requires* 256-color mode to be set. (My program, Photon Paint, is more intelligent, so itll operate in 16- or 4-color mode. Itll do 2-color mode, too, but that gets boring.)
If this doesnt give you enough help, let me know and maybe we can do something about it off-line.
From: andyv (Andrew Voelker, Long Beach, CA)
Subject: my bus error
I get my bus error on the Mac II in the first instruction of this function:
void DrawCard(thePile, cardNumber)
struct pile *thePile;
char cardNumber;
{
struct cardtheCard;
theCard = *(thePile->cards[cardNumber]);
}
the following are global variables:
struct card {
Rect rect
char suit, value;
BooleanfacingUp;
} deck[NUM_OF_CARDS];
struct pile {
Rect baseRect;
char numInPile;
struct Card *cards[MAX_CARDS_IN_PILES];
} playPile[NUM_OF_PLAY_PILES], accumPile[NUM_OF_ACCUM_PILES], drawPile,
discardPile;
It doesnt bomb on a Mac SE.
From: emmayche (Mark Hartman, Fullerton, CA)
Subject: Re: my bus error
Try changing:
theCard = *(thePile->cards[cardNumber]);
to:
theCard = *(thePile->cards[(int)cardNumber]);
I think that the byte-wide subscript may be killing you here. Its probably got some junk in the upper byte(s) which are pointing way-the-heck off somewhere. This is a wild guess - everything else looks fine.
From: dbieber (Douglas Bieber, Alta Loma, CA)
Subject: its a start.
Well, nobody has left a message on this board yet. So, I thought Id start. Im currently using a Mac II with 19" color monitor. Its amazing how small the screen on my SE looks when I go home at night. In fact, I almost wish Id spent the extra money for a Mac II... Too bad the SE doesnt have color caps besides old Quickdraw...
From: wliao (Willy Liao, Fullerton, CA)
Subject: Re: its a start.
Ah, but if you upgrade to the 030 SE it looks like you will have the ability to add a second color monitor to your SE, in a manner analogous to a //x with one 9" monochrome & a 13" (or 19") color. The slot in the 030 SE isnt NuBus, nor is it the old 96-pin SE slot; its been modified for faster access from the 030. Since the ROMs are similar (or identical? Dont know whatd happen to the slot manager) to the //xs, you should be able to drive multiple screens if a 3rd party comes out with a card for the slot (or a NuBus chassis, but that would cost extra $$$).
From: ossian1(James Von Schmacht,Santa Ana)
Subject: SE screen wiggle
I just inherited an SE from my company, and have found that it has the aircraft carrier fan and the annoying screen shimmy. There used to be a no-cost to the user upgrade which replaced the analog board and the fan unit. Does it still exist? Who should I talk to? What is their number? Should I talk to tech supt at Apple? What is their number? Thanks for any help you can give. The trade I worked out was pretty good too. A Mac Plus, System Saver plus, 800K external drive, A+ optical mouse, and a carrying case for an SE-20 and carrying case, straight across the board...oh yeah, the Plus was a three-plus year old 512k that had been upgraded...tee hee.
From: thecloud (Ken Mcleod, La Habra, CA)
Subject: Re: SE screen wiggle
There is (or was) a service program for free replacement of the fan unit, but it was limited to SEs with serial numbers less than some magic number, which I dont have handy at the moment. An Apple dealer should be able to look up the info for you... good luck.
From: rusty (Mr. Rusty Hodge, Orange, CA)
Subject: Re: SE screen wiggle
My fan has been rattling lately, it is truly horrible. Ill have to get AppleCare I guess.
From: sstaton (Steven R. Staton, Dallas, TX)
Subject: Re: SE screen wiggle
I must inform you, sadly, that there truly was no no-cost fix for the SE fan/video wiggle problem. Apple merely acknowledged the problem, fixed it in the SE line, and went about gouging existing owners for fixes.
The Mobius fan can fix the fan noise problem for only $39. I was able to coax my local Apple Dealer into selling me the fix board for the video yoke. It took ten minutes to swap it in. Cost: $17.
From: rusty (Mr. Rusty Hodge, Orange, CA)
Subject: Re: SE screen wiggle
Can someone give some details on the Mobius fan, how it is installed and all that stuff...
From: jr7 (John Rodeffer, Costa Mesa, CA)
Subject: Mac SE/30
PC Week (yes, I have my heresy filter turned on) has an article in the January 23 issue about this machine. Some highlights are:
16 Mhz 68030 Processor with Page Memory Management,Version 6.0.3 OS, 40 or 80 MB Hard Disk w/ 30ms access, FDHD (Floppy Disk High Density) SuperDrive like the Mac IIx, Single Expansion Slot called 030 Direct Slot NOT compatible with old SE or the Mac IIs Nubus, 16Mhz bus vs. 8Mhz for old SE
Configurations and Pricing
4MB w/ 80MB $6569
1MB w/ 40MB $4869
1MB w/ single 800k Floppy $4369
Evidently 6.0.3 will be required by Apples forthcoming 32-bit Quickdraw screen drawing software. No mention of any possible upgrade (i.e. Motherboard trade-in) for old SEs. If we make the right noises, maybe Apple will offer it. Mac users presence is obviously felt by Apple as illustrated in accompanying article in this same issue: [There is an official upgrade path from both the SE and Mac II to the 030 SE and Mac IIx. It involves a motherboard swap. Ed]
Experts Pin Apples Cuts on Competition, Buyer Pressure Only four months after raising prices on its full featured Macs, Apple Computer Inc. slashed them last week. While Apple cited reduced costs from falling memory prices as the reason for the cuts, industry analysts said the changes were influenced more by competition and customer resistance to high prices than by memory costs. They had some problems in the fourth quarter based on price, said Bill Lempesis, an analyst with market researcher Dataquest, Inc., of San Jose, Calif. Even Allan Loren, president of Apple USA, the sales arm of Apple Computer Inc., said buying patterns shifted to less costly, less fully configured Macs in the fourth quarter. Some analysts say the price cuts dont go far enough. Macintosh users would be better served with more powerful computers at lower cost, said Jonathan Seybold, publisher of the Seybold Reports, in Malibu, Calif. Apple is going for (profit) margins and responding to shareholders these days. Apple should be going for market share-attracting more users with lower prices-and therefore positioning itself to fend off the challenge of OS/2 and Presentation Manager.
HEY, APPLE, ARE YOU LISTENING OUT THERE? Users buy Macs, not shareholders.
Let Apple know your feelings on this and maybe we can lower prices to a more realistic level before we have to buy those 386 PS/2s.
From: macww (Mark Worthington, Worcester, MA)
Subject: 800K external drive
I need to get an 800K floppy drive. Apples lists at $429 (gag!). I have ordered and returned two CMS 800K drives. Both were defective. I am trying to get a Central Point drive from Programs Plus, but the drives are on backorder and have been for some time. Any recommendations? Thanks.
From: thecloud (Ken Mcleod, La Habra, CA)
Subject: Re: 800K external drive
I would also appreciate info on this. Im currently running without ANY floppy drives (Ive used up 3 of em so far; the last one was a typical Apple rebuilt 800K internal --it lasted 3 months), and backups of my hard disk can only occur when I take it over to a friends Mac. (Ive got a drive on order, but Id like to know if anyone has a source for getting broken drives repaired cheaply. Even Computer Quick in La Mirada wont touch floppy drive repair...)
By the way, all the drives have failed identically: the upper head, which is mounted on a flimsy piece of copper foil, gets caught by a sticking disk shutter and breaks off, rendering the otherwise-sound unit worthless. Does anyone know anyone in the department at Apple where defective floppy drives are returned by dealers? (Im curious as to what percentage of these failures involve the upper head... bet its >90%!)
From: ossian1 (J. Von Schmacht, Santa Ana, CA)
Subject: Re: 800K external drive
How about better disks.....you really gotta watch them there furren imports. Sorry, couldnt resist...is it possible that the drive cage is not correctly aligned with the insertion slot? Ive had a 400k then an 800k in my plus for three years, and never encountered this problem. Hope this helps.
From: thecloud (Ken Mcleod, La Habra, CA)
Subject: Re: 800K external drive rec needed
How about better disks.....you really gotta watch them there furren imports. Well, the drive is made by Sony... and I use Sony disks... hmmmm! Also, the drive was correctly mounted... the problem was on the inside.
From: cliffh (Cliff Harris, Anaheim, CA)
Subject: Re: 800K external drive rec needed
I have had two Ehman Engineering external drives. After I returned the first drive, which died after three weeks, they sent me a new drive. The new drive wouldnt format a disk correctly right out of the box. After a week of use it became extremely noisy. I lived with the noise, and then the speed changed so badly that I couldnt interchange disks written with this drive with those written on the internal drive. I finally solved the problem by buying a demo Apple drive off the bargain table at Heath/Zenith for $250. So far this drive has been perfect. Ehman has apparently changed their name to Cutting Edge (to protect the guilty?). The external appearance of the Cutting Edge drive has changed recently. If the internals have also changed then all of the above comments are of course null and void. I am not surprised that Computer Quick will not fix these drives as all the components are surface mount, which are almost impossible to get and also require special equipment to remove and install.