From 442d2d6e01b69f4e196a91fff75cfdf9da8740dc Mon Sep 17 00:00:00 2001 From: AJR Date: Wed, 28 Mar 2018 12:16:00 -0400 Subject: bfm_adr2.cpp: General cleanup of sorts (nw) --- src/mame/video/bfm_adr2.cpp | 108 ++++++++++++++++++++++---------------------- src/mame/video/bfm_adr2.h | 24 +++++----- 2 files changed, 67 insertions(+), 65 deletions(-) diff --git a/src/mame/video/bfm_adr2.cpp b/src/mame/video/bfm_adr2.cpp index 9bec6c38db9..609998f3cec 100644 --- a/src/mame/video/bfm_adr2.cpp +++ b/src/mame/video/bfm_adr2.cpp @@ -158,8 +158,8 @@ TILE_GET_INFO_MEMBER( bfm_adder2_device::get_tile0_info ) tile_index = y * 128 + (x * 2); - data = m_adder_screen_ram[0][tile_index ]<<8; - data |= m_adder_screen_ram[0][tile_index + 1]; + data = m_screen_ram[0][tile_index ]<<8; + data |= m_screen_ram[0][tile_index + 1]; code = data & 0x1FFF; color = 0; @@ -181,8 +181,8 @@ TILE_GET_INFO_MEMBER( bfm_adder2_device::get_tile1_info ) tile_index = y * 128 + (x * 2); - data = m_adder_screen_ram[1][tile_index ]<<8; - data |= m_adder_screen_ram[1][tile_index + 1]; + data = m_screen_ram[1][tile_index ]<<8; + data |= m_screen_ram[1][tile_index + 1]; code = data & 0x1FFF; color = 0; @@ -196,13 +196,13 @@ TILE_GET_INFO_MEMBER( bfm_adder2_device::get_tile1_info ) void bfm_adder2_device::device_reset() { - m_adder2_screen_page_reg = 0; - m_adder2_c101 = 0; - m_adder2_rx = 0; - m_adder_vbl_triggered = 0; - m_adder2_acia_triggered = 0; - m_adder2_data_from_sc2 = 0; - m_adder2_data_to_sc2 = 0; + m_screen_page_reg = 0; + m_c101 = 0; + m_rx = 0; + m_vbl_triggered = false; + m_acia_triggered = false; + m_data_from_sc2 = 0; + m_data_to_sc2 = 0; { uint8_t *rom = machine().root_device().memregion("adder2")->base(); @@ -220,17 +220,17 @@ void bfm_adder2_device::device_start() adder2_decode_char_roms(); - save_item(NAME(m_adder2_screen_page_reg)); - save_item(NAME(m_adder2_c101)); - save_item(NAME(m_adder2_rx)); - save_item(NAME(m_adder_vbl_triggered)); - save_item(NAME(m_adder2_acia_triggered)); + save_item(NAME(m_screen_page_reg)); + save_item(NAME(m_c101)); + save_item(NAME(m_rx)); + save_item(NAME(m_vbl_triggered)); + save_item(NAME(m_acia_triggered)); - save_item(NAME(m_adder2_data_from_sc2)); - save_item(NAME(m_adder2_data_to_sc2)); + save_item(NAME(m_data_from_sc2)); + save_item(NAME(m_data_to_sc2)); save_item(NAME(m_adder_ram)); - save_item(NAME(m_adder_screen_ram)); + save_item(NAME(m_screen_ram)); m_tilemap0 = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(bfm_adder2_device::get_tile0_info),this), TILEMAP_SCAN_ROWS, 8, 8, 50, 35); @@ -259,20 +259,22 @@ uint32_t bfm_adder2_device::update_screen(screen_device &screen, bitmap_ind16 &b { const rectangle visible1(0, 400-1, 0, 280-1); //minx,maxx, miny,maxy - if (m_adder2_screen_page_reg & SL_DISPLAY) m_tilemap1->draw(screen, bitmap, visible1, 0, 0); - else m_tilemap0->draw(screen, bitmap, visible1, 0, 0); + if (m_screen_page_reg & SL_DISPLAY) + m_tilemap1->draw(screen, bitmap, visible1, 0, 0); + else + m_tilemap0->draw(screen, bitmap, visible1, 0, 0); return 0; } /////////////////////////////////////////////////////////////////////////// -INTERRUPT_GEN_MEMBER( bfm_adder2_device::adder2_vbl ) +WRITE_LINE_MEMBER(bfm_adder2_device::adder2_vbl_w) { - if ( m_adder2_c101 & 0x01 ) + if (state && BIT(m_c101, 0)) { - m_adder_vbl_triggered = 1; - device.execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE ); + m_vbl_triggered = true; + m_cpu->set_input_line(M6809_IRQ_LINE, HOLD_LINE); } } @@ -280,7 +282,7 @@ INTERRUPT_GEN_MEMBER( bfm_adder2_device::adder2_vbl ) READ8_MEMBER( bfm_adder2_device::screen_ram_r ) { - return m_adder2_screen_page_reg & SL_ACCESS ? m_adder_screen_ram[1][offset]:m_adder_screen_ram[0][offset]; + return m_screen_page_reg & SL_ACCESS ? m_screen_ram[1][offset]:m_screen_ram[0][offset]; } /////////////////////////////////////////////////////////////////////////// @@ -302,15 +304,15 @@ WRITE8_MEMBER( bfm_adder2_device::screen_ram_w ) palette().set_pen_color(pal, rgb_t(r,g,b)); } - if ( m_adder2_screen_page_reg & SL_ACCESS ) + if (m_screen_page_reg & SL_ACCESS) { - m_adder_screen_ram[1][offset] = data; + m_screen_ram[1][offset] = data; m_tilemap1->mark_tile_dirty(dirty_off); } else { - m_adder_screen_ram[0][offset] = data; + m_screen_ram[0][offset] = data; m_tilemap0->mark_tile_dirty(dirty_off); } } @@ -342,30 +344,30 @@ WRITE8_MEMBER( bfm_adder2_device::adder2_c001_w ) { logerror("c101 = %02X\n",data); - //m_adder2_screen_page_reg = 0; + //m_screen_page_reg = 0; } /////////////////////////////////////////////////////////////////////////// WRITE8_MEMBER( bfm_adder2_device::adder2_screen_page_w ) { - m_adder2_screen_page_reg = data; + m_screen_page_reg = data; } /////////////////////////////////////////////////////////////////////////// READ8_MEMBER( bfm_adder2_device::adder2_vbl_ctrl_r ) { - m_adder_vbl_triggered = 0; // clear VBL start IRQ + m_vbl_triggered = false; // clear VBL start IRQ - return m_adder2_c101; + return m_c101; } /////////////////////////////////////////////////////////////////////////// WRITE8_MEMBER( bfm_adder2_device::adder2_vbl_ctrl_w ) { - m_adder2_c101 = data; + m_c101 = data; } /////////////////////////////////////////////////////////////////////////// @@ -374,8 +376,8 @@ READ8_MEMBER( bfm_adder2_device::adder2_uart_ctrl_r ) { int status = 0; - if ( m_adder2_data_from_sc2 ) status |= 0x01; // receive buffer full - if ( !m_adder2_data_to_sc2 ) status |= 0x02; // transmit buffer empty + if (m_data_from_sc2) status |= 0x01; // receive buffer full + if (!m_data_to_sc2 ) status |= 0x02; // transmit buffer empty return status; } @@ -384,10 +386,10 @@ READ8_MEMBER( bfm_adder2_device::adder2_uart_ctrl_r ) WRITE8_MEMBER( bfm_adder2_device::adder2_uart_ctrl_w ) { - m_adder2_data_from_sc2 = 0; // data available for adder from sc2 - m_adder2_sc2data = 0; // data - m_adder2_data_to_sc2 = 0; // data available for sc2 from adder - m_adder2_data = 0; // data + m_data_from_sc2 = false; // data available for adder from sc2 + m_sc2data = 0; // data + m_data_to_sc2 = false; // data available for sc2 from adder + m_adder2_data = 0; // data LOG_CTRL(("adder2 uart ctrl:%02X\n", data)); } @@ -396,8 +398,8 @@ WRITE8_MEMBER( bfm_adder2_device::adder2_uart_ctrl_w ) READ8_MEMBER( bfm_adder2_device::adder2_uart_rx_r ) { - int data = m_adder2_sc2data; - m_adder2_data_from_sc2 = 0; // clr flag, data from scorpion2 board available + int data = m_sc2data; + m_data_from_sc2 = false; // clr flag, data from scorpion2 board available LOG_CTRL(("rsc2:%02X (%c)\n",data, data )); @@ -408,8 +410,8 @@ READ8_MEMBER( bfm_adder2_device::adder2_uart_rx_r ) WRITE8_MEMBER( bfm_adder2_device::adder2_uart_tx_w ) { - m_adder2_data_to_sc2 = 1; // set flag, data from adder available - m_adder2_data = data; // store data + m_data_to_sc2 = true; // set flag, data from adder available + m_adder2_data = data; // store data LOG_CTRL(("ssc2 %02X(%c)\n",data, data )); } @@ -420,8 +422,8 @@ READ8_MEMBER( bfm_adder2_device::adder2_irq_r ) { int status = 0; - if ( m_adder_vbl_triggered ) status |= 0x02; - if ( m_adder2_acia_triggered ) status |= 0x08; + if (m_vbl_triggered) status |= 0x02; + if (m_acia_triggered) status |= 0x08; return status; } @@ -431,10 +433,10 @@ READ8_MEMBER( bfm_adder2_device::adder2_irq_r ) WRITE8_MEMBER(bfm_adder2_device::vid_uart_tx_w) { - m_adder2_data_from_sc2 = 1; // set flag, data from scorpion2 board available - m_adder2_sc2data = data; // store data + m_data_from_sc2 = true; // set flag, data from scorpion2 board available + m_sc2data = data; // store data - m_adder2_acia_triggered = 1; // set flag, acia IRQ triggered + m_acia_triggered = true; // set flag, acia IRQ triggered m_cpu->set_input_line(M6809_IRQ_LINE, HOLD_LINE ); @@ -452,7 +454,7 @@ WRITE8_MEMBER(bfm_adder2_device::vid_uart_ctrl_w) READ8_MEMBER(bfm_adder2_device::vid_uart_rx_r) { uint8_t data = m_adder2_data; - m_adder2_data_to_sc2 = 0; // clr flag, data from adder available + m_data_to_sc2 = false; // clr flag, data from adder available //LOG_SERIAL(("radder: %02X(%c)\n",data, data )); @@ -465,8 +467,8 @@ READ8_MEMBER(bfm_adder2_device::vid_uart_ctrl_r) { int status = 0; - if ( m_adder2_data_to_sc2 ) status |= 0x01; // receive buffer full - if ( !m_adder2_data_from_sc2) status |= 0x02; // transmit buffer empty + if (m_data_to_sc2 ) status |= 0x01; // receive buffer full + if (!m_data_from_sc2) status |= 0x02; // transmit buffer empty return status; } @@ -553,10 +555,10 @@ MACHINE_CONFIG_START(bfm_adder2_device::device_add_mconfig) MCFG_SCREEN_REFRESH_RATE(50) MCFG_SCREEN_PALETTE("palette") MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, bfm_adder2_device, update_screen) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(bfm_adder2_device, adder2_vbl_w)) // board has a VBL IRQ MCFG_PALETTE_ADD("palette", 16) MCFG_CPU_ADD("adder2", M6809, ADDER_CLOCK/4 ) // adder2 board 6809 CPU at 2 Mhz MCFG_CPU_PROGRAM_MAP(adder2_memmap) // setup adder2 board memorymap - MCFG_DEVICE_VBLANK_INT_DEVICE("screen", DEVICE_SELF, bfm_adder2_device, adder2_vbl) // board has a VBL IRQ MACHINE_CONFIG_END diff --git a/src/mame/video/bfm_adr2.h b/src/mame/video/bfm_adr2.h index ce48058197e..4dc21784d9c 100644 --- a/src/mame/video/bfm_adr2.h +++ b/src/mame/video/bfm_adr2.h @@ -45,28 +45,28 @@ protected: virtual void device_add_mconfig(machine_config &config) override; private: - int m_adder2_screen_page_reg; // access/display select - int m_adder2_c101; - int m_adder2_rx; - int m_adder_vbl_triggered; // flag <>0, VBL IRQ triggered - int m_adder2_acia_triggered; // flag <>0, ACIA receive IRQ + int m_screen_page_reg; // access/display select + int m_c101; + int m_rx; + bool m_vbl_triggered; // flag, VBL IRQ triggered + bool m_acia_triggered; // flag, ACIA receive IRQ - uint8_t m_adder_ram[0xE80]; // normal RAM - uint8_t m_adder_screen_ram[2][0x1180]; // paged display RAM + uint8_t m_adder_ram[0xE80]; // normal RAM + uint8_t m_screen_ram[2][0x1180]; // paged display RAM tilemap_t *m_tilemap0; // tilemap screen0 - tilemap_t *m_tilemap1; // timemap screen1 + tilemap_t *m_tilemap1; // tilemap screen1 - uint8_t m_adder2_data_from_sc2; - uint8_t m_adder2_data_to_sc2; + bool m_data_from_sc2; + bool m_data_to_sc2; uint8_t m_adder2_data; - uint8_t m_adder2_sc2data; + uint8_t m_sc2data; optional_device m_cpu; uint32_t update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER( adder2_vbl ); + DECLARE_WRITE_LINE_MEMBER(adder2_vbl_w); }; // device type definition -- cgit v1.2.3