play
play[i].money -= num;
play[i].money += num;
fprintf(outf, "%d %d %d %d\n", play[i].money, play[i].loc,
play[i].num_gojf, play[i].in_jail);
free(play);
if ((play = calloc(num_play, sizeof(PLAY))) == NULL)
cur_p = play + player;
if ((name_list[i] = play[i].name = strdup(st)) == NULL)
if (sscanf(st, "%d %hd %hd %hd", &(play[i].money), &t2,
play[i].loc = t2;
play[i].num_gojf = t3;
play[i].in_jail = t4;
add_list(t2, &(play[t2].own_list), t1);
t1 += play[i].num_gojf;
op = play[pl].own_list;
play[pl].num_util = num;
play[pl].num_rr = num;
cur_p = &play[player];
if ((name_list[i] = play[i].name = strdup(buf)) == NULL)
play[i].money = 1500;
free(play[i].name);
free(play);
printf("%s (%d) rolls %d\n", play[i].name, i+1, rl=roll(2, 6));
cur_p = &play[max_pl];
if ((cur_p = play = calloc(num_play, sizeof (PLAY))) == NULL)
printf("%d", play[(int)sqp->owner].num_util);
rnt <<= play[(int)sqp->owner].num_rr - 1;
printf("%d %4d", play[(int)sqp->owner].num_rr,
25 << (play[(int)sqp->owner].num_rr - 1));
pp = &play[pl];
printsq(play[i].loc, FALSE);
printf(" %s (%d)", play[i].name, i+1);
if (cur_p == &play[i])
} else if (cur_bid > play[i].money) {
play[i].money);
printf("It goes to %s (%d) for $%d\n",play[i].name,i+1,cur_max);
play[i].money -= cur_max;
add_list(plr, &(play[plr].own_list), cur_p->loc);
play[plr].num_rr--;
play[plr].num_util--;
plp = &play[(int)sqp->owner];
pp = &play[pn];
printf("Player %s (%d) gives:\n", play[tp->trader].name,
pl_fr = &play[from->trader];
pl_to = &play[to->trader];
play[i] = play[i+1];
printf("\nThen %s WINS!!!!!\n", play[0].name);
play[0].money+prop_worth(&play[0]));
__dead void play(void);
play();
play();
void play(void);
struct audio_params *play, struct audio_params *rec)
setmode, usemode, play, rec);
rate = play->sample_rate * play->channels * play->bps * 8;
struct audio_params *play, struct audio_params *rec)
play->sample_rate = 48000;
play->encoding = AUDIO_ENCODING_SLINEAR_LE;
play->precision = 24;
play->bps = 4;
play->msb = 0;
play->channels = 2;
awacs_set_params(void *h, int setmode, int usemode, struct audio_params *play,
if (play->sample_rate != rec->sample_rate &&
rec->sample_rate = play->sample_rate;
play->sample_rate = rec->sample_rate;
p = mode == AUMODE_PLAY ? play : rec;
i2s_set_params(void *h, int setmode, int usemode, struct audio_params *play,
p = play; /* default to play */
if (play->sample_rate != rec->sample_rate &&
rec->sample_rate = play->sample_rate;
play->sample_rate = rec->sample_rate;
p = mode == AUMODE_PLAY ? play : rec;
if (i2s_set_rate(sc, play->sample_rate))
sc->play.blksz = sc->round * sc->pchan * sc->bps;
sc->play.ulen = sc->play.nblks * sc->play.blksz;
sc->play.klen = sc->play.datalen - sc->play.datalen % sc->play.blksz;
sc->rate, sc->pchan, sc->rchan, sc->round, sc->play.nblks);
if ((sc->mode & AUMODE_PLAY) && sc->play.used != sc->play.ulen) {
p->nblks = sc->play.nblks;
sc->play.nblks = p->nblks;
sc->play.data, sc->play.klen);
error = audio_buf_init(sc, &sc->play, AUMODE_PLAY);
audio_buf_done(sc, &sc->play);
struct audio_buf play, rec;
sc->play.nblks = 2;
sc->play.pos = sc->play.xrun = sc->rec.pos = sc->rec.xrun = 0;
sc->play.start = 0;
audio_fill_sil(sc, sc->play.data, sc->play.klen);
wakeup(&sc->play.blocking);
klist_invalidate(&sc->play.klist);
audio_buf_done(sc, &sc->play);
sc->play.blocking = 0;
DEVNAME(sc), sc->mode, sc->pause, sc->active, sc->play.used);
sc->play.used -= sc->play.used % bpf;
if (sc->play.used == 0) {
ptr = audio_buf_wgetblk(&sc->play, &count);
audio_buf_wcommit(&sc->play, count);
xrun = sc->play.xrun;
while (sc->play.xrun == xrun) {
DEVNAME(sc), sc->play.used, sc->play.xrun);
sc->play.blocking = 1;
error = msleep_nsec(&sc->play.blocking, &audio_lock,
if (sc->play.used == sc->play.ulen) {
ptr = audio_buf_wgetblk(&sc->play, &count);
sc->play.blocking = 1;
error = msleep_nsec(&sc->play.blocking,
audio_buf_wcommit(&sc->play, count);
ap->play_pos = sc->play.pos;
ap->play_xrun = sc->play.xrun;
klist = &sc->play.klist;
klist_remove(&sc->play.klist, kn);
return (sc->mode & AUMODE_PLAY) && (sc->play.used < sc->play.ulen);
sc->play.used = sc->play.start = 0;
sc->play.pos = sc->play.xrun = 0;
audio_fill_sil(sc, sc->play.data, sc->play.klen);
sc->play.pos += sc->play.blksz;
audio_fill_sil(sc, sc->play.data + sc->play.start,
sc->play.blksz);
audio_buf_rdiscard(&sc->play, sc->play.blksz);
if (sc->play.used < sc->play.blksz) {
sc->play.xrun += sc->play.blksz;
audio_buf_wcommit(&sc->play, sc->play.blksz);
DEVNAME(sc), sc->play.used, sc->play.start);
ptr = audio_buf_rgetblk(&sc->play, &count);
ptr, sc->play.blksz, audio_pintr, sc);
if (sc->play.used < sc->play.ulen) {
DEVNAME(sc), sc->play.blocking);
audio_buf_wakeup(&sc->play);
nblk = sc->play.klen / sc->play.blksz;
sc->play.data,
sc->play.data + sc->play.klen,
sc->play.blksz,
ptr = audio_buf_rgetblk(&sc->play, &count);
ptr, sc->play.blksz, audio_pintr, sc);
sc->play.xrun = sc->play.pos = sc->rec.xrun = sc->rec.pos = 0;
if ((sc->mode & AUMODE_PLAY) && sc->play.used != sc->play.ulen)
max = sc->play.datalen / 2 / (sc->pchan * sc->bps);
if ((sc->mode & AUMODE_PLAY) && blk_max > sc->play.datalen / 2)
blk_max = sc->play.datalen / 2;
max = sc->play.datalen / (sc->round * sc->pchan * sc->bps);
if (sc->play.nblks > max)
sc->play.nblks = max;
else if (sc->play.nblks < 2)
sc->play.nblks = 2;
sc->play.nblks = sc->ops->set_nblks(sc->arg, sc->mode,
p, sc->round, sc->play.nblks);
sc->play.nblks);
sc->rate, sc->pchan, sc->rchan, sc->round, sc->play.nblks);
struct audio_params *play, struct audio_params *rec)
rate = play->sample_rate * sc->sc_mclk_fs;
setmode, usemode, play, rec);
setmode, usemode, play, rec);
struct audio_params *play, struct audio_params *rec)
p = play;
struct audio_params *play, struct audio_params *rec)
rate = play->sample_rate * sc->sc_mclk_fs;
setmode, usemode, play, rec);
setmode, usemode, play, rec);
struct audio_params *play, struct audio_params *rec)
p = mode == AUMODE_PLAY ? play : rec;
const audio_params_t *play, const audio_params_t *rec,
struct audio_params *play, struct audio_params *rec)
if (play->sample_rate != rec->sample_rate &&
rec->sample_rate = play->sample_rate;
play->sample_rate = rec->sample_rate;
p = mode == AUMODE_PLAY ? play : rec;
rate = play->sample_rate;
struct audio_params *play, struct audio_params *rec)
play->sample_rate != rec->sample_rate &&
rec->sample_rate = play->sample_rate;
play->sample_rate = rec->sample_rate;
p = mode == AUMODE_PLAY ? play : rec;
auacer_set_params(void *v, int setmode, int usemode, struct audio_params *play,
p = mode == AUMODE_PLAY ? play : rec;
auglx_set_params(void *v, int setmode, int usemode, struct audio_params *play,
play->precision = 16;
play->channels = 2;
play->encoding = AUDIO_ENCODING_SLINEAR_LE;
play->bps = AUDIO_BPS(play->precision);
play->msb = 1;
orate = play->sample_rate;
play->sample_rate = orate;
AC97_REG_PCM_LFE_DAC_RATE, &play->sample_rate);
play->sample_rate = orate;
AC97_REG_PCM_SURR_DAC_RATE, &play->sample_rate);
play->sample_rate = orate;
AC97_REG_PCM_FRONT_DAC_RATE, &play->sample_rate);
struct audio_params *play, struct audio_params *rec)
play->sample_rate = 48000;
play->precision = 16;
play->encoding = AUDIO_ENCODING_SLINEAR_LE;
play->precision = 16;
switch(play->encoding) {
if (play->channels > 6)
play->channels = 6;
if (play->channels > 1)
play->channels &= ~1;
switch (play->channels) {
play->channels = 2;
play->channels = 2;
play->channels = 2;
play->bps = AUDIO_BPS(play->precision);
play->msb = 1;
orate = adj_rate = play->sample_rate;
play->sample_rate = adj_rate;
sc->last_prate = play->sample_rate;
AC97_REG_PCM_LFE_DAC_RATE, &play->sample_rate);
play->sample_rate = adj_rate;
AC97_REG_PCM_SURR_DAC_RATE, &play->sample_rate);
play->sample_rate = adj_rate;
AC97_REG_PCM_FRONT_DAC_RATE, &play->sample_rate);
if (play->sample_rate == adj_rate)
play->sample_rate = orate;
if (play->channels == 4)
else if (play->channels == 6)
sc->last_pchan = play->channels;
struct audio_params *play, struct audio_params *rec)
play->channels = 2;
play->precision = 16;
switch(play->encoding) {
play->bps = AUDIO_BPS(play->precision);
play->msb = 1;
temprate = play->sample_rate;
AC97_REG_PCM_LFE_DAC_RATE, &play->sample_rate);
play->sample_rate = temprate;
AC97_REG_PCM_SURR_DAC_RATE, &play->sample_rate);
play->sample_rate = temprate;
AC97_REG_PCM_FRONT_DAC_RATE, &play->sample_rate);
autri_set_params(void *addr, int setmode, int usemode, struct audio_params *play,
p = mode == AUMODE_PLAY ? play : rec;
struct audio_params *play, struct audio_params *rec)
p = play;
struct audio_params *play, struct audio_params *rec)
p = play;
if (p == play) {
cs4280_set_dac_rate(sc, play->sample_rate);
struct audio_params *play, struct audio_params *rec)
p = mode == AUMODE_PLAY ? play : rec;
struct audio_params *play, struct audio_params *rec)
p = mode == AUMODE_PLAY ? play : rec;
if (p == play) {
cs4281_set_dac_rate(sc, play->sample_rate);
struct audio_params *play, struct audio_params *rec)
if (play->sample_rate != rec->sample_rate &&
rec->sample_rate = play->sample_rate;
play->sample_rate = rec->sample_rate;
p = mode == AUMODE_PLAY ? play : rec;
play->sample_rate - 2);
struct audio_params *play, struct audio_params *rec)
p = (mode == AUMODE_PLAY) ? play : rec;
vc->play.data_offset = ESA_DAC_DATA + (data_bytes * i);
esa_set_params(void *hdl, int setmode, int usemode, struct audio_params *play,
p = play;
ch = &vc->play;
struct audio_params *p = &vc->play.mode;
vc->play.data_offset = ESA_DAC_DATA + (data_bytes * vc->index);
vc->play.data_offset + ESA_SRC3_MODE_OFFSET,
vc->play.data_offset + ESA_SRC3_WORD_LENGTH_OFFSET,
vc->play.data_offset + ESA_CDATA_FREQUENCY, freq);
vc->play.blksize = vc->rec.blksize = 4096;
return (vc->play.blksize);
if (vc->play.active == 0)
vc->play.active = 0;
ESA_CDATA_INSTANCE_READY + vc->play.data_offset, 0);
vc->play.bufsize = vc->rec.bufsize = 65536;
return (vc->play.bufsize);
if (vc->play.active)
vc->play.active = 1;
vc->play.intr = intr;
vc->play.arg = intrarg;
vc->play.pos = 0;
vc->play.count = 0;
vc->play.buf = start;
vc->play.start = bufaddr;
vc->play.mode.sample_rate > 45000 ? 0xff : 0);
if (vc->play.active) {
play_blksize = vc->play.blksize;
play_bufsize = vc->play.bufsize;
pos = esa_get_pointer(sc, &vc->play)
diff = (play_bufsize + pos - vc->play.pos)
vc->play.pos = pos;
vc->play.count += diff;
while(vc->play.count >= play_blksize) {
vc->play.count -= play_blksize;
(*vc->play.intr)(vc->play.arg);
struct esa_channel play;
struct audio_params *play, struct audio_params *rec)
p = (mode == AUMODE_PLAY) ? play : rec;
fms_set_params(void *addr, int setmode, int usemode, struct audio_params *play,
switch(play->encoding) {
if (play->precision != 16)
if (play->precision != 8)
play->bps = AUDIO_BPS(play->precision);
play->msb = 1;
for (i = 0; i < 10 && play->sample_rate > fms_rates[i].limit;
play->sample_rate = fms_rates[i].rate;
sc->sc_play_reg = (play->channels == 2 ? FM_PLAY_STEREO : 0) |
(play->precision == 16 ? FM_PLAY_16BIT : 0) |
maestro_channel_stop(&sc->play);
sc->play.mode &= ~MAESTRO_RUNNING;
sc->play.mode |= MAESTRO_RUNNING;
sc->play.wpwa = APU_USE_SYSMEM | (offset >> 8);
sc->play.intr = intr;
sc->play.intr_arg = arg;
sc->play.blocksize = blksize;
sc->play.end = offset+size;
sc->play.start = offset;
sc->play.current = sc->play.start;
if ((sc->play.mode & (MAESTRO_STEREO | MAESTRO_8BIT)) == MAESTRO_STEREO) {
sc->play.wpwa >>= 1;
sc->play.start >>= 1;
sc->play.end >>= 1;
sc->play.blocksize >>= 1;
maestro_channel_start(&sc->play);
sc->play.threshold = sc->play.start;
if (sc->play.mode & MAESTRO_RUNNING) {
sc->play.current = wp_apu_read(sc, sc->play.num, APUREG_CURPTR);
maestro_channel_stop(&sc->play);
if (sc->play.mode & MAESTRO_RUNNING)
maestro_channel_start(&sc->play);
if (sc->play.mode & MAESTRO_RUNNING) {
maestro_channel_advance_dma(&sc->play);
if (sc->play.mode & MAESTRO_STEREO)
maestro_channel_suppress_jitter(&sc->play);
struct maestro_channel play;
sc->play.mode = MAESTRO_PLAY;
sc->play.sc = sc;
sc->play.num = 0;
if (sc->play.mode & MAESTRO_RUNNING)
freq = maestro_calc_timer_freq(&sc->play);
struct audio_params *play, struct audio_params *rec)
if (sc->play.mode & MAESTRO_RUNNING)
if (play->sample_rate < 4000)
play->sample_rate = 4000;
else if (play->sample_rate > 48000)
play->sample_rate = 48000;
if (play->channels > 2)
play->channels = 2;
sc->play.mode = MAESTRO_PLAY;
if (play->channels == 2)
sc->play.mode |= MAESTRO_STEREO;
if (play->precision == 8) {
sc->play.mode |= MAESTRO_8BIT;
if (play->encoding == AUDIO_ENCODING_ULINEAR_LE ||
play->encoding == AUDIO_ENCODING_ULINEAR_BE)
sc->play.mode |= MAESTRO_UNSIGNED;
else if (play->encoding != AUDIO_ENCODING_SLINEAR_LE)
play->bps = AUDIO_BPS(play->precision);
play->msb = 1;
maestro_set_speed(&sc->play, &play->sample_rate);
sc->play.mode = MAESTRO_PLAY;
struct audio_params *play, struct audio_params *rec)
p = mode == AUMODE_PLAY ? play : rec;
struct audio_params *play, struct audio_params *rec)
p = mode == AUMODE_PLAY ? play : rec;
struct audio_params *play, struct audio_params *rec)
play->sample_rate = 0;
play->encoding = AUDIO_ENCODING_NONE;
int play(char *arg);
return play(arg);