
#ifndef BFBPLAY_BASE_H
#define BFBPLAY_BASE_H

#ifndef	EXEC_TYPES_H
#include "exec/types.h"
#endif

#ifndef	EXEC_LIBRARIES_H
#include "exec/libraries.h"
#endif

struct	BFBPlayBase {
	UBYTE	bb_Flags;
	UBYTE	bb_Pad;
	ULONG	bb_SysBase;
	ULONG	bb_DosBase;
	ULONG	bb_SegList;

//	** Slave replayer libraries

	ULONG	bb_Slave1;	// The Player v6.0a
	ULONG	bb_Slave2;	// The Player v6.1a
	ULONG	bb_Slave3;	// ProTracker
	ULONG	bb_Slave4;	// MED / OctaMED
	ULONG	bb_Slave5;	// Quadra Composer
	ULONG	bb_Slave6;	// DigiBooster
	ULONG	bb_Slave7;	// GMOD
	ULONG	bb_Slave8;	// Whittaker
	ULONG	bb_Slave9;	// PSID
	ULONG	bb_Slave10;	// Oktalyzer
	ULONG	bb_Slave11;	// THX sound system
	ULONG	bb_Slave12;	// Hippel-COSO
	ULONG	bb_Slave13;	// BMOD
	ULONG	bb_Slave14;	
	ULONG	bb_Slave15;	
	ULONG	bb_Slave16;	// lib bases from 14 to 23 are not currently used for
	ULONG	bb_Slave17; // anything. They are here for the possible future
	ULONG	bb_Slave18; // expansion of sublibs.
	ULONG	bb_Slave19;
	ULONG	bb_Slave20;
	ULONG	bb_Slave21;
	ULONG	bb_Slave22;
	ULONG	bb_Slave23;

//	** Private fields. Do NOT read/write

	LONG	bb_audioflag;
	LONG	bb_messageport;
	LONG	bb_iostructure;
	LONG	bb_libinuse;
	WORD	bb_private01;

	BYTE	bb_timerhi;
	BYTE	bb_timerlo;
	APTR	bb_ciabasea;
	APTR	bb_ciabaseb;
	LONG	bb_ciaddr;
	LONG	bb_ciabase;
	BYTE	bb_whichtimer;
	BYTE	bb_align01;
};

#endif  // BFBPLAY_BASE_H

