diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp index 8f8894bd8c6..32f37ae13da 100644 --- a/src/mame/drivers/galaxian.cpp +++ b/src/mame/drivers/galaxian.cpp @@ -1901,6 +1901,29 @@ static ADDRESS_MAP_START( turtles_map, AS_PROGRAM, 8, galaxian_state ) AM_RANGE(0xb800, 0xb83f) AM_MIRROR(0x47c0) AM_READWRITE(turtles_ppi8255_1_r, turtles_ppi8255_1_w) ADDRESS_MAP_END + +/* map NOT derived from schematics */ +static ADDRESS_MAP_START( amigo2_map, AS_PROGRAM, 8, galaxian_state ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x4000) AM_READ_PORT("IN0") AM_DEVWRITE("soundlatch", generic_latch_8_device, write) + AM_RANGE(0x4001, 0x4001) AM_READ_PORT("IN1") + AM_RANGE(0x4002, 0x4002) AM_READ_PORT("IN2") + AM_RANGE(0x4003, 0x4003) AM_READ_PORT("IN3") + AM_RANGE(0x5000, 0x5000) AM_WRITE(konami_sound_control_w) + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxian_videoram_w) AM_SHARE("videoram") + AM_RANGE(0x9000, 0x90ff) AM_RAM_WRITE(galaxian_objram_w) AM_SHARE("spriteram") + AM_RANGE(0xa000, 0xa000) AM_WRITE(scramble_background_red_w) + AM_RANGE(0xa008, 0xa008) AM_WRITE(irq_enable_w) + AM_RANGE(0xa010, 0xa010) AM_WRITE(galaxian_flip_screen_y_w) + AM_RANGE(0xa018, 0xa018) AM_WRITE(galaxian_flip_screen_x_w) + AM_RANGE(0xa020, 0xa020) AM_WRITE(scramble_background_green_w) + AM_RANGE(0xa028, 0xa028) AM_WRITE(scramble_background_blue_w) + AM_RANGE(0xa030, 0xa030) AM_WRITE(coin_count_0_w) + AM_RANGE(0xa038, 0xa038) AM_WRITE(coin_count_1_w) + AM_RANGE(0xa800, 0xa800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) +ADDRESS_MAP_END + static ADDRESS_MAP_START( turpins_map, AS_PROGRAM, 8, galaxian_state ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM @@ -6040,6 +6063,15 @@ static MACHINE_CONFIG_DERIVED( turtles, konami_base ) MCFG_CPU_PROGRAM_MAP(turtles_map) MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( amigo2, galaxian_base ) // bootleg has no i8255s + + /* alternate memory map */ + MCFG_CPU_MODIFY("maincpu") + MCFG_CPU_PROGRAM_MAP(amigo2_map) + + MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910) +MACHINE_CONFIG_END + static MACHINE_CONFIG_DERIVED( turpins, turtles ) // the ROMs came from a blister, so there aren't PCB infos available. Chip types and clocks are guessed. @@ -7168,7 +7200,7 @@ DRIVER_INIT_MEMBER(galaxian_state,mandinga) { DRIVER_INIT_CALL(scramble); - /* watchdog is in a different location) */ + /* watchdog is in a different location */ address_space &space = m_maincpu->space(AS_PROGRAM); watchdog_timer_device *wdog = subdevice("watchdog"); space.unmap_read(0x7000, 0x7000, 0x7ff); @@ -10611,6 +10643,35 @@ ROM_START( amigo ) ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) ) ROM_END +/* +1x Z8400A-P5-Z80ACPU 10k 8-bit Microprocessor - main +1x Z8400A-P5-Z80ACPU 3a 8-bit Microprocessor - sound +2x AY-3-8910 6a,7a Programmable Sound Generator - sound +1x LM380N 1 Audio Amplifier - sound +1x oscillator 12.000MHz 12h + +PCB is marked: "AMI" on solder side +*/ + +ROM_START( amigo2 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "a1.10l", 0x0000, 0x1000, CRC(e4aeac3f) SHA1(661e4badcebb6f6811e9b22d9b1561b64d7e77a9) ) // 2532 + ROM_LOAD( "a2.9l", 0x1000, 0x1000, CRC(66ae3320) SHA1(3eba2f221ab2662b2b638a8822da48964ee2ceff) ) // 2532 + ROM_LOAD( "a3.8l", 0x2000, 0x1000, CRC(c369b877) SHA1(4180afee10637781b408ebb50404dd8102351d46) ) // 2532 + ROM_LOAD( "a4.7l", 0x3000, 0x1000, CRC(2194a1d3) SHA1(3807c2e25288b21e940ff33fb5d1541b559c5c1e) ) // 2532 + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "a7.3b", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) // 2532 + ROM_LOAD( "a8.4b", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) // 2532 + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "a6.3h", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) // 2516 + ROM_LOAD( "a5.5h", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) ) // 2716 + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "sn74s288n.1k", 0x0000, 0x0020, CRC(01004d3f) SHA1(e53cbc54ea96e846481a67bbcccf6b1726e70f9c) ) +ROM_END + ROM_START( amidars ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "am2d", 0x0000, 0x0800, CRC(24b79547) SHA1(eca735c6a35561a9a6ba8a20dca1e1c78ed073fc) ) @@ -12099,7 +12160,8 @@ GAME( 1981, amidar1, amidar, turtles, amidar, galaxian_state, turtl GAME( 1982, amidaru, amidar, turtles, amidaru, galaxian_state, turtles, ROT90, "Konami (Stern Electronics license)", "Amidar (Stern Electronics)", MACHINE_SUPPORTS_SAVE ) GAME( 1982, amidaro, amidar, turtles, amidaro, galaxian_state, turtles, ROT90, "Konami (Olympia license)", "Amidar (Olympia)", MACHINE_SUPPORTS_SAVE ) GAME( 1982, amidarb, amidar, turtles, amidaru, galaxian_state, turtles, ROT90, "bootleg", "Amidar (bootleg)", MACHINE_SUPPORTS_SAVE ) /* similar to Amigo bootleg */ -GAME( 1982, amigo, amidar, turtles, amidaru, galaxian_state, turtles, ROT90, "bootleg", "Amigo", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, amigo, amidar, turtles, amidaru, galaxian_state, turtles, ROT90, "bootleg", "Amigo (bootleg of Amidar, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, amigo2, amidar, amigo2, amidaru, galaxian_state, turtles, ROT90, "bootleg", "Amigo (bootleg of Amidar, set 2)", MACHINE_SUPPORTS_SAVE ) GAME( 1982, amidars, amidar, scramble, amidars, galaxian_state, scramble, ROT90, "Konami", "Amidar (Scramble hardware)", MACHINE_SUPPORTS_SAVE ) GAME( 1982, mandinga, amidar, scramble, amidars, galaxian_state, mandinga, ROT90, "bootleg (Artemi)", "Mandinga (bootleg of Amidar)", MACHINE_NO_SOUND | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // sound ROMs have identical halves, reference for color http://www.youtube.com/watch?v=6uGK4AZxV2U diff --git a/src/mame/mame.lst b/src/mame/mame.lst index e360c9f545e..fd268160622 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -13056,6 +13056,7 @@ amidaro // GX337 (c) 1982 Konami + Olympia license amidars // GX337 (c) 1982 Konami amidaru // GX337 (c) 1982 Konami + Stern license amigo // bootleg +amigo2 // bootleg anteater // (c) 1982 Tago anteaterg // (c) 1983 TV-Tuning (F.E.G. license) anteatergg // bootleg