/* casio.h - casio fz1 midi include file */

struct FZ1_OpenMsg
{
	UBYTE status;
	UBYTE banks;
	UBYTE voices;
	UBYTE nblocks_lonibble;
	UBYTE nblocks_next_to_lonibble;
	UBYTE nblocks_next_to_hinibble;
	UBYTE nblocks_hinibble;
	UBYTE edit_bank;
	UBYTE edit_voice;
	UBYTE eox;
};

struct FZ1_DataMsg
{
	UBYTE data[128];
	UBYTE checksum;
	UBYTE eox;
};

struct FZ1_Message
{
	UBYTE sysex;
	UBYTE casio_id;
	short fz1_id;
	UBYTE encoded_channel;
	UBYTE command;
	union {
		struct FZ1_DataMsg datamsg;
		struct FZ1_OpenMsg openmsg;
	} body;
};

/* end of casio.h */
