summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus')
-rw-r--r--src/devices/bus/ata/atapicdr.cpp1
-rw-r--r--src/devices/bus/bbc/fdc/opus.cpp3
-rw-r--r--src/devices/bus/electron/plus2.cpp1
-rw-r--r--src/devices/bus/electron/romboxp.cpp2
-rw-r--r--src/devices/bus/gameboy/rom.cpp1
-rw-r--r--src/devices/bus/gba/rom.cpp1
-rw-r--r--src/devices/bus/isa/3c503.cpp1
-rw-r--r--src/devices/bus/isa/gus.cpp10
-rw-r--r--src/devices/bus/isa/mcd.cpp1
-rw-r--r--src/devices/bus/isa/myb3k_fdc.cpp2
-rw-r--r--src/devices/bus/isa/sblaster.cpp1
-rw-r--r--src/devices/bus/nes/cony.cpp2
-rw-r--r--src/devices/bus/nes/mmc3_clones.cpp1
-rw-r--r--src/devices/bus/nes/multigame.cpp1
-rw-r--r--src/devices/bus/nes/namcot.cpp6
-rw-r--r--src/devices/bus/nes/nes_ines.hxx2
-rw-r--r--src/devices/bus/nes/pirate.cpp2
-rw-r--r--src/devices/bus/pce/pce_rom.cpp1
-rw-r--r--src/devices/bus/sunmouse/hlemouse.cpp1
-rw-r--r--src/devices/bus/vcs/dpc.cpp1
-rw-r--r--src/devices/bus/wswan/rom.cpp1
21 files changed, 39 insertions, 3 deletions
diff --git a/src/devices/bus/ata/atapicdr.cpp b/src/devices/bus/ata/atapicdr.cpp
index 33cb0cb154e..2099763468c 100644
--- a/src/devices/bus/ata/atapicdr.cpp
+++ b/src/devices/bus/ata/atapicdr.cpp
@@ -130,6 +130,7 @@ void atapi_cdrom_device::ExecCommand()
m_transfer_length = 0;
return;
}
+ [[fallthrough]];
default:
if(m_media_change)
{
diff --git a/src/devices/bus/bbc/fdc/opus.cpp b/src/devices/bus/bbc/fdc/opus.cpp
index 43425182fba..5f1727f8251 100644
--- a/src/devices/bus/bbc/fdc/opus.cpp
+++ b/src/devices/bus/bbc/fdc/opus.cpp
@@ -230,6 +230,7 @@ uint8_t bbc_opus8272_device::read(offs_t offset)
case 0x06:
if (m_floppy0->get_device()) m_floppy0->get_device()->mon_w(1);
if (m_floppy1->get_device()) m_floppy1->get_device()->mon_w(1);
+ [[fallthrough]];
case 0x04:
data = m_fdc->msr_r();
break;
@@ -237,6 +238,7 @@ uint8_t bbc_opus8272_device::read(offs_t offset)
case 0x05:
if (m_floppy0->get_device()) m_floppy0->get_device()->mon_w(0);
if (m_floppy1->get_device()) m_floppy1->get_device()->mon_w(0);
+ [[fallthrough]];
case 0x07:
data = m_fdc->fifo_r();
break;
@@ -262,6 +264,7 @@ void bbc_opus8272_device::write(offs_t offset, uint8_t data)
case 0x05:
if (m_floppy0->get_device()) m_floppy0->get_device()->mon_w(0);
if (m_floppy1->get_device()) m_floppy1->get_device()->mon_w(0);
+ [[fallthrough]];
case 0x07:
m_fdc->fifo_w(data);
break;
diff --git a/src/devices/bus/electron/plus2.cpp b/src/devices/bus/electron/plus2.cpp
index 1e9d9d6591b..7eeb4b2cd95 100644
--- a/src/devices/bus/electron/plus2.cpp
+++ b/src/devices/bus/electron/plus2.cpp
@@ -126,6 +126,7 @@ uint8_t electron_plus2_device::expbus_r(offs_t offset)
case 13:
data &= m_cart[0]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 0, 1);
data &= m_cart[1]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 0, 1);
+ [[fallthrough]];
case 14:
case 15:
data &= m_rom[m_romsel - 13]->read_rom(offset & 0x3fff);
diff --git a/src/devices/bus/electron/romboxp.cpp b/src/devices/bus/electron/romboxp.cpp
index 9408ce1cc74..e6cfd472989 100644
--- a/src/devices/bus/electron/romboxp.cpp
+++ b/src/devices/bus/electron/romboxp.cpp
@@ -201,6 +201,7 @@ uint8_t electron_romboxp_device::expbus_r(offs_t offset)
case 13:
data &= m_cart[0]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 0, 1);
data &= m_cart[1]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 0, 1);
+ [[fallthrough]];
case 14:
case 15:
if (m_rom_base == 12)
@@ -274,6 +275,7 @@ void electron_romboxp_device::expbus_w(offs_t offset, uint8_t data)
case 13:
m_cart[0]->write(offset & 0x3fff, data, 0, 0, m_romsel & 0x01, 0, 1);
m_cart[1]->write(offset & 0x3fff, data, 0, 0, m_romsel & 0x01, 0, 1);
+ [[fallthrough]];
case 14:
case 15:
if (m_rom_base == 12)
diff --git a/src/devices/bus/gameboy/rom.cpp b/src/devices/bus/gameboy/rom.cpp
index d3e90d73f51..b635a828b8c 100644
--- a/src/devices/bus/gameboy/rom.cpp
+++ b/src/devices/bus/gameboy/rom.cpp
@@ -220,6 +220,7 @@ void gb_rom_tama5_device::write_ram(offs_t offset, uint8_t data)
case 0x40: /* Unknown, some kind of read */
if ((m_tama5_addr & 0x1f) == 0x12)
m_tama5_data = 0xff;
+ [[fallthrough]];
case 0x80: /* Unknown, some kind of read (when 07=01)/write (when 07=00/02) */
default:
logerror( "%s Unknown addressing mode\n", machine().describe_context() );
diff --git a/src/devices/bus/gba/rom.cpp b/src/devices/bus/gba/rom.cpp
index 378ed1d03cf..643432b8433 100644
--- a/src/devices/bus/gba/rom.cpp
+++ b/src/devices/bus/gba/rom.cpp
@@ -301,6 +301,7 @@ uint32_t gba_rom_device::read_gpio(offs_t offset, uint32_t mem_mask)
}
if (ACCESSING_BITS_16_31)
return m_gpio_regs[1] << 16;
+ [[fallthrough]];
case 1:
if (ACCESSING_BITS_0_15)
return m_gpio_regs[2];
diff --git a/src/devices/bus/isa/3c503.cpp b/src/devices/bus/isa/3c503.cpp
index 92da79a906e..0bf96c34f53 100644
--- a/src/devices/bus/isa/3c503.cpp
+++ b/src/devices/bus/isa/3c503.cpp
@@ -245,6 +245,7 @@ void el2_3c503_device::el2_3c503_hiport_w(offs_t offset, uint8_t data) {
default:
logerror("3c503: trying to set multiple drqs %X\n", data);
}
+ break;
case 9:
if(m_regs.ctrl & 0x80) logerror("3c503: changing dma address during dma is undefined\n");
m_regs.da = (data << 8) | (m_regs.da & 0xff);
diff --git a/src/devices/bus/isa/gus.cpp b/src/devices/bus/isa/gus.cpp
index 237211047a2..6f839321e0c 100644
--- a/src/devices/bus/isa/gus.cpp
+++ b/src/devices/bus/isa/gus.cpp
@@ -502,6 +502,7 @@ uint8_t gf1_device::global_reg_data_r(offs_t offset)
m_dma_irq_handler(0);
return ret;
}
+ break;
case 0x45: // Timer control
if(offset == 1)
return m_timer_ctrl & 0x0c;
@@ -509,15 +510,18 @@ uint8_t gf1_device::global_reg_data_r(offs_t offset)
case 0x49: // Sampling control
if(offset == 1)
return m_sampling_ctrl & 0xe7;
+ break;
case 0x4c: // Reset
if(offset == 1)
return m_reset;
+ break;
case 0x80: // Voice control
/* bit 0 - 1 if voice is stopped
* bit 6 - 1 if addresses are decreasing, can change when looping is enabled
* bit 7 - 1 if Wavetable IRQ is pending */
if(offset == 1)
return m_voice[m_current_voice].voice_ctrl & 0xff;
+ break;
case 0x81: // Frequency Control
ret = m_voice[m_current_voice].freq_ctrl;
if(offset == 0)
@@ -551,12 +555,15 @@ uint8_t gf1_device::global_reg_data_r(offs_t offset)
case 0x86: // Volume Ramp rate
if(offset == 1)
return m_voice[m_current_voice].vol_ramp_rate;
+ break;
case 0x87: // Volume Ramp start (high 4 bits = exponent, low 4 bits = mantissa)
if(offset == 1)
return m_voice[m_current_voice].vol_ramp_start;
+ break;
case 0x88: // Volume Ramp end (high 4 bits = exponent, low 4 bits = mantissa)
if(offset == 1)
return m_voice[m_current_voice].vol_ramp_end;
+ break;
case 0x89: // Current Volume (high 4 bits = exponent, middle 8 bits = mantissa, low 4 bits = 0 [reserved])
ret = m_voice[m_current_voice].current_vol;
if(offset == 0)
@@ -578,15 +585,18 @@ uint8_t gf1_device::global_reg_data_r(offs_t offset)
case 0x8c: // Pan position (4 bits, 0=full left, 15=full right)
if(offset == 1)
return m_voice[m_current_voice].pan_position;
+ break;
case 0x8d: // Volume Ramp control
/* bit 0 - Ramp has stopped
* bit 6 - Ramp direction
* bit 7 - Ramp IRQ pending */
if(offset == 1)
return m_voice[m_current_voice].vol_ramp_ctrl;
+ break;
case 0x8e: // Active voices (6 bits, high 2 bits are always 1)
if(offset == 1)
return (m_active_voices - 1) | 0xc0;
+ break;
case 0x8f: // IRQ source register
if(offset == 1)
{
diff --git a/src/devices/bus/isa/mcd.cpp b/src/devices/bus/isa/mcd.cpp
index 0e184f56da4..a06e269302c 100644
--- a/src/devices/bus/isa/mcd.cpp
+++ b/src/devices/bus/isa/mcd.cpp
@@ -224,6 +224,7 @@ void mcd_isa_device::cmd_w(uint8_t data)
{
case 5:
m_readmsf = 0;
+ [[fallthrough]];
case 4:
case 3:
m_readmsf |= bcd_2_dec(data) << ((m_cmdrd_count - 3) * 8);
diff --git a/src/devices/bus/isa/myb3k_fdc.cpp b/src/devices/bus/isa/myb3k_fdc.cpp
index dcef550db51..6aab8787c6b 100644
--- a/src/devices/bus/isa/myb3k_fdc.cpp
+++ b/src/devices/bus/isa/myb3k_fdc.cpp
@@ -194,8 +194,10 @@ WRITE_LINE_MEMBER( isa8_myb3k_fdc471x_device_base::drq_w )
{
case 1:
m_isa->drq1_w(state);
+ [[fallthrough]]; // FIXME: really?
case 2:
m_isa->drq2_w(state);
+ [[fallthrough]]; // FIXME: really?
default:
break;
}
diff --git a/src/devices/bus/isa/sblaster.cpp b/src/devices/bus/isa/sblaster.cpp
index 35811671add..af7bb302511 100644
--- a/src/devices/bus/isa/sblaster.cpp
+++ b/src/devices/bus/isa/sblaster.cpp
@@ -556,6 +556,7 @@ void sb_device::process_fifo(uint8_t cmd)
{
case 0x0f: // read asp reg
queue_r(0);
+ [[fallthrough]];
case 0x0e: // write asp reg
case 0x02: // get asp version
case 0x04: // set asp mode register
diff --git a/src/devices/bus/nes/cony.cpp b/src/devices/bus/nes/cony.cpp
index e42ae833f82..922942ffa56 100644
--- a/src/devices/bus/nes/cony.cpp
+++ b/src/devices/bus/nes/cony.cpp
@@ -237,6 +237,7 @@ void nes_cony_device::write_h(offs_t offset, uint8_t data)
{
case 0x0000:
m_latch1 = 1;
+ [[fallthrough]];
case 0x3000:
case 0x30ff:
case 0x31ff:
@@ -283,6 +284,7 @@ void nes_cony_device::write_h(offs_t offset, uint8_t data)
case 0x0314:
case 0x0315:
m_latch2 = 1;
+ [[fallthrough]];
case 0x0310:
case 0x0311:
case 0x0316:
diff --git a/src/devices/bus/nes/mmc3_clones.cpp b/src/devices/bus/nes/mmc3_clones.cpp
index e58ca754186..4db056dc6f4 100644
--- a/src/devices/bus/nes/mmc3_clones.cpp
+++ b/src/devices/bus/nes/mmc3_clones.cpp
@@ -775,6 +775,7 @@ void nes_pikay2k_device::write_h(offs_t offset, uint8_t data)
case 0x2000:
m_reg[0] = 0;
+ [[fallthrough]];
default:
txrom_write(offset, data);
break;
diff --git a/src/devices/bus/nes/multigame.cpp b/src/devices/bus/nes/multigame.cpp
index c117520afe5..3a78dee027a 100644
--- a/src/devices/bus/nes/multigame.cpp
+++ b/src/devices/bus/nes/multigame.cpp
@@ -1770,6 +1770,7 @@ void nes_bmc_ball11_device::write_h(offs_t offset, uint8_t data)
{
case 0x4000: // here we also update reg[0] upper bit
m_reg[0] = (m_reg[0] & 0x01) | ((data >> 3) & 0x02);
+ [[fallthrough]];
case 0x0000:
case 0x2000:
case 0x6000:
diff --git a/src/devices/bus/nes/namcot.cpp b/src/devices/bus/nes/namcot.cpp
index 4e0951bf92a..21f49636727 100644
--- a/src/devices/bus/nes/namcot.cpp
+++ b/src/devices/bus/nes/namcot.cpp
@@ -454,10 +454,12 @@ uint8_t nes_namcot340_device::n340_loread(offs_t offset)
{
case 0x1000:
return m_irq_count & 0xff;
- set_irq_line(CLEAR_LINE);
+ set_irq_line(CLEAR_LINE); // FIXME: unreachable
+ [[fallthrough]];
case 0x1800:
return (m_irq_count >> 8) & 0xff;
- set_irq_line(CLEAR_LINE);
+ set_irq_line(CLEAR_LINE); // FIXME: unreachable
+ [[fallthrough]];
default:
return 0x00;
}
diff --git a/src/devices/bus/nes/nes_ines.hxx b/src/devices/bus/nes/nes_ines.hxx
index 6887256fc59..7cbf7cf27dc 100644
--- a/src/devices/bus/nes/nes_ines.hxx
+++ b/src/devices/bus/nes/nes_ines.hxx
@@ -372,6 +372,7 @@ void nes_cart_slot_device::call_load_ines()
case 0x8: // it's iNES 2.0 format
ines20 = true;
+ [[fallthrough]];
case 0x0:
default:
mapper |= header[7] & 0xf0;
@@ -840,6 +841,7 @@ const char * nes_cart_slot_device::get_default_card_ines(get_default_card_softwa
case 0x8: // it's iNES 2.0 format
ines20 = true;
+ [[fallthrough]];
case 0x0:
default:
mapper |= ROM[7] & 0xf0;
diff --git a/src/devices/bus/nes/pirate.cpp b/src/devices/bus/nes/pirate.cpp
index acda901ecca..13a5d61c0be 100644
--- a/src/devices/bus/nes/pirate.cpp
+++ b/src/devices/bus/nes/pirate.cpp
@@ -1204,7 +1204,7 @@ void nes_cityfight_device::write_h(offs_t offset, uint8_t data)
case 0x4008:
case 0x400c:
m_prg_mode = data & 1;
-
+ [[fallthrough]];
case 0x7000:
m_irq_count = (m_irq_count & 0x1e0) | ((data & 0x0f) << 1);
break;
diff --git a/src/devices/bus/pce/pce_rom.cpp b/src/devices/bus/pce/pce_rom.cpp
index 4522e850426..897878ad13a 100644
--- a/src/devices/bus/pce/pce_rom.cpp
+++ b/src/devices/bus/pce/pce_rom.cpp
@@ -214,6 +214,7 @@ void pce_tennokoe_device::write_cart(offs_t offset, uint8_t data)
// TODO: lock/unlock mechanism is a complete guess, needs real HW study
// (writes to ports $c0000, $d0000, $f0000)
m_bram_locked = (data == 0);
+ [[fallthrough]];
default:
logerror("tennokoe: ROM writing at %06x %02x\n",offset,data);
break;
diff --git a/src/devices/bus/sunmouse/hlemouse.cpp b/src/devices/bus/sunmouse/hlemouse.cpp
index 014176538db..e3d11558f75 100644
--- a/src/devices/bus/sunmouse/hlemouse.cpp
+++ b/src/devices/bus/sunmouse/hlemouse.cpp
@@ -229,6 +229,7 @@ void hle_device_base::tra_complete()
m_y_delta);
//break; uncommenting this causes problems with early versions of Solaris
}
+ [[fallthrough]];
case 1U:
LOG("Sent %s (B=%X->%x X=%d Y=%d) - sending X delta\n",
(1U == m_phase) ? "button state" : "Y delta",
diff --git a/src/devices/bus/vcs/dpc.cpp b/src/devices/bus/vcs/dpc.cpp
index 16fadd4dcfb..7709fe44e5a 100644
--- a/src/devices/bus/vcs/dpc.cpp
+++ b/src/devices/bus/vcs/dpc.cpp
@@ -128,6 +128,7 @@ uint8_t dpc_device::read(offs_t offset)
return m_shift_reg;
case 0x04: // Sound value, MOVAMT value AND'd with Draw Line Carry; with Draw Line Add
m_latch_62 = m_latch_64;
+ [[fallthrough]];
case 0x06: // Sound value, MOVAMT value AND'd with Draw Line Carry; without Draw Line Add
m_latch_64 = m_latch_62 + m_df[4].top;
m_dlc = (m_latch_62 + m_df[4].top > 0xff) ? 1 : 0;
diff --git a/src/devices/bus/wswan/rom.cpp b/src/devices/bus/wswan/rom.cpp
index c4c991212b6..68d4c1d0500 100644
--- a/src/devices/bus/wswan/rom.cpp
+++ b/src/devices/bus/wswan/rom.cpp
@@ -360,6 +360,7 @@ void ws_rom_sram_device::write_io(offs_t offset, uint8_t data)
{
case 0x01: // SRAM bank to select
m_nvram_base = (data * 0x10000) & (m_nvram.size() - 1);
+ [[fallthrough]];
default:
ws_rom_device::write_io(offset, data);
break;