Revision 5b5ef0db hw/gus.c

b/hw/gus.c
220 220
    return dma_len;
221 221
}
222 222

  
223
static void GUS_save (QEMUFile *f, void *opaque)
224
{
225
    int32_t val;
226
    GUSState *s = opaque;
227

  
228
    val = s->freq;    qemu_put_be32s (f, &val);
229
    val = s->pos;     qemu_put_be32s (f, &val);
230
    val = s->left;    qemu_put_be32s (f, &val);
231
    val = s->shift;   qemu_put_be32s (f, &val);
232
    val = s->irqs;    qemu_put_be32s (f, &val);
233
    val = s->samples; qemu_put_be32s (f, &val);
234
    qemu_put_be64s (f, &s->last_ticks);
235
    qemu_put_buffer (f, s->himem, sizeof (s->himem));
236
}
237

  
238
static int GUS_load (QEMUFile *f, void *opaque, int version_id)
239
{
240
    int32_t val;
241
    GUSState *s = opaque;
242

  
243
    if (version_id != 1)
244
        return -EINVAL;
245

  
246
    qemu_get_be32s (f, &val); s->freq = val;
247
    qemu_get_be32s (f, &val); s->pos = val;
248
    qemu_get_be32s (f, &val); s->left = val;
249
    qemu_get_be32s (f, &val); s->shift = val;
250
    qemu_get_be32s (f, &val); s->irqs = val;
251
    qemu_get_be32s (f, &val); s->samples = val;
252
    qemu_get_be64s (f, &s->last_ticks);
253
    qemu_get_buffer (f, s->himem, sizeof (s->himem));
254
    return 0;
255
}
256

  
223 257
int GUS_init (AudioState *audio, qemu_irq *pic)
224 258
{
225 259
    GUSState *s;
......
296 330
    s->pic = pic;
297 331

  
298 332
    AUD_set_active_out (s->voice, 1);
333

  
334
    register_savevm ("gus", 0, 1, GUS_save, GUS_load, s);
299 335
    return 0;
300 336
}

Also available in: Unified diff