- 18 Jun, 2016 5 commits
-
-
Jeffrey Lee authored
Detail: s/FillCode - Buffer fill & mix fragments optimised to use SMULWB/T, PKH, QADD16 and QDADD where possible, resulting in new variants optimised for ARMv5E and ARMv6 s/Handler - Remove old, unoptimised callback buffer mixing code. Add new optimisated code for ARMv6 (SHADD16) Admin: Tested on Raspberry Pi, Iyonix Version 1.20. Tagged as 'SharedSnd-1_20'
-
Jeffrey Lee authored
Detail: s/Drivers - Macroise driver calling to reduce amount of duplicate code. Also avoid NOP if storing PC stores PC+8 and not PC+12. s/Handler - Use PSR manipulation macros for switching modes and controlling IRQs. Remove redundant IRQ disabling around atomic store of one word in doHandlerCallBack. s/Module - Use PSR manipulation macros for switching modes s/SWIS - Simplify range checking on handler and driver numbers; treat as unsigned numbers instead of signed. s/Vars - Remove local definitions of IRQ flags & SVC mode Admin: Tested on Raspberry Pi Version 1.19. Tagged as 'SharedSnd-1_19'
-
Jeffrey Lee authored
Detail: s/* - Code updated to use Entry/EXIT and Push/Pull macros where possible instead of manual STM/LDM. Also add ROUTs for safety (although most routines use named local labels rather than numbered ones). A few obvious cases also fixed to reduce number of regs pushed onto stack. A few other changes and fixes of note: s/Log - Trim empty, unused installLogDriver routine when doLog is {FALSE} s/Module - Add a veneer to swiHandler to deal with 26bit and 26/32bit neutral cases; avoids the need for individual SWI handlers to preserve NZC s/SWIs: - Remove 26/32bit neutral SWI exit code, now handled by veneers. CLRV on most SWI exits to replace the implicit CLRV from CMP pc,pc. - swiHandlerVolume and swiDriverMixer were popping the wrong regs from the stack for most error cases; now fixed via the switch to Entry/EXIT Admin: Tested on Raspberry Pi Version 1.18. Tagged as 'SharedSnd-1_18'
-
Jeffrey Lee authored
Detail: s/Gets - GET Hdr:Services s/Vars - Remove some locally defined constants which we can get from Hdr: instead s/Module - SWI base and Service_Sound subreason tokens renamed to match those used in Hdr: Admin: Binary unchanged Version 1.17. Not tagged
-
Jeffrey Lee authored
Detail: s/* - Expand all tabs, to avoid space/tab use inconsistencies within some files and to match general ROOL code formatting Admin: Binary unchanged Version 1.17. Not tagged
-
- 28 May, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: s/Module - Make sure module flags word is 0 when No32bitCode Admin: Builds, untested Version 1.17. Tagged as 'SharedSnd-1_17'
-
- 07 Apr, 2015 1 commit
-
-
Robert Sprowson authored
The comment block at the top of Hdr:Machine says we're not supposed to use the M_ booleans outside that header. So, pass in the doLog setting from the components file. Retagged as SharedSnd-1_16.
-
- 06 Jan, 2015 1 commit
-
-
Jeffrey Lee authored
Detail: s/Gets - Enable the log driver (which mixes 16 bit audio down to 8 bit log) for the machines which may need it Admin: Tested in 'All' build on emulated RO 3.11 & 3.70 SA RiscPC Version 1.16. Tagged as 'SharedSnd-1_16'
-
- 07 Sep, 2013 2 commits
-
-
Robert Sprowson authored
Errors are now looked up via MessageTrans. The driver names (registered via InstallDriver or to SoundDriver_Install) are now also looked up. Note, the SharedSound_DriverInfo SWI used to return r2 as the pointer to a pointer to the name, the documentation seems vague as to what the intent was, but it seems more likely that a pointer to the name was what was intended. The name string is buffered (because it needs looking up for internationalisation anyway). Tested briefly, inspecting the workspace for name lookups and sending a fake Service_SoundDriver service call. Two errors deliberatly triggered to check error text. Version 1.15. Tagged as 'SharedSnd-1_15'
-
Robert Sprowson authored
In SWI InstallDriver reason codes > 2 are interpreted to mean a pointer to an install driver block, but this used a signed comparison so registering blocks in the top half of memory would fail. SWIS.s: Comparison changed to process 0/1/2 and > 2 correctly SoundDrv.s & Handler.s: Eliminated ADR range function by just using ADRL Module.s: Zero length command table replaced by a 0 in the command entry of the module header Memory.s: Signed loop exit changed for unsigned one (not relevant since the workspace is < 2G) Drivers.s: SWI name moved inside doDMI switch Version 1.14. Tagged as 'SharedSnd-1_14'
-
- 04 Sep, 2013 1 commit
-
-
Robert Sprowson authored
Changed GET of filenames to use <name>.<extension> form. Built, but not tested. Version 1.13. Tagged as 'SharedSnd-1_13'
-
- 14 Apr, 2013 1 commit
-
-
Robert Sprowson authored
When the sound system is reinitialised, but SoundChannels not yet started, SharedSound books a callback 40cs in the future to retry. When used with an 8 bit sound system this occurs repeatedly (in the hope that a 16 bit linear handler will become available) but on RMKILL the callback was not cancelled - so although the module is dead a pair of zombie callbacks keep booking & trying, booking & trying. * Finalise handler now cancels the 40cs ticker event * Played safe and changed the CMP of the handler addresses (clearing V) to CLRV * Added some asserts to the service table * Removed some unnecessary NOP's after MOV lr, pc operations. Tested in IOMD ROM. Version 1.12. Tagged as 'SharedSnd-1_12'
-
- 13 May, 2012 1 commit
-
-
Ben Avison authored
Detail: A few of these were careless typos, others were already X SWIs but the symbol names didn't reflect the fact, and in other cases there was no code path to deal with error cases. All now fixed. Also fixed all the assembly time warnings (at least for 32-bit ROM builds). Admin: No longer prevents the Raspberry Pi ROM init from completing. Version 1.11. Tagged as 'SharedSnd-1_11'
-
- 04 Feb, 2012 1 commit
-
-
Robert Sprowson authored
The CUSTOMRES thing isn't present in the AAsmModule makefile. Version 1.10. Tagged as 'SharedSnd-1_10'
-
- 14 Jan, 2012 1 commit
-
-
Steve Revill authored
Version 1.09. Tagged as 'SharedSnd-1_09'
-
- 12 Dec, 2011 1 commit
-
-
Steve Revill authored
Attempted a non-existent export in the resources phase. Version 1.08. Tagged as 'SharedSnd-1_08'
-
- 06 Dec, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: Makefile - Rewritten to use assembler makefile fragments instead of C ones. The component is listed as assembler in ModuleDB, so using the C fragments was causing an object file to be linked into the ROM instead of a module. MkRam,fd7 - Made to work with new makefile s/FillCode, s/Handler, s/Memory, s/Module, s/Vars - Removed dependency on relocation code. It looks like it was only the pointers in FILLCODE_table_start that were being relocated. The fillcode table is now stored in the workspace instead of within the module. Admin: Tested in OMAP3 & Tungsten ROMs. Some of the disabled switches may still rely on the removed relocation code. Version 1.07. Tagged as 'SharedSnd-1_07'
-
- 15 Aug, 2011 1 commit
-
-
Ben Avison authored
Detail: Changelog not provided by ESP. I have made an additional change to use the value of SoundSystemNIL from Hdr:Sound to test if SoundChannels is not installed - this constant changed in RISC OS 5 for 32-bitting reasons. Admin: Builds, and briefly tested. Coincidentally, this is also our version 1.06. Version 1.06. Tagged as 'SharedSnd-1_06'
-
- 16 Jun, 2004 1 commit
-
-
Steve Revill authored
Detail: This version of SharedSound does not get us up to the stuff in the current 1.07 version which is in Select, but it does address some issues with the 1.04 version which were spotted quite some time ago. Admin: It seems to work on my Iyonix. Version 1.05. Tagged as 'SharedSnd-1_05'
-
- 31 Mar, 2003 1 commit
-
-
Robert Sprowson authored
Fix from John Ballance - R2 got corrupted in the fill with silence routine which later lead to a data abort. Version 1.04. Tagged as 'SharedSnd-1_04'
-
- 01 Oct, 2001 1 commit
-
-
Ben Avison authored
Detail: Stereo positioning fixed in log driver. Admin: Not tested. Version 1.03. Tagged as 'SharedSnd-1_03'
-
- 05 Jul, 2001 1 commit
-
-
Ben Avison authored
Detail: 1-instruction error broke sound mixing. Admin: Fix for associated fault in AMPlayer on its way. Version 1.02. Tagged as 'SharedSnd-1_02'
-
- 28 Jun, 2001 2 commits
-
-
Ben Avison authored
Detail: * Module flags word and header entry reinstated. * Many exits from SWIs had lost their 32-bit compatibility. * Unconditional TEQP made conditional, and an MSR replaced with an MRS. * A few unnecessary mode checks and alternate returns simplified because transient callbacks and 8-bit fill code have never needed to preserve processor flags. * Driver mixer calling bug fixed again. * Spelling and grammatical errors in comments and error messages re-fixed. * Other insignificant stuff. Admin: Still untested, but worth trying in a 32-bit build now. Version 1.01. Tagged as 'SharedSnd-1_01'
-
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'
-
- 16 Jan, 2001 2 commits
-
-
Ben Avison authored
-
Ben Avison authored
Detail: * 32-bit compatible * srccommitted (and gets version number from VersionNum, even though it's written in BASIC) * added install rule and MkInstall file to install module in correct place within an ARMovie installation Admin: Not tested. Version 0.49. Tagged as 'SharedSnd-0_49'
-
- 15 Jan, 2001 1 commit
-
-
Ben Avison authored
Changed things so that the detokenised BASIC source (in the c directory) has no line numbers present (LISTO 8). The detokenised source's raison d'etre is to allow easier CVS diffs, but line numbers would defeat this purpose whenever the change involves inserting more than a handful of line numbers. No other changes - this version is committed and tagged purely as a reference point for future updates. Tag used is 'bavison_SharedSnd-0_48'.
-
- 02 Nov, 1998 1 commit
-
-
Kevin Bracey authored
-
- 24 Sep, 1998 2 commits
-
-
Kevin Bracey authored
-
Kevin Bracey authored
-
- 06 Nov, 1997 5 commits
-
-
Simon Middleton authored
-
Simon Middleton authored
New version: useful changes are bug fixed in removing callback handlers (affects turning off the MIDI synth), and maintains number of channels configured when callback buffers not supplied (stops volume of RealAudio playback from fluctuating when MIDI Synth can't make its mind up whether to created buffers or not. Other changes adds CBAI and 8bit log output support (disabled) and debugging code.
-
Simon Middleton authored
-
Simon Middleton authored
-
Simon Middleton authored
-
- 25 Jun, 1997 2 commits
-
-
Richard Buckley authored
-
Richard Buckley authored
Fixed the dependancies so that the module doesn't attempt to rebuild every single time the build is performed, when the target is obviously there.
-
- 02 May, 1997 2 commits
-
-
Neil Turton authored
-
Neil Turton authored
-
- 28 Apr, 1997 1 commit
-
-
Steve Cormie authored
-