ess_write
static int ess_write(struct ess_info *sc, u_char reg, int val);
ess_write(sc, 0xb8, ess_read(sc, 0xb8) & ~0x01);
ess_write(sc, 0xb8, ess_read(sc, 0xb8) & ~0x01);
ess_write(sc, 0xa4, len & 0x00ff);
ess_write(sc, 0xa5, (len & 0xff00) >> 8);
ess_write(sc, 0xb8, 0x04 | (play? 0x00 : 0x0a));
ess_write(sc, 0xa8, (ess_read(sc, 0xa8) & ~0x03) | (stereo? 0x01 : 0x02));
ess_write(sc, 0xb9, 0x02);
ess_write(sc, 0xa1, spdval);
ess_write(sc, 0xa2, ess_calcfilter(spd));
ess_write(sc, 0xb7, 0x91 | (unsign? 0x00 : 0x20) |
ess_write(sc, 0xb1, (ess_read(sc, 0xb1) & 0x0f) | 0x50);
ess_write(sc, 0xb2, (ess_read(sc, 0xb2) & 0x0f) | 0x50);
ess_write(sc, 0xb8, ess_read(sc, 0xb8) | 0x01);
ess_write(sc, 0xb8, ess_read(sc, 0xb8) & ~0x04);