Revision a5e8e46b hw/gus.c
b/hw/gus.c | ||
---|---|---|
46 | 46 |
#define IO_WRITE_PROTO(name) \ |
47 | 47 |
static void name (void *opaque, uint32_t nport, uint32_t val) |
48 | 48 |
|
49 |
static struct { |
|
50 |
int port; |
|
51 |
int irq; |
|
52 |
int dma; |
|
53 |
int freq; |
|
54 |
} conf = {0x240, 7, 3, 44100}; |
|
55 |
|
|
56 | 49 |
typedef struct GUSState { |
57 | 50 |
ISADevice dev; |
58 | 51 |
GUSEmuState emu; |
... | ... | |
300 | 293 |
register_ioport_read (s->port + 0x100, 8, 1, gus_readb, s); |
301 | 294 |
register_ioport_read (s->port + 0x100, 8, 2, gus_readw, s); |
302 | 295 |
|
303 |
DMA_register_channel (conf.dma, GUS_read_DMA, s);
|
|
296 |
DMA_register_channel (s->emu.gusdma, GUS_read_DMA, s);
|
|
304 | 297 |
s->emu.himemaddr = s->himem; |
305 | 298 |
s->emu.gusdatapos = s->emu.himemaddr + 1024 * 1024 + 32; |
306 | 299 |
s->emu.opaque = s; |
307 |
isa_init_irq(dev, &s->pic, s->emu.gusirq); |
|
300 |
isa_init_irq (dev, &s->pic, s->emu.gusirq);
|
|
308 | 301 |
|
309 | 302 |
AUD_set_active_out (s->voice, 1); |
310 | 303 |
|
... | ... | |
314 | 307 |
|
315 | 308 |
int GUS_init (qemu_irq *pic) |
316 | 309 |
{ |
317 |
isa_create_simple("gus"); |
|
310 |
isa_create_simple ("gus");
|
|
318 | 311 |
return 0; |
319 | 312 |
} |
320 | 313 |
|
321 | 314 |
static ISADeviceInfo gus_info = { |
322 | 315 |
.qdev.name = "gus", |
323 |
.qdev.desc = "Creative Sound Blaster 16",
|
|
316 |
.qdev.desc = "Gravis Ultrasound GF1",
|
|
324 | 317 |
.qdev.size = sizeof (GUSState), |
325 | 318 |
.init = gus_initfn, |
326 | 319 |
.qdev.props = (Property[]) { |
... | ... | |
332 | 325 |
}, |
333 | 326 |
}; |
334 | 327 |
|
335 |
static void gus_register(void) |
|
328 |
static void gus_register (void)
|
|
336 | 329 |
{ |
337 |
isa_qdev_register(&gus_info); |
|
330 |
isa_qdev_register (&gus_info);
|
|
338 | 331 |
} |
339 |
device_init(gus_register) |
|
332 |
device_init (gus_register) |
Also available in: Unified diff