background image

Using a printer 15

The internal printer buffer

Text  sent  to  the  printer  is  first  stored  in  an  area  of  computer  memory  known  as  the  internal 
printer buffer, and only sent on to the printer when the printer can handle it, usually a line or a 
character at a time. If you wish to remove all remaining text from the buffer, you can usually 
either  press  ESCAPE  (which  empties  all  the  buffers  on  the  system)  or  use  the  command 

*FX21,3 

(which  empties  the  printer  buffer  only).  You  can  disable  the  emptying  of  all 

buffers  on  pressing  ESCAPE  with  the  command 

*FX230,1

  and  enable  it  again  by 

*FX230,0

.

Your printer may also have its own printer buffer so that printing may continue for a short while 
after using ESCAPE.

Printing from assembly language

The *FX commands given above may be accessed from assembly language in the usual way, ie 
by  loading  A  with  the  command  number  and  X  with  the  number  following  the  comma,  then 
calling OSBYTE (&FFF4), eg to flush the printer input buffer (

*FX21,3

):

LDA#&15
LDX#3
JSR &FFF4

Text is printed by selecting printed output (with the assembly language equivalents of 

*FX3,0

or 

*FX3,10

)  and  then  sending  the  characters  to  be  printed,  one  at  a  time,  by  loading  the 

accumulator with the ASCII code and calling OSWRCH (&FFEE) for each character in turn. If 
output to screen and printer is selected (

*FX3,0

), the text to be printed must be preceded by 

ASCII 2 (CTRL B) and followed by ASCII 3 (CTRL C) as when using BASIC.

Summary of Contents for PLUS 1

Page 1: ......

Page 2: ......

Page 3: ...The Electron Plus 1 User Guide Part no 419100 Issue no 1 Date March 1984 ...

Page 4: ...any amendments or revisions to this manual can be obtained upon request from Acorn Computers Technical Enquiries Acorn Computers welcome comments and suggestions relating to the product and this manuaL All correspondence should be addressed to Technical Enquiries Acorn Computers Limited Fulbourn Road Cherry Hinton Cambridge CB1 4JN All maintenance and service on the product must be carried out by ...

Page 5: ...logue in socket 6 Choosing a games paddle 7 Choosing a joystick 7 Choosing other analogue peripherals 8 Using the analogue interface from BASIC 9 Using the analogue interface from assembly language 10 4 Using a printer 12 Choosing a printer 12 Connecting a printer 12 Setting printer characteristics 13 Printing from BASIC 14 The internal printer buffer 15 Printing from assembly language 15 5 Using ...

Page 6: ...ectron malfunctioning 19 Peripherals malfunctioning 19 Appendix A 20 Summary of new and changed FX commands and OSBYTE calls 20 FX3 X 20 FX5 X 20 FX6 X 20 FX16 X 20 FX17 X 20 FX21 X 21 FX140 X 21 FX163 128 X 21 FX225 X 21 FX226 X 21 FX227 X 22 FX229 X 22 FX230 X 22 From assembly language only 22 ...

Page 7: ...filing system or be paged sideways language ROMs All of these facilities are accessed using simple BASIC or machine operating system MOS commands which are compatible with BBC BASIC The different typefaces used You will notice that some letters words and phrases in this manual have been printed differently from the rest of the text This is to help you tell the difference between explanatory text w...

Page 8: ... to the Electron turned on Turn the Electron upside down with the expansion connector at the rear of the computer towards you and remove the plastic cover from the connector to expose the edge connector fingers Take the Electron Plus 1 out of its packaging and check that the threaded ends of the two large screws are not protruding through the base of the Plus 1 if they are press them down so that ...

Page 9: ...ar enough to your Electron so that the interface cable can reach Turn both the Electron and the printer off Connect the printer cable to the printer as instructed in the printer manual then connect the other end of the cable to the Plus 1 as follows The printer socket is the wide rectangular socket at the rear of the Plus 1 to the right of the analogue input socket viewed from the rear Insert the ...

Page 10: ...ctron was turned on or turn the Electron on Instructions in the use of the cartridges vary full details will be supplied with any cartridge you purchase Using tape cassettes with the Plus 1 Whenever you use LOAD SAVE CHAIN LOAD RUN or EXEC the Plus 1 printer port and analogue interface are automatically disabled for the duration of that command If you are using the BPUT BGET INPUT or PRINT command...

Page 11: ...Setting up 5 ...

Page 12: ...om other devices such as light sensitive or heat sensitive transducers as long as they are electrically compatible see Choosing other analogue peripherals below The analogue interface has a resolution of 8 bits ie 1 in 256 but generates numbers in the range 0 to 65280 for compatibility with BBC BASIC The Plus 1 can continuously measure up to four voltages allowing the use of up to four games paddl...

Page 13: ...e can therefore only provide a single dimension of information to a game such as a position in the horizontal or vertical axis of the screen The games paddle may also have a small pushbutton switch or fire button providing the computer with a digital pressed not pressed signal The games paddle should have an impedance of at least 10k ohms to match the analogue circuitry of the Plus 1 and be wired ...

Page 14: ...1 Choosing other analogue peripherals Devices other than joysticks and games paddles may be connected to the analogue interface provided that they are electrically compatible with it and are wired as described above see Connecting to the analogue in socket The peripheral may either generate a DC voltage in the correct range itself which is proportional to the measurement or may take the reference ...

Page 15: ...el number of 0 for example buttons ADVAL 0 AND 3 The value of the variable but t on s then tells you which buttons are being pressed as follows buttons 0 means no buttons are being pressed buttons 1 means that push button 0 is being pressed buttons 2 means that push button 1 is being pressed buttons 3 means both push buttons are being pressed Each analogue input is sampled in turn and converted to...

Page 16: ...es the function performed as follows X 0 on exit Y will contain the number of the last channel sampled and converted or 0 if no conversion has yet completed since the last FX16 or FX17 call X 1 to 4 on exit X and Y will contain the last value sampled and converted for the channel number specified in X X contains the least significant eight bits and Y contains the most significant eight bits The ra...

Page 17: ...ble the event using FX14 3 or the equivalent assembly language code LDA E LDX 3 JSR OSBYTE The event code passed to your routine for this event in A is 3 For further information refer to Events in chapter 29 of the Electron User Guide To disable handling of this event use FX13 3 or the equivalent assembly language code LDA D LDX 3 JSR OSBYTE ...

Page 18: ...suitable cable These are available from your dealer as Acorn part number ANG04 The connections in the cable are as follows Signal name 36 way plug pin number 26 way plug pin number Strobe 1 1 Data0 2 3 Datal 3 5 Data2 4 7 Data3 5 9 Data4 6 11 Data5 7 13 Data6 8 15 Data7 9 17 Acknowledge 10 19 Ground 19 to31 Even numbers 2 to 24 Turn the printer and Electron off and connect the printer to the print...

Page 19: ...hich may be changed as follows Output for the printer is sent to it by software known as a printer driver which handles tasks such as queueing text for printing and checking that the printer is ready for another character before sending it When you first switch on the standard printer driver is selected which sends output for printing to the ...

Page 20: ...mmediately after executing a VDU 1 command or typing CTRL A Printing from BASIC When you first switch on all output will be sent to the screen to get printed output type CTRL B or execute the command VDU 2 to send the output to the current printer driver as welL To stop sending output to the printer driver either type CTRL C outside a program or execute the command VDU 3 To alter the way that outp...

Page 21: ...have its own printer buffer so that printing may continue for a short while after using ESCAPE Printing from assembly language The FX commands given above may be accessed from assembly language in the usual way ie by loading A with the command number and X with the number following the comma then calling OSBYTE FFF4 eg to flush the printer input buffer FX21 3 LDA 15 LDX 3 JSR FFF4 Text is printed ...

Page 22: ...ain automatically taking over operation of the Electron when it is turned on or after pressing CTRL BREAK so that the Electron behaves as a machine dedicated to running that program while the cartridge is plugged in To defeat this mechanism you should press CTRL BREAK wait about one second and then press ESCAPE If you have two games applications cartridges plugged in the one at the front nearest t...

Page 23: ...BASIC language These ROMs are called paged ROMs and are switched by the Electron into the same address range 8000 to C000 as the BASIC ROM they are replacing This is a very effective way of increasing the power of your Electron system without using up more RAM memory space When you first switch on if there are no games or applications cartridges plugged in any language ROM will be selected in pref...

Page 24: ...ing the analogue interface from BASIC chapter 3 Disable all servicing of input and output via the Plus 1 using FX163 128 1 and re enable servicing with FX163 128 0 when required Problems which may not be faults Tape filing system commands aren t working you must switch to the tape filing system TAPE RETURN after using cartridges see chapter 5 Tape loading error to reduce data errors avoid using MO...

Page 25: ...cables bad seating in the sockets Try the suggestions under Peripherals malfunctioning below Return the item to your dealer with a description of the fault Peripherals malfunctioning Check the orientation and seating of the connectors If the peripheral has worked before check if it still works in that situation eg with the same software if not try cleaning and reseating the connectors If the perip...

Page 26: ... language are summarised at the end of this Appendix FX3 X Selects the device to which printed output is sent as follows FX3 0 To screen and printer FX3 10 To printer only FX3 4 To screen only FX3 6 To neither 4device FX5 X Selects the printer driver as follows FX5 0 To printer dump FX5 1 To printer port FX6 X Selects the printer ignore character specified by the ASCII code X FX16 X Selects the nu...

Page 27: ...as follows FX225 0 ignores the function keys FX225 1 the function keys will generate the character string defined by the user FX225 2 255 the function keys will generate an ASCII code based on the second parameter f1 generates a code one more than the second parameter f2 a code two more etc FX226 X Changes the effect of typing function keys in the range A to P as follows FX226 0 ignores function k...

Page 28: ... ESCAPE key as follows FX229 0 pressing ESCAPE will interrupt the BASIC program FX229 1 pressing ESCAPE will not interrupt the BASIC program but generate ASCII code 27 decimal FX230 X Enables or disables the normal action of the ESCAPE key as follows FX230 0 enables ESCAPE FX230 1 disables ESCAPE From assembly language only The following OSBYTE function is only accessible from assembly language no...

Page 29: ...Notes ...

Page 30: ......

Reviews: