#ifndef LIBRARIES_CONFIGREGS_H
#define LIBRARIES_CONFIGREGS_H
#ifndef EXEC_TYPES_H
#include "exec/types.h"
#endif !EXEC_TYPES_H
struct ExpansionRom {
UBYTE er_Type;
UBYTE er_Product;
UBYTE er_Flags;
UBYTE er_Reserved03;
UWORD er_Manufacturer;
ULONG er_SerialNumber;
UWORD er_InitDiagVec;
UBYTE er_Reserved0c;
UBYTE er_Reserved0d;
UBYTE er_Reserved0e;
UBYTE er_Reserved0f;
};
struct ExpansionControl {
UBYTE ec_Interrupt;
UBYTE ec_Reserved11;
UBYTE ec_BaseAddress;
UBYTE ec_Shutup;
UBYTE ec_Reserved14;
UBYTE ec_Reserved15;
UBYTE ec_Reserved16;
UBYTE ec_Reserved17;
UBYTE ec_Reserved18;
UBYTE ec_Reserved19;
UBYTE ec_Reserved1a;
UBYTE ec_Reserved1b;
UBYTE ec_Reserved1c;
UBYTE ec_Reserved1d;
UBYTE ec_Reserved1e;
UBYTE ec_Reserved1f;
};
#define E_SLOTSIZE 0x10000L
#define E_SLOTMASK 0xffffL
#define E_SLOTSHIFT 16L
#define E_EXPANSIONBASE 0xe80000L
#define E_EXPANSIONSIZE 0x080000L
#define E_EXPANSIONSLOTS 8L
#define E_MEMORYBASE 0x200000L
#define E_MEMORYSIZE 0x800000L
#define E_MEMORYSLOTS 128L
#define ERT_TYPEMASK 0xc0L
#define ERT_TYPEBIT 6L
#define ERT_TYPESIZE 2L
#define ERT_NEWBOARD 0xc0L
#define ERT_MEMMASK 0x07L
#define ERT_MEMBIT 0L
#define ERT_MEMSIZE 3L
#define ERTB_CHAINEDCONFIG 3L
#define ERTB_DIAGVALID 4L
#define ERTB_MEMLIST 5L
#define ERTF_CHAINEDCONFIG (1L<<3)
#define ERTF_DIAGVALID (1L<<4)
#define ERTF_MEMLIST (1L<<5)
#define ERFB_MEMSPACE 7L
#define ERFB_NOSHUTUP 6L
#define ERFF_MEMSPACE (1L<<7)
#define ERFF_NOSHUTUP (1L<<6)
#define ERT_MEMNEEDED(t) \
(((t)&ERT_MEMMASK)? 0x10000 << (((t)&ERT_MEMMASK) -1) : 0x800000 )
#define ERT_SLOTSNEEDED(t) \
(((t)&ERT_MEMMASK)? 1 << (((t)&ERT_MEMMASK)-1) : 0x80 )
#define ECIB_INTENA 1L
#define ECIB_RESET 3L
#define ECIB_INT2PEND 4L
#define ECIB_INT6PEND 5L
#define ECIB_INT7PEND 6L
#define ECIB_INTERRUPTING 7L
#define ECIF_INTENA (1L<<1)
#define ECIF_RESET (1L<<3)
#define ECIF_INT2PEND (1L<<4)
#define ECIF_INT6PEND (1L<<5)
#define ECIF_INT7PEND (1L<<6)
#define ECIF_INTERRUPTING (1L<<7)
#define EC_MEMADDR(slot) (((long)(slot)) << (E_SLOTSHIFT) )
#define EROFFSET(er) ((int)&((struct ExpansionRom *)0)->er)
#define ECOFFSET(ec) \
(sizeof(struct ExpansionRom)+((int)&((struct ExpansionControl *)0)->ec))
struct DiagArea {
UBYTE da_Config;
UBYTE da_Flags;
UWORD da_Size;
UWORD da_DiagPoint;
UWORD da_BootPoint;
UWORD da_Name;
UWORD da_Reserved01;
UWORD da_Reserved02;
};
#define DAC_BUSWIDTH 0xC0L
#define DAC_NIBBLEWIDE 0x00L
#define DAC_BYTEWIDE 0x40L
#define DAC_WORDWIDE 0x80L
#define DAC_BOOTTIME 0x30L
#define DAC_NEVER 0x00L
#define DAC_CONFIGTIME 0x10L
#define DAC_BINDTIME 0x20L
#endif !LIBRARIES_CONFIGREGS_H
