Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxn!ihnp4!houxm!whuxl!whuxlm!akgua!gatech!seismo!umcp-cs!cvl!umd5!carl From: carl@umd5.UUCP Newsgroups: net.micro.amiga Subject: Re: Patch for EPSON Printer Drivers Message-ID: <861@umd5.UUCP> Date: Thu, 6-Feb-86 11:58:38 EST Article-I.D.: umd5.861 Posted: Thu Feb 6 11:58:38 1986 Date-Received: Sun, 9-Feb-86 07:14:26 EST Reply-To: carl@umd5.UUCP (Carl Symborski) Organization: U of Md, CSC, College Park, Md Lines: 101 Summary: EPSON gfx overlay patch provided In article<3030@vax4.fluke.UUCP>, star@fluke.UCCP (David Whitlock) raised a question concerning the partial overlay of print lines on dot matrix printers in graphics mode. In a followup article, David Berezowski (CBM/AMIGA) pointed out that the fix is in a one line change to the EPSON family and MPS-1000 drivers. That is: " The line in error is in the epson 'render.c' function. INCORRECT: if (err=(*(PD->pd_PWrite)) ("\0331",2)) return(err); /* select 7/72 inch spacing */ CORRECT: if (err=(*(PD->pd_PWrite)) ("\0333\030",3) return(err); /* select 24/216 (8/72) inch spacing */ Sorry for the inconvience. " Well I'm happy to see that there is nothing wrong with my EPSON JX-80 and that the gfx line overlay problem is associated with a simple bug in the printer driver. David Berezowski's reply to the original printer driver question was *terrific*. It told me everything I needed to look for, so I took the bull by the horns and tried to patch this printer driver animal. The HEX option on the TYPE command is a great help. Using a dump of the driver and a 68K reference manual I was able to find the right spots to modify. Luckily, the Lattice compiler allocated a long word for the string constant output to the printer...plenty of room to add another byte (hurray!). Also, the number of bytes to output was stored in its own 16 bit word and therefore easy to bump up by one (hurray again!). No need to enlarge hunks here...an inline patch...no muss, no fuss. All of this now said, here are the bits you need to know to patch the EPSON printer drivers supplied with AMIGA DOS V1.1: Generic EPSON printer driver is in file: DEVS:PRINTERS/EPSON Patch is: OFFSET OLD NEW (HEX) A69 02 03 output 3 chars to printer D0B 31 33 change ESC "1" to ESC "3" D0C 00 18 set 24/216 spacing EPSON JX-80 printer driver is in file: DEVS:PRINTERS/EPSON_JX-80 Patch is: OFFSET OLD NEW (HEX) B4D 02 03 F69 31 33 F6A 00 18 This patch makes my JX-80 work great! There still is, at times, some 'play' in the tractor feed mechanism. This can sometimes cause overlapping or white spaces between lines. For the best print, take the tractor drive off the printer and engage the friction feeder. Also, using a single sheet of paper (instead of fanfold) works best. I have provided a throwaway ABasiC program which will fix up the two EPSON drivers. I know that this is a horrible little program and it is *NOT* an example of how to code in basic. Just accept this at face value...I used it and it worked for me. 110 OPEN "R",#1,"DEVS:PRINTERS/EPSON",128 120 FIELD #1, 128 AS X$ 130 RGET #1,21 140 Y$ = X$ 150 REPLACE$(Y$,106,1) = CHR$(3) 160 LSET X$ = Y$ 170 RPUT #1,21 180 RGET #1,27 190 Y$ = X$ 200 REPLACE$(Y$,12,1) = "3" 210 REPLACE$(Y$,13,1) = CHR$(24) 220 LSET X$ = Y$ 230 RPUT #1,27 240 CLOSE #1 250 OPEN "R",#1,"DEVS:PRINTERS/EPSON_JX-80",128 260 FIELD #1, 128 AS X$ 270 RGET #1,23 280 Y$ = X$ 290 REPLACE$(Y$,78,1) = CHR$(3) 300 LSET X$ = Y$ 310 RPUT #1,23 320 RGET #1,31 330 Y$ = X$ 340 REPLACE$(Y$,106,1) = "3" 350 REPLACE$(Y$,107,1) = CHR$(24) 360 LSET X$ = Y$ 370 RPUT #1,31 380 CLOSE #1 Many patching adventures such as this are possible. What is really needed is a general purpose patch utility to assist in the user installation of patches. Also, does anyone know of a good 68K disassembler available for the AMIGA? One which will dissamble object files and executable files? It would have come in handy here... ***** As an aside... If you want to use this patch with DeluxePaint you are going to have to WRITE on your DeluxePaint disk!!!! Just another reason *AGAINST* copy protected software products such as those, like DeluxePaint, which come bundled with a particular version of an OS and its associated bugs. One more frustration we don't need in these pioneer Amiga days. Regards, Carl Symborski