To my irritation and embarrassment, I've just discovered that the ARM editions of BBCSDL return the wrong range of values from ADVAL(1) to ADVAL(3). Rather than being 0 to 65535, as they should be (and are in other versions of BBC BASIC, including the x86 editions of BBCSDL), they are -32768 to +32767. An offset that needed to be applied wasn't.
I've now fixed this and updated the relevant editions (Android, iOS, Raspberry Pi) accordingly. In the unlikely event that you have written a program that relies on the incorrect range, you will need to amend it.
Richard.