heromem, sbmjb: Map I/O expanders (and some RAM for sbmjb)

This commit is contained in:
AJR 2021-07-03 09:45:51 -04:00
parent 95fb67246b
commit 5c21151190
4 changed files with 26 additions and 2 deletions

View File

@ -177,6 +177,7 @@
//**************************************************************************
DEFINE_DEVICE_TYPE(TE7750, te7750_device, "te7750", "TE7750 Super I/O Expander")
DEFINE_DEVICE_TYPE(TE7751, te7751_device, "te7751", "TE7751 Super I/O Expander")
DEFINE_DEVICE_TYPE(TE7752, te7752_device, "te7752", "TE7752 Super I/O Expander")
//**************************************************************************
@ -201,6 +202,15 @@ te7750_device::te7750_device(const machine_config &mconfig, const char *tag, dev
{
}
//-------------------------------------------------
// te7751_device - constructor
//-------------------------------------------------
te7751_device::te7751_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: te7750_device(mconfig, TE7751, tag, owner, clock)
{
}
//-------------------------------------------------
// te7752_device - constructor
//-------------------------------------------------

View File

@ -73,6 +73,14 @@ private:
u8 m_data_dir[9];
};
// ======================> te7751_device
class te7751_device : public te7750_device
{
public:
te7751_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0);
};
// ======================> te7752_device
class te7752_device : public te7750_device
@ -83,6 +91,7 @@ public:
// device type definitions
DECLARE_DEVICE_TYPE(TE7750, te7750_device)
DECLARE_DEVICE_TYPE(TE7751, te7751_device)
DECLARE_DEVICE_TYPE(TE7752, te7752_device)
#endif // MAME_MACHINE_TE7750_H

View File

@ -115,6 +115,8 @@ void heromem_state::maincpu_prg_map(address_map &map)
map(0xf201, 0xf201).rw("tc0140syt_l", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w));
map(0xf300, 0xf300).w("tc0140syt_r", FUNC(tc0140syt_device::master_port_w));
map(0xf301, 0xf301).rw("tc0140syt_r", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w));
map(0xf400, 0xf403).rw("ppi", FUNC(i8255_device::read), FUNC(i8255_device::write));
map(0xf500, 0xf50f).rw("io", FUNC(te7751_device::read), FUNC(te7751_device::write));
// TODO: lots more writes
}
@ -218,7 +220,7 @@ void heromem_state::heromem(machine_config &config)
I8255(config, "ppi"); // MB89255B
TE7750(config, "io"); // TE7751
TE7751(config, "io");
// video hardware
screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER)); // all wrong

View File

@ -67,11 +67,14 @@ WRITE_LINE_MEMBER(sbmjb_state::screen_vblank) // TODO: copy-pasted from other dr
void sbmjb_state::main_map(address_map &map)
{
map(0x0000, 0x7fff).rom().region("maincpu", 0);
map(0xc000, 0xdfff).ram();
map(0xf000, 0xf00f).rw("io", FUNC(te7751_device::read), FUNC(te7751_device::write));
}
void sbmjb_state::sound_map(address_map &map)
{
map(0x0000, 0x7fff).rom().region("audiocpu", 0);
map(0xc000, 0xdfff).ram();
}
void sbmjb_state::tc0091lvc_map(address_map &map) // TODO: copy-pasted from other drivers using same chip, to be verified
@ -126,7 +129,7 @@ void sbmjb_state::sbmjb(machine_config &config)
TIMER(config, "scantimer").configure_scanline(FUNC(sbmjb_state::scanline_callback), "screen", 0, 1);
TE7750(config, "io"); // TE7751
TE7751(config, "io");
// video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); // all wrong