mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
model2: Hook up billboard emulation to model2a/b games
This commit is contained in:
parent
5eff6a0beb
commit
3f1d38442f
@ -106,6 +106,7 @@
|
||||
#include "speaker.h"
|
||||
|
||||
#include "model1io2.lh"
|
||||
#include "segabill.lh"
|
||||
|
||||
/* Timers - these count down at 25 MHz and pull IRQ2 when they hit 0 */
|
||||
READ32_MEMBER(model2_state::timers_r)
|
||||
@ -2694,12 +2695,17 @@ void model2a_state::model2a(machine_config &config)
|
||||
io.in_pb_callback().set(FUNC(model2a_state::in0_r));
|
||||
io.in_pc_callback().set_ioport("IN1");
|
||||
io.in_pd_callback().set_ioport("IN2");
|
||||
io.out_pe_callback().set([this] (uint8_t data) { m_billboard->write(data); });
|
||||
|
||||
model2_timers(config);
|
||||
model2_screen(config);
|
||||
model2_scsp(config);
|
||||
|
||||
M2COMM(config, "m2comm", 0);
|
||||
|
||||
SEGA_BILLBOARD(config, m_billboard, 0);
|
||||
|
||||
config.set_default_layout(layout_segabill);
|
||||
}
|
||||
|
||||
void model2a_state::manxtt(machine_config &config)
|
||||
@ -2816,12 +2822,17 @@ void model2b_state::model2b(machine_config &config)
|
||||
io.in_pb_callback().set(FUNC(model2b_state::in0_r));
|
||||
io.in_pc_callback().set_ioport("IN1");
|
||||
io.in_pd_callback().set_ioport("IN2");
|
||||
io.out_pe_callback().set([this] (uint8_t data) { m_billboard->write(data); });
|
||||
|
||||
model2_timers(config);
|
||||
model2_screen(config);
|
||||
model2_scsp(config);
|
||||
|
||||
M2COMM(config, "m2comm", 0);
|
||||
|
||||
SEGA_BILLBOARD(config, m_billboard, 0);
|
||||
|
||||
config.set_default_layout(layout_segabill);
|
||||
}
|
||||
|
||||
void model2b_state::model2b_5881(machine_config &config)
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include "machine/gen_fifo.h"
|
||||
#include "machine/i8251.h"
|
||||
#include "machine/m2comm.h"
|
||||
#include "machine/segabill.h"
|
||||
#include "machine/timer.h"
|
||||
#include "sound/scsp.h"
|
||||
#include "video/segaic24.h"
|
||||
@ -457,7 +458,8 @@ class model2a_state : public model2_tgp_state
|
||||
{
|
||||
public:
|
||||
model2a_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: model2_tgp_state(mconfig, type, tag)
|
||||
: model2_tgp_state(mconfig, type, tag),
|
||||
m_billboard(*this, "billboard")
|
||||
{}
|
||||
|
||||
void manxtt(machine_config &config);
|
||||
@ -476,6 +478,9 @@ protected:
|
||||
void model2a_crx_mem(address_map &map);
|
||||
void model2a_5881_mem(address_map &map);
|
||||
void model2a_0229_mem(address_map &map);
|
||||
|
||||
private:
|
||||
required_device<sega_billboard_device> m_billboard;
|
||||
};
|
||||
|
||||
/*****************************
|
||||
@ -489,7 +494,8 @@ class model2b_state : public model2_state
|
||||
public:
|
||||
model2b_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: model2_state(mconfig, type, tag),
|
||||
m_copro_adsp(*this, "copro_adsp")
|
||||
m_copro_adsp(*this, "copro_adsp"),
|
||||
m_billboard(*this, "billboard")
|
||||
{}
|
||||
|
||||
void model2b(machine_config &config);
|
||||
@ -526,6 +532,9 @@ protected:
|
||||
|
||||
virtual void copro_halt() override;
|
||||
virtual void copro_boot() override;
|
||||
|
||||
private:
|
||||
required_device<sega_billboard_device> m_billboard;
|
||||
};
|
||||
|
||||
/*****************************
|
||||
|
Loading…
Reference in New Issue
Block a user