diff options
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 |
commit | 30e42bb986dedb425cadc696c525e618edb94e1d (patch) | |
tree | 1422486611df3785fcc619f49ec8c703a57382c3 | |
parent | 0a4ea6bfc72c2be3ea66e7dfe834d8de75e941b6 (diff) |
coverity, cleanup, constructor delegation (nw)
-rw-r--r-- | src/devices/bus/a2bus/pc_xporter.cpp | 6 | ||||
-rw-r--r-- | src/devices/machine/wd7600.cpp | 6 | ||||
-rw-r--r-- | src/devices/video/cdp1861.cpp | 18 | ||||
-rw-r--r-- | src/devices/video/poly.h | 54 | ||||
-rw-r--r-- | src/mame/includes/ondra.h | 61 | ||||
-rw-r--r-- | src/mame/includes/orbit.h | 53 | ||||
-rw-r--r-- | src/mame/includes/osborne1.h | 22 | ||||
-rw-r--r-- | src/mame/includes/pass.h | 34 | ||||
-rw-r--r-- | src/mame/machine/bfm_bd1.cpp | 163 | ||||
-rw-r--r-- | src/mame/machine/bfm_bda.cpp | 132 | ||||
-rw-r--r-- | src/mame/machine/cx4fn.hxx | 2 | ||||
-rw-r--r-- | src/mame/machine/ondra.cpp | 28 | ||||
-rw-r--r-- | src/mame/machine/osborne1.cpp | 16 | ||||
-rw-r--r-- | src/mame/machine/taitoio.cpp | 6 |
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), |