diff options
Diffstat (limited to 'src/mame/drivers/vt240.cpp')
-rw-r--r-- | src/mame/drivers/vt240.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/mame/drivers/vt240.cpp b/src/mame/drivers/vt240.cpp index c2d9295884b..acb5a0b7141 100644 --- a/src/mame/drivers/vt240.cpp +++ b/src/mame/drivers/vt240.cpp @@ -23,6 +23,17 @@ #include "screen.h" +#define VERBOSE_DBG 0 /* general debug messages */ + +#define DBG_LOG(N,M,A) \ + do { \ + if(VERBOSE_DBG>=N) \ + { \ + logerror("%11.6f at %s: ",machine().time().as_double(),machine().describe_context()); \ + logerror A; \ + } \ + } while (0) + class vt240_state : public driver_device { public: @@ -95,8 +106,8 @@ private: DECLARE_WRITE8_MEMBER(lu_w); DECLARE_WRITE8_MEMBER(hbscrl_w); DECLARE_WRITE8_MEMBER(lbscrl_w); - uint16_t mem_r(offs_t offset, uint16_t mem_mask); - void mem_w(offs_t offset, uint16_t data, uint16_t mem_mask); + DECLARE_READ16_MEMBER(mem_r); + DECLARE_WRITE16_MEMBER(mem_w); void init_vt240(); virtual void machine_reset() override; @@ -310,23 +321,23 @@ WRITE8_MEMBER(vt240_state::mem_map_sel_w) m_mem_map_sel = data & 1; } -uint16_t vt240_state::mem_r(offs_t offset, uint16_t mem_mask) +READ16_MEMBER(vt240_state::mem_r) { if(m_mem_map_sel) { m_bank->set_bank(m_mem_map[(offset >> 11) & 0xf]); - return m_bank->read16(offset & 0x7ff, mem_mask); + return m_bank->read16(space, offset & 0x7ff, mem_mask); } else return m_rom[offset]; } -void vt240_state::mem_w(offs_t offset, uint16_t data, uint16_t mem_mask) +WRITE16_MEMBER(vt240_state::mem_w) { if(m_mem_map_sel) { m_bank->set_bank(m_mem_map[(offset >> 11) & 0xf]); - m_bank->write16(offset & 0x7ff, data, mem_mask); + m_bank->write16(space, offset & 0x7ff, data, mem_mask); } } @@ -667,7 +678,7 @@ void vt240_state::vt240(machine_config &config) UPD7220(config, m_hgdc, XTAL(16'097'280) / 16); // actually /8? m_hgdc->set_addrmap(0, &vt240_state::upd7220_map); - m_hgdc->set_display_pixels(FUNC(vt240_state::hgdc_draw)); + m_hgdc->set_display_pixels_callback(FUNC(vt240_state::hgdc_draw), this); m_hgdc->vsync_wr_callback().set_inputline(m_i8085, I8085_RST75_LINE); m_hgdc->blank_wr_callback().set_inputline(m_i8085, I8085_RST55_LINE); m_hgdc->set_screen("screen"); |