> Services

Title; Serial device service calls
Author; David De Vorchik
History;

        14-Apr-91 DDV Created

The serial support and serial device module have an extra layer of communication within the RISC OS system. When each modyle is installed a service call is issued:

Service_SerialDevice

in: r1 = reason code

        r2  = source;   =0 from device driver
                       <>0 from support module

out: if r1 = Service_Servied

                r0  = handle of the serial device module

To speed up communication with the serial device driver the support module issues this service call to find out the device handle of the serial module, this way a direct call can be made via DeviceFS_CallDevice rather than it having too look up the device name (therefore saving speed).

                      r2 is used to indicate the source as each module will
issue the service call when it is installed. On service reset the support module will reset its copy of the handle and then issue the call asking for a new copy of the handle.

If the service call is claimed then it is assumed that r0 is setup to contain the copy of the handle.