CompuServe Messages

#Amy to printer route?

    01-Nov-87 13:21:20
Fm: John Draper 76703,4322
To: Jim Ventola 70626,423
Jim, In the case of LPRINT, I think it is Amigabasic that intercepts the ESC character. I'm not totally sure though. If you try sendint the characters directly to PAR: you should get them at the printer. The Amiga's implementation of printer drivers is really quite elegant, and there is a good reason that they are not implemented as text files. One could not hope to do translations of anything bu the simplest printer functions using a text file translator. A printer driver consists of both translation tables and actual, executable code so that the driver can handle any, and I mean _any_ printer's requirements. When you send a file to PAR: the parallel port receives the characters just as they are sent, but when you send it to PRT:, the printer driver becomes the interface/translator between the data and the parallel port. Any character strings that begin with a special character are translated according to the driver itself, through means of a table. This table can substitute a single character, substitute multiple characters, or even jump into a rotuine that can di virtually any complex function the printer might require. If you look at the codes that are required by the printer driver for each function, you will see what needs to be sent in order to perform that function. The required string will be the same for any printer that supports the function. In Amigabasic, try this: Send the codes that your printer requires for setting the left margin, but send it to PAR: This will tell you if your printer does indeed take this as the left margin setting. (you can then send a plain text file to PAR: with a TYPE FileName PAR: to test it). If the printer does not set left margins, then there is something amiss with the printer or the documentation. After determining that the printer sets left margin, try (again from Basic) sending the appropriate code for the standard Amiga <set left margin> to PRT:. If it does not set it, then the translation is wrong. Good luck. Regards, Larry.