• Jeffrey Lee's avatar
    Channel 8 RMA corruption fix · 3ce64503
    Jeffrey Lee authored
    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
    Version 1.19. Tagged as 'Percussion-1_19'
Percussion 40.4 KB