--------------------------------------------------------------------------- M i n e r v a S o f t w a r e T e c h n i c a l R e l e a s e Number: 002/LineFd Baring Crescent Date: 29/09/89 Exeter Author: MK Devon Pages: 02 EX1 1TL Problems relating to printer configuration for auto-linefeed --------------------------------------------------------------------------- Some users of Minerva's software have been somewhat dismayed to discover that apparently the software is unable to correctly drive the printer, with all text appearing on the same line and no linefeeds being generated. These users should now be reassured that their program is not at fault but they may be even more dismayed to discover that the problem is in fact caused by other products and, even worse, ACORNSOFT products! Since this appears to be a problem which will strike users of all software which correctly follows the Acorn protocols, the details are outlined below in the hope that it may be of some benefit. 1. HOW THE ARCHIMEDES DEALS WITH VARYING PRINTER STANDARDS Since there are two standards for printers, the Archimedes has a mechanism to allow it to cope with both. The standards in question affect the way the paper is fed through the mechanism and there are two possible cases: A. Auto Linefeed Every time the printer receives a CARRIAGE RETURN character (code 13), it generates a LINE FEED (code 10) to move the paper through the printer. B. Non-Auto Linefeed The printer does NOT generate its own LINE FEED characters but relies on the computer to send a LINE FEED after every CARRIAGE RETURN. Most modern printers will actually have a switch to select either of these modes, allowing them to be compatible with most computers, but this is likely to be difficult to reach. The Archimedes will (in the case of virtually all software) send a LINE FEED after every CARRIAGE RETURN. To allow compatibility with printers in mode (A) above, it is possible to tell the machine to ignore a particular code when sent to the printer. By setting this to 10 (the code for LINE FEED), no LINE FEEDs will be sent to the printer and you are compatible with type (A) printers. This code is set up using the *IGNORE command, for example: *IGNORE 10 To disable the trap altogether, simply enter *IGNORE on its own. Either of these may be preceded by CONFIGURE to make the effect permanent, eg: *CONFIGURE IGNORE 10 RISC OS 3 users may address this problem through the !Configure utility supplied on the RO3 ROM. The printer option switch should for Code 10 should be set to 'Off' then press CTRL-BREAK to reset the computer. --01---002/LineFd---------------------------------------------------------- The Archimedes is set up with a factory default ignore code of 10, making the system compatible with type (A) printers when it arrives. 2. PROBLEMS ARISING WHEN THE PROTOCOL IS IGNORED The above should make everything seem fairly simple, and indeed it ought to be. However..... some software houses, notably GST and Grafox (ie. First Word Plus and Logistix) have chosen to ignore the sensible protocols described above and override the *IGNORE status in such a way that they are only compatible with type (B) printers, regardless of the setting of *IGNORE. This means that the hapless user will have been forced to configure their printer to be type (B) but will not have re-configured their Archimedes since the software will override the settings and work anyway. They then go out and purchase a CORRECTLY written package, such as System DeltaPlus etc, and the result is a type (B) printer (generating no LINE FEEDS) on a machine configured for a type (A) printer (and so sending no LINE FEEDS) which results in no LINE FEEDS ever and the text all comes out on the same line. Since this occurs only when using CORRECTLY written products such as System DeltaPlus, the blame is then placed (in this case) on Minerva, rather than on the culprit (for forcing the reconfiguring of the printer). A subsidiary problem occurs in some cases, when reconfiguring the Archimedes to work with type (B) printers, as is necessary if you wish to use both First Word Plus/Logistix and other, correctly written, software. The correct way to do this is to enter the command *CONFIGURE IGNORE with no parameters, completely disabling the printer trap. It is NOT CORRECT to enter *CONFIGURE IGNORE 0 as this prevents code 0 from being sent to the printer and may corrupt some graphics/font change sequences used by certain software. 3. CONCLUSIONS If you are using any package which overrides the Acorn protocols for printer compatibility in the way described above and also wish to use correctly written software, you should take the following steps: 1. Set your printer so that Auto Linefeed is OFF (usually a DIP switch). 2. Enter *CONFIGURE IGNORE 3. Press CTRL-BREAK to reconfigure your machine. --02---002/LineFd----------------------------------------------------------