#include "copdis.h"

struct regstruct registers[] =
{
	{"bltddat",0,0},
	{"dmaconr",0x2,0},
	{"vposr",0x4,0},
	{"vhposr",0x6,0},
	{"dskdatr",0x8,0},
	{"joy0dat",0xa,0},
	{"joy1dat",0xc,0},
	{"clxdat",0xe,0},
	{"adkconr",0x10,0},
	{"pot0dat",0x12,0},
	{"pot1dat",0x14,0},
	{"potgor",0x16,0},
	{"serdatr",0x18,0},
	{"dskbytr",0x1a,0},
	{"intenar",0x1c,0},
	{"intreqr",0x1e,0},

	{"dskpth",0x20,0},
	{"dskptl",0x22,0},
	{"dsklen",0x24,0},
	{"dskdat",0x26,0},

	{"refptr",0x28,0},
	{"vposw",0x2a,0},
	{"vhposw",0x2c,0},
	{"copcon",0x2e,0},
	{"serdat",0x30,0},
	{"serper",0x32,0},
	{"potgo",0x34,0},
	{"joytest",0x36,0},
	{"strequ",0x38,0},
	{"strvbl",0x3a,0},
	{"strhor",0x3c,0},
	{"strlong",0x3e,0},

	{"bltcon0",0x40,0},
	{"bltcon1",0x42,0},
	{"bltafwm",0x44,0},
	{"bltalwm",0x46,0},
	{"bltcpth",0x48,0},
	{"bltcptl",0x4a,0},
	{"bltbpth",0x4c,0},
	{"bltbptl",0x4e,0},
	{"bltapth",0x50,0},
	{"bltaptl",0x52,0},
	{"bltdpth",0x54,0},
	{"bltdptl",0x56,0},
	{"bltsize",0x58,0},
	{"bltcmod",0x60,0},
	{"bltbmod",0x62,0},
	{"bltamod",0x64,0},
	{"bltdmod",0x66,0},
	{"bltcdat",0x70,0},
	{"bltbdat",0x72,0},
	{"bltadat",0x74,0},

	{"dsksync",0x7e,0},

	{"cop1lch",0x80,0},
	{"cop1lcl",0x82,0},
	{"cop2lch",0x84,0},
	{"cop2lcl",0x86,0},
	{"copjmp1",0x88,0},
	{"copjmp2",0x8a,0},
	{"copins",0x8c,0},
	{"diwstrt",0x8e,0},
	{"diwstop",0x90,0},
	{"ddfstrt",0x92,0},
	{"ddfstop",0x94,0},
	{"dmacon",0x96,0},
	{"clxcon",0x98,0},
	{"intena",0x9a,0},
	{"intreq",0x9c,0},
	{"adkcon",0x9e,0},

	{"aud0lch",0xa0,0},
	{"aud0lcl",0xa2,0},
	{"aud0len",0xa4,0},
	{"aud0per",0xa6,0},
	{"aud0vol",0xa8,0},
	{"aud0dat",0xaa,0},

	{"aud1lch",0xb0,0},
	{"aud1lcl",0xb2,0},
	{"aud1len",0xb4,0},
	{"aud1per",0xb6,0},
	{"aud1vol",0xb8,0},
	{"aud1dat",0xba,0},

	{"aud2lch",0xc0,0},
	{"aud2lcl",0xc2,0},
	{"aud2len",0xc4,0},
	{"aud2per",0xc6,0},
	{"aud2vol",0xc8,0},
	{"aud2dat",0xca,0},

	{"aud3lch",0xd0,0},
	{"aud3lcl",0xd2,0},
	{"aud3len",0xd4,0},
	{"aud3per",0xd6,0},
	{"aud3vol",0xd8,0},
	{"aud3dat",0xda,0},

	{"bpl1pth",0xe0,0},
	{"bpl1ptl",0xe2,0},
	{"bpl2pth",0xe4,0},
	{"bpl2ptl",0xe6,0},
	{"bpl3pth",0xe8,0},
	{"bpl3ptl",0xea,0},
	{"bpl4pth",0xec,0},
	{"bpl4ptl",0xee,0},
	{"bpl5pth",0xf0,0},
	{"bpl5ptl",0xf2,0},
	{"bpl6pth",0xf4,0},
	{"bpl6ptl",0xf6,0},

