2013-11-06 06:11:27 +00:00
|
|
|
/*
|
2015-10-22 05:13:26 +00:00
|
|
|
* Apple // emulator for *ix
|
2013-11-06 06:11:27 +00:00
|
|
|
*
|
|
|
|
* This software package is subject to the GNU General Public License
|
2015-10-22 05:13:26 +00:00
|
|
|
* version 3 or later (your choice) as published by the Free Software
|
2013-11-06 06:11:27 +00:00
|
|
|
* Foundation.
|
|
|
|
*
|
2015-10-22 05:13:26 +00:00
|
|
|
* Copyright 2013-2015 Aaron Culliney
|
2013-11-06 06:11:27 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _PERIPHERALS_H_
|
|
|
|
#define _PERIPHERALS_H_
|
|
|
|
|
2014-01-23 04:42:34 +00:00
|
|
|
#include "common.h"
|
2013-11-06 06:11:27 +00:00
|
|
|
|
|
|
|
typedef enum eIRQSRC {
|
|
|
|
IS_6522=0x08, // NOTE : matches IRQ... defines in cpu.h
|
|
|
|
IS_SPEECH=0x10,
|
|
|
|
IS_SSC=0x20,
|
|
|
|
IS_MOUSE=0x40
|
|
|
|
} eIRQSRC;
|
|
|
|
|
|
|
|
typedef enum SS_CARDTYPE
|
|
|
|
{
|
|
|
|
CT_Empty = 0,
|
|
|
|
CT_Disk2, // Apple Disk][
|
|
|
|
CT_SSC, // Apple Super Serial Card
|
|
|
|
CT_MockingboardC, // Soundcard
|
|
|
|
CT_GenericPrinter,
|
|
|
|
CT_GenericHDD, // Hard disk
|
|
|
|
CT_GenericClock,
|
|
|
|
CT_MouseInterface,
|
|
|
|
CT_Z80,
|
|
|
|
CT_Phasor, // Soundcard
|
|
|
|
CT_Echo, // Soundcard
|
|
|
|
CT_SAM, // Soundcard: Software Automated Mouth
|
|
|
|
} SS_CARDTYPE;
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
2015-06-07 18:47:57 +00:00
|
|
|
unsigned long dwLength; // Byte length of this unit struct
|
|
|
|
unsigned long dwVersion;
|
2013-11-06 06:11:27 +00:00
|
|
|
} SS_UNIT_HDR;
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
SS_UNIT_HDR UnitHdr;
|
2015-06-07 18:47:57 +00:00
|
|
|
unsigned long dwType; // SS_CARDTYPE
|
|
|
|
unsigned long dwSlot; // [1..7]
|
2013-11-06 06:11:27 +00:00
|
|
|
} SS_CARD_HDR;
|
|
|
|
|
|
|
|
void CpuIrqAssert(eIRQSRC irq_source);
|
|
|
|
void CpuIrqDeassert(eIRQSRC irq_source);
|
|
|
|
|
|
|
|
#endif
|