mirror of
https://github.com/holub/mame
synced 2025-05-29 09:03:08 +03:00
New mostly-working game ---- Irion [Robbbert, mcp]
(nw) can someone see if the priority problem can be fixed? thx :)
This commit is contained in:
parent
c66bfa88bf
commit
c17001b051
@ -404,6 +404,11 @@ MACHINE_CONFIG_START(exerion_state::exerion)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(exerion_state::irion)
|
||||
exerion(config);
|
||||
MCFG_DEVICE_REMOVE("sub")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -502,6 +507,29 @@ ROM_START( exerionb )
|
||||
ROM_LOAD( "exerion.k4", 0x0320, 0x0100, CRC(ffc2ba43) SHA1(03be1c41d6ac3fc11439caef04ef5ffa60d6aec4) ) /* bg char mixer */
|
||||
ROM_END
|
||||
|
||||
ROM_START( irion )
|
||||
ROM_REGION( 0x6000, "maincpu", 0 )
|
||||
ROM_LOAD( "2.bin", 0x0000, 0x2000, CRC(bf55324e) SHA1(a310e953cc80d09111ba104f21461420ae3abcd5) )
|
||||
ROM_LOAD( "3.bin", 0x2000, 0x2000, CRC(0625bb49) SHA1(111edb1da2153c853d89e56a89ef813cee559730) )
|
||||
ROM_LOAD( "4.bin", 0x4000, 0x2000, CRC(918a9b1d) SHA1(e515f1b9c5ddda8115e68e8a499b252b09774bb6) )
|
||||
|
||||
ROM_REGION( 0x02000, "gfx1", 0 )
|
||||
ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(56cd5ebf) SHA1(58d84c2dc3b3bac7371da5b9a230fa581ead31dc) )
|
||||
|
||||
ROM_REGION( 0x04000, "gfx2", 0 )
|
||||
ROM_LOAD( "5.bin", 0x0000, 0x2000, CRC(80312de0) SHA1(4fa3bb9d5c62e41a54e8909f8d3b47637137e913) )
|
||||
ROM_LOAD( "6.bin", 0x2000, 0x2000, CRC(f0633a09) SHA1(8989bcb12abadde34777f7c189cfa6e2dfe92d62) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx3", ROMREGION_ERASE00 )
|
||||
|
||||
ROM_REGION( 0x0420, "proms", 0 ) // these are assumed to be on the board - the game won't run without them
|
||||
ROM_LOAD( "exerion.e1", 0x0000, 0x0020, CRC(2befcc20) SHA1(a24d3f691413378fde545a6ddcef7e5118e74019) ) /* palette */
|
||||
ROM_LOAD( "exerion.i8", 0x0020, 0x0100, CRC(31db0e08) SHA1(1041a778e86d3fe6f057cf40a0a08b30760f3887) ) /* fg char lookup table */
|
||||
ROM_LOAD( "exerion.h10", 0x0120, 0x0100, CRC(63b4c555) SHA1(30243041be4fa77ada71e8b29d721cad51640c29) ) /* sprite lookup table */
|
||||
ROM_LOAD( "exerion.i3", 0x0220, 0x0100, CRC(fe72ab79) SHA1(048a72e6db4768df687df927acaa70ef906b3dc0) ) /* bg char lookup table */
|
||||
ROM_LOAD( "exerion.k4", 0x0320, 0x0100, CRC(ffc2ba43) SHA1(03be1c41d6ac3fc11439caef04ef5ffa60d6aec4) ) /* bg char mixer */
|
||||
ROM_END
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -569,6 +597,26 @@ DRIVER_INIT_MEMBER(exerion_state,exerionb)
|
||||
DRIVER_INIT_CALL(exerion);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(exerion_state, irion)
|
||||
{
|
||||
// convert the gfx and cpu roms like in ExerionB
|
||||
DRIVER_INIT_CALL(exerionb);
|
||||
|
||||
// a further unscramble of gfx2
|
||||
uint8_t *ram = memregion("gfx2")->base();
|
||||
u16 i,j;
|
||||
u8 k;
|
||||
for (i = 0; i < 0x4000; i += 0x400)
|
||||
{
|
||||
for (j = 0; j < 0x200; j++)
|
||||
{
|
||||
k = ram[i+j];
|
||||
ram[i+j] = ram[i+j+0x200];
|
||||
ram[i+j+0x200] = k;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -580,3 +628,4 @@ DRIVER_INIT_MEMBER(exerion_state,exerionb)
|
||||
GAME( 1983, exerion, 0, exerion, exerion, exerion_state, exerion, ROT90, "Jaleco", "Exerion", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1983, exeriont, exerion, exerion, exerion, exerion_state, exerion, ROT90, "Jaleco (Taito America license)", "Exerion (Taito)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1983, exerionb, exerion, exerion, exerion, exerion_state, exerionb, ROT90, "bootleg", "Exerion (bootleg)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1983, irion, exerion, irion, exerion, exerion_state, irion, ROT90, "bootleg", "Irion", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -68,6 +68,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(exerion_portb_w);
|
||||
DECLARE_DRIVER_INIT(exerion);
|
||||
DECLARE_DRIVER_INIT(exerionb);
|
||||
DECLARE_DRIVER_INIT(irion);
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
@ -75,6 +76,7 @@ public:
|
||||
uint32_t screen_update_exerion(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void draw_background( bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void exerion(machine_config &config);
|
||||
void irion(machine_config &config);
|
||||
void main_map(address_map &map);
|
||||
void sub_map(address_map &map);
|
||||
};
|
||||
|
@ -12410,6 +12410,7 @@ exl100 //
|
||||
exerion // (c) 1983 Jaleco
|
||||
exerionb // bootleg
|
||||
exeriont // (c) 1983 Jaleco + Taito America license
|
||||
irion //
|
||||
|
||||
@source:exidy.cpp
|
||||
fax // (c) 1983
|
||||
|
Loading…
Reference in New Issue
Block a user