Path: utzoo!mnetor!uunet!pilchuck!amc!eric From: eric@amc.UUCP (Eric McRae) Newsgroups: comp.sys.amiga Subject: Need help with printer driver PLEASE Message-ID: <601@amc.UUCP> Date: 26 Feb 88 07:51:11 GMT Reply-To: eric@amc.UUCP (Eric McRae) Organization: Applied Microsystems Corp., Redmond, WA. Lines: 30 Keywords: DumpRPort, Cancel, Guru I've written a printer driver for my little Talley Spirit 80. I could have used a PD driver but I wanted to learn. Everything works fine until I attempt a graphics dump. I'm using DpaintII which works for other drivers. If I cancel the print, I get a visit from the Guru. I've tracked the problem to the vicinity of my render.c routine. When a print is canceled, pd_PWrite returns a non-zero error. If I return the error to the printer driver as is recommended in the example code on Page E-10 of the RKM, I get an instant Guru: /*business end of Case 2: (status) Dump Buffer to printer*/ if(error = (*(PD->pd_PWrite))(&(PD->pd_PrintBuf[bufptr]),bytecount)) return(error); Notes: Everything works fine until I cancel the dump or I let it go to the end. If I can figure out the first problem, I'll probably be able to figure out why it also crashes after returning the error from the call to pd_PBothReady. I replaced the return(error) above with return(0); The cancel was ignored and the dump went complete and crashed as though I hadn't attempted the cancel. Everything else about the driver works fine. I'm using Manx 3.4B long ints, large code & data. Surely, there are still a few people left in this newsgroup who have actually written printer drivers. What am I doing wrong? Please drop me a line or call. This is driving me batty because the Gurus generally trash vd0: