Thanks artur. I'm pretty sure I tried that already. But I gave it another go. When I compile it throw up errors that M1, M2 and M3 are missing. I haven't figured out how to add those to the Field header (Field unit extends beyond region limit).
However, the OperationRegion and Field headers are different in both sets of code. Even if I got the Mx variables added to CF40, they're supposed to be BAR0.