diff options
Diffstat (limited to 'src/devices/sound')
-rw-r--r-- | src/devices/sound/aica.cpp | 4 | ||||
-rw-r--r-- | src/devices/sound/c6280.cpp | 6 | ||||
-rw-r--r-- | src/devices/sound/huc6230.cpp | 12 | ||||
-rw-r--r-- | src/devices/sound/qsoundhle.cpp | 4 | ||||
-rw-r--r-- | src/devices/sound/qsoundhle.h | 22 | ||||
-rw-r--r-- | src/devices/sound/zsg2.cpp | 94 |
6 files changed, 71 insertions, 71 deletions
diff --git a/src/devices/sound/aica.cpp b/src/devices/sound/aica.cpp index 4ad7c2f5995..e304b5a6fc4 100644 --- a/src/devices/sound/aica.cpp +++ b/src/devices/sound/aica.cpp @@ -14,7 +14,7 @@ - Some minor other tweeks (no EGHOLD, slighly more capable DSP) TODO: - - Where are EXTS Connected? + - Where are EXTS Connected? */ #include "emu.h" @@ -980,7 +980,7 @@ void aica_device::w16(address_space &space,unsigned int addr,unsigned short val) else if(addr<0x45c0) *((unsigned short *) (m_DSP.EFREG+(addr-0x4580)/4))=val; //else if(addr<0x45c8) - // *((unsigned short *) (m_DSP.EXTS+(addr-0x45c0)/2))=val; // Read only + // *((unsigned short *) (m_DSP.EXTS+(addr-0x45c0)/2))=val; // Read only } } diff --git a/src/devices/sound/c6280.cpp b/src/devices/sound/c6280.cpp index 1b3665d40f8..647a7e5f4cb 100644 --- a/src/devices/sound/c6280.cpp +++ b/src/devices/sound/c6280.cpp @@ -36,9 +36,9 @@ - http://www.hudsonsoft.net/ww/about/about.html - http://www.hudson.co.jp/corp/eng/coinfo/history.html - Integrated on: - HuC6280 CPU (PC Engine/TurboGrafx 16) - HuC6230 Sound Chip (PC-FX, with OKI ADPCM) + Integrated on: + HuC6280 CPU (PC Engine/TurboGrafx 16) + HuC6230 Sound Chip (PC-FX, with OKI ADPCM) */ diff --git a/src/devices/sound/huc6230.cpp b/src/devices/sound/huc6230.cpp index f762b2ad7f2..23155c4dc7f 100644 --- a/src/devices/sound/huc6230.cpp +++ b/src/devices/sound/huc6230.cpp @@ -2,12 +2,12 @@ // copyright-holders:cam900 /* Hudson HuC6230 SoundBox - HuC6280 PSG with ADPCM + HuC6280 PSG with ADPCM - TODO: - - Volume is linear? - - Make it actually working - - Implement CDDA Volume + TODO: + - Volume is linear? + - Make it actually working + - Implement CDDA Volume */ #include "emu.h" @@ -52,7 +52,7 @@ void huc6230_device::sound_stream_update(sound_stream &stream, stream_sample_t * if (!channel->m_interpolate) sample = channel->m_curr_sample; else - sample = ((channel->m_prev_sample * (frq - channel->m_pos)) + + sample = ((channel->m_prev_sample * (frq - channel->m_pos)) + (channel->m_curr_sample * channel->m_pos)) >> m_adpcm_freq; outputs[0][i] = clamp(outputs[0][i] + ((sample * channel->m_lvol) >> 2), -32768, 32767); diff --git a/src/devices/sound/qsoundhle.cpp b/src/devices/sound/qsoundhle.cpp index 833c31c2e97..2fac6a79012 100644 --- a/src/devices/sound/qsoundhle.cpp +++ b/src/devices/sound/qsoundhle.cpp @@ -237,7 +237,7 @@ void qsound_hle_device::init_register_map() m_register_map[(i << 3) + 4] = (uint16_t*)&m_voice[i].m_loop_len; m_register_map[(i << 3) + 5] = (uint16_t*)&m_voice[i].m_end_addr; m_register_map[(i << 3) + 6] = (uint16_t*)&m_voice[i].m_volume; - m_register_map[(i << 3) + 7] = nullptr; // unused + m_register_map[(i << 3) + 7] = nullptr; // unused m_register_map[i + 0x80] = (uint16_t*)&m_voice_pan[i]; m_register_map[i + 0xba] = (uint16_t*)&m_voice[i].m_echo; } @@ -277,7 +277,7 @@ int16_t qsound_hle_device::read_sample(uint16_t bank, uint16_t address) bank &= 0x7FFF; const uint32_t rom_addr = (bank << 16) | (address << 0); const uint8_t sample_data = read_byte(rom_addr); - return (int16_t)(sample_data << 8); // bit0-7 is tied to ground + return (int16_t)(sample_data << 8); // bit0-7 is tied to ground } /********************************************************************/ diff --git a/src/devices/sound/qsoundhle.h b/src/devices/sound/qsoundhle.h index dfaded4d4bc..53d1300b583 100644 --- a/src/devices/sound/qsoundhle.h +++ b/src/devices/sound/qsoundhle.h @@ -38,18 +38,18 @@ private: // DSP ROM sample map enum { - DATA_PAN_TAB = 0x110, - DATA_ADPCM_TAB = 0x9dc, - DATA_FILTER_TAB = 0xd53, // dual filter mode, 5 tables * 95 taps each - DATA_FILTER_TAB2 = 0xf2e, // overlapping data (95+15+95) + DATA_PAN_TAB = 0x110, + DATA_ADPCM_TAB = 0x9dc, + DATA_FILTER_TAB = 0xd53, // dual filter mode, 5 tables * 95 taps each + DATA_FILTER_TAB2 = 0xf2e, // overlapping data (95+15+95) STATE_BOOT = 0x000, - STATE_INIT1 = 0x288, - STATE_INIT2 = 0x61a, - STATE_REFRESH1 = 0x039, - STATE_REFRESH2 = 0x04f, - STATE_NORMAL1 = 0x314, - STATE_NORMAL2 = 0x6b2 + STATE_INIT1 = 0x288, + STATE_INIT2 = 0x61a, + STATE_REFRESH1 = 0x039, + STATE_REFRESH2 = 0x04f, + STATE_NORMAL1 = 0x314, + STATE_NORMAL2 = 0x6b2 }; const uint16_t PAN_TABLE_DRY = 0; @@ -87,7 +87,7 @@ private: // Q1 Filter struct qsound_fir { - int m_tap_count = 0; // usually 95 + int m_tap_count = 0; // usually 95 int m_delay_pos = 0; uint16_t m_table_pos = 0; int16_t m_taps[95] = { 0 }; diff --git a/src/devices/sound/zsg2.cpp b/src/devices/sound/zsg2.cpp index 92ddef50212..6e97ce01f43 100644 --- a/src/devices/sound/zsg2.cpp +++ b/src/devices/sound/zsg2.cpp @@ -6,47 +6,47 @@ Written by Olivier Galibert MAME conversion by R. Belmont Working emulation by The Talentuous Hands Of The Popularious hap - Properly working emulation by superctr + Properly working emulation by superctr --------------------------------------------------------- - Register map: - 000-5fe : Channel specific registers - (high) (low) - +000 : xxxxxxxx -------- : Start address (low) - +000 : -------- xxxxxxxx : Unknown register (usually cleared) - +002 : xxxxxxxx -------- : Address page - : -------- xxxxxxxx : Start address (high) - +004 : -------- -------- : Unknown register (usually cleared) - +006 : -----x-- -------- : Unknown bit, always set - +008 : xxxxxxxx xxxxxxxx : Frequency - +00a : xxxxxxxx -------- : DSP ch 3 (right) output gain - : -------- xxxxxxxx : Loop address (low) - +00c : xxxxxxxx xxxxxxxx : End address - +00e : xxxxxxxx -------- : DSP ch 2 (Left) output gain - : -------- xxxxxxxx : Loop address (high) - +010 : xxxxxxxx xxxxxxxx : Initial filter time constant - +012 : xxxxxxxx xxxxxxxx : Current filter time constant - +014 : xxxxxxxx xxxxxxxx : Initial volume - +016 : xxxxxxxx xxxxxxxx : Current volume - +018 : xxxxxxxx xxxxxxxx : Target filter time constant - +01a : xxxxxxxx -------- : DSP ch 1 (chorus) output gain - : -------- xxxxxxxx : Filter ramping speed - +01c : xxxxxxxx xxxxxxxx : Target volume - +01e : xxxxxxxx -------- : DSP ch 0 (reverb) output gain - : -------- xxxxxxxx : Filter ramping speed - 600-604 : Key on flags (each bit corresponds to a channel) - 608-60c : Key off flags (each bit corresponds to a channel) - 618 : Unknown register (usually 0x5cbc is written) - 61a : Unknown register (usually 0x5cbc is written) - 620 : Unknown register (usually 0x0128 is written) - 628 : Unknown register (usually 0x0066 is written) - 630 : Unknown register (usually 0x0001 is written) - 638 : ROM readback address low - 63a : ROM readback address high - 63c : ROM readback word low - 63e : ROM readback word high - - --------------------------------------------------------- + Register map: + 000-5fe : Channel specific registers + (high) (low) + +000 : xxxxxxxx -------- : Start address (low) + +000 : -------- xxxxxxxx : Unknown register (usually cleared) + +002 : xxxxxxxx -------- : Address page + : -------- xxxxxxxx : Start address (high) + +004 : -------- -------- : Unknown register (usually cleared) + +006 : -----x-- -------- : Unknown bit, always set + +008 : xxxxxxxx xxxxxxxx : Frequency + +00a : xxxxxxxx -------- : DSP ch 3 (right) output gain + : -------- xxxxxxxx : Loop address (low) + +00c : xxxxxxxx xxxxxxxx : End address + +00e : xxxxxxxx -------- : DSP ch 2 (Left) output gain + : -------- xxxxxxxx : Loop address (high) + +010 : xxxxxxxx xxxxxxxx : Initial filter time constant + +012 : xxxxxxxx xxxxxxxx : Current filter time constant + +014 : xxxxxxxx xxxxxxxx : Initial volume + +016 : xxxxxxxx xxxxxxxx : Current volume + +018 : xxxxxxxx xxxxxxxx : Target filter time constant + +01a : xxxxxxxx -------- : DSP ch 1 (chorus) output gain + : -------- xxxxxxxx : Filter ramping speed + +01c : xxxxxxxx xxxxxxxx : Target volume + +01e : xxxxxxxx -------- : DSP ch 0 (reverb) output gain + : -------- xxxxxxxx : Filter ramping speed + 600-604 : Key on flags (each bit corresponds to a channel) + 608-60c : Key off flags (each bit corresponds to a channel) + 618 : Unknown register (usually 0x5cbc is written) + 61a : Unknown register (usually 0x5cbc is written) + 620 : Unknown register (usually 0x0128 is written) + 628 : Unknown register (usually 0x0066 is written) + 630 : Unknown register (usually 0x0001 is written) + 638 : ROM readback address low + 63a : ROM readback address high + 63c : ROM readback word low + 63e : ROM readback word high + + --------------------------------------------------------- Additional notes on the sample format, reverse-engineered by Olivier Galibert and David Haywood: @@ -553,15 +553,15 @@ void zsg2_device::control_w(int reg, uint16_t data) break; } -// case 0x0c: //These registers are sometimes written to by the CPU. Unknown purpose. -// break; -// case 0x0d: -// break; -// case 0x10: -// break; +// case 0x0c: //These registers are sometimes written to by the CPU. Unknown purpose. +// break; +// case 0x0d: +// break; +// case 0x10: +// break; -// case 0x18: -// break; +// case 0x18: +// break; case 0x1c: // rom readback address low (low 2 bits always 0) |