	{"bplcon0",0x100,0},
	{"bplcon1",0x102,0},
	{"bplcon2",0x104,0},

	{"bpl1mod",0x108,0},
	{"bpl2mod",0x10a,0},

	{"bpl1dat",0x110,0},
	{"bpl2dat",0x112,0},
	{"bpl3dat",0x114,0},
	{"bpl4dat",0x116,0},
	{"bpl5dat",0x118,0},
	{"bpl6dat",0x11a,0},

	{"spr0pth",0x120,0},
	{"spr0ptl",0x122,0},
	{"spr1pth",0x124,0},
	{"spr1ptl",0x126,0},
	{"spr2pth",0x128,0},
	{"spr2ptl",0x12a,0},
	{"spr3pth",0x12c,0},
	{"spr3ptl",0x12e,0},
	{"spr4pth",0x130,0},
	{"spr4ptl",0x132,0},
	{"spr5pth",0x134,0},
	{"spr5ptl",0x136,0},
	{"spr6pth",0x138,0},
	{"spr6ptl",0x13a,0},
	{"spr7pth",0x13c,0},
	{"spr7ptl",0x13e,0},

	{"spr0pos",0x140,0},
	{"spr0ctl",0x142,0},
	{"spr0data",0x144,0},
	{"spr0datb",0x146,0},
	{"spr1pos",0x148,0},
	{"spr1ctl",0x14a,0},
	{"spr1data",0x14c,0},
	{"spr1datb",0x14e,0},
	{"spr2pos",0x150,0},
	{"spr2ctl",0x152,0},
	{"spr2data",0x154,0},
	{"spr2datb",0x156,0},
	{"spr3pos",0x158,0},
	{"spr3ctl",0x15a,0},
	{"spr3data",0x15c,0},
	{"spr3datb",0x15e,0},
	{"spr4pos",0x160,0},
	{"spr4ctl",0x162,0},
	{"spr4data",0x164,0},
	{"spr4datb",0x166,0},
	{"spr5pos",0x168,0},
	{"spr5ctl",0x16a,0},
	{"spr5data",0x16c,0},
	{"spr5datb",0x16e,0},
	{"spr6pos",0x170,0},
	{"spr6ctl",0x172,0},
	{"spr6data",0x174,0},
	{"spr6datb",0x176,0},
	{"spr7pos",0x178,0},
	{"spr7ctl",0x17a,0},
	{"spr7data",0x17c,0},
	{"spr7datb",0x17e,0},

	{"color0",0x180,COLOR},
	{"color1",0x182,COLOR},
	{"color2",0x184,COLOR},
	{"color3",0x186,COLOR},
	{"color4",0x188,COLOR},
	{"color5",0x18a,COLOR},
	{"color6",0x18c,COLOR},
	{"color7",0x18e,COLOR},
	{"color8",0x190,COLOR},
	{"color9",0x192,COLOR},
	{"color10",0x194,COLOR},
	{"color11",0x196,COLOR},
	{"color12",0x198,COLOR},
	{"color13",0x19a,COLOR},
	{"color14",0x19c,COLOR},
	{"color15",0x19e,COLOR},
	{"color16",0x1a0,COLOR},
	{"color17",0x1a2,COLOR},
	{"color18",0x1a4,COLOR},
	{"color19",0x1a6,COLOR},
	{"color20",0x1a8,COLOR},
	{"color21",0x1aa,COLOR},
	{"color22",0x1ac,COLOR},
	{"color23",0x1ae,COLOR},
	{"color24",0x1b0,COLOR},
	{"color25",0x1b2,COLOR},
	{"color26",0x1b4,COLOR},
	{"color27",0x1b6,COLOR},
	{"color28",0x1b8,COLOR},
	{"color29",0x1ba,COLOR},
	{"color30",0x1bc,COLOR},
	{"color31",0x1be,COLOR},
	{"",-1,0}
};

struct regstruct *find_register_info(reg)
int reg;
{
	struct regstruct *regp;

	for (regp = &registers[0]; regp->regid != -1; regp++)
	{
		if (regp->regid == reg)
			return(regp);
	}
	return(0);
}
