mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
m10.c: Fix crash; also fix flipscreen [Alex Jackson]
This commit is contained in:
parent
55ba10a8ed
commit
7ed883f195
@ -899,6 +899,7 @@ static MACHINE_CONFIG_START( m15, m10_state )
|
||||
MCFG_SCREEN_RAW_PARAMS(IREMM15_PIXEL_CLOCK, IREMM15_HTOTAL, IREMM15_HBEND, IREMM15_HBSTART, IREMM15_VTOTAL, IREMM15_VBEND, IREMM15_VBSTART)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(m10_state, screen_update_m15)
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", empty)
|
||||
MCFG_PALETTE_LENGTH(2*8)
|
||||
|
||||
MCFG_PALETTE_INIT_OVERRIDE(m10_state,m10)
|
||||
@ -1052,10 +1053,10 @@ ROM_START( greenber )
|
||||
ROM_LOAD( "gb9", 0x3000, 0x0400, CRC(c27b9ba3) SHA1(a2f4f0c4b61eb03bba13ae5d25dc01009a4f86ee) ) // ok ?
|
||||
ROM_END
|
||||
|
||||
GAME( 1979, andromed, 0, m11, skychut, m10_state, andromed, ROT270, "IPM", "Andromeda (Japan?)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1979, ipminvad, 0, m10, ipminvad, driver_device, 0, ROT270, "IPM", "IPM Invader", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1979, andromed, 0, m11, skychut, m10_state, andromed, ROT270, "IPM", "Andromeda (Japan?)", GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1979, ipminvad, 0, m10, ipminvad, driver_device, 0, ROT270, "IPM", "IPM Invader", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1979, ipminvad1, ipminvad, m10, ipminvad, m10_state, ipminva1, ROT270, "IPM", "IPM Invader (Incomplete Dump)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1980, skychut, 0, m11, skychut, driver_device, 0, ROT270, "Irem", "Sky Chuter", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1979, spacbeam, 0, m15, spacbeam, driver_device, 0, ROT270, "Irem", "Space Beam", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) // IPM or Irem?
|
||||
GAME( 1979, headoni, 0, headoni, headoni, driver_device, 0, ROT270, "Irem", "Head On (Irem, M-15 Hardware)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1980, greenber, 0, m15, spacbeam, driver_device, 0, ROT270, "Irem", "Green Beret (Irem)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1980, skychut, 0, m11, skychut, driver_device, 0, ROT270, "Irem", "Sky Chuter", GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1979, spacbeam, 0, m15, spacbeam, driver_device, 0, ROT270, "Irem", "Space Beam", GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) // IPM or Irem?
|
||||
GAME( 1979, headoni, 0, headoni, headoni, driver_device, 0, ROT270, "Irem", "Head On (Irem, M-15 Hardware)", GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1980, greenber, 0, m15, spacbeam, driver_device, 0, ROT270, "Irem", "Green Beret (Irem)", GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
|
@ -89,7 +89,7 @@ inline void m10_state::plot_pixel_m10( bitmap_ind16 &bm, int x, int y, int col )
|
||||
if (!m_flip)
|
||||
bm.pix16(y, x) = col;
|
||||
else
|
||||
bm.pix16((IREMM10_VBSTART - 1) - (y - IREMM10_VBEND) + 6,
|
||||
bm.pix16((IREMM10_VBSTART - 1) - (y - IREMM10_VBEND),
|
||||
(IREMM10_HBSTART - 1) - (x - IREMM10_HBEND)) = col; // only when flip_screen(?)
|
||||
}
|
||||
|
||||
@ -97,8 +97,6 @@ VIDEO_START_MEMBER(m10_state,m10)
|
||||
{
|
||||
m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m10_state::get_tile_info),this), tilemap_mapper_delegate(FUNC(m10_state::tilemap_scan),this), 8, 8, 32, 32);
|
||||
m_tx_tilemap->set_transparent_pen(0);
|
||||
m_tx_tilemap->set_scrolldx(0, 62);
|
||||
m_tx_tilemap->set_scrolldy(0, 0);
|
||||
|
||||
m_back_gfx = auto_alloc(machine(), gfx_element(machine(), backlayout, m_chargen, 8, 0));
|
||||
|
||||
@ -111,8 +109,6 @@ VIDEO_START_MEMBER(m10_state,m15)
|
||||
m_gfxdecode->set_gfx(0,auto_alloc(machine(), gfx_element(machine(), charlayout, m_chargen, 8, 0)));
|
||||
|
||||
m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m10_state::get_tile_info),this),tilemap_mapper_delegate(FUNC(m10_state::tilemap_scan),this), 8, 8, 32, 32);
|
||||
m_tx_tilemap->set_scrolldx(0, 116);
|
||||
m_tx_tilemap->set_scrolldy(0, 0);
|
||||
|
||||
return ;
|
||||
}
|
||||
@ -134,7 +130,7 @@ UINT32 m10_state::screen_update_m10(screen_device &screen, bitmap_ind16 &bitmap,
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
if (m_flip)
|
||||
m_back_gfx->opaque(bitmap,cliprect, i, color[i], 1, 1, 31 * 8 - xpos[i], 6);
|
||||
m_back_gfx->opaque(bitmap,cliprect, i, color[i], 1, 1, 31 * 8 - xpos[i], 0);
|
||||
else
|
||||
m_back_gfx->opaque(bitmap,cliprect, i, color[i], 0, 0, xpos[i], 0);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user