Commit 3ce64503 authored by Jeffrey Lee's avatar Jeffrey Lee Committed by ROOL
Browse files

Channel 8 RMA corruption fix

Adjust the workspace definitions so that Instance0 has the same
address/offset as End_Of_Code, and so that WorkSpaceSize has the value
Instance0 + 8*4.

The previous version of the code made the false assumption that the
AmountToCopy and WorkSpaceSize definitions wouldn't add anything to the
output binary. This resulted in WorkSpaceSize being 4 bytes larger than
strictly necessary (due to AmountToCopy before it), but more
dangerously, Instance0 was placed 8 bytes after End_Of_Code, causing the
code to write off the end of the heap block if the voice is assigned to
channel 8.

Fixes https://www.riscosopen.org/tracker/tickets/505 (Percussion
variant)

Version 1.19. Tagged as 'Percussion-1_19'
parent 6c0f5bfc
;
; This file is automatically maintained by srccommit, do not edit manually.
; Last processed by srccommit version: 1.1.
;
GBLS Module_MajorVersion
GBLA Module_Version
......@@ -10,14 +9,12 @@
GBLS Module_ApplicationDate
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "1.18"
Module_Version SETA 118
Module_MajorVersion SETS "1.19"
Module_Version SETA 119
Module_MinorVersion SETS ""
Module_Date SETS "08 May 2016"
Module_ApplicationDate SETS "08-May-16"
Module_Date SETS "03 Mar 2021"
Module_ApplicationDate SETS "03-Mar-21"
Module_ComponentName SETS "Percussion"
Module_ComponentPath SETS "castle/RiscOS/Sources/HWSupport/Sound/Voices/Percussion"
Module_FullVersion SETS "1.18"
Module_HelpVersion SETS "1.18 (08 May 2016)"
Module_FullVersion SETS "1.19"
Module_HelpVersion SETS "1.19 (03 Mar 2021)"
END
/* (1.18)
/* (1.19)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 1.18
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 08 May 2016
#define Module_MajorVersion_CMHG 1.19
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 03 Mar 2021
#define Module_MajorVersion "1.18"
#define Module_Version 118
#define Module_MajorVersion "1.19"
#define Module_Version 119
#define Module_MinorVersion ""
#define Module_Date "08 May 2016"
#define Module_Date "03 Mar 2021"
#define Module_ApplicationDate "08-May-16"
#define Module_ApplicationDate "03-Mar-21"
#define Module_ComponentName "Percussion"
#define Module_ComponentPath "castle/RiscOS/Sources/HWSupport/Sound/Voices/Percussion"
#define Module_FullVersion "1.18"
#define Module_HelpVersion "1.18 (08 May 2016)"
#define Module_LibraryVersionInfo "1:18"
#define Module_FullVersion "1.19"
#define Module_HelpVersion "1.19 (03 Mar 2021)"
#define Module_LibraryVersionInfo "1:19"
......@@ -1267,15 +1267,16 @@ UpdateFill ROUT
B Fill_Wave
End_Of_Code
AmountToCopy & . - WorkSpaceImage
Instance0 * .
AmountToCopy & End_Of_Code - WorkSpaceImage
[ {TRUE}
WorkSpaceSize & . + 8*4 - WorkSpaceImage;
WorkSpaceSize & Instance0 + 8*4 - WorkSpaceImage;
|
WorkSpaceSize & . + 8*DSegSize - WorkSpaceImage;
WorkSpaceSize & Instance0 + 8*DSegSize - WorkSpaceImage;
]
Instance0 * .
GET s.MsgCode
END
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment