aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_opl3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/adlmidi_opl3.cpp')
-rw-r--r--src/adlmidi_opl3.cpp44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp
index a89478d..49fa1bc 100644
--- a/src/adlmidi_opl3.cpp
+++ b/src/adlmidi_opl3.cpp
@@ -188,21 +188,21 @@ void OPL3::writeReg(size_t chip, uint16_t address, uint8_t value)
void OPL3::noteOff(size_t c)
{
- size_t card = c / 23, cc = c % 23;
+ size_t chip = c / 23, cc = c % 23;
if(cc >= 18)
{
- m_regBD[card] &= ~(0x10 >> (cc - 18));
- writeReg(card, 0xBD, m_regBD[card]);
+ m_regBD[chip] &= ~(0x10 >> (cc - 18));
+ writeReg(chip, 0xBD, m_regBD[chip]);
return;
}
- writeReg(card, 0xB0 + g_channelsMap[cc], m_keyBlockFNumCache[c] & 0xDF);
+ writeReg(chip, 0xB0 + g_channelsMap[cc], m_keyBlockFNumCache[c] & 0xDF);
}
void OPL3::noteOn(size_t c, double hertz) // Hertz range: 0..131071
{
- size_t card = c / 23, cc = c % 23;
+ size_t chip = c / 23, cc = c % 23;
uint32_t x = 0x2000;
if(hertz < 0 || hertz > 131071) // Avoid infinite loop
@@ -219,26 +219,26 @@ void OPL3::noteOn(size_t c, double hertz) // Hertz range: 0..131071
if(cc >= 18)
{
- m_regBD[card] |= (0x10 >> (cc - 18));
- writeReg(card, 0x0BD, m_regBD[card]);
+ m_regBD[chip ] |= (0x10 >> (cc - 18));
+ writeReg(chip , 0x0BD, m_regBD[chip ]);
x &= ~0x2000u;
//x |= 0x800; // for test
}
if(chn != 0xFFF)
{
- writeReg(card, 0xA0 + chn, static_cast<uint8_t>(x & 0xFF));
- writeReg(card, 0xB0 + chn, static_cast<uint8_t>(x >> 8));
+ writeReg(chip , 0xA0 + chn, static_cast<uint8_t>(x & 0xFF));
+ writeReg(chip , 0xB0 + chn, static_cast<uint8_t>(x >> 8));
m_keyBlockFNumCache[c] = static_cast<uint8_t>(x >> 8);
}
}
-void OPL3::touchNote(uint32_t c, uint8_t volume, uint8_t brightness)
+void OPL3::touchNote(size_t c, uint8_t volume, uint8_t brightness)
{
if(volume > 63)
volume = 63;
- size_t card = c / 23, cc = c % 23;
+ size_t chip = c / 23, cc = c % 23;
const adldata &adli = m_insCache[c];
uint16_t o1 = g_operatorsMap[cc * 2 + 0];
uint16_t o2 = g_operatorsMap[cc * 2 + 1];
@@ -285,9 +285,9 @@ void OPL3::touchNote(uint32_t c, uint8_t volume, uint8_t brightness)
if(m_musicMode == MODE_RSXX)
{
- writeReg(card, 0x40 + o1, x);
+ writeReg(chip, 0x40 + o1, x);
if(o2 != 0xFFF)
- writeReg(card, 0x40 + o2, y - volume / 2);
+ writeReg(chip, 0x40 + o2, y - volume / 2);
}
else
{
@@ -306,9 +306,9 @@ void OPL3::touchNote(uint32_t c, uint8_t volume, uint8_t brightness)
carrier = (carrier | 63) - brightness + brightness * (carrier & 63) / 63;
}
- writeReg(card, 0x40 + o1, modulator);
+ writeReg(chip, 0x40 + o1, modulator);
if(o2 != 0xFFF)
- writeReg(card, 0x40 + o2, carrier);
+ writeReg(chip, 0x40 + o2, carrier);
}
// Correct formula (ST3, AdPlug):
@@ -333,9 +333,9 @@ void OPL3::Touch(unsigned c, unsigned volume) // Volume maxes at 127*127*127
}
}*/
-void OPL3::setPatch(uint16_t c, const adldata &instrument)
+void OPL3::setPatch(size_t c, const adldata &instrument)
{
- uint16_t card = c / 23, cc = c % 23;
+ uint16_t chip = c / 23, cc = c % 23;
static const uint8_t data[4] = {0x20, 0x60, 0x80, 0xE0};
m_insCache[c] = instrument;
uint16_t o1 = g_operatorsMap[cc * 2 + 0];
@@ -344,17 +344,17 @@ void OPL3::setPatch(uint16_t c, const adldata &instrument)
for(unsigned a = 0; a < 4; ++a, x >>= 8, y >>= 8)
{
- writeReg(card, data[a] + o1, x & 0xFF);
+ writeReg(chip, data[a] + o1, x & 0xFF);
if(o2 != 0xFFF)
- writeReg(card, data[a] + o2, y & 0xFF);
+ writeReg(chip, data[a] + o2, y & 0xFF);
}
}
-void OPL3::setPan(size_t c, uint8_t value)
+void OPL3::setPan(size_t c, uint8_t value)
{
- size_t card = c / 23, cc = c % 23;
+ size_t chip = c / 23, cc = c % 23;
if(g_channelsMap[cc] != 0xFFF)
- writeReg(card, 0xC0 + g_channelsMap[cc], m_insCache[c].feedconn | value);
+ writeReg(chip, 0xC0 + g_channelsMap[cc], m_insCache[c].feedconn | value);
}
void OPL3::silenceAll() // Silence all OPL channels.