Revision 42c1a22d

b/hw/sb16.c
1341 1341
    }
1342 1342
};
1343 1343

  
1344
static const MemoryRegionPortio sb16_ioport_list[] = {
1345
    {  4, 1, 1, .write = mixer_write_indexb },
1346
    {  4, 1, 2, .write = mixer_write_indexw },
1347
    {  5, 1, 1, .read = mixer_read, .write = mixer_write_datab },
1348
    {  6, 1, 1, .read = dsp_read, .write = dsp_write },
1349
    { 10, 1, 1, .read = dsp_read },
1350
    { 12, 1, 1, .write = dsp_write },
1351
    { 12, 4, 1, .read = dsp_read },
1352
    PORTIO_END_OF_LIST(),
1353
};
1354

  
1355

  
1344 1356
static int sb16_initfn (ISADevice *dev)
1345 1357
{
1346
    static const uint8_t dsp_write_ports[] = {0x6, 0xc};
1347
    static const uint8_t dsp_read_ports[] = {0x6, 0xa, 0xc, 0xd, 0xe, 0xf};
1348 1358
    SB16State *s;
1349
    int i;
1350 1359

  
1351 1360
    s = DO_UPCAST (SB16State, dev, dev);
1352 1361

  
......
1366 1375
        dolog ("warning: Could not create auxiliary timer\n");
1367 1376
    }
1368 1377

  
1369
    for (i = 0; i < ARRAY_SIZE (dsp_write_ports); i++) {
1370
        register_ioport_write (s->port + dsp_write_ports[i], 1, 1, dsp_write, s);
1371
        isa_init_ioport (dev, s->port + dsp_write_ports[i]);
1372
    }
1373

  
1374
    for (i = 0; i < ARRAY_SIZE (dsp_read_ports); i++) {
1375
        register_ioport_read (s->port + dsp_read_ports[i], 1, 1, dsp_read, s);
1376
        isa_init_ioport (dev, s->port + dsp_read_ports[i]);
1377
    }
1378

  
1379
    register_ioport_write (s->port + 0x4, 1, 1, mixer_write_indexb, s);
1380
    register_ioport_write (s->port + 0x4, 1, 2, mixer_write_indexw, s);
1381
    isa_init_ioport (dev, s->port + 0x4);
1382
    register_ioport_read (s->port + 0x5, 1, 1, mixer_read, s);
1383
    register_ioport_write (s->port + 0x5, 1, 1, mixer_write_datab, s);
1384
    isa_init_ioport (dev, s->port + 0x5);
1378
    isa_register_portio_list (dev, s->port, sb16_ioport_list, s, "sb16");
1385 1379

  
1386 1380
    DMA_register_channel (s->hdma, SB_read_DMA, s);
1387 1381
    DMA_register_channel (s->dma, SB_read_DMA, s);

Also available in: Unified diff