summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/xerox/bigbord2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/xerox/bigbord2.cpp')
-rw-r--r--src/mame/xerox/bigbord2.cpp19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/mame/xerox/bigbord2.cpp b/src/mame/xerox/bigbord2.cpp
index 29480e2cf5b..0b9fa07bd73 100644
--- a/src/mame/xerox/bigbord2.cpp
+++ b/src/mame/xerox/bigbord2.cpp
@@ -131,7 +131,6 @@ private:
u8 kbd_r();
void kbd_put(u8 data);
void clock_w(int state);
- void busreq_w(int state);
void ctc_z1_w(int state);
void sio_wrdya_w(int state);
void sio_wrdyb_w(int state);
@@ -141,16 +140,16 @@ private:
u8 io_read_byte(offs_t offset);
void io_write_byte(offs_t offset, u8 data);
MC6845_UPDATE_ROW(crtc_update_row);
- void io_map(address_map &map);
- void mem_map(address_map &map);
+ void io_map(address_map &map) ATTR_COLD;
+ void mem_map(address_map &map) ATTR_COLD;
u8 crt8002(u8 ac_ra, u8 ac_chr, u8 ac_attr, uint16_t ac_cnt, bool ac_curs);
u8 m_term_data = 0U;
u8 m_term_status = 0U;
uint16_t m_cnt = 0U;
bool m_cc[8]{};
floppy_image_device *m_floppy;
- virtual void machine_start() override;
- virtual void machine_reset() override;
+ virtual void machine_start() override ATTR_COLD;
+ virtual void machine_reset() override ATTR_COLD;
address_space *m_mem;
address_space *m_io;
std::unique_ptr<u8[]> m_vram; // video ram 2k
@@ -233,13 +232,6 @@ void bigbord2_state::fdc_drq_w(int state)
/* Z80 DMA */
-void bigbord2_state::busreq_w(int state)
-{
-// since our Z80 has no support for BUSACK, we assume it is granted immediately
- m_maincpu->set_input_line(Z80_INPUT_LINE_BUSRQ, state);
- m_dma->bai_w(state); // tell dma that bus has been granted
-}
-
u8 bigbord2_state::memory_read_byte(offs_t offset)
{
return m_mem->read_byte(offset);
@@ -595,6 +587,7 @@ void bigbord2_state::bigbord2(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &bigbord2_state::mem_map);
m_maincpu->set_addrmap(AS_IO, &bigbord2_state::io_map);
m_maincpu->set_daisy_config(daisy_chain);
+ m_maincpu->busack_cb().set(m_dma, FUNC(z80dma_device::bai_w));
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@@ -607,7 +600,7 @@ void bigbord2_state::bigbord2(machine_config &config)
/* devices */
Z80DMA(config, m_dma, MAIN_CLOCK); // U62
- m_dma->out_busreq_callback().set(FUNC(bigbord2_state::busreq_w));
+ m_dma->out_busreq_callback().set_inputline(m_maincpu, Z80_INPUT_LINE_BUSRQ);
m_dma->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
m_dma->in_mreq_callback().set(FUNC(bigbord2_state::memory_read_byte));
m_dma->out_mreq_callback().set(FUNC(bigbord2_state::memory_write_byte));