summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio/8080bw.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/audio/8080bw.cpp')
-rw-r--r--src/mame/audio/8080bw.cpp203
1 files changed, 102 insertions, 101 deletions
diff --git a/src/mame/audio/8080bw.cpp b/src/mame/audio/8080bw.cpp
index 2ae312b7d13..0c29da35891 100644
--- a/src/mame/audio/8080bw.cpp
+++ b/src/mame/audio/8080bw.cpp
@@ -109,16 +109,16 @@ void _8080bw_state::invadpt2_sh_port_1_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_1_last_extra;
- m_sn->enable_w(!(data & 0x01)); /* SAUCER SOUND */
+ m_sn->enable_w(!BIT(data, 0)); // SAUCER SOUND
- if (rising_bits & 0x02) m_samples->start(0, 0); /* MISSLE SOUND */
- if (rising_bits & 0x04) m_samples->start(1, 1); /* EXPLOSION */
- if (rising_bits & 0x08) m_samples->start(2, 2); /* INVADER HIT */
- if (rising_bits & 0x10) m_samples->start(5, 8); /* BONUS MISSILE BASE */
+ if (BIT(rising_bits, 1)) m_samples->start(0, 0); // MISSLE SOUND
+ if (BIT(rising_bits, 2)) m_samples->start(1, 1); // EXPLOSION
+ if (BIT(rising_bits, 3)) m_samples->start(2, 2); // INVADER HIT
+ if (BIT(rising_bits, 4)) m_samples->start(5, 8); // BONUS MISSILE BASE
m_screen_red = data & 0x04;
- machine().sound().system_enable(data & 0x20);
+ machine().sound().system_mute(!BIT(data, 5));
m_port_1_last_extra = data;
}
@@ -134,11 +134,11 @@ void _8080bw_state::invadpt2_sh_port_2_w(uint8_t data)
uint8_t rising_bits = data & ~m_port_2_last_extra;
- if (rising_bits & 0x01) m_samples->start(4, 3); /* FLEET */
- if (rising_bits & 0x02) m_samples->start(4, 4); /* FLEET */
- if (rising_bits & 0x04) m_samples->start(4, 5); /* FLEET */
- if (rising_bits & 0x08) m_samples->start(4, 6); /* FLEET */
- if (rising_bits & 0x10) m_samples->start(3, 7); /* SAUCER HIT */
+ if (BIT(rising_bits, 0)) m_samples->start(4, 3); // FLEET
+ if (BIT(rising_bits, 1)) m_samples->start(4, 4); // FLEET
+ if (BIT(rising_bits, 2)) m_samples->start(4, 5); // FLEET
+ if (BIT(rising_bits, 3)) m_samples->start(4, 6); // FLEET
+ if (BIT(rising_bits, 4)) m_samples->start(3, 7); // SAUCER HIT
m_flip_screen = BIT(data, 5) & ioport(CABINET_PORT_TAG)->read();
m_color_map = BIT(data, 5);
@@ -158,11 +158,11 @@ void _8080bw_state::spacerng_sh_port_2_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_2_last_extra;
- if (rising_bits & 0x01) m_samples->start(4, 3); /* FLEET */
- if (rising_bits & 0x02) m_samples->start(4, 4); /* FLEET */
- if (rising_bits & 0x04) m_samples->start(4, 5); /* FLEET */
- if (rising_bits & 0x08) m_samples->start(4, 6); /* FLEET */
- if (rising_bits & 0x10) m_samples->start(3, 7); /* SAUCER HIT */
+ if (BIT(rising_bits, 0)) m_samples->start(4, 3); // FLEET
+ if (BIT(rising_bits, 1)) m_samples->start(4, 4); // FLEET
+ if (BIT(rising_bits, 2)) m_samples->start(4, 5); // FLEET
+ if (BIT(rising_bits, 3)) m_samples->start(4, 6); // FLEET
+ if (BIT(rising_bits, 4)) m_samples->start(3, 7); // SAUCER HIT
m_flip_screen = BIT(~data, 5) & ioport(CABINET_PORT_TAG)->read();
@@ -179,13 +179,13 @@ void _8080bw_state::spcewars_sh_port_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_1_last_extra;
- m_sn->enable_w(!(data & 0x01)); /* Saucer Sound */
+ m_sn->enable_w(!BIT(data, 0)); // Saucer Sound
- if (rising_bits & 0x02) m_samples->start(0, 0); /* Shot Sound */
- if (rising_bits & 0x04) m_samples->start(1, 1); /* Base Hit */
- if (rising_bits & 0x08) m_samples->start(2, 2); /* Invader Hit */
+ if (BIT(rising_bits, 1)) m_samples->start(0, 0); // Shot Sound
+ if (BIT(rising_bits, 2)) m_samples->start(1, 1); // Base Hit
+ if (BIT(rising_bits, 3)) m_samples->start(2, 2); // Invader Hit
- m_speaker->level_w(BIT(data, 4)); /* Various bitstream tunes */
+ m_speaker->level_w(BIT(data, 4)); // Various bitstream tunes
m_port_1_last_extra = data;
}
@@ -217,13 +217,13 @@ void _8080bw_state::lrescue_sh_port_1_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_1_last_extra;
- if (rising_bits & 0x01) m_samples->start(0, 3); /* Thrust */
- if (rising_bits & 0x02) m_samples->start(1, 2); /* Shot Sound */
- if (rising_bits & 0x04) m_samples->start(0, 1); /* Death */
- if (rising_bits & 0x08) m_samples->start(1, 0); /* Alien Hit */
- if (rising_bits & 0x10) m_samples->start(2, 5); /* Bonus Ship (not confirmed) */
+ if (BIT(rising_bits, 0)) m_samples->start(0, 3); // Thrust
+ if (BIT(rising_bits, 1)) m_samples->start(1, 2); // Shot Sound
+ if (BIT(rising_bits, 2)) m_samples->start(0, 1); // Death
+ if (BIT(rising_bits, 3)) m_samples->start(1, 0); // Alien Hit
+ if (BIT(rising_bits, 4)) m_samples->start(2, 5); // Bonus Ship (not confirmed)
- machine().sound().system_enable(data & 0x20);
+ machine().sound().system_mute(!BIT(data, 5));
m_screen_red = data & 0x04;
@@ -233,15 +233,16 @@ void _8080bw_state::lrescue_sh_port_1_w(uint8_t data)
void _8080bw_state::lrescue_sh_port_2_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_2_last_extra;
+ uint8_t falling_bits = ~data & m_port_2_last_extra;
- if (rising_bits & 0x01) m_samples->start(1, 8); /* Footstep high tone */
- if (rising_bits & 0x02) m_samples->start(1, 7); /* Footstep low tone */
- if (rising_bits & 0x04) m_samples->start(1, 4); /* Bonus when counting men saved */
+ if (BIT(rising_bits, 0)) m_samples->start(1, 8); // Footstep high tone
+ if (BIT(rising_bits, 1)) m_samples->start(1, 7); // Footstep low tone
+ if (BIT(rising_bits, 2)) m_samples->start(1, 4); // Bonus when counting men saved
- m_speaker->level_w(BIT(data, 3)); /* Bitstream tunes - endlevel and bonus1 */
+ m_speaker->level_w(BIT(data, 3)); // Bitstream tunes - endlevel and bonus1
- if (rising_bits & 0x10) m_samples->start(3, 6); /* Shooting Star and Rescue Ship sounds */
- if ((~data & 0x10) && (m_port_2_last_extra & 0x10)) m_samples->stop(3); /* This makes the rescue ship sound beep on and off */
+ if (BIT(rising_bits, 4)) m_samples->start(3, 6); // Shooting Star and Rescue Ship sounds
+ if (BIT(falling_bits, 4)) m_samples->stop(3); // This makes the rescue ship sound beep on and off
m_flip_screen = BIT(data, 5) & ioport(CABINET_PORT_TAG)->read();
@@ -324,13 +325,13 @@ void _8080bw_state::ballbomb_sh_port_1_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_1_last_extra;
- if (rising_bits & 0x01) m_samples->start(1, 2); /* Hit a balloon */
- if (rising_bits & 0x02) m_samples->start(2, 0); /* Shot Sound */
- if (rising_bits & 0x04) m_samples->start(2, 1); /* Base Hit */
- if (rising_bits & 0x08) m_samples->start(1, 7); /* Hit a Bomb */
- if (rising_bits & 0x10) m_samples->start(3, 8); /* Bonus Base at 1500 points */
+ if (BIT(rising_bits, 0)) m_samples->start(1, 2); // Hit a balloon
+ if (BIT(rising_bits, 1)) m_samples->start(2, 0); // Shot Sound
+ if (BIT(rising_bits, 2)) m_samples->start(2, 1); // Base Hit
+ if (BIT(rising_bits, 3)) m_samples->start(1, 7); // Hit a Bomb
+ if (BIT(rising_bits, 4)) m_samples->start(3, 8); // Bonus Base at 1500 points
- machine().sound().system_enable(data & 0x20);
+ machine().sound().system_mute(!BIT(data, 5));
m_screen_red = data & 0x04;
@@ -341,9 +342,9 @@ void _8080bw_state::ballbomb_sh_port_2_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_2_last_extra;
- if (data & 0x01) m_samples->start(0, 7); /* Indicates plane will drop bombs */
- if (data & 0x04) m_samples->start(0, 4); /* Plane is dropping new balloons at start of level */
- if (rising_bits & 0x10) m_samples->start(2, 2); /* Balloon hit and bomb drops */
+ if (BIT(data, 0)) m_samples->start(0, 7); // Indicates plane will drop bombs
+ if (BIT(data, 2)) m_samples->start(0, 4); // Plane is dropping new balloons at start of level
+ if (BIT(rising_bits, 4)) m_samples->start(2, 2); // Balloon hit and bomb drops
m_flip_screen = BIT(data, 5) & ioport(CABINET_PORT_TAG)->read();
@@ -400,12 +401,12 @@ void _8080bw_state::indianbt_sh_port_1_w(uint8_t data)
/* bit 4 occurs every 5.25 seconds during gameplay */
uint8_t rising_bits = data & ~m_port_1_last_extra;
- if (rising_bits & 0x01) m_samples->start(1, 7); /* Death */
- if (rising_bits & 0x02) m_samples->start(0, 1); /* Shot Sound */
- if (rising_bits & 0x04) m_samples->start(2, 3); /* Move */
- if (rising_bits & 0x08) m_samples->start(3, 2); /* Hit */
+ if (BIT(rising_bits, 0)) m_samples->start(1, 7); // Death
+ if (BIT(rising_bits, 1)) m_samples->start(0, 1); // Shot Sound
+ if (BIT(rising_bits, 2)) m_samples->start(2, 3); // Move
+ if (BIT(rising_bits, 3)) m_samples->start(3, 2); // Hit
- machine().sound().system_enable(data & 0x20);
+ machine().sound().system_mute(!BIT(data, 5));
m_port_1_last_extra = data;
}
@@ -414,10 +415,10 @@ void _8080bw_state::indianbt_sh_port_2_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_2_last_extra;
- if (rising_bits & 0x01) m_samples->start(4, 0); /* Bird dropped an egg, Lasso used */
- if (rising_bits & 0x02) m_samples->start(4, 2); /* Egg hatches, egg shot */
- if (rising_bits & 0x08) m_samples->start(5, 0); /* Grabber, Lasso caught something */
- if (rising_bits & 0x10) m_samples->start(3, 7); /* Lasso sound */
+ if (BIT(rising_bits, 0)) m_samples->start(4, 0); // Bird dropped an egg, Lasso used
+ if (BIT(rising_bits, 1)) m_samples->start(4, 2); // Egg hatches, egg shot
+ if (BIT(rising_bits, 3)) m_samples->start(5, 0); // Grabber, Lasso caught something
+ if (BIT(rising_bits, 4)) m_samples->start(3, 7); // Lasso sound
m_flip_screen = BIT(data, 5) & ioport(CABINET_PORT_TAG)->read();
@@ -433,11 +434,11 @@ void _8080bw_state::indianbtbr_sh_port_1_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_1_last_extra;
- if (rising_bits & 0x01) m_samples->start(4, 7); /* Lasso */
- if (rising_bits & 0x04) m_samples->start(0, 1); /* Shot Sound */
- if (rising_bits & 0x08) m_samples->start(3, 2); /* Hit */
+ if (BIT(rising_bits, 0)) m_samples->start(4, 7); // Lasso
+ if (BIT(rising_bits, 2)) m_samples->start(0, 1); // Shot Sound
+ if (BIT(rising_bits, 3)) m_samples->start(3, 2); // Hit
- machine().sound().system_enable(data & 0x20);
+ machine().sound().system_mute(!BIT(data, 5));
m_port_1_last_extra = data;
}
@@ -446,8 +447,8 @@ void _8080bw_state::indianbtbr_sh_port_2_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_2_last_extra;
- if (rising_bits & 0x08) m_samples->start(2, 3); /* Move */
- if (rising_bits & 0x10) m_samples->start(3, 7); /* Death */
+ if (BIT(rising_bits, 3)) m_samples->start(2, 3); // Move
+ if (BIT(rising_bits, 4)) m_samples->start(3, 7); // Death
m_flip_screen = BIT(data, 5) & ioport(CABINET_PORT_TAG)->read();
@@ -999,7 +1000,7 @@ void _8080bw_state::schaser_sh_port_2_w(uint8_t data)
m_discrete->write(SCHASER_MUSIC_BIT, BIT(data, 0));
m_discrete->write(SCHASER_SND_EN, BIT(data, 1));
- machine().sound().system_enable(BIT(data, 1));
+ machine().sound().system_mute(!BIT(data, 1));
machine().bookkeeping().coin_lockout_global_w(BIT(data, 2));
@@ -1110,9 +1111,9 @@ void _8080bw_state::rollingc_sh_port_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_3_last_extra;
- if (rising_bits & 0x02) m_samples->start(4, 0); /* Steering */
- if (rising_bits & 0x04) m_samples->start(0, 1); /* Collision */
- if (rising_bits & 0x10) m_samples->start(1, 8); /* Computer car is starting to move */
+ if (BIT(rising_bits, 1)) m_samples->start(4, 0); // Steering
+ if (BIT(rising_bits, 2)) m_samples->start(0, 1); // Collision
+ if (BIT(rising_bits, 4)) m_samples->start(1, 8); // Computer car is starting to move
m_port_3_last_extra = data;
}
@@ -1127,13 +1128,13 @@ void _8080bw_state::rollingc_sh_port_w(uint8_t data)
const char *const lupin3_sample_names[] =
{
"*lupin3",
- "cap", /* go to jail */
- "bark", /* dog barking */
- "walk1", /* walk, get money */
- "walk2", /* walk, get money */
- "warp", /* translocate, deposit money */
- "extend", /* bonus man */
- "kick", /* lands on top of building, wife kicks man */
+ "cap", // go to jail
+ "bark", // dog barking
+ "walk1", // walk, get money
+ "walk2", // walk, get money
+ "warp", // translocate, deposit money
+ "extend", // bonus man
+ "kick", // lands on top of building, wife kicks man
nullptr
};
@@ -1147,21 +1148,21 @@ void _8080bw_state::lupin3_sh_port_1_w(uint8_t data)
uint8_t rising_bits = data & ~m_port_1_last_extra;
static uint8_t lupin3_step = 2;
- if (rising_bits & 0x01)
+ if (BIT(rising_bits, 0))
{
- m_samples->start(0, lupin3_step); /* Walking, steal money */
+ m_samples->start(0, lupin3_step); // Walking, steal money
lupin3_step ^= 1;
}
- m_sn->enable_w(data & 0x02 ? 0:1); /* Helicopter */
+ m_sn->enable_w(BIT(~data, 1)); // Helicopter
- if (rising_bits & 0x04) m_samples->start(1, 4); /* Translocate */
- if (rising_bits & 0x08) m_samples->start(0, 0); /* Jail */
- if (rising_bits & 0x10) m_samples->start(2, 5); /* Bonus Man */
+ if (BIT(rising_bits, 2)) m_samples->start(1, 4); // Translocate
+ if (BIT(rising_bits, 3)) m_samples->start(0, 0); // Jail
+ if (BIT(rising_bits, 4)) m_samples->start(2, 5); // Bonus Man
- //machine().sound().system_enable(data & 0x20);
+ //machine().sound().system_mute(!BIT(data, 5));
- //machine().bookkeeping().coin_lockout_global_w(data & 0x80);
+ //machine().bookkeeping().coin_lockout_global_w(BIT(data, 7));
m_port_1_last_extra = data;
}
@@ -1198,17 +1199,17 @@ void _8080bw_state::schasercv_sh_port_1_w(uint8_t data)
uint8_t rising_bits = data & ~m_port_1_last_extra;
- if (rising_bits & 0x02) m_samples->start(1, 6); /* Ran over a dot */
- if (rising_bits & 0x10) m_samples->start(0, 1); /* Death */
+ if (BIT(rising_bits, 1)) m_samples->start(1, 6); // Ran over a dot
+ if (BIT(rising_bits, 4)) m_samples->start(0, 1); // Death
m_port_1_last_extra = data;
}
void _8080bw_state::schasercv_sh_port_2_w(uint8_t data)
{
- m_speaker->level_w(BIT(data, 0)); /* End-of-Level */
+ m_speaker->level_w(BIT(data, 0)); // End-of-Level
- machine().sound().system_enable(data & 0x10);
+ machine().sound().system_mute(!BIT(data, 4));
m_flip_screen = BIT(data, 5) & ioport(CABINET_PORT_TAG)->read();
}
@@ -1229,8 +1230,8 @@ void _8080bw_state::crashrd_port03_w(uint8_t data)
bit 4 - Dot Sound Enable (SX0)
bit 5 - Effect Sound C (SX4) */
- m_discrete->write(SCHASER_SND_EN, BIT(data,5));
- machine().sound().system_enable(BIT(data,5));
+ m_discrete->write(SCHASER_SND_EN, BIT(data, 5));
+ machine().sound().system_mute(!BIT(data, 5));
m_discrete->write(SCHASER_DOT_EN, BIT(data, 4));
m_discrete->write(SCHASER_DOT_SEL, BIT(data, 0));
@@ -1302,13 +1303,13 @@ void _8080bw_state::yosakdon_sh_port_1_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_1_last_extra;
- if (rising_bits & 0x01) m_samples->start(0, 3); /* Game Over */
- if (rising_bits & 0x02) m_samples->start(2, 0); /* Bird dead */
- if (rising_bits & 0x04) m_samples->start(0, 1); /* Rifle being fired */
- if (rising_bits & 0x08) m_samples->start(1, 2); /* Man dead */
- if (rising_bits & 0x10) m_samples->start(5, 8); /* Bonus Man? */
+ if (BIT(rising_bits, 0)) m_samples->start(0, 3); // Game Over
+ if (BIT(rising_bits, 1)) m_samples->start(2, 0); // Bird dead
+ if (BIT(rising_bits, 2)) m_samples->start(0, 1); // Rifle being fired
+ if (BIT(rising_bits, 3)) m_samples->start(1, 2); // Man dead
+ if (BIT(rising_bits, 4)) m_samples->start(5, 8); // Bonus Man?
- machine().sound().system_enable(data & 0x20);
+ machine().sound().system_mute(!BIT(data, 5));
m_port_1_last_extra = data;
}
@@ -1317,12 +1318,12 @@ void _8080bw_state::yosakdon_sh_port_2_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_2_last_extra;
- if (rising_bits & 0x01) m_samples->start(1, 6); /* Ready? , Game Over */
- if (rising_bits & 0x04) m_samples->start(3, 7); /* Big bird dead */
+ if (BIT(rising_bits, 0)) m_samples->start(1, 6); // Ready? , Game Over
+ if (BIT(rising_bits, 2)) m_samples->start(3, 7); // Big bird dead
- m_sn->enable_w(data & 0x08 ? 0:1); /* Big bird */
+ m_sn->enable_w(BIT(~data, 3)); // Big bird
- if (rising_bits & 0x10) m_samples->start(2, 7); /* Game Over */
+ if (BIT(rising_bits, 4)) m_samples->start(2, 7); // Game Over
m_flip_screen = BIT(data, 5) & ioport(CABINET_PORT_TAG)->read();
@@ -1386,20 +1387,20 @@ void _8080bw_state::darthvdr_08_w(uint8_t data)
{
uint8_t rising_bits = data & ~m_port_1_last_extra;
- machine().sound().system_enable(data & 0x01);
+ machine().sound().system_mute(!BIT(data, 0));
- if (rising_bits & 0x02) m_samples->start(0, 0); /* Shoot */
- if (rising_bits & 0x04) m_samples->start(3, 7); /* Hit UFO */
- if (rising_bits & 0x10) m_samples->start(5, 8); /* Bonus */
+ if (BIT(rising_bits, 1)) m_samples->start(0, 0); // Shoot
+ if (BIT(rising_bits, 2)) m_samples->start(3, 7); // Hit UFO
+ if (BIT(rising_bits, 4)) m_samples->start(5, 8); // Bonus
- m_sn->enable_w(data & 0x20 ? 0:1); /* UFO */
+ m_sn->enable_w(BIT(~data, 5)); // UFO
- if (rising_bits & 0x40) m_samples->start(1, 1); /* Death */
- if (rising_bits & 0x80) m_samples->start(2, 2); /* Hit */
+ if (BIT(rising_bits, 6)) m_samples->start(1, 1); // Death
+ if (BIT(rising_bits, 7)) m_samples->start(2, 2); // Hit
- if (rising_bits & 0x08)
+ if (BIT(rising_bits, 3))
{
- m_samples->start(4, m_fleet_step); /* Fleet move in 4 steps */
+ m_samples->start(4, m_fleet_step); // Fleet move in 4 steps
m_fleet_step++;
if (m_fleet_step > 6) m_fleet_step = 3;
}