diff options
author | Roberto Fresca <robertof@mamedev.org> | 2008-08-31 16:00:19 +0000 |
---|---|---|
committer | Roberto Fresca <robertof@mamedev.org> | 2008-08-31 16:00:19 +0000 |
commit | 1071e33c6c8efc078ed17ed249ca0a272169ee8c (patch) | |
tree | aad9c8de60ad80d7746d3b35012c05cca41e8657 | |
parent | 7bc95cc72b321a1f8bf0ff538941c8b9d4e09ca9 (diff) |
Improvements to galaxi driver...
- Added Magic Joker.
- Fixed the 3rd background offset to Galaxi.
- Remapped inputs to match the standard poker games.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Magic Joker (v1.25.10.2000) [Roberto Fresca]
-rw-r--r-- | src/mame/drivers/galaxi.c | 91 | ||||
-rw-r--r-- | src/mame/mamedriv.c | 1 |
2 files changed, 77 insertions, 15 deletions
diff --git a/src/mame/drivers/galaxi.c b/src/mame/drivers/galaxi.c index eb76cfc89a3..a7a028273e0 100644 --- a/src/mame/drivers/galaxi.c +++ b/src/mame/drivers/galaxi.c @@ -25,6 +25,14 @@ Notes: - This hardware is almost identical to that in magic10.c + +[31/08/2008] (Roberto Fresca) + +- Added Magic Joker. +- Fixed the 3rd background offset to Galaxi. +- Remapped inputs to match the standard poker games. + + ***************************************************************************/ #include "driver.h" @@ -109,7 +117,7 @@ static VIDEO_START(galaxi) tilemap_set_transparent_pen(fg_tmap, 0); - tilemap_set_scrolldx( bg3_tmap, -16, 0); + tilemap_set_scrolldx( bg3_tmap, -8, 0); } static VIDEO_UPDATE(galaxi) @@ -117,14 +125,14 @@ static VIDEO_UPDATE(galaxi) int layers_ctrl = -1; #ifdef MAME_DEBUG - if (input_code_pressed(KEYCODE_Z)) + if (input_code_pressed(KEYCODE_R)) // remapped due to inputs changes. { int msk = 0; - if (input_code_pressed(KEYCODE_Q)) msk |= 1; - if (input_code_pressed(KEYCODE_W)) msk |= 2; - if (input_code_pressed(KEYCODE_E)) msk |= 4; - if (input_code_pressed(KEYCODE_R)) msk |= 8; - if (input_code_pressed(KEYCODE_A)) msk |= 16; + if (input_code_pressed(KEYCODE_T)) msk |= 1; + if (input_code_pressed(KEYCODE_Y)) msk |= 2; + if (input_code_pressed(KEYCODE_U)) msk |= 4; + if (input_code_pressed(KEYCODE_I)) msk |= 8; + if (input_code_pressed(KEYCODE_O)) msk |= 16; if (msk != 0) layers_ctrl &= msk; } #endif @@ -208,6 +216,7 @@ static ADDRESS_MAP_START( galaxi_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE( 0x100c00, 0x100fff ) AM_RAM_WRITE( galaxi_bg4_w ) AM_BASE( &bg4_ram ) AM_RANGE( 0x101000, 0x101fff ) AM_RAM_WRITE( galaxi_fg_w ) AM_BASE( &fg_ram ) + AM_RANGE( 0x102000, 0x1047ff ) AM_READNOP // unknown AM_RANGE( 0x300000, 0x3007ff ) AM_RAM_WRITE( paletteram16_xRRRRRGGGGGBBBBB_word_w ) AM_BASE( &paletteram16 ) @@ -228,11 +237,11 @@ ADDRESS_MAP_END INPUT_PORTS_START( galaxi ) PORT_START("INPUTS") - PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Hold 1") - PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Hold 2") - PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Hold 3") - PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Hold 4") - PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Hold 5") + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Hold 1") PORT_CODE(KEYCODE_Z) + PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Hold 2") PORT_CODE(KEYCODE_X) + PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Hold 3") PORT_CODE(KEYCODE_C) + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Hold 4") PORT_CODE(KEYCODE_V) + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Hold 5") PORT_CODE(KEYCODE_B) PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Pay Out") PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( hopper_r, (void *)0 ) // hopper sensor @@ -247,9 +256,31 @@ INPUT_PORTS_START( galaxi ) INPUT_PORTS_END +INPUT_PORTS_START( magjoker ) + + PORT_START("INPUTS") + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Hold 1") PORT_CODE(KEYCODE_Z) + PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Hold 2") PORT_CODE(KEYCODE_X) + PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Hold 3") PORT_CODE(KEYCODE_C) + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Hold 4") PORT_CODE(KEYCODE_V) + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Hold 5") PORT_CODE(KEYCODE_B) + PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Pay Out") + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( hopper_r, (void *)0 ) // hopper sensor + PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(5) // coin a + PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(5) // coin b (token) + PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Hopper Refill") PORT_CODE(KEYCODE_H) + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( ticket_r, (void *)0 ) // ticket sensor + PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_SPECIAL ) // hopper out (pin 14LS) + PORT_SERVICE_NO_TOGGLE( 0x2000, IP_ACTIVE_HIGH ) // test + PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Key Out") PORT_CODE(KEYCODE_W) // (pin 26LC) + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) // (pin 15LS) + +INPUT_PORTS_END + /*************************************************************************** - Graphics Layout + Graphics Layout ***************************************************************************/ static const gfx_layout layout_8x8x4 = @@ -281,7 +312,7 @@ GFXDECODE_END /*************************************************************************** - Machine Drivers + Machine Drivers ***************************************************************************/ static MACHINE_DRIVER_START( galaxi ) @@ -315,6 +346,18 @@ static MACHINE_DRIVER_START( galaxi ) MACHINE_DRIVER_END +static MACHINE_DRIVER_START( magjoker ) + /* basic machine hardware */ + MDRV_IMPORT_FROM(galaxi) + + /* sound hardware */ + MDRV_SOUND_MODIFY("oki") + + /* ADPCM samples are recorded with extremely low volume */ + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 4.0) +MACHINE_DRIVER_END + + /*************************************************************************** ROMs Loading ***************************************************************************/ @@ -332,5 +375,23 @@ ROM_START( galaxi ) ROM_LOAD( "1.u38", 0x00000, 0x40000, CRC(50e289db) SHA1(43c576c014f4c3d22bfa4c932e161d7558d483f6) ) ROM_END +ROM_START( magjoker ) + ROM_REGION( 0x40000, "main", 0 ) + ROM_LOAD16_BYTE( "25.u48", 0x00000, 0x20000, CRC(505bdef2) SHA1(9c2a525f2eb3cc39bdd6219bad7c5a1a8bc0b274) ) + ROM_LOAD16_BYTE( "24.u47", 0x00001, 0x20000, CRC(380fd0cd) SHA1(bcd6d23e41e249c7e587b253958eec180440639a) ) + + ROM_REGION( 0x100000, "gfx1", ROMREGION_DISPOSE ) + ROM_LOAD16_BYTE( "23.u34", 0x00000, 0x80000, CRC(952b7c84) SHA1(a28e1b79444331837ffc07c8d3c16c1d9a3c974c) ) + ROM_LOAD16_BYTE( "22.u33", 0x00001, 0x80000, CRC(41866733) SHA1(257d77f89fcf1e8f36fb6a8fcb8ad48b1127e457) ) + + ROM_REGION( 0x40000, "oki", 0 ) /* 4-bit ADPCM mono @ 6 kHz.*/ + ROM_LOAD( "21.u38", 0x00000, 0x40000, CRC(199baf33) SHA1(006708d955481fe1ae44555d27896d18e1ff8440) ) +ROM_END + + +/*************************************************************************** + Game Drivers +***************************************************************************/ -GAME( 2000, galaxi, 0, galaxi, galaxi, 0, ROT0, "B.R.L.", "Galaxi (v2.0)", 0 ) +GAME( 2000, galaxi, 0, galaxi, galaxi, 0, ROT0, "B.R.L.", "Galaxi (v2.0)", 0 ) +GAME( 2000, magjoker, 0, magjoker, magjoker, 0, ROT0, "B.R.L.", "Magic Joker (v1.25.10.2000)", 0 ) diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index 789d2dae3e2..f5bc048b845 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -8039,6 +8039,7 @@ Other Sun games DRIVER( hotslot ) /* (c) 1996 ABM Electronics */ DRIVER( mcolors ) /* 1999 unknown */ DRIVER( galaxi ) /* (c) 2000 BRL S.R.L. Bologna */ + DRIVER( magjoker ) /* (c) 2000 BRL S.R.L. Bologna */ DRIVER( dwarfd ) /* (c) 198? Electro-Sports */ DRIVER( trvquest ) /* (c) 1984 Sunn / Techstar */ DRIVER( wheelfir ) /* (c) 199? TCH */ |