mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
q800: add Apple Sound Chip (ASC) audio to machine
The Quadra 800 has the enhanced ASC (EASC) audio chip which supports both the legacy IRQ routing through VIA2 and also "A/UX" mode routing direct to the CPU. Co-developed-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Message-ID: <20231004083806.757242-10-mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
5243e5543e
commit
9983f6e12e
4 changed files with 36 additions and 2 deletions
|
@ -97,6 +97,11 @@ static void GLUE_set_irq(void *opaque, int irq, int level)
|
|||
irq = 6;
|
||||
break;
|
||||
|
||||
case GLUE_IRQ_IN_ASC:
|
||||
/* Route to VIA2 instead, negative edge-triggered */
|
||||
qemu_set_irq(s->irqs[GLUE_IRQ_ASC], !level);
|
||||
return;
|
||||
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
|
@ -123,6 +128,10 @@ static void GLUE_set_irq(void *opaque, int irq, int level)
|
|||
irq = 6;
|
||||
break;
|
||||
|
||||
case GLUE_IRQ_IN_ASC:
|
||||
irq = 4;
|
||||
break;
|
||||
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
|
@ -214,7 +223,7 @@ static void glue_init(Object *obj)
|
|||
qdev_init_gpio_in(dev, GLUE_set_irq, 8);
|
||||
qdev_init_gpio_in_named(dev, glue_auxmode_set_irq, "auxmode", 1);
|
||||
|
||||
qdev_init_gpio_out(dev, s->irqs, 1);
|
||||
qdev_init_gpio_out(dev, s->irqs, 2);
|
||||
|
||||
/* NMI release timer */
|
||||
s->nmi_release = timer_new_ms(QEMU_CLOCK_VIRTUAL, glue_nmi_release, s);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue