diff options
author | smf- <smf-@users.noreply.github.com> | 2016-10-17 16:03:29 +0100 |
---|---|---|
committer | smf- <smf-@users.noreply.github.com> | 2016-10-17 16:04:02 +0100 |
commit | 36944269bd6fe1fb47822a2112c524b13c4b27f2 (patch) | |
tree | c1b29a760bb9a1e222a9390fbc34fe09d407ae91 /src/mame/drivers/juicebox.cpp | |
parent | 8676fc0d8dd0c3ccf2925075d86338da099ce148 (diff) |
DAC WIP, started documenting the DACs in use. [smf]
ataxx: Fixed missing sound channel caused by one dac not being hooked up and one dac being hooked up to two addresses.
bestbest: Fixed high pitch screech caused by incorrect addressing (two dacs weren't hooked up and two were hooked up to two addresses).
cchasm: Fixed static noise generation caused by feeding the same bit to both dacs.
cheekyms: Slightly improved sound by implementing sound triggers as 8 x 1 bit dacs instead of 1 x 8 bit dac.
galeb: Fixed sound by implementing it according to http://www.deltasoft.com.hr/retro/galebemu.htm & implemented enough of LOAD/SAVE to stop it hanging.
hard drivin: (all games in driver) Improved 12 bit controls, although centre still goes out of sync.
mea8000: Converted to a sound device.
megaphx: Fixed noisy samples due to wrong format.
microvsn: Fixed sound pitch caused by incorrect usage of write_signed8().
seicross: Changed to a 4 bit dac as samples are packed nibble.
spaceg: Preliminary sound using space invaders samples.
suna8: Changed to a 4 bit dac as samples are packed nibble.
vcombat: Fixed static during machine gun fire due to incorrect dc offset removal.
vectrex: Fixed noisy samples due to wrong format.
wheelfir: Fixed sound, eeprom & analogue steering wheel and brake pedal.
Diffstat (limited to 'src/mame/drivers/juicebox.cpp')
-rw-r--r-- | src/mame/drivers/juicebox.cpp | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/mame/drivers/juicebox.cpp b/src/mame/drivers/juicebox.cpp index a024b893759..12b7749f2d7 100644 --- a/src/mame/drivers/juicebox.cpp +++ b/src/mame/drivers/juicebox.cpp @@ -13,6 +13,7 @@ #include "machine/s3c44b0.h" #include "machine/smartmed.h" #include "sound/dac.h" +#include "sound/volt_reg.h" #include "rendlay.h" #include "softlist.h" @@ -34,13 +35,11 @@ public: juicebox_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), - m_dac(*this, "dac"), m_s3c44b0(*this, "s3c44b0"), m_smartmedia(*this, "smartmedia") { } required_device<cpu_device> m_maincpu; - required_device<dac_device> m_dac; required_device<s3c44b0_device> m_s3c44b0; required_device<smartmedia_image_device> m_smartmedia; UINT32 port[9]; @@ -240,13 +239,6 @@ WRITE32_MEMBER(juicebox_state::juicebox_nand_w) if (ACCESSING_BITS_24_31) smc_write((data >> 24) & 0xFF); } -// I2S - -WRITE16_MEMBER(juicebox_state::s3c44b0_i2s_data_w ) -{ - m_dac->write_signed16(data ^ 0x8000); -} - // ... INPUT_CHANGED_MEMBER(juicebox_state::port_changed) @@ -321,15 +313,15 @@ static MACHINE_CONFIG_START( juicebox, juicebox_state ) MCFG_SCREEN_UPDATE_DEVICE("s3c44b0", s3c44b0_device, video_update) - MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("dac", DAC, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - + MCFG_SPEAKER_STANDARD_MONO("speaker") + MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC + MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) + MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("s3c44b0", S3C44B0, 10000000) MCFG_S3C44B0_GPIO_PORT_R_CB(READ32(juicebox_state, s3c44b0_gpio_port_r)) MCFG_S3C44B0_GPIO_PORT_W_CB(WRITE32(juicebox_state, s3c44b0_gpio_port_w)) - MCFG_S3C44B0_I2S_DATA_W_CB(WRITE16(juicebox_state, s3c44b0_i2s_data_w)) + MCFG_S3C44B0_I2S_DATA_W_CB(DEVWRITE16("dac", dac_word_interface, write)) MCFG_DEVICE_ADD("smartmedia", SMARTMEDIA, 0) |