cx18_av_and_or
cx18_av_and_or(cx, 0x8d9, ~0x3f, 48 - (bass * 48 / 0xffff));
cx18_av_and_or(cx, 0x8db, ~0x3f, 48 - (treble * 48 / 0xffff));
cx18_av_and_or(cx, 0x8d5, 0x7f, 0x80);
cx18_av_and_or(cx, 0x8d5, ~0x7f, bal & 0x7f);
cx18_av_and_or(cx, 0x8d5, 0x7f, 0x00);
cx18_av_and_or(cx, 0x8d5, ~0x7f, 0x80 - bal);
cx18_av_and_or(cx, 0x8d3, ~0x2, mute ? 0x02 : 0x00);
cx18_av_and_or(cx, 0x401, ~0x60, 0);
cx18_av_and_or(cx, 0x401, ~0x60, 0x60);
cx18_av_and_or(cx, 0x401, ~0x6, input_mode);
cx18_av_and_or(cx, 0x400, ~0xf, 1);
cx18_av_and_or(cx, 0x47b, ~6, 0);
cx18_av_and_or(cx, 0x400, ~0x2f, fmt | 0x20);
cx18_av_and_or(cx, 0x403, ~0x3, pal_m);
int cx18_av_and_or(struct cx18 *cx, u16 addr, unsigned mask, u8 value);