I've no idea why AO starts at channel 0x2F or so and my code at zero. It's just my guess it has to do with AICA, since ARM core is the same and we use exactly the same memory image. Feel free to look for the cause, I've given up.
Unfortunately I don't have "Samba de Amigo", so I won't help you with that. I'd love to probe that unique controller though - you'd be suprised to what lengths some games go to ensure you are using original SEGA issue stuff...