From 9983f6e12e11c6519c9626f4c63df53edefab5f2 Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Wed, 4 Oct 2023 09:37:55 +0100 Subject: 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 Signed-off-by: Mark Cave-Ayland Message-ID: <20231004083806.757242-10-mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier --- include/hw/m68k/q800-glue.h | 4 +++- include/hw/m68k/q800.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'include/hw') diff --git a/include/hw/m68k/q800-glue.h b/include/hw/m68k/q800-glue.h index a35efc1..ceb916d 100644 --- a/include/hw/m68k/q800-glue.h +++ b/include/hw/m68k/q800-glue.h @@ -35,7 +35,7 @@ struct GLUEState { M68kCPU *cpu; uint8_t ipr; uint8_t auxmode; - qemu_irq irqs[1]; + qemu_irq irqs[2]; QEMUTimer *nmi_release; }; @@ -44,7 +44,9 @@ struct GLUEState { #define GLUE_IRQ_IN_SONIC 2 #define GLUE_IRQ_IN_ESCC 3 #define GLUE_IRQ_IN_NMI 4 +#define GLUE_IRQ_IN_ASC 5 #define GLUE_IRQ_NUBUS_9 0 +#define GLUE_IRQ_ASC 1 #endif diff --git a/include/hw/m68k/q800.h b/include/hw/m68k/q800.h index 04e4e0b..790cf43 100644 --- a/include/hw/m68k/q800.h +++ b/include/hw/m68k/q800.h @@ -38,6 +38,7 @@ #include "hw/display/macfb.h" #include "hw/misc/djmemc.h" #include "hw/misc/iosb.h" +#include "hw/audio/asc.h" /* * The main Q800 machine @@ -60,6 +61,7 @@ struct Q800MachineState { MacfbNubusState macfb; DJMEMCState djmemc; IOSBState iosb; + ASCState asc; MemoryRegion ramio; MemoryRegion macio; MemoryRegion macio_alias; -- cgit v1.1