cog/Frameworks/GME/vgmplay/chips/es5506.h

66 lines
2.3 KiB
C

/**********************************************************************************************
*
* Ensoniq ES5505/6 driver
* by Aaron Giles
*
**********************************************************************************************/
#pragma once
#ifndef __ES5506_H__
#define __ES5506_H__
//#include "devlegcy.h"
/*typedef struct _es5505_interface es5505_interface;
struct _es5505_interface
{
const char * region0; // memory region where the sample ROM lives
const char * region1; // memory region where the sample ROM lives
void (*irq_callback)(device_t *device, int state); // irq callback
UINT16 (*read_port)(device_t *device); // input port read
};*
READ16_DEVICE_HANDLER( es5505_r );
WRITE16_DEVICE_HANDLER( es5505_w );
void es5505_voice_bank_w(device_t *device, int voice, int bank);
void es5505_set_channel_volume(device_t *device, int channel, int volume);
//DECLARE_LEGACY_SOUND_DEVICE(ES5505, es5505);
typedef struct _es5506_interface es5506_interface;
struct _es5506_interface
{
const char * region0; // memory region where the sample ROM lives
const char * region1; // memory region where the sample ROM lives
const char * region2; // memory region where the sample ROM lives
const char * region3; // memory region where the sample ROM lives
void (*irq_callback)(device_t *device, int state); // irq callback
UINT16 (*read_port)(device_t *device); // input port read
};*/
//READ8_DEVICE_HANDLER( es5506_r );
//WRITE8_DEVICE_HANDLER( es5506_w );
UINT8 es550x_r(void *chip, offs_t offset);
void es550x_w(void *chip, offs_t offset, UINT8 data);
void es550x_w16(void *chip, offs_t offset, UINT16 data);
void es5506_update(void *chip, stream_sample_t **outputs, int samples);
int device_start_es5506(void **chip, int clock, int channels);
void device_stop_es5506(void *chip);
void device_reset_es5506(void *chip);
//void es5506_set_base(running_device *device, UINT8 *wavemem);
void es5506_write_rom(void *chip, offs_t ROMSize, offs_t DataStart, offs_t DataLength,
const UINT8* ROMData);
void es5506_set_mute_mask(void *chip, UINT32 MuteMask);
void es5506_set_srchg_cb(void *chip, SRATE_CALLBACK CallbackFunc, void* DataPtr);
//void es5506_voice_bank_w(device_t *device, int voice, int bank);
//DECLARE_LEGACY_SOUND_DEVICE(ES5506, es5506);
#endif /* __ES5506_H__ */