mirror of
https://github.com/holub/mame
synced 2025-04-23 17:00:53 +03:00
dataeast/mirage.cpp: minor cleanup
This commit is contained in:
parent
78a907876e
commit
78de53faec
@ -80,15 +80,15 @@ protected:
|
||||
virtual void machine_reset() override;
|
||||
|
||||
private:
|
||||
void mjmux_w(uint16_t data);
|
||||
uint16_t mjmux_r();
|
||||
void key_matrix_w(uint16_t data);
|
||||
uint16_t key_matrix_r();
|
||||
void okim1_rombank_w(uint16_t data);
|
||||
void okim0_rombank_w(uint16_t data);
|
||||
DECOSPR_PRIORITY_CB_MEMBER(pri_callback);
|
||||
|
||||
uint32_t screen_update_mirage(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
DECO16IC_BANK_CB_MEMBER(bank_callback);
|
||||
void mirage_map(address_map &map);
|
||||
void main_map(address_map &map);
|
||||
|
||||
/* devices */
|
||||
required_device<m68000_device> m_maincpu;
|
||||
@ -105,11 +105,11 @@ private:
|
||||
required_ioport_array<5> m_io_key;
|
||||
|
||||
/* misc */
|
||||
uint8_t m_mux_data = 0;
|
||||
uint8_t m_key_matrix_select = 0;
|
||||
|
||||
};
|
||||
|
||||
uint32_t miragemj_state::screen_update_mirage(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
uint32_t miragemj_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint16_t const flip = m_deco_tilegen->pf_control_r(0);
|
||||
|
||||
@ -128,17 +128,17 @@ uint32_t miragemj_state::screen_update_mirage(screen_device &screen, bitmap_rgb3
|
||||
}
|
||||
|
||||
|
||||
void miragemj_state::mjmux_w(uint16_t data)
|
||||
void miragemj_state::key_matrix_w(uint16_t data)
|
||||
{
|
||||
m_mux_data = data & 0x1f;
|
||||
m_key_matrix_select = data & 0x1f;
|
||||
}
|
||||
|
||||
uint16_t miragemj_state::mjmux_r()
|
||||
uint16_t miragemj_state::key_matrix_r()
|
||||
{
|
||||
uint16_t result = 0xffff;
|
||||
for (int i = 0; m_io_key.size() > i; ++i)
|
||||
{
|
||||
if (BIT(m_mux_data, i))
|
||||
if (BIT(m_key_matrix_select, i))
|
||||
result &= m_io_key[i]->read();
|
||||
}
|
||||
return result;
|
||||
@ -159,7 +159,7 @@ void miragemj_state::okim0_rombank_w(uint16_t data)
|
||||
m_oki_bgm->set_rom_bank(data & 0x7);
|
||||
}
|
||||
|
||||
void miragemj_state::mirage_map(address_map &map)
|
||||
void miragemj_state::main_map(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x07ffff).rom();
|
||||
/* tilemaps */
|
||||
@ -177,8 +177,8 @@ void miragemj_state::mirage_map(address_map &map)
|
||||
map(0x16a000, 0x16a001).nopw();
|
||||
map(0x16c000, 0x16c001).w(FUNC(miragemj_state::okim1_rombank_w));
|
||||
map(0x16c002, 0x16c003).w(FUNC(miragemj_state::okim0_rombank_w));
|
||||
map(0x16c004, 0x16c005).w(FUNC(miragemj_state::mjmux_w));
|
||||
map(0x16c006, 0x16c007).r(FUNC(miragemj_state::mjmux_r));
|
||||
map(0x16c004, 0x16c005).w(FUNC(miragemj_state::key_matrix_w));
|
||||
map(0x16c006, 0x16c007).r(FUNC(miragemj_state::key_matrix_r));
|
||||
map(0x16e000, 0x16e001).nopw();
|
||||
map(0x16e002, 0x16e003).portr("SYSTEM_IN");
|
||||
map(0x170000, 0x173fff).ram();
|
||||
@ -281,19 +281,19 @@ DECO16IC_BANK_CB_MEMBER(miragemj_state::bank_callback)
|
||||
|
||||
void miragemj_state::machine_start()
|
||||
{
|
||||
save_item(NAME(m_mux_data));
|
||||
save_item(NAME(m_key_matrix_select));
|
||||
}
|
||||
|
||||
void miragemj_state::machine_reset()
|
||||
{
|
||||
m_mux_data = 0;
|
||||
m_key_matrix_select = 0;
|
||||
}
|
||||
|
||||
void miragemj_state::mirage(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
M68000(config, m_maincpu, 28000000/2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &miragemj_state::mirage_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &miragemj_state::main_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(miragemj_state::irq6_line_hold));
|
||||
|
||||
EEPROM_93C46_16BIT(config, "eeprom"); // 93C45
|
||||
@ -306,7 +306,7 @@ void miragemj_state::mirage(machine_config &config)
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(529));
|
||||
screen.set_size(40*8, 32*8);
|
||||
screen.set_visarea(0*8, 40*8-1, 1*8, 31*8-1);
|
||||
screen.set_screen_update(FUNC(miragemj_state::screen_update_mirage));
|
||||
screen.set_screen_update(FUNC(miragemj_state::screen_update));
|
||||
screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram16_device::vblank_copy_rising));
|
||||
|
||||
GFXDECODE(config, "gfxdecode", "palette", gfx_mirage);
|
||||
|
Loading…
Reference in New Issue
Block a user