emuxki_chan_write
emuxki_chan_write(&voice->stream->card->config, 0, buffaddr_reg, voice->buffer->phy_base);
emuxki_chan_write(&voice->stream->card->config, 0, buffsize_reg, EMU_RECBS_BUFSIZE_NONE);
emuxki_chan_write(&voice->stream->card->config, 0, buffsize_reg, EMU_RECBS_BUFSIZE_4096);
emuxki_chan_write(&voice->stream->card->config, 0, EMU_ADCCR, adccr_value);
emuxki_chan_write(&voice->stream->card->config, 0, EMU_A_FXWC1,
emuxki_chan_write(&voice->stream->card->config, 0, EMU_A_FXWC2,
emuxki_chan_write(&voice->stream->card->config, 0, EMU_FXWC,
emuxki_chan_write(&voice->stream->card->config, 0, EMU_ADCCR, 0);
emuxki_chan_write(&voice->stream->card->config, 0, EMU_A_FXWC1, 0);
emuxki_chan_write(&voice->stream->card->config, 0, EMU_A_FXWC2, 0);
emuxki_chan_write(&voice->stream->card->config, 0, EMU_FXWC, 0);
emuxki_chan_write(&card->config, 0, EMU_AC97SLOT, EMU_AC97SLOT_CENTER | EMU_AC97SLOT_LFE);
emuxki_chan_write(&card->config, 0, EMU_TANKMEMDATAREGBASE + pc, 0);
emuxki_chan_write(&card->config, 0, EMU_TANKMEMADDRREGBASE + pc, 0);
emuxki_chan_write(&card->config, 0, EMU_A_DBG, 0); /* Is it really necessary ? */
emuxki_chan_write(&card->config, 0, EMU_DBG, 0); /* Is it really necessary ? */
emuxki_chan_write(&card->config, 0, EMU_CLIEL, 0);
emuxki_chan_write(&card->config, 0, EMU_CLIEH, 0);
emuxki_chan_write(&card->config, 0, EMU_SOLEL, 0);
emuxki_chan_write(&card->config, 0, EMU_SOLEH, 0);
emuxki_chan_write(&card->config, 0, EMU_MICBS, EMU_RECBS_BUFSIZE_NONE);
emuxki_chan_write(&card->config, 0, EMU_MICBA, 0);
emuxki_chan_write(&card->config, 0, EMU_FXBS, EMU_RECBS_BUFSIZE_NONE);
emuxki_chan_write(&card->config, 0, EMU_FXBA, 0);
emuxki_chan_write(&card->config, 0, EMU_ADCBS, EMU_RECBS_BUFSIZE_NONE);
emuxki_chan_write(&card->config, 0, EMU_ADCBA, 0);
emuxki_chan_write(&card->config, 0, EMU_SPBYPASS, EMU_SPBYPASS_24_BITS);
emuxki_chan_write(&card->config, 0, EMU_AC97SLOT, EMU_AC97SLOT_CENTER | EMU_AC97SLOT_LFE);
emuxki_chan_write(&card->config, i, EMU_CHAN_DCYSUSV, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_IP, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_VTFT, 0xffff);
emuxki_chan_write(&card->config, i, EMU_CHAN_CVCF, 0xffff);
emuxki_chan_write(&card->config, i, EMU_CHAN_PTRX, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_CPF, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_CCR, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_PSST, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_DSL, 0x10); /* Why 16 ? */
emuxki_chan_write(&card->config, i, EMU_CHAN_CCCA, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_Z1, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_Z2, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_FXRT, 0x32100000);
emuxki_chan_write(&card->config, i, EMU_CHAN_ATKHLDM, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_DCYSUSM, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_IFATN, 0xffff);
emuxki_chan_write(&card->config, i, EMU_CHAN_PEFE, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_FMMOD, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_TREMFRQ, 24);
emuxki_chan_write(&card->config, i, EMU_CHAN_FM2FRQ2, 24);
emuxki_chan_write(&card->config, i, EMU_CHAN_TEMPENV, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_LFOVAL2, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_LFOVAL1, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_ATKHLDV, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_ENVVOL, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_ENVVAL, 0);
emuxki_chan_write(&card->config, 0, EMU_SPCS0, spcs);
emuxki_chan_write(&card->config, 0, EMU_SPCS1, spcs);
emuxki_chan_write(&card->config, 0, EMU_SPCS2, spcs);
emuxki_chan_write(&card->config, 0, EMU_A2_SPDIF_SAMPLERATE, EMU_A2_SPDIF_UNKNOWN);
emuxki_chan_write(&card->config, 0, EMU_PTB, (uintptr_t)card->ptb_phy_base);
emuxki_chan_write(&card->config, 0, EMU_TCBS, 0); /* This means 16K TCB */
emuxki_chan_write(&card->config, 0, EMU_TCB, 0); /* No TCB use for now */
emuxki_chan_write(&card->config, i, EMU_CHAN_MAPA, silentpage);
emuxki_chan_write(&card->config, i, EMU_CHAN_MAPB, silentpage);
emuxki_chan_write(&card->config, 0, EMU_CLIEL, 0);
emuxki_chan_write(&card->config, 0, EMU_CLIEH, 0);
emuxki_chan_write(&card->config, 0, EMU_SOLEL, 0);
emuxki_chan_write(&card->config, 0, EMU_SOLEH, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_DCYSUSV, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_VTFT, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_CVCF, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_PTRX, 0);
emuxki_chan_write(&card->config, i, EMU_CHAN_CPF, 0);
emuxki_chan_write(&card->config, 0, EMU_MICBS, EMU_RECBS_BUFSIZE_NONE);
emuxki_chan_write(&card->config, 0, EMU_MICBA, 0);
emuxki_chan_write(&card->config, 0, EMU_FXBS, EMU_RECBS_BUFSIZE_NONE);
emuxki_chan_write(&card->config, 0, EMU_FXBA, 0);
emuxki_chan_write(&card->config, 0, EMU_A_FXWC1, 0);
emuxki_chan_write(&card->config, 0, EMU_A_FXWC2, 0);
emuxki_chan_write(&card->config, 0, EMU_FXWC, 0);
emuxki_chan_write(&card->config, 0, EMU_ADCBS, EMU_RECBS_BUFSIZE_NONE);
emuxki_chan_write(&card->config, 0, EMU_ADCBA, 0);
emuxki_chan_write(&card->config, 0, EMU_TCB, 0); /* 16K again */
emuxki_chan_write(&card->config, 0, EMU_TCBS, 0);
emuxki_chan_write(&card->config, 0, EMU_DBG, 0x8000); /* necessary ? */
emuxki_chan_write(&card->config, chano, 0x4c, 0);
emuxki_chan_write(&card->config, chano, 0x4d, 0);
emuxki_chan_write(&card->config, chano, 0x4e, 0);
emuxki_chan_write(&card->config, chano, 0x4f, 0);
emuxki_chan_write(&card->config, chano, EMU_A_CHAN_FXRT1,
emuxki_chan_write(&card->config, chano, EMU_A_CHAN_FXRT2,
emuxki_chan_write(&card->config, chano, EMU_A_CHAN_SENDAMOUNTS,
emuxki_chan_write(&card->config, chano, EMU_CHAN_FXRT,
emuxki_chan_write(&card->config, chano, 0x10000000 | EMU_CHAN_PTRX,
emuxki_chan_write(&card->config, chano, EMU_CHAN_DSL,
emuxki_chan_write(&card->config, chano, EMU_CHAN_PSST,
emuxki_chan_write(&card->config, chano, EMU_CHAN_CPF_STEREO, voice->stereo);
emuxki_chan_write(&card->config, chano, EMU_CHAN_CCCA,
emuxki_chan_write(&card->config, chano, EMU_CHAN_Z1, 0);
emuxki_chan_write(&card->config, chano, EMU_CHAN_Z2, 0);
emuxki_chan_write(&card->config, chano, EMU_CHAN_MAPA, mapval);
emuxki_chan_write(&card->config, chano, EMU_CHAN_MAPB, mapval);
emuxki_chan_write(&card->config, chano, EMU_CHAN_CVCF_CURRFILTER,
emuxki_chan_write(&card->config, chano, EMU_CHAN_VTFT_FILTERTARGET,
emuxki_chan_write(&card->config, chano, EMU_CHAN_ATKHLDM,
emuxki_chan_write(&card->config, chano, EMU_CHAN_DCYSUSM,
emuxki_chan_write(&card->config, chano, EMU_CHAN_LFOVAL1,
emuxki_chan_write(&card->config, chano, EMU_CHAN_LFOVAL2,
emuxki_chan_write(&card->config, chano, EMU_CHAN_FMMOD,
emuxki_chan_write(&card->config, chano, EMU_CHAN_TREMFRQ,
emuxki_chan_write(&card->config, chano, EMU_CHAN_FM2FRQ2,
emuxki_chan_write(&card->config, chano, EMU_CHAN_ENVVAL,
emuxki_chan_write(&card->config, chano, EMU_CHAN_ATKHLDV,
emuxki_chan_write(&card->config, chano, EMU_CHAN_ENVVOL,
emuxki_chan_write(&card->config, chano, EMU_CHAN_PEFE,
emuxki_chan_write(&card->config, chano,
emuxki_chan_write(&card->config, chano, EMU_CHAN_CCR_CACHEINVALIDSIZE, 0);
emuxki_chan_write(&card->config, chano, EMU_CHAN_CCR_READADDRESS, 64);
emuxki_chan_write(&card->config, chano, EMU_CHAN_CCR_CACHEINVALIDSIZE,
emuxki_chan_write(&card->config, chano, EMU_CHAN_IFATN,
emuxki_chan_write(&card->config, chano, EMU_CHAN_VTFT_VOLUMETARGET,
emuxki_chan_write(&card->config, chano, EMU_CHAN_CVCF_CURRVOL,
emuxki_chan_write(&card->config, 0, EMU_MKSUBREG(1, chano,
emuxki_chan_write(&card->config, 0, EMU_MKSUBREG(1, chano,
emuxki_chan_write(&card->config, chano, EMU_CHAN_DCYSUSV,
emuxki_chan_write(&card->config, chano, EMU_CHAN_PTRX_PITCHTARGET,
emuxki_chan_write(&card->config, chano, EMU_CHAN_CPF_PITCH,
emuxki_chan_write(&card->config, chano, EMU_CHAN_IP, chan->pitch.intial);
emuxki_chan_write(&card->config, chano, EMU_CHAN_PTRX_PITCHTARGET, 0);
emuxki_chan_write(&card->config, chano, EMU_CHAN_CPF_PITCH, 0);
emuxki_chan_write(&card->config, chano, EMU_CHAN_IFATN_ATTENUATION, 0xff);
emuxki_chan_write(&card->config, chano, EMU_CHAN_VTFT_VOLUMETARGET, 0);
emuxki_chan_write(&card->config, chano, EMU_CHAN_CVCF_CURRVOL, 0);
emuxki_chan_write(&card->config, chano, EMU_CHAN_IP, 0);
emuxki_chan_write(&voice->stream->card->config, 0, buffaddr_reg, 0);
emuxki_chan_write(&voice->stream->card->config, 0, buffsize_reg,
emuxki_chan_write(config, 0, (IS_AUDIGY(config) ? EMU_A_MICROCODEBASE :
emuxki_chan_write(config, 0, IS_AUDIGY(config) ? EMU_A_DSP_GPR(pc) :
void emuxki_chan_write(device_config *config, uint16 chano, uint32 reg, uint32 data);