From 17443dc5b01aa46366d3a3d7ead9def311864b6c Mon Sep 17 00:00:00 2001 From: smf- Date: Sat, 31 Dec 2022 15:44:35 +0000 Subject: andromed: Changed the ship and "ATTACK !" text colour & moved "ATTACK !" to the top of the screen, to match the video from a working board. Set the dip switch default so you don't receive free credits [smf] --- src/mame/irem/m10.cpp | 17 ++++++++++++++--- src/mame/irem/m10.h | 4 ++-- src/mame/irem/m10_v.cpp | 6 ++---- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/mame/irem/m10.cpp b/src/mame/irem/m10.cpp index 86919db650a..697f564cb01 100644 --- a/src/mame/irem/m10.cpp +++ b/src/mame/irem/m10.cpp @@ -618,6 +618,15 @@ static INPUT_PORTS_START( skychut ) CAB_PORTENV INPUT_PORTS_END +static INPUT_PORTS_START( andromed ) + PORT_INCLUDE( skychut ) + PORT_MODIFY("DSW") + + PORT_DIPNAME( 0x20, 0x20, "Power On Credits" ) + PORT_DIPSETTING( 0x00, "2" ) + PORT_DIPSETTING( 0x20, DEF_STR(None) ) +INPUT_PORTS_END + static INPUT_PORTS_START( ipminvad ) PORT_START("INPUTS") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) @@ -881,7 +890,8 @@ void m10_state::m10(machine_config &config) m_samples->set_samples_names(m10_sample_names); m_samples->add_route(ALL_OUTPUTS, "mono", 1.0); - xpos[0] = 4 * 8; xpos[1] = 26 * 8; xpos[2] = 7 * 8; xpos[3] = 6 * 8; + m_back_color[0] = 3; m_back_color[1] = 3; m_back_color[2] = 5; m_back_color[3] = 5; + m_back_xpos[0] = 4 * 8; m_back_xpos[1] = 26 * 8; m_back_xpos[2] = 7 * 8; m_back_xpos[3] = 6 * 8; } void m10_state::m11(machine_config &config) @@ -891,7 +901,8 @@ void m10_state::m11(machine_config &config) // basic machine hardware m_maincpu->set_addrmap(AS_PROGRAM, &m10_state::m11_main); - xpos[0] = 0 * 8; xpos[1] = 1 * 8; xpos[2] = 2 * 8; xpos[3] = 3 * 8; + m_back_color[0] = 3; m_back_color[1] = 0; m_back_color[2] = 3; m_back_color[3] = 3; + m_back_xpos[0] = 4 * 8; m_back_xpos[1] = 26 * 8; m_back_xpos[2] = 2 * 8; m_back_xpos[3] = 3 * 8; } void m15_state::m15(machine_config &config) @@ -1037,7 +1048,7 @@ ROM_END GAME( 1979, ipminvad, 0, m10, ipminvad, m10_state, empty_init, ROT270, "IPM", "IPM Invader (set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) GAME( 1979, ipminvad1, ipminvad, m10, ipminvad, m10_state, empty_init, ROT270, "IPM", "IPM Invader (set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // incomplete dump -GAME( 1980, andromed, 0, m11, skychut, m10_state, empty_init, ROT270, "Irem", "Andromeda SS (Japan?)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) // export version known as simply "Andromeda" +GAME( 1980, andromed, 0, m11, andromed, m10_state, empty_init, ROT270, "Irem", "Andromeda SS (Japan?)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) // export version known as simply "Andromeda" GAME( 1980, skychut, 0, m11, skychut, m10_state, empty_init, ROT270, "Irem", "Sky Chuter", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) GAME( 1979, headoni, 0, headoni, headoni, m15_state, empty_init, ROT270, "Irem", "Head On (Irem, M-15 Hardware)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) GAME( 1979, spacbeam, 0, m15, spacbeam, m15_state, empty_init, ROT270, "Irem", "Space Beam", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) // IPM or Irem? diff --git a/src/mame/irem/m10.h b/src/mame/irem/m10.h index a8ddcfc0487..434077dd3f9 100644 --- a/src/mame/irem/m10.h +++ b/src/mame/irem/m10.h @@ -117,6 +117,8 @@ private: required_device m_ic8j2; gfx_element * m_back_gfx = nullptr; + int m_back_color[4]; + int m_back_xpos[4]; uint8_t m_bottomline = 0U; void m10_ctrl_w(uint8_t data); @@ -133,8 +135,6 @@ private: void m10_main(address_map &map); void m11_main(address_map &map); - - int xpos[4]; }; class m15_state : public m1x_state diff --git a/src/mame/irem/m10_v.cpp b/src/mame/irem/m10_v.cpp index ac0c9144331..b687204f4c5 100644 --- a/src/mame/irem/m10_v.cpp +++ b/src/mame/irem/m10_v.cpp @@ -119,15 +119,13 @@ void m15_state::video_start() uint32_t m10_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - static const int color[4]= { 3, 3, 5, 5 }; - bitmap.fill(0, cliprect); for (int i = 0; i < 4; i++) if (m_flip) - m_back_gfx->opaque(bitmap,cliprect, i, color[i], 1, 1, 31 * 8 - xpos[i], 0); + m_back_gfx->opaque(bitmap,cliprect, i, m_back_color[i], 1, 1, 31 * 8 - m_back_xpos[i], 0); else - m_back_gfx->opaque(bitmap,cliprect, i, color[i], 0, 0, xpos[i], 0); + m_back_gfx->opaque(bitmap,cliprect, i, m_back_color[i], 0, 0, m_back_xpos[i], 0); if (m_bottomline) { -- cgit v1.2.3