diff options
author | mooglyguy <therealmogminer@gmail.com> | 2018-12-22 17:27:07 +0100 |
---|---|---|
committer | mooglyguy <therealmogminer@gmail.com> | 2018-12-22 17:27:07 +0100 |
commit | 9f4e2a58ac5804e66d466e6dcbdb57d06449d3d5 (patch) | |
tree | fbfaffb54b1198c63f3940e3921fcee89eceb98e | |
parent | dc8834b8dca7f63288f3f512d7e8600356485808 (diff) |
-t10mmc; Revert erroneous CD audio change circa July, and add gain setters for each CD channel. [Phil Bennett]
-rw-r--r-- | src/devices/machine/t10mmc.cpp | 60 | ||||
-rw-r--r-- | src/mame/drivers/konamim2.cpp | 4 |
2 files changed, 33 insertions, 31 deletions
diff --git a/src/devices/machine/t10mmc.cpp b/src/devices/machine/t10mmc.cpp index 82754b229f0..af1fd7e75d9 100644 --- a/src/devices/machine/t10mmc.cpp +++ b/src/devices/machine/t10mmc.cpp @@ -713,41 +713,41 @@ void t10mmc::ReadData( uint8_t *data, int dataLength ) switch (command[2] & 0x3f) { case 0xe: // CD Audio control page - data[1] = 0x0e + 8; - data[0+8] = 0x8e; // page E, parameter is savable - data[1+8] = 0x0e; // page length - data[2+8] = (1 << 2) | (m_sotc << 1); // IMMED = 1 - data[3+8] = data[4+8] = data[5+8] = data[6+8] = data[7+8] = 0; // reserved + data[1] = 0x0e; + data[0] = 0x8e; // page E, parameter is savable + data[1] = 0x0e; // page length + data[2] = (1 << 2) | (m_sotc << 1); // IMMED = 1 + data[3] = data[4] = data[5] = data[6] = data[7] = 0; // reserved // connect each audio channel to 1 output port - data[8+8] = 1; - data[10+8] = 2; - data[12+8] = 4; - data[14+8] = 8; + data[8] = 1; + data[10] = 2; + data[12] = 4; + data[14] = 8; // indicate max volume - data[9+8] = data[11+8] = data[13+8] = data[15+8] = 0xff; + data[9] = data[11] = data[13] = data[15] = 0xff; break; case 0x2a: // Page capabilities - data[1] = 0x14 + 8; - data[0+8] = 0x2a; - data[1+8] = 0x14; // page length - data[2+8] = 0x00; data[3+8] = 0x00; // CD-R only - data[4+8] = 0x01; // can play audio - data[5+8] = 0; - data[6+8] = 0; - data[7+8] = 0; - data[8+8] = 0x02; data[9+8] = 0xc0; // 4x speed - data[10+8] = 0; - data[11+8] = 2; // two volumen levels - data[12+8] = 0x00; data[13+8] = 0x00; // buffer - data[14+8] = 0x02; data[15+8] = 0xc0; // 4x read speed - data[16+8] = 0; - data[17+8] = 0; - data[18+8] = 0; - data[19+8] = 0; - data[20+8] = 0; - data[21+8] = 0; + data[1] = 0x14; + data[0] = 0x2a; + data[1] = 0x14; // page length + data[2] = 0x00; data[3] = 0x00; // CD-R only + data[4] = 0x01; // can play audio + data[5] = 0; + data[6] = 0; + data[7] = 0; + data[8] = 0x02; data[9] = 0xc0; // 4x speed + data[10] = 0; + data[11] = 2; // two volume levels + data[12] = 0x00; data[13] = 0x00; // buffer + data[14] = 0x02; data[15] = 0xc0; // 4x read speed + data[16] = 0; + data[17] = 0; + data[18] = 0; + data[19] = 0; + data[20] = 0; + data[21] = 0; break; default: @@ -797,6 +797,8 @@ void t10mmc::WriteData( uint8_t *data, int dataLength ) m_device->logerror("Ch 1 route: %x vol: %x\n", data[10], data[11]); m_device->logerror("Ch 2 route: %x vol: %x\n", data[12], data[13]); m_device->logerror("Ch 3 route: %x vol: %x\n", data[14], data[15]); + m_cdda->set_output_gain(0, data[17] ? 1.0f : 0.0f); + m_cdda->set_output_gain(1, data[19] ? 1.0f : 0.0f); break; } break; diff --git a/src/mame/drivers/konamim2.cpp b/src/mame/drivers/konamim2.cpp index 787438f75b2..7e3955c2ed3 100644 --- a/src/mame/drivers/konamim2.cpp +++ b/src/mame/drivers/konamim2.cpp @@ -1134,8 +1134,8 @@ INPUT_PORTS_END void konamim2_state::cr589_config(device_t *device) { - device->subdevice<cdda_device>("cdda")->add_route(0, ":lspeaker", 1.0); - device->subdevice<cdda_device>("cdda")->add_route(1, ":rspeaker", 1.0); + device->subdevice<cdda_device>("cdda")->add_route(0, ":lspeaker", 0.2); + device->subdevice<cdda_device>("cdda")->add_route(1, ":rspeaker", 0.2); device = device->subdevice("cdda"); } |