-
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