/*
 *   types.h
 *
 *   This file is part of Emu48
 *
 *   Copyright (C) 1995 Sebastien Carlier
 *
 */

#define CHIPSET Chipset_t
typedef struct
{
	WORD	wPosX;
	WORD	wPosY;
	BYTE	type;

	DWORD	Port0Size;
	DWORD	Port1Size;
	DWORD	Port2Size;
	LPBYTE  Port0;
	LPBYTE  Port1;
	LPBYTE  Port2;

	DWORD   pc;
	DWORD	d0;
	DWORD	d1;
	DWORD	rstkp;
	DWORD	rstk[8];
	BYTE    A[16];
	BYTE    B[16];
	BYTE    C[16];
	BYTE    D[16];
	BYTE    R0[16];
	BYTE    R1[16];
	BYTE    R2[16];
	BYTE    R3[16];
	BYTE    R4[16];
	BYTE    ST[4];
	BYTE    HST;
	BYTE    P;
	WORD    out;
	WORD	in;
	BOOL	SoftInt;
	BOOL	Shutdn;
	BOOL    mode_dec;
	BOOL	inte;
	BOOL	intk;
	BOOL	intd;
	BOOL	carry;

	WORD    crc;
	UINT    uUnused1;
	UINT    Port2_Size;
	BOOL    Port1_Writeable;
	BOOL    Port2_Writeable;
	UINT    Port2_Bank;
	UINT    Port2_NBanks;
	BYTE    cards_status;
	BYTE    IORam[64];
	UINT    IOBase;
	BOOL    IOCfig;
	BYTE    P0Base, BSBase, P1Base, P2Base;
	BYTE    P0Size, BSSize, P1Size, P2Size;
	BYTE    P0End,  BSEnd,  P1End,  P2End;
	BOOL    P0Cfig, BSCfig, P1Cfig, P2Cfig;
	BOOL    P0Cfg2, BSCfg2, P1Cfg2, P2Cfg2;

	BYTE    t1;
	DWORD   t2;
	DWORD	t2_ticks;

	BYTE    Keyboard_Row[9];
	WORD    IR15X;
	UINT    Keyboard_State;

	signed short loffset;
	signed int   width;
	UINT    boffset;
	UINT    lcounter;
	UINT    sync;
	BYTE    contrast;
	BOOL    dispon;
	DWORD   start1;
	DWORD   start12;
	DWORD   end1;
	DWORD   start2, end2;
} Chipset_t;
