diff options
Diffstat (limited to 'src/mame/machine/namcos21_dsp_c67.h')
-rw-r--r-- | src/mame/machine/namcos21_dsp_c67.h | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/src/mame/machine/namcos21_dsp_c67.h b/src/mame/machine/namcos21_dsp_c67.h index 433c0a557e3..7fbb7988af2 100644 --- a/src/mame/machine/namcos21_dsp_c67.h +++ b/src/mame/machine/namcos21_dsp_c67.h @@ -8,13 +8,16 @@ #include "machine/namco_c67.h" #include "video/namcos21_3d.h" -#define PTRAM_SIZE 0x20000 +#include <algorithm> + #define ENABLE_LOGGING 0 class namcos21_dsp_c67_device : public device_t { public: + static constexpr unsigned PTRAM_SIZE = 0x20000; + enum { /* Namco System21 */ NAMCOS21_AIRCOMBAT = 0x4000, @@ -51,20 +54,27 @@ protected: virtual void device_add_mconfig(machine_config &config) override; private: - #define DSP_BUF_MAX (4096*12) + static constexpr unsigned DSP_BUF_MAX = 4096*12; struct dsp_state { - unsigned masterSourceAddr; + dsp_state() + { + std::fill(std::begin(slaveInputBuffer), std::end(slaveInputBuffer), 0); + std::fill(std::begin(slaveOutputBuffer), std::end(slaveOutputBuffer), 0); + std::fill(std::begin(masterDirectDrawBuffer), std::end(masterDirectDrawBuffer), 0); + } + + unsigned masterSourceAddr = 0; uint16_t slaveInputBuffer[DSP_BUF_MAX]; - unsigned slaveBytesAvailable; - unsigned slaveBytesAdvertised; - unsigned slaveInputStart; + unsigned slaveBytesAvailable = 0; + unsigned slaveBytesAdvertised = 0; + unsigned slaveInputStart = 0; uint16_t slaveOutputBuffer[DSP_BUF_MAX]; - unsigned slaveOutputSize; + unsigned slaveOutputSize = 0; uint16_t masterDirectDrawBuffer[256]; - unsigned masterDirectDrawSize; - int masterFinished; - int slaveActive; + unsigned masterDirectDrawSize = 0; + int masterFinished = 0; + int slaveActive = 0; }; required_device<namcos21_3d_device> m_renderer; |