diff options
Diffstat (limited to 'src/emu/sound/namco.h')
-rw-r--r-- | src/emu/sound/namco.h | 160 |
1 files changed, 80 insertions, 80 deletions
diff --git a/src/emu/sound/namco.h b/src/emu/sound/namco.h index ec0483b0fd2..cd2a22c76ac 100644 --- a/src/emu/sound/namco.h +++ b/src/emu/sound/namco.h @@ -2,122 +2,122 @@ #ifndef __NAMCO_H__ #define __NAMCO_H__ - + /* 8 voices max */ #define MAX_VOICES 8 #define MAX_VOLUME 16 - + struct namco_interface { - int m_voices; /* number of voices */ + int m_voices; /* number of voices */ int m_stereo; /* set to 1 to indicate stereo (e.g., System 1) */ }; - + /* this structure defines the parameters for a channel */ struct sound_channel { - UINT32 frequency; - UINT32 counter; - INT32 volume[2]; - INT32 noise_sw; - INT32 noise_state; - INT32 noise_seed; - UINT32 noise_counter; - INT32 noise_hold; - INT32 waveform_select; + UINT32 frequency; + UINT32 counter; + INT32 volume[2]; + INT32 noise_sw; + INT32 noise_state; + INT32 noise_seed; + UINT32 noise_counter; + INT32 noise_hold; + INT32 waveform_select; }; - + class namco_audio_device : public device_t, - public device_sound_interface, - public namco_interface + public device_sound_interface, + public namco_interface { public: - namco_audio_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); - ~namco_audio_device() {} - - protected: - // device-level overrides - virtual void device_config_complete(); - virtual void device_start(); - - // internal state - - void build_decoded_waveform( UINT8 *rgnbase ); - void update_namco_waveform(int offset, UINT8 data); - UINT32 namco_update_one(stream_sample_t *buffer, int length, const INT16 *wave, UINT32 counter, UINT32 freq); - - /* data about the sound system */ - sound_channel m_channel_list[MAX_VOICES]; - sound_channel *m_last_channel; - UINT8 *m_soundregs; - UINT8 *m_wavedata; - - /* global sound parameters */ - int m_wave_size; - INT32 m_sound_enable; - sound_stream *m_stream; - int m_namco_clock; - int m_sample_rate; - int m_f_fracbits; - + namco_audio_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); + ~namco_audio_device() {} + + protected: + // device-level overrides + virtual void device_config_complete(); + virtual void device_start(); + + // internal state + + void build_decoded_waveform( UINT8 *rgnbase ); + void update_namco_waveform(int offset, UINT8 data); + UINT32 namco_update_one(stream_sample_t *buffer, int length, const INT16 *wave, UINT32 counter, UINT32 freq); + + /* data about the sound system */ + sound_channel m_channel_list[MAX_VOICES]; + sound_channel *m_last_channel; + UINT8 *m_soundregs; + UINT8 *m_wavedata; + + /* global sound parameters */ + int m_wave_size; + INT32 m_sound_enable; + sound_stream *m_stream; + int m_namco_clock; + int m_sample_rate; + int m_f_fracbits; + /* decoded waveform table */ - INT16 *m_waveform[MAX_VOLUME]; - + INT16 *m_waveform[MAX_VOLUME]; + virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples); }; - + class namco_device : public namco_audio_device { public: - namco_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - - DECLARE_WRITE8_MEMBER( pacman_sound_enable_w ); - DECLARE_WRITE8_MEMBER( pacman_sound_w ); - - void polepos_sound_enable(int enable); - - DECLARE_READ8_MEMBER( polepos_sound_r ); - DECLARE_WRITE8_MEMBER( polepos_sound_w ); - + namco_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + DECLARE_WRITE8_MEMBER( pacman_sound_enable_w ); + DECLARE_WRITE8_MEMBER( pacman_sound_w ); + + void polepos_sound_enable(int enable); + + DECLARE_READ8_MEMBER( polepos_sound_r ); + DECLARE_WRITE8_MEMBER( polepos_sound_w ); + protected: - virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples); + virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples); }; - + extern const device_type NAMCO; - + class namco_15xx_device : public namco_audio_device { public: - namco_15xx_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - - DECLARE_WRITE8_MEMBER( namco_15xx_w ); - DECLARE_READ8_MEMBER( sharedram_r ); - DECLARE_WRITE8_MEMBER( sharedram_w ); - - void mappy_sound_enable(int enable); - + namco_15xx_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + DECLARE_WRITE8_MEMBER( namco_15xx_w ); + DECLARE_READ8_MEMBER( sharedram_r ); + DECLARE_WRITE8_MEMBER( sharedram_w ); + + void mappy_sound_enable(int enable); + protected: - virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples); + virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples); }; - + extern const device_type NAMCO_15XX; - + class namco_cus30_device : public namco_audio_device { public: - namco_cus30_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - - DECLARE_WRITE8_MEMBER( namcos1_cus30_w ); /* wavedata + sound registers + RAM */ - DECLARE_READ8_MEMBER( namcos1_cus30_r ); - DECLARE_WRITE8_MEMBER( namcos1_sound_w ); - + namco_cus30_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + DECLARE_WRITE8_MEMBER( namcos1_cus30_w ); /* wavedata + sound registers + RAM */ + DECLARE_READ8_MEMBER( namcos1_cus30_r ); + DECLARE_WRITE8_MEMBER( namcos1_sound_w ); + DECLARE_WRITE8_MEMBER( pacman_sound_w ); - + protected: - virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples); + virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples); }; - + extern const device_type NAMCO_CUS30; #endif /* __NAMCO_H__ */ |