Acorn Computers Limited PLUS 1 User manual



The Electron Plus 1
User Guide
Part no 419100
Issue no 1
Date March 1984

Exposure
Like most electronic equipment, the Electron Plus 1 should not be exposed to direct sunlight or moisture
for long periods.
© Copyright Acorn Computers Limited 1984
Neither the whole or any part of the information contained in, or the product described in, this manual may
be adapted or reproduced in any material form except with the prior written approval of Acorn Computers
Limited (Acorn Computers).
The product described in this manual and products for use with it are subject to continuous development
and improvement. All information of a technical nature and particulars of the product and its use (including
the information and particulars in this manual) are given by Acorn Computers in good faith. However, it is
acknowledged that there may be errors or omissions in this manuaL A list of details of 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 Acorn Computers' authorised dealers.
Acorn Computers can accept no liability whatsoever for any loss or damage caused by service or
maintenance by unauthorised personnel. This manual is intended only to assist the reader in the use of this
product, and therefore Acorn Computers shall not be liable for any loss or damage whatsoever arising from
the use of any information or particulars in, or any error or omission in, this manual, or, any incorrect use
of the product.
First published 1984
Published by Acorn Computers Limited, Fulbourn Road, Cherry Hinton,
Cambridge CB1 4JN Typeset by Bateman Typesetters, Cambridge

Contents
1 Introduction 1
The different typefaces used 1
2 Setting up 2
Installing the Electron Plus 1 2
Using a printer 3
Using games paddles or joysticks 3
Using cartridges 4
Using tape cassettes with the Plus 1 4
Disconnecting the Plus 1 4
3 The analogue interface 6
Connecting to the 'analogue 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 cartridges 16
Games and applications: ROM file cartridges 16
Languages: paged ROM cartridges 17

6 Dealing with problems 18
Improving processing speed 18
Problems which may not be faults 18
Electron 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

1 Introduction
The Acorn Electron Plus 1 adds the following capabilities to your Acorn Electron computer
– Four 8-bit analogue to digital input channels, to allow the use of up to two joysticks or four
games paddles, or measurement of up to four analogue voltages.
– A parallel port for connecting a printer with a Centronics®compatible interface.
– Two cartridge slots for installing Acorn Electron approved games, utility, application or
language ROMs, or additional expansion devices. The ROMs may either hold files as a
ROM 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, words
which appear on the screen and certain keys on the computer keyboard.
– Ordinary text appears like this, or like this for emphasis.
– Text typed in at the computer or displayed on the screen appears
like this.
– Words like RETURN mean that you press the key marked RETURN rather than actually
type the letters RE T U R N.

2 Setting up
Installing the Electron Plus 1
Unplug your Electron computer from the mains (turn off the mains socket, remove the mains
plug and then the power cable from the side of the Electron). You may also find it convenient to
unplug any other cables (to the television or cassette drive) from your Electron, to make
installation easier.
Warning: Never install or remove the Electron Plus 1 with the power 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 the
threaded ends are flush with the base. Turn the Plus 1 upside down and locate the Electron' s
expansion connector in the mouth of the edge connector socket on the Plus 1, and push them
together firmly.

Setting up 3
Using a small coin or screwdriver, screw the two large screws in the Plus 1 into the Electron.
Do not overtighten. If the screws do not engage in the threads in the base of the Electron, try
reseating the Plus 1 on the Electron's expansion connector.
The Plus 1 should now be firmly attached to your Electron. Turn the Electron over and plug the
power supply (and any other cables you may have removed) into the Electron and turn it on.
Check that the Electron still works normally, by loading and running a small program which you
know has run successfully before. If all is not well, refer to chapter 6.
Now you have fitted the Plus 1 to the Electron and checked that the system works, you can
connect your printer, joysticks, games paddles or cartridges.
Using a printer
To connect a printer, you will need an extra mains socket (or an adapter) to power the printer
and an interface cable to connect the printer to the Plus 1. You should be able to obtain a
suitable cable from your dealer.
Put the printer on a stable, flat surface near 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 printer cable plug in this socket so
that the triangular mark on the socket housing lines up with the similar mark on the plug.
—Turn the printer and Electron on again.
You are now ready to use the printer for simple printing tasks. To turn printing on, type CTRL B
or execute VDU 2 in a program; all output displayed on the screen will then be sent to the printer
as well. To turn printing off, type CTRL C or execute VDU 3 in a program. For full details of
using a printer, see chapter 4.
Using games paddles or joysticks
Only use games paddles or joysticks which are compatible with the Plus 1 (ask your dealer or
see chapter 3). Turn the Electron off and plug the cable into the Plus 1 'analogue in' socket,
which is the smaller socket at the rear to the left of the printer socket The plug and socket are
shaped so they will only fit together

4 Setting up
one way up. Turn the Electron on again and the joysticks or games paddles are now ready for
use with suitable games or can be read from BASIC — see chapter 3 for further details.
Using cartridges
To use a cartridge produced by Acorn for the Plus 1, you must first plug it into either of the two
shuttered slots in the top of the Plus 1. Insert the cartridge with its label towards you (ie facing
the keyboard), pushing it into the slot so that the right-hand end makes contact first, then
pressing it home until you hear it click into place. The cartridges are designed so that it is very
difficult to insert them the wrong way round.
With a cartridge inserted correctly, either press BREAK (if the Electron 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# commands in a program, you should use the * F
X163,128,1 command to explicitly disable the printer port and analogue interface before using
the tape, and re-enable them afterwards using * F X163,128,0.
Disconnecting the Plus 1
If you should need to disconnect the Plus 1 for any reason, be careful to turn off the Electron
first, then reverse the sequence of actions used to attach it. Note that the Plus 1 should not be
disconnected and reconnected repeatedly, as this will cause wear of the expansion connector
contacts.

Setting up 5

3 The analogue
interface
The analogue interface is used to measure smoothly varying voltages (analogue inputs)
produced outside the computer, converting them into numbers (digital information) which the
Electron can then use like any other numerical input. This conversion is performed by a circuit
known as an 'analogue to digital converter', or ADC. The analogue inputs are connected via the '
analogue in' socket which is the left-hand socket when viewed from the rear of the Plus 1. This
socket also allows you to detect the position of two two-way switches, normally connected as
the 'fire' buttons on joysticks or games paddles.
Although the analogue interface is most often used for connecting games paddles or joysticks, it
may also be used to measure voltages from 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
paddles, two joysticks, or four separate external voltages at a time. Wherever the analogue
inputs originate, they are treated exactly the same by the analogue interface and computer.
Connecting to the 'analogue in' socket
Analogue peripherals which have been manufactured by Acorn for the Electron may simply be
plugged into the 'analogue in' socket. Before connecting other peripherals, check that they are
electrically compatible (dealt with separately for each type, below) and that the cable used is
wired correctly, ending in a 15-way D-type connector, wired as follows:

The analogue interface 7
Pin number Signal name Description
1 +5V 5 volt power for digital circuit
2 0V 0 volt power for digital circuit
3 0V 0 volt power for digital circuit
4 CH3 Analogue input 3
5 Analogue Gnd 0 volt for analogue circuit
6 0V 0 volt power for digital circuit
7 CH1 Analogue input 1
8 Analogue Gnd 0 volt for analogue circuit
9 Not connected
10 PB1 Pushbutton 1 (digital input)
11 VREF Voltage reference for analogue circuit (1.8V)
12 CH2 Analogue input 2
13 PB0 Pushbutton 0 (digital input)
14 VREF Voltage reference for analogue circuit (1.8V)
15 CH0 Analogue input 0
Choosing a games paddle
Games paddles usually consist of a small box with a single rotating knob, providing the
computer with a voltage indicating how far the knob has been rotated. A games paddle 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 as described above (see `Connecting to the 'analogue in'
socket').
Check the paddle for ease of use and comfort, ideally by connecting it to an Electron in the shop
and using it with the type of game or other program that you will want to use at home.
Choosing a joystick
Joysticks usually consist of a small box with a lever protruding from the top, which is free to
move up to approximately 30 degrees in any direction about a pivot at its base. This position of
the joystick lever is translated into two voltages (one for front/back, one for left/right), so that a
joystick provides two

8 The analogue interface
dimensions of information to the software that is using it. Joysticks will usually also have a
small pushbutton switch or 'fire button', providing the computer with a digital 'pressed/not
pressed' signaL
To make the best use of the analogue interface, you should buy a high resolution joystick with
an impedance of at least 10k ohms, wired as described above (see `Connecting to the 'analogue
in' socket').
Check the joystick for ease of use and comfort, ideally by connecting it to an Electron in the
shop and using it with the type of game or other program that you will want to use at home. You
will probably find a self- centering design more suitable for games playing, but less convenient
for general purpose use.
The model ANH01 joysticks provided by Acorn are ideally suited for use with the Electron
Plus 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 voltage
(VREF) from the interface and return a fraction of it which is proportional to the measurement (
ie may act as a potential divider).
If the peripheral uses the reference voltage from the interface:
Minimum impedance of 10k ohms
If the peripheral generates its own voltage:
DC voltage: 0 to 1.8 volts
Current drive: 1 milliamp minimum
The maximum resolution of the analogue to digital conversion is 8 bits (ie the analogue input
will be converted into one of 256 different numbers, depending on the input voltage).
If you wish to measure absolute voltages, you must first calibrate the system against a reliable
voltage reference.

The analogue interface 9
Using the analogue interface from BASIC
The four analogue voltages being read by the Electron are assigned 'channel numbers' in the
range 1 to 4: to read the voltage on a channel, use the BASIC function ADVAL (minimum
abbreviation AD., token = &96). For example
horizontal = ADVAL(1) : vertical = ADVAL(2)
The variables horizontal and vertical will now contain integers in the range 0 to 65280,
proportional to the voltages measured on channels 1 and 2, with V being read as approximately
0 and 1.8V as approximately 65280. The number returned by ADVAL increases by steps of 256
rather than by 1 (ie 0, 256, 512 . . . 65280), to allow for future expansion in the resolution of the
conversion process.
To determine whether the fire buttons on the paddles/joysticks are being pressed, use ADVAL
with a channel 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 the digital result returned by ADVAL, in
order of decreasing channel number. The conversion process takes 10mS ec (ie one hundredth
of a second) per active channel, so with all four channels operating, there will be a delay of
40mSec between changes in the readings. To reduce this delay, you should turn off channels
you are not using, with the
*FX16
command, as follows:
*FX16,0
turns all the analogue channels off
*FX16,1
turns channel 1 on and channels 2 to 4 off
*FX16,2
turns channels 1 and 2 on and channels 3 and 4 off
*FX16,3
turns channels 1 to 3 on and channel 4 off
*FX16,4
turns all four channels on

10 The analogue interface
To force a particular channel to be sampled and converted next, use *FX17, <channel>, as
follows:
2010 *FX17,3
2015 REM force sampling and conversion for channel 3
2020 REPEAT : UNTIL ADVAL(0) DIV 256 = 3 : REM wait till
finished channel 3
2030 reading = ADVAL(3):REM get reading from
channel 3
Note that the *FX17 command forces sampling and conversion for all channels from that
specified down to 1, even if they have been turned off with *FX16.
ADVAL(0) DIV 256
returns the number of the last channel to complete sampling and
conversion, or 0 if no channel has yet completed conversion since the last
*FX16
or
*FX17
command.
Using the analogue interface from assembly language
The functions of the
ADVAL
keyword in BASIC are provided by calling OSBYTE with A = &80
(128 decimal) and X = a number in the range 0 to 4, which determines 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 range and significance of this 16-bit integer is as for the value
returned by ADVAL (see 'Using the analogue interface from BASIC').
*FX commands can be performed in assembly language in the usual way, by a call to OSBYTE (
&FFF4). Thus, to set the number of analogue input channels, instead of using
*FX16
, <
number>, load A with &10 and X with the number, then call OSBYTE; to force a channel to be
sampled and converted
(*FX17
, < channel>), load A with &11 and X with the channel number,
then call OSBYTE.
Each time the sampling and conversion of an analogue signal is completed, an `event' is
generated. If you wish to detect and act on this event, you must first

The analogue interface 11
place the address of the code to handle it (and any other events you are going to enable) at
location &220 and then enable 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
ElectronUser
Guide.
To disable handling of this event, use *
FX13,3
or the equivalent assembly language
code (LDA#&D: LDX#3: JSR OSBYTE).

4 Using a printer
Choosing a printer
The Electron Plus 1 will work with a wide range of printers using a Centronics® compatible
parallel interface. If in doubt about the suitability of a particular printer, consult your dealer.
A helpful and impartial booklet on choosing printers, entitled USPE C 32a' is available free
from the Council for Educational Technology, 3 Devonshire Street, London W1N 2BA.
Connecting a printer
To connect a parallel printer to the Plus 1 you will need a 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 printer socket (the right-hand
socket when viewed from the rear of the Plus 1), being careful to insert it the right way up (with
the arrow head on the plug facing upwards). Turn the printer and Electron on and you are now
ready to start printing – see `Setting printer characteristics', below.

Using a printer 13
Setting printer characteristics
Whenever you switch the Electron on, it will return to its default printer characteristics, which
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

14 Using a printer
printer port. You may switch between using this driver and another known as the 'printer sink',
with the *FX5 command as below:
*FX5,0 selects the 'printer sink', which causes output for the printer to be ignored — this is
useful when printed output is not required or a printer is not connected.
*FX5,1 selects the standard printer driver.
The printer driver will ignore the line feed at the end of text lines and just send a carriage return
to the printer port. If your printer requires a line feed at the end of each line, you can restore it
by using *FX6,0. The *FX6 command actually sets the 'printer ignore character', ie *FX6,
<ASCII code> can be used to stop that single character being sent to the printer. If output to
both printer and screen is selected (see 'Printing from BASIC'), you can get a 'printer ignore
character' out to the printer by sending it immediately 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 output is routed, use the *FX3 command as
follows:
Output to Output to
current printer screen
*FX3,0 Y Y
*FX3,10 Y N
*FX3,4 N Y
*FX3,6 N N
With the printer only selected (after *FX3,10), all output will be sent to the printer and
CTRL B and CTRL C will have no effect
With both screen and printer selected (after switching on or using *FX3,0), a single character
can be sent to the printer but not to the screen by preceding it with CTRL A or VDU 1 (in a
program). Use this method to send the 'printer ignore character' or any codes that might have
unwanted effects if sent to the screen — it is probably simplest to use CTRL A or VDU 1
before any ASCII code in the range 0 to 31.
Table of contents
Other Acorn Computers Limited Desktop manuals
Popular Desktop manuals by other brands

DMP Electronics
DMP Electronics EBOX-335xDX3Series user guide

HP
HP Presario SR1200 - Desktop PC Technical specifications

HP
HP Compaq 8200 Elite Series Hardware reference guide

TYAN
TYAN B8026T70AV18E8HR Service engineer's manual

HP
HP 1105 Illustrated parts & service map

Lenovo
Lenovo IdeaCentre B540 user guide