• Ben Avison's avatar
    Import of version 1.00 of SharedSound from WSS - this is a merge of · 8b6ec705
    Ben Avison authored
      RISC OS Ltd, ESP and Pace sources. I've added the Makefile, Mk* and
      VersionNum files.
    
    Detail (courtesy of WSS):
      * Incorporates fixes made to 0.58c to fix the callbacks on sound
        rate changes.
    
      * Incorporates RISC OS Ltd changes to response to
        TaskManager_Acknowledgements service.
    
      * Includes 8 bit Log and PowerWave drivers.
    
      * Now built with Objasm, not BASIC assembler.
    
      * SharedSound_HandlerInfo SWI fixed to conform to spec. Also
        extended to accept r0 = 0 on entry, in which case r0 = number of
        first registered handler (or 0 for none) on exit; R1-R5 corrupted.
    
        Therefore the following code enumerates handlers:
    
        REM Get first handler number.
        SYS "SharedSound_HandlerInfo",0 TO next% ; flags%
        REM While no errors, and not finished
        WHILE (next% <> 0) AND ((flags% AND 1) = 0)
         SYS"SharedSound_HandlerInfo",next% TO next%,a%,b%,c%,d%,e%
        ENDWHILE
    
      * Sends Service_Sound (&54) with reason code 6 (SharedSound Starting)
        on (callback after) initialisation.
    
      * Sends Service_Sound (&54) with reason code 7 (SharedSound Dying)
        on finalisation.
    
      * Some small optimisations
    
      * Version bumped to 1.00 (to allow RISC OS Ltd space to make changes
        to their versions).
    
      * Table of helpful fill code routines now passed to handlers in R8.
    
      * SharedSound reinitialises correctly on lower layers reinitialising.
    
      * More care taken to remove outstanding callbacks on finalise.
    
      * Dual 26/32 bit version.
    
    Admin:
      * Not tested by us.
    
      * 8-bit sound system code is known not to be ROM safe. However, it is
        currently switched out (see the doLog option in s.Gets).
    
      * This version *will not work* on a 32-bit system. There are at least two
        issues with it that I've spotted with a quick glance through the code -
        the lack of the module flags word, and an unconditional TEQP instruction.
        This version has been checked in nevertheless as a record of what WSS
        delivered to us.
    
    Version 1.00. Tagged as 'SharedSnd-1_00'
    8b6ec705
MkInstall,fd7 1.65 KB