summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2017-06-03 16:15:47 +1000
committer Vas Crabb <vas@vastheman.com>2017-06-03 16:15:47 +1000
commit30e42bb986dedb425cadc696c525e618edb94e1d (patch)
tree1422486611df3785fcc619f49ec8c703a57382c3
parent0a4ea6bfc72c2be3ea66e7dfe834d8de75e941b6 (diff)
coverity, cleanup, constructor delegation (nw)
-rw-r--r--src/devices/bus/a2bus/pc_xporter.cpp6
-rw-r--r--src/devices/machine/wd7600.cpp6
-rw-r--r--src/devices/video/cdp1861.cpp18
-rw-r--r--src/devices/video/poly.h54
-rw-r--r--src/mame/includes/ondra.h61
-rw-r--r--src/mame/includes/orbit.h53
-rw-r--r--src/mame/includes/osborne1.h22
-rw-r--r--src/mame/includes/pass.h34
-rw-r--r--src/mame/machine/bfm_bd1.cpp163
-rw-r--r--src/mame/machine/bfm_bda.cpp132
-rw-r--r--src/mame/machine/cx4fn.hxx2
-rw-r--r--src/mame/machine/ondra.cpp28
-rw-r--r--src/mame/machine/osborne1.cpp16
-rw-r--r--src/mame/machine/taitoio.cpp6
14 files changed, 291 insertions, 310 deletions
diff --git a/src/devices/bus/a2bus/pc_xporter.cpp b/src/devices/bus/a2bus/pc_xporter.cpp
index 62a8372b048..25149f4d206 100644
--- a/src/devices/bus/a2bus/pc_xporter.cpp
+++ b/src/devices/bus/a2bus/pc_xporter.cpp
@@ -121,11 +121,11 @@ MACHINE_CONFIG_MEMBER( a2bus_pcxporter_device::device_add_mconfig )
MCFG_DEVICE_DISABLE()
MCFG_DEVICE_ADD("pit8253", PIT8253, 0)
- MCFG_PIT8253_CLK0(XTAL_14_31818MHz/12) /* heartbeat IRQ */
+ MCFG_PIT8253_CLK0(XTAL_14_31818MHz/12.0) // heartbeat IRQ
MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("pic8259", pic8259_device, ir0_w))
- MCFG_PIT8253_CLK1(XTAL_14_31818MHz/12) /* dram refresh */
+ MCFG_PIT8253_CLK1(XTAL_14_31818MHz/12.0) // dram refresh
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(a2bus_pcxporter_device, pc_pit8253_out1_changed))
- MCFG_PIT8253_CLK2(XTAL_14_31818MHz/12) /* pio port c pin 4, and speaker polling enough */
+ MCFG_PIT8253_CLK2(XTAL_14_31818MHz/12.0) // pio port c pin 4, and speaker polling enough
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(a2bus_pcxporter_device, pc_pit8253_out2_changed))
MCFG_DEVICE_ADD( "dma8237", PCXPORT_DMAC, XTAL_14_31818MHz/2 )
diff --git a/src/devices/machine/wd7600.cpp b/src/devices/machine/wd7600.cpp
index 8334cf8b919..fba48197a59 100644
--- a/src/devices/machine/wd7600.cpp
+++ b/src/devices/machine/wd7600.cpp
@@ -57,11 +57,11 @@ MACHINE_CONFIG_MEMBER( wd7600_device::device_add_mconfig )
MCFG_PIC8259_ADD("intc2", DEVWRITELINE("intc1", pic8259_device, ir2_w), GND, NOOP)
MCFG_DEVICE_ADD("ctc", PIT8254, 0)
- MCFG_PIT8253_CLK0(XTAL_14_31818MHz / 12)
+ MCFG_PIT8253_CLK0(XTAL_14_31818MHz / 12.0)
MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("intc1", pic8259_device, ir0_w))
- MCFG_PIT8253_CLK1(XTAL_14_31818MHz / 12)
+ MCFG_PIT8253_CLK1(XTAL_14_31818MHz / 12.0)
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(wd7600_device, ctc_out1_w))
- MCFG_PIT8253_CLK2(XTAL_14_31818MHz / 12)
+ MCFG_PIT8253_CLK2(XTAL_14_31818MHz / 12.0)
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(wd7600_device, ctc_out2_w))
MCFG_DS12885_ADD("rtc")
diff --git a/src/devices/video/cdp1861.cpp b/src/devices/video/cdp1861.cpp
index 72a4fec46a7..0b3101d8352 100644
--- a/src/devices/video/cdp1861.cpp
+++ b/src/devices/video/cdp1861.cpp
@@ -39,15 +39,15 @@ DEFINE_DEVICE_TYPE(CDP1861, cdp1861_device, "cdp1861", "RCA CDP1861")
//-------------------------------------------------
cdp1861_device::cdp1861_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, CDP1861, tag, owner, clock),
- device_video_interface(mconfig, *this),
- m_write_irq(*this),
- m_write_dma_out(*this),
- m_write_efx(*this),
- m_disp(0),
- m_dispon(0),
- m_dispoff(0),
- m_dmaout(CLEAR_LINE)
+ : device_t(mconfig, CDP1861, tag, owner, clock)
+ , device_video_interface(mconfig, *this)
+ , m_write_irq(*this)
+ , m_write_dma_out(*this)
+ , m_write_efx(*this)
+ , m_disp(0)
+ , m_dispon(0), m_dispoff(0)
+ , m_dmaout(CLEAR_LINE)
+ , m_int_timer(nullptr), m_efx_timer(nullptr), m_dma_timer(nullptr)
{
}
diff --git a/src/devices/video/poly.h b/src/devices/video/poly.h
index 2c88c29a47f..3f1053e65c6 100644
--- a/src/devices/video/poly.h
+++ b/src/devices/video/poly.h
@@ -124,6 +124,8 @@ public:
int zclip_if_less(int numverts, const vertex_t *v, vertex_t *outv, int paramcount, _BaseType clipval);
private:
+ poly_manager(running_machine &machine, screen_device *screen, uint8_t flags);
+
// turn this on to log the reasons for any long waits
static constexpr bool POLY_LOG_WAITS = false;
@@ -263,7 +265,7 @@ private:
unit_array m_unit; // array of work units
// misc data
- uint8_t m_flags; // flags
+ uint8_t const m_flags; // flags
// buckets
uint16_t m_unit_bucket[TOTAL_BUCKETS]; // buckets for tracking unit usage
@@ -286,43 +288,31 @@ private:
template<typename _BaseType, class _ObjectData, int _MaxParams, int _MaxPolys>
poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::poly_manager(running_machine &machine, uint8_t flags)
- : m_machine(machine),
- m_screen(nullptr),
- m_queue(nullptr),
- m_polygon(machine, *this),
- m_object(machine, *this),
- m_unit(machine, *this),
- m_flags(flags),
- m_triangles(0),
- m_quads(0),
- m_pixels(0)
+ : poly_manager(machine, nullptr, flags)
{
-#if KEEP_POLY_STATISTICS
- memset(m_conflicts, 0, sizeof(m_conflicts));
- memset(m_resolved, 0, sizeof(m_resolved));
-#endif
+}
- // create the work queue
- if (!(flags & FLAG_NO_WORK_QUEUE))
- m_queue = osd_work_queue_alloc(WORK_QUEUE_FLAG_MULTI | WORK_QUEUE_FLAG_HIGH_FREQ);
- // request a pre-save callback for synchronization
- machine.save().register_presave(save_prepost_delegate(FUNC(poly_manager::presave), this));
+template<typename _BaseType, class _ObjectData, int _MaxParams, int _MaxPolys>
+poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::poly_manager(screen_device &screen, uint8_t flags)
+ : poly_manager(screen.machine(), &screen, flags)
+{
}
template<typename _BaseType, class _ObjectData, int _MaxParams, int _MaxPolys>
-poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::poly_manager(screen_device &screen, uint8_t flags)
- : m_machine(screen.machine()),
- m_screen(&screen),
- m_queue(nullptr),
- m_polygon(screen.machine(), *this),
- m_object(screen.machine(), *this),
- m_unit(screen.machine(), *this),
- m_flags(flags),
- m_triangles(0),
- m_quads(0),
- m_pixels(0)
+poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::poly_manager(running_machine &machine, screen_device *screen, uint8_t flags)
+ : m_machine(machine)
+ , m_screen(screen)
+ , m_queue(nullptr)
+ , m_polygon(machine, *this)
+ , m_object(machine, *this)
+ , m_unit(machine, *this)
+ , m_flags(flags)
+ , m_tiles(0)
+ , m_triangles(0)
+ , m_quads(0)
+ , m_pixels(0)
{
#if KEEP_POLY_STATISTICS
memset(m_conflicts, 0, sizeof(m_conflicts));
@@ -334,7 +324,7 @@ poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::poly_manager(screen
m_queue = osd_work_queue_alloc(WORK_QUEUE_FLAG_MULTI | WORK_QUEUE_FLAG_HIGH_FREQ);
// request a pre-save callback for synchronization
- machine().save().register_presave(save_prepost_delegate(FUNC(poly_manager::presave), this));
+ machine.save().register_presave(save_prepost_delegate(FUNC(poly_manager::presave), this));
}
diff --git a/src/mame/includes/ondra.h b/src/mame/includes/ondra.h
index 979faa54010..a7017bee9f2 100644
--- a/src/mame/includes/ondra.h
+++ b/src/mame/includes/ondra.h
@@ -5,9 +5,10 @@
* includes/ondra.h
*
****************************************************************************/
+#ifndef MAME_INCLUDES_ONDRA_H
+#define MAME_INCLUDES_ONDRA_H
-#ifndef ONDRA_H_
-#define ONDRA_H_
+#pragma once
#include "imagedev/cassette.h"
#include "machine/ram.h"
@@ -15,8 +16,12 @@
class ondra_state : public driver_device
{
public:
- ondra_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
+ ondra_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
+ m_video_enable(0),
+ m_bank1_status(0),
+ m_bank2_status(0),
+ m_nmi_check_timer(nullptr),
m_maincpu(*this, "maincpu"),
m_cassette(*this, "cassette"),
m_ram(*this, RAM_TAG),
@@ -24,34 +29,31 @@ public:
m_bank1(*this, "bank1"),
m_bank2(*this, "bank2"),
m_bank3(*this, "bank3"),
- m_line0(*this, "LINE0"),
- m_line1(*this, "LINE1"),
- m_line2(*this, "LINE2"),
- m_line3(*this, "LINE3"),
- m_line4(*this, "LINE4"),
- m_line5(*this, "LINE5"),
- m_line6(*this, "LINE6"),
- m_line7(*this, "LINE7"),
- m_line8(*this, "LINE8"),
- m_line9(*this, "LINE9"),
- m_nmi(*this, "NMI") { }
+ m_lines(*this, "LINE%u", 0),
+ m_nmi(*this, "NMI")
+ {
+ }
- uint8_t m_video_enable;
- uint8_t m_bank1_status;
- uint8_t m_bank2_status;
- emu_timer *m_nmi_check_timer;
DECLARE_READ8_MEMBER(ondra_keyboard_r);
DECLARE_WRITE8_MEMBER(ondra_port_03_w);
DECLARE_WRITE8_MEMBER(ondra_port_09_w);
DECLARE_WRITE8_MEMBER(ondra_port_0a_w);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
uint32_t screen_update_ondra(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(ondra_interrupt);
TIMER_CALLBACK_MEMBER(nmi_check_callback);
protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
+ void ondra_update_banks();
+
+ uint8_t m_video_enable;
+ uint8_t m_bank1_status;
+ uint8_t m_bank2_status;
+ emu_timer *m_nmi_check_timer;
+
required_device<cpu_device> m_maincpu;
required_device<cassette_image_device> m_cassette;
required_device<ram_device> m_ram;
@@ -59,19 +61,8 @@ protected:
required_memory_bank m_bank1;
required_memory_bank m_bank2;
required_memory_bank m_bank3;
- required_ioport m_line0;
- required_ioport m_line1;
- required_ioport m_line2;
- required_ioport m_line3;
- required_ioport m_line4;
- required_ioport m_line5;
- required_ioport m_line6;
- required_ioport m_line7;
- required_ioport m_line8;
- required_ioport m_line9;
+ required_ioport<10> m_lines;
required_ioport m_nmi;
-
- void ondra_update_banks();
};
-#endif
+#endif // MAME_INCLUDES_ONDRA_H
diff --git a/src/mame/includes/orbit.h b/src/mame/includes/orbit.h
index 5e4b9457637..470a40ee9c0 100644
--- a/src/mame/includes/orbit.h
+++ b/src/mame/includes/orbit.h
@@ -5,6 +5,10 @@
Atari Orbit hardware
*************************************************************************/
+#ifndef MAME_INCLUDES_ORBIT_H
+#define MAME_INCLUDES_ORBIT_H
+
+#pragma once
#include "sound/discrete.h"
#include "screen.h"
@@ -21,15 +25,39 @@
class orbit_state : public driver_device
{
public:
- orbit_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
+ orbit_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
m_playfield_ram(*this, "playfield_ram"),
m_sprite_ram(*this, "sprite_ram"),
m_discrete(*this, "discrete"),
+ m_bg_tilemap(nullptr),
+ m_flip_screen(0),
+ m_misc_flags(0),
m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"),
- m_palette(*this, "palette") { }
+ m_palette(*this, "palette")
+ { }
+
+ DECLARE_WRITE8_MEMBER(orbit_misc_w);
+ DECLARE_WRITE8_MEMBER(orbit_playfield_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
+ uint32_t screen_update_orbit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ INTERRUPT_GEN_MEMBER(orbit_interrupt);
+ TIMER_CALLBACK_MEMBER(irq_off);
+ TIMER_DEVICE_CALLBACK_MEMBER(nmi_32v);
+ DECLARE_WRITE8_MEMBER(orbit_note_w);
+ DECLARE_WRITE8_MEMBER(orbit_note_amp_w);
+ DECLARE_WRITE8_MEMBER(orbit_noise_amp_w);
+ DECLARE_WRITE8_MEMBER(orbit_noise_rst_w);
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
+ void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
+ void update_misc_flags(address_space &space, uint8_t val);
/* memory pointers */
required_shared_ptr<uint8_t> m_playfield_ram;
@@ -49,24 +77,9 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
-
- DECLARE_WRITE8_MEMBER(orbit_misc_w);
- DECLARE_WRITE8_MEMBER(orbit_playfield_w);
- TILE_GET_INFO_MEMBER(get_tile_info);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
- uint32_t screen_update_orbit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- INTERRUPT_GEN_MEMBER(orbit_interrupt);
- TIMER_CALLBACK_MEMBER(irq_off);
- TIMER_DEVICE_CALLBACK_MEMBER(nmi_32v);
- DECLARE_WRITE8_MEMBER(orbit_note_w);
- DECLARE_WRITE8_MEMBER(orbit_note_amp_w);
- DECLARE_WRITE8_MEMBER(orbit_noise_amp_w);
- DECLARE_WRITE8_MEMBER(orbit_noise_rst_w);
- void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
- void update_misc_flags(address_space &space, uint8_t val);
};
/*----------- defined in audio/orbit.c -----------*/
DISCRETE_SOUND_EXTERN( orbit );
+
+#endif // MAME_INCLUDES_ORBIT_H
diff --git a/src/mame/includes/osborne1.h b/src/mame/includes/osborne1.h
index f2cc2fea32f..e7d481a2b9c 100644
--- a/src/mame/includes/osborne1.h
+++ b/src/mame/includes/osborne1.h
@@ -47,14 +47,7 @@ public:
m_ieee(*this, IEEE488_TAG),
m_floppy0(*this, "mb8877:0"),
m_floppy1(*this, "mb8877:1"),
- m_keyb_row0(*this, "ROW0"),
- m_keyb_row1(*this, "ROW1"),
- m_keyb_row2(*this, "ROW2"),
- m_keyb_row3(*this, "ROW3"),
- m_keyb_row4(*this, "ROW4"),
- m_keyb_row5(*this, "ROW5"),
- m_keyb_row6(*this, "ROW6"),
- m_keyb_row7(*this, "ROW7"),
+ m_keyb_row(*this, "ROW%u", 0),
m_btn_reset(*this, "RESET"),
m_cnf(*this, "CNF"),
m_region_maincpu(*this, "maincpu"),
@@ -120,18 +113,11 @@ protected:
void update_acia_rxc_txc();
// user inputs
- required_ioport m_keyb_row0;
- required_ioport m_keyb_row1;
- required_ioport m_keyb_row2;
- required_ioport m_keyb_row3;
- required_ioport m_keyb_row4;
- required_ioport m_keyb_row5;
- required_ioport m_keyb_row6;
- required_ioport m_keyb_row7;
- required_ioport m_btn_reset;
+ required_ioport_array<8> m_keyb_row;
+ required_ioport m_btn_reset;
// fake inputs for hardware configuration and things that need rewiring
- required_ioport m_cnf;
+ required_ioport m_cnf;
// pieces of memory
required_memory_region m_region_maincpu;
diff --git a/src/mame/includes/pass.h b/src/mame/includes/pass.h
index 4ba284f63de..b6bd358935b 100644
--- a/src/mame/includes/pass.h
+++ b/src/mame/includes/pass.h
@@ -1,26 +1,42 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
+#ifndef MAME_INCLUDES_PASS_H
+#define MAME_INCLUDES_PASS_H
+
+#pragma once
+
class pass_state : public driver_device
{
public:
- pass_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
+ pass_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
+ m_bg_tilemap(nullptr),
+ m_fg_tilemap(nullptr),
m_bg_videoram(*this, "bg_videoram"),
m_fg_videoram(*this, "fg_videoram"),
m_maincpu(*this, "maincpu"),
- m_gfxdecode(*this, "gfxdecode") { }
-
- tilemap_t *m_bg_tilemap;
- tilemap_t *m_fg_tilemap;
+ m_gfxdecode(*this, "gfxdecode")
+ {
+ }
- required_shared_ptr<uint16_t> m_bg_videoram;
- required_shared_ptr<uint16_t> m_fg_videoram;
DECLARE_WRITE16_MEMBER(pass_bg_videoram_w);
DECLARE_WRITE16_MEMBER(pass_fg_videoram_w);
TILE_GET_INFO_MEMBER(get_pass_bg_tile_info);
TILE_GET_INFO_MEMBER(get_pass_fg_tile_info);
- virtual void video_start() override;
+
uint32_t screen_update_pass(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+protected:
+ virtual void video_start() override;
+
+private:
+ tilemap_t *m_bg_tilemap;
+ tilemap_t *m_fg_tilemap;
+
+ required_shared_ptr<uint16_t> m_bg_videoram;
+ required_shared_ptr<uint16_t> m_fg_videoram;
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
};
+
+#endif // MAME_INCLUDES_PASS_H
diff --git a/src/mame/machine/bfm_bd1.cpp b/src/mame/machine/bfm_bd1.cpp
index affed8679d3..b9abdaa0deb 100644
--- a/src/mame/machine/bfm_bd1.cpp
+++ b/src/mame/machine/bfm_bd1.cpp
@@ -192,16 +192,14 @@ void bfm_bd1_device::blank(int data)
{
switch ( data & 0x03 )
{
- case 0x00: //blank all
+ case 0x00: //blank all
+ for (int i = 0; i < 15; i++)
{
- for (int i = 0; i < 15; i++)
- {
- m_attrs[i] = AT_BLANK;
- }
+ m_attrs[i] = AT_BLANK;
}
-
break;
- case 0x01: // blank inside window
+
+ case 0x01: // blank inside window
if ( m_window_size > 0 )
{
for (int i = m_window_start; i < m_window_end ; i++)
@@ -210,7 +208,8 @@ void bfm_bd1_device::blank(int data)
}
}
break;
- case 0x02: // blank outside window
+
+ case 0x02: // blank outside window
if ( m_window_size > 0 )
{
if ( m_window_start > 0 )
@@ -230,12 +229,11 @@ void bfm_bd1_device::blank(int data)
}
}
break;
- case 0x03: // clear blanking
+
+ case 0x03: // clear blanking
+ for (int i = 0; i < 15; i++)
{
- for (int i = 0; i < 15; i++)
- {
- m_attrs[i] = 0;
- }
+ m_attrs[i] = 0;
}
break;
}
@@ -275,13 +273,11 @@ int bfm_bd1_device::write_char(int data)
{
switch ( data & 0xF0 )
{
- case 0x80: // 0x80 - 0x8F Set display blanking
- {
- blank(data&0x03);//use the blanking data
- }
+ case 0x80: // 0x80 - 0x8F Set display blanking
+ blank(data&0x03);//use the blanking data
break;
- case 0x90: // 0x90 - 0x9F Set cursor pos
+ case 0x90: // 0x90 - 0x9F Set cursor pos
m_cursor_pos = data & 0x0F;
m_scroll_active = 0;
if ( m_display_mode == 2 )
@@ -290,18 +286,18 @@ int bfm_bd1_device::write_char(int data)
}
break;
- case 0xA0: // 0xA0 - 0xAF Set display mode
+ case 0xA0: // 0xA0 - 0xAF Set display mode
m_display_mode = data &0x03;
break;
- case 0xB0: // 0xB0 - 0xBF Clear display area
+ case 0xB0: // 0xB0 - 0xBF Clear display area
switch ( data & 0x03 )
{
- case 0x00: // clr nothing
+ case 0x00: // clr nothing
break;
- case 0x01: // clr inside window
+ case 0x01: // clr inside window
if ( m_window_size > 0 )
{
memset(m_chars+m_window_start,0,m_window_size);
@@ -310,7 +306,7 @@ int bfm_bd1_device::write_char(int data)
break;
- case 0x02: // clr outside window
+ case 0x02: // clr outside window
if ( m_window_size > 0 )
{
if ( m_window_start > 0 )
@@ -331,28 +327,28 @@ int bfm_bd1_device::write_char(int data)
}
}
}
- case 0x03: // clr entire display
- {
- memset(m_chars, 0, sizeof(m_chars));
- memset(m_attrs, 0, sizeof(m_attrs));
- }
+ break;
+
+ case 0x03: // clr entire display
+ memset(m_chars, 0, sizeof(m_chars));
+ memset(m_attrs, 0, sizeof(m_attrs));
}
break;
- case 0xC0: // 0xC0 - 0xCF Set flash rate
+ case 0xC0: // 0xC0 - 0xCF Set flash rate
m_flash_rate = data & 0x0F;
break;
- case 0xD0: // 0xD0 - 0xDF Set Flash control
+ case 0xD0: // 0xD0 - 0xDF Set Flash control
m_flash_control = data & 0x03;
break;
- case 0xE0: // 0xE0 - 0xEF Set window start pos
+ case 0xE0: // 0xE0 - 0xEF Set window start pos
m_window_start = data &0x0F;
m_window_size = (m_window_end - m_window_start)+1;
break;
- case 0xF0: // 0xF0 - 0xFF Set window end pos
+ case 0xF0: // 0xF0 - 0xFF Set window end pos
m_window_end = data &0x0F;
m_window_size = (m_window_end - m_window_start)+1;
m_scroll_active = 0;
@@ -380,7 +376,7 @@ void bfm_bd1_device::setdata(int segdata, int data)
int change =0;
switch ( data )
{
- case 0x25: // flash
+ case 0x25: // flash
if(m_chars[m_pcursor_pos] & (1<<8))
{
move++;
@@ -391,12 +387,11 @@ void bfm_bd1_device::setdata(int segdata, int data)
}
break;
- case 0x26: // undefined
+ case 0x26: // undefined
break;
- case 0x2C: // semicolon
- case 0x2E: // decimal point
-
+ case 0x2C: // semicolon
+ case 0x2E: // decimal point
if( m_chars[m_pcursor_pos] & (1<<12))
{
move++;
@@ -407,15 +402,15 @@ void bfm_bd1_device::setdata(int segdata, int data)
}
break;
- case 0x3B: // dummy char
+ case 0x3B: // dummy char
move++;
break;
- case 0x3A:
+ case 0x3A:
m_user_def = 2;
break;
- default:
+ default:
move++;
change++;
}
@@ -435,70 +430,66 @@ void bfm_bd1_device::setdata(int segdata, int data)
switch ( mode )
{
case 0: // rotate left
+ m_cursor_pos &= 0x0F;
- m_cursor_pos &= 0x0F;
-
- if ( change )
- {
- m_chars[m_cursor_pos] = segdata;
- }
- m_cursor_pos++;
- if ( m_cursor_pos >= 16 ) m_cursor_pos = 0;
- break;
+ if ( change )
+ {
+ m_chars[m_cursor_pos] = segdata;
+ }
+ m_cursor_pos++;
+ if ( m_cursor_pos >= 16 ) m_cursor_pos = 0;
+ break;
case 1: // Rotate right
+ m_cursor_pos &= 0x0F;
- m_cursor_pos &= 0x0F;
-
- if ( change )
- {
- m_chars[m_cursor_pos] = segdata;
- }
- m_cursor_pos--;
- if ( m_cursor_pos < 0 ) m_cursor_pos = 15;
- break;
-
- case 2: // Scroll left
-
- if ( m_cursor_pos < m_window_end )
- {
- m_scroll_active = 0;
if ( change )
{
m_chars[m_cursor_pos] = segdata;
}
- m_cursor_pos++;
- }
- else
- {
- if ( move )
+ m_cursor_pos--;
+ if ( m_cursor_pos < 0 ) m_cursor_pos = 15;
+ break;
+
+ case 2: // Scroll left
+ if ( m_cursor_pos < m_window_end )
{
- if ( m_scroll_active )
+ m_scroll_active = 0;
+ if ( change )
{
- int i = m_window_start;
- while ( i < m_window_end )
- {
- m_chars[i] = m_chars[i+1];
- i++;
- }
+ m_chars[m_cursor_pos] = segdata;
}
- else m_scroll_active = 1;
- }
-
- if ( change )
- {
- m_chars[m_window_end] = segdata;
+ m_cursor_pos++;
}
else
{
- m_chars[m_window_end] = 0;
+ if ( move )
+ {
+ if ( m_scroll_active )
+ {
+ int i = m_window_start;
+ while ( i < m_window_end )
+ {
+ m_chars[i] = m_chars[i+1];
+ i++;
+ }
+ }
+ else m_scroll_active = 1;
+ }
+
+ if ( change )
+ {
+ m_chars[m_window_end] = segdata;
+ }
+ else
+ {
+ m_chars[m_window_end] = 0;
+ }
}
- }
- break;
+ break;
case 3: // Scroll right
-
if ( m_cursor_pos > m_window_start )
{
if ( change )
diff --git a/src/mame/machine/bfm_bda.cpp b/src/mame/machine/bfm_bda.cpp
index fc345c94215..263db3a7a0c 100644
--- a/src/mame/machine/bfm_bda.cpp
+++ b/src/mame/machine/bfm_bda.cpp
@@ -177,7 +177,7 @@ void bfm_bda_device::blank(int data)
{
switch ( data & 0x03 ) // TODO: wrong case values???
{
- case 0x00: // clear blanking
+ case 0x00: // clear blanking
{
for (int i = 0; i < 15; i++)
{
@@ -185,7 +185,7 @@ void bfm_bda_device::blank(int data)
}
}
break;
- case 0x01: // blank inside window
+ case 0x01: // blank inside window
if ( m_window_size > 0 )
{
for (int i = m_window_start; i < m_window_end ; i++)
@@ -194,7 +194,7 @@ void bfm_bda_device::blank(int data)
}
}
break;
- case 0x02: // blank outside window
+ case 0x02: // blank outside window
if ( m_window_size > 0 )
{
if ( m_window_start > 0 )
@@ -215,7 +215,7 @@ void bfm_bda_device::blank(int data)
}
break;
- case 0x03: //blank all
+ case 0x03: //blank all
{
for (int i = 0; i < 15; i++)
{
@@ -276,7 +276,7 @@ int bfm_bda_device::write_char(int data)
{
switch ( data & 0xF0 )
{
- case 0x80: // 0x80 - 0x8F Set display blanking
+ case 0x80: // 0x80 - 0x8F Set display blanking
if (data==0x84)// futaba setup
{
m_blank_flag = 1;
@@ -288,7 +288,7 @@ int bfm_bda_device::write_char(int data)
}
break;
- case 0x90: // 0x90 - 0x9F Set cursor pos
+ case 0x90: // 0x90 - 0x9F Set cursor pos
m_cursor_pos = data & 0x0F;
m_scroll_active = 0;
if ( m_display_mode == 2 )
@@ -297,18 +297,18 @@ int bfm_bda_device::write_char(int data)
}
break;
- case 0xA0: // 0xA0 - 0xAF Set display mode
+ case 0xA0: // 0xA0 - 0xAF Set display mode
m_display_mode = data &0x03;
break;
- case 0xB0: // 0xB0 - 0xBF Clear display area
+ case 0xB0: // 0xB0 - 0xBF Clear display area
switch ( data & 0x03 )
{
- case 0x00: // clr nothing
+ case 0x00: // clr nothing
break;
- case 0x01: // clr inside window
+ case 0x01: // clr inside window
if ( m_window_size > 0 )
{
memset(m_chars+m_window_start,0,m_window_size);
@@ -317,7 +317,7 @@ int bfm_bda_device::write_char(int data)
break;
- case 0x02: // clr outside window
+ case 0x02: // clr outside window
if ( m_window_size > 0 )
{
if ( m_window_start > 0 )
@@ -338,7 +338,9 @@ int bfm_bda_device::write_char(int data)
}
}
}
- case 0x03: // clr entire display
+ break;
+
+ case 0x03: // clr entire display
{
memset(m_chars, 0, sizeof(m_chars));
memset(m_attrs, 0, sizeof(m_attrs));
@@ -346,20 +348,20 @@ int bfm_bda_device::write_char(int data)
}
break;
- case 0xC0: // 0xC0 - 0xCF Set flash rate
+ case 0xC0: // 0xC0 - 0xCF Set flash rate
m_flash_rate = data & 0x0F;
break;
- case 0xD0: // 0xD0 - 0xDF Set Flash control
+ case 0xD0: // 0xD0 - 0xDF Set Flash control
m_flash_control = data & 0x03;
break;
- case 0xE0: // 0xE0 - 0xEF Set window start pos
+ case 0xE0: // 0xE0 - 0xEF Set window start pos
m_window_start = data &0x0F;
m_window_size = (m_window_end - m_window_start)+1;
break;
- case 0xF0: // 0xF0 - 0xFF Set window end pos
+ case 0xF0: // 0xF0 - 0xFF Set window end pos
m_window_end = data &0x0F;
m_window_size = (m_window_end - m_window_start)+1;
m_scroll_active = 0;
@@ -387,7 +389,7 @@ void bfm_bda_device::setdata(int segdata, int data)
int change =0;
switch ( data )
{
- case 0x25: // flash
+ case 0x25: // flash
if(m_chars[m_pcursor_pos] & (1<<8))
{
move++;
@@ -398,11 +400,11 @@ void bfm_bda_device::setdata(int segdata, int data)
}
break;
- case 0x26: // undefined
+ case 0x26: // undefined
break;
- case 0x2C: // semicolon
- case 0x2E: // decimal point
+ case 0x2C: // semicolon
+ case 0x2E: // decimal point
if( m_chars[m_pcursor_pos] & (1<<12))
{
@@ -414,15 +416,15 @@ void bfm_bda_device::setdata(int segdata, int data)
}
break;
- case 0x3B: // dummy char
+ case 0x3B: // dummy char
move++;
break;
- case 0x3A:
+ case 0x3A:
m_user_def = 2;
break;
- default:
+ default:
move++;
change++;
}
@@ -443,66 +445,66 @@ void bfm_bda_device::setdata(int segdata, int data)
{
case 0: // rotate left
- m_cursor_pos &= 0x0F;
+ m_cursor_pos &= 0x0F;
- if ( change )
- {
- m_chars[m_cursor_pos] = segdata;
- }
- m_cursor_pos++;
- if ( m_cursor_pos >= 16 ) m_cursor_pos = 0;
- break;
+ if ( change )
+ {
+ m_chars[m_cursor_pos] = segdata;
+ }
+ m_cursor_pos++;
+ if ( m_cursor_pos >= 16 ) m_cursor_pos = 0;
+ break;
case 1: // Rotate right
- m_cursor_pos &= 0x0F;
+ m_cursor_pos &= 0x0F;
- if ( change )
- {
- m_chars[m_cursor_pos] = segdata;
- }
- m_cursor_pos--;
- if ( m_cursor_pos < 0 ) m_cursor_pos = 15;
- break;
+ if ( change )
+ {
+ m_chars[m_cursor_pos] = segdata;
+ }
+ m_cursor_pos--;
+ if ( m_cursor_pos < 0 ) m_cursor_pos = 15;
+ break;
case 2: // Scroll left
- if ( m_cursor_pos < m_window_end )
- {
- m_scroll_active = 0;
- if ( change )
+ if ( m_cursor_pos < m_window_end )
{
- m_chars[m_cursor_pos] = segdata;
+ m_scroll_active = 0;
+ if ( change )
+ {
+ m_chars[m_cursor_pos] = segdata;
+ }
+ m_cursor_pos++;
}
- m_cursor_pos++;
- }
- else
- {
- if ( move )
+ else
{
- if ( m_scroll_active )
+ if ( move )
{
- int i = m_window_start;
- while ( i < m_window_end )
+ if ( m_scroll_active )
{
- m_chars[i] = m_chars[i+1];
- i++;
+ int i = m_window_start;
+ while ( i < m_window_end )
+ {
+ m_chars[i] = m_chars[i+1];
+ i++;
+ }
}
+ else m_scroll_active = 1;
}
- else m_scroll_active = 1;
- }
- if ( change )
- {
- m_chars[m_window_end] = segdata;
- }
- else
- {
- m_chars[m_window_end] = 0;
+ if ( change )
+ {
+ m_chars[m_window_end] = segdata;
+ }
+ else
+ {
+ m_chars[m_window_end] = 0;
+ }
}
- }
- break;
+ break;
case 3: // Scroll right
diff --git a/src/mame/machine/cx4fn.hxx b/src/mame/machine/cx4fn.hxx
index 37c1e4b1967..5021590740c 100644
--- a/src/mame/machine/cx4fn.hxx
+++ b/src/mame/machine/cx4fn.hxx
@@ -270,7 +270,7 @@ static void CX4_C4DoScaleRotate(int row_padding)
}
//Clear the output RAM
- memset(cx4.ram, 0, (w + row_padding / 4) * h / 2);
+ memset(cx4.ram, 0, (w + row_padding / 4) * unsigned(h) / 2);
//Calculate start position (i.e. (Ox, Oy) = (0, 0))
//The low 12 bits are fractional, so (Cx<<12) gives us the Cx we want in
diff --git a/src/mame/machine/ondra.cpp b/src/mame/machine/ondra.cpp
index f4c17f16944..869cac13c11 100644
--- a/src/mame/machine/ondra.cpp
+++ b/src/mame/machine/ondra.cpp
@@ -10,33 +10,23 @@
#include "emu.h"
-#include "cpu/z80/z80.h"
#include "includes/ondra.h"
+#include "cpu/z80/z80.h"
+
READ8_MEMBER(ondra_state::ondra_keyboard_r)
{
uint8_t retVal = 0x00;
- double valcas = m_cassette->input();
- if ( valcas < 0.00) {
- retVal = 0x80;
- }
+ double const valcas = m_cassette->input();
+ if (valcas < 0.00)
+ retVal |= 0x80;
- switch ( offset & 0x0f )
- {
- case 0: retVal |= m_line0->read(); break;
- case 1: retVal |= m_line1->read(); break;
- case 2: retVal |= m_line2->read(); break;
- case 3: retVal |= m_line3->read(); break;
- case 4: retVal |= m_line4->read(); break;
- case 5: retVal |= m_line5->read(); break;
- case 6: retVal |= m_line6->read(); break;
- case 7: retVal |= m_line7->read(); break;
- case 8: retVal |= m_line8->read(); break;
- case 9: retVal |= m_line9->read(); break;
- default: retVal |= 0x1f; break;
- }
+ if ((offset & 0x0f) < m_lines.size())
+ retVal |= m_lines[offset & 0x0f]->read();
+ else
+ retVal |= 0x1f;
return retVal;
}
diff --git a/src/mame/machine/osborne1.cpp b/src/mame/machine/osborne1.cpp
index cd2dedb44b8..8089622808e 100644
--- a/src/mame/machine/osborne1.cpp
+++ b/src/mame/machine/osborne1.cpp
@@ -42,14 +42,14 @@ READ8_MEMBER( osborne1_state::bank_2xxx_3xxx_r )
data &= m_pia0->read(space, offset & 0x03);
if ((offset & 0xA00) == 0x200) // Keyboard
{
- if (offset & 0x01) data &= m_keyb_row0->read();
- if (offset & 0x02) data &= m_keyb_row1->read();
- if (offset & 0x04) data &= m_keyb_row3->read();
- if (offset & 0x08) data &= m_keyb_row4->read();
- if (offset & 0x10) data &= m_keyb_row5->read();
- if (offset & 0x20) data &= m_keyb_row2->read();
- if (offset & 0x40) data &= m_keyb_row6->read();
- if (offset & 0x80) data &= m_keyb_row7->read();
+ if (offset & 0x01) data &= m_keyb_row[0]->read();
+ if (offset & 0x02) data &= m_keyb_row[1]->read();
+ if (offset & 0x04) data &= m_keyb_row[3]->read();
+ if (offset & 0x08) data &= m_keyb_row[4]->read();
+ if (offset & 0x10) data &= m_keyb_row[5]->read();
+ if (offset & 0x20) data &= m_keyb_row[2]->read();
+ if (offset & 0x40) data &= m_keyb_row[6]->read();
+ if (offset & 0x80) data &= m_keyb_row[7]->read();
}
if ((offset & 0xA00) == 0xA00) // Serial
{
diff --git a/src/mame/machine/taitoio.cpp b/src/mame/machine/taitoio.cpp
index e8be240319d..823231d2ffc 100644
--- a/src/mame/machine/taitoio.cpp
+++ b/src/mame/machine/taitoio.cpp
@@ -56,8 +56,10 @@ Newer version of the I/O chip ?
DEFINE_DEVICE_TYPE(TC0220IOC, tc0220ioc_device, "tc0220ioc", "Taito TC0220IOC")
-tc0220ioc_device::tc0220ioc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, TC0220IOC, tag, owner, clock),
+tc0220ioc_device::tc0220ioc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, TC0220IOC, tag, owner, clock),
+ m_port(0),
+ m_regs{ 0, 0, 0, 0, 0, 0, 0, 0 },
m_watchdog(*this, "watchdog"),
m_read_0_cb(*this),
m_read_1_cb(*this),