Previous 199869 Revisions Next

r18985 Friday 16th November, 2012 at 13:28:04 UTC by Robbbert
Improved bagmanmc. Add new working clone. [Robbbert]

bagmanmc : fixed loading of gfx roms, and the bank switching, but some roms are bad.

New Working Clone: Bagman on Moon Cresta hardware (1984 version) [from Misfitmame]
[src/mame]mame.lst
[src/mame/drivers]galaxold.c
[src/mame/includes]galaxold.h
[src/mame/video]galaxold.c

trunk/src/mame/mame.lst
r18984r18985
247247frogg         // bootleg
2482484in1         // (c) 1981 Armenia / Food and Fun
249249bagmanmc      // bootleg
250bagmanm2      // (c) 1984 Valadon Automation / GIB
250251dkongjrm      // bootleg
251252ozon1         // (c) 1983 Proma
252253ladybugg      // bootleg
trunk/src/mame/includes/galaxold.h
r18984r18985
185185   TIMER_DEVICE_CALLBACK_MEMBER(galaxold_interrupt_timer);
186186   DECLARE_WRITE_LINE_MEMBER(galaxold_7474_9m_2_q_callback);
187187   DECLARE_WRITE_LINE_MEMBER(galaxold_7474_9m_1_callback);
188   DECLARE_VIDEO_START(bagmanmc);
188189};
189190
190191/*----------- defined in video/galaxold.c -----------*/
trunk/src/mame/video/galaxold.c
r18984r18985
18601860   return 0;
18611861}
18621862
1863static void bagmanmc_modify_charcode(running_machine &machine, UINT16 *code, UINT8 x)
1864{
1865   galaxold_state *state = machine.driver_data<galaxold_state>();
1866   *code |= (state->m_gfxbank[0] << 9);
1867}
1868
1869static void bagmanmc_modify_spritecode(running_machine &machine, UINT8 *spriteram, int *code, int *flipx, int *flipy, int offs)
1870{
1871   galaxold_state *state = machine.driver_data<galaxold_state>();
1872   *code |= (state->m_gfxbank[0] << 7) | 0x40;
1873}
1874
1875VIDEO_START_MEMBER(galaxold_state,bagmanmc)
1876{
1877   VIDEO_START_CALL_MEMBER(galaxold);
1878
1879   m_modify_charcode = bagmanmc_modify_charcode;
1880   m_modify_spritecode = bagmanmc_modify_spritecode;
1881}
trunk/src/mame/drivers/galaxold.c
r18984r18985
655655   AM_RANGE(0xa803, 0xa803) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_noise_enable_w)
656656   AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW")
657657   AM_RANGE(0xb001, 0xb001) AM_WRITE(galaxold_nmi_enable_w)
658   AM_RANGE(0xb002, 0xb002) AM_WRITE(galaxold_gfxbank_w)
658659   AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w)
659660   AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w)
660661   AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
r18984r18985
19701971   32*8
19711972};
19721973
1973static const gfx_layout bagmanmc_charlayout =
1974{
1975   8,8,
1976   512,
1977   2,
1978   { 0, 512*8*8 },
1979   { 0, 1, 2, 3, 4, 5, 6, 7 },
1980   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
1981   8*8
1982};
1983
19841974static const gfx_layout _4in1_charlayout =
19851975{
19861976   8,8,
r18984r18985
20342024   GFXDECODE_ENTRY( "gfx1", 0x0000, galaxold_spritelayout, 0, 16 )
20352025GFXDECODE_END
20362026
2037/* separate character and sprite ROMs */
2038static GFXDECODE_START( bagmanmc )
2039   GFXDECODE_ENTRY( "gfx1", 0x0000, bagmanmc_charlayout,    0, 8 )
2040   GFXDECODE_ENTRY( "gfx1", 0x2000, pacmanbl_spritelayout, 0, 8 )
2041GFXDECODE_END
2042
20432027static GFXDECODE_START( _4in1 )
20442028   GFXDECODE_ENTRY( "gfx1", 0x0000, _4in1_charlayout,      0, 8 )
20452029   GFXDECODE_ENTRY( "gfx1", 0x4000, _4in1_spritelayout,    0, 8 )
r18984r18985
21822166   MCFG_MACHINE_RESET_OVERRIDE(galaxold_state, devilfsg )
21832167
21842168   /* video hardware */
2185   MCFG_GFXDECODE(bagmanmc)
2186
2187   MCFG_VIDEO_START_OVERRIDE(galaxold_state,pisces)
2169   MCFG_VIDEO_START_OVERRIDE(galaxold_state, bagmanmc)
21882170MACHINE_CONFIG_END
21892171
21902172
r18984r18985
26302612   ROM_LOAD( "b5.bin",       0x4000, 0x1000, CRC(0fe24b8c) SHA1(205a36fd346d49d2dda6911198295e202caae81f) )
26312613   ROM_LOAD( "b6.bin",       0x5000, 0x1000, CRC(f50390e7) SHA1(b4ebe647458c26e52461750d63856aea4262f110) )
26322614
2633   ROM_REGION( 0x3000, "gfx1", 0 )
2634   ROM_LOAD( "g1-u.bin",     0x0000, 0x0800, CRC(b63cfae4) SHA1(3e0cb3dbeec8ad790bc482176ca599721bac31ee) )
2635   ROM_CONTINUE(             0x2000, 0x0800 )
2636   ROM_LOAD( "g2-u.bin",     0x1000, 0x0800, CRC(a2790089) SHA1(7eb8634f26f6af52fb79bf90ec90b4e258c7c79f) )
2637   ROM_CONTINUE(             0x2800, 0x0800 )
2638   ROM_LOAD( "g1-l.bin",     0x0800, 0x0800, CRC(2ae6b5ab) SHA1(59bdebf75d28a247293440ec2ad83eaf30e3de00) )
2639   ROM_LOAD( "g2-l.bin",     0x1800, 0x0800, CRC(98b37397) SHA1(29914435a10cebbbce04382c45e13a64a0cd18cb) )
2615   ROM_REGION( 0x4000, "gfx1", 0 ) // if the gfx roms from bagmanm2 are used, then it works fine
2616   ROM_LOAD( "g1-l.bin",     0x0000, 0x0800, BAD_DUMP CRC(2ae6b5ab) SHA1(59bdebf75d28a247293440ec2ad83eaf30e3de00) )
2617   ROM_LOAD( "g2-u.bin",     0x1000, 0x1000, CRC(a2790089) SHA1(7eb8634f26f6af52fb79bf90ec90b4e258c7c79f) )
2618   ROM_LOAD( "g2-l.bin",     0x2000, 0x0800, BAD_DUMP CRC(98b37397) SHA1(29914435a10cebbbce04382c45e13a64a0cd18cb) )
2619   ROM_LOAD( "g1-u.bin",     0x3000, 0x1000, CRC(b63cfae4) SHA1(3e0cb3dbeec8ad790bc482176ca599721bac31ee) )
2620   ROM_COPY("gfx1",0x3800,0x2800,0x0800)
2621   ROM_COPY("gfx1",0x1800,0x0800,0x0800)
26402622
2641   ROM_REGION( 0x0020, "proms", 0 )
2642   ROM_LOAD( "bagmanmc.clr", 0x0000, 0x0020, NO_DUMP )   // missing
2623   ROM_REGION( 0x0020, "proms", 0 ) // not dumped, but the standard moon cresta prom works
2624   ROM_LOAD( "bagmanmc.clr", 0x0000, 0x0020, BAD_DUMP CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
26432625ROM_END
26442626
2627ROM_START( bagmanm2 )
2628   ROM_REGION( 0x10000, "maincpu", 0 )
2629   ROM_LOAD( "bagmanm2.1",   0x0000, 0x2000, CRC(53769ebe) SHA1(af5bf808a009a1cf94d0b73d23f7595bf72ba295) )
2630   ROM_LOAD( "bagmanm2.2",   0x2000, 0x2000, CRC(9435bb87) SHA1(97fa2dee3cb715ecd418873bc7bb007c3ab72195) )
2631   ROM_LOAD( "bagmanm2.3",   0x4000, 0x2000, CRC(f37ba7f6) SHA1(612ae21fbb94afa28dee096094a66a453a398fb2) )
2632
2633   ROM_REGION( 0x4000, "gfx1", 0 )
2634   ROM_LOAD( "bagmanm2.9",   0x0000, 0x2000, CRC(f1e70d9e) SHA1(b804727bba582e2b938811ba32106241b0606f5c) )
2635   ROM_LOAD( "bagmanm2.7",   0x2000, 0x2000, CRC(777e48c4) SHA1(7fee7f999bbc6fea3faf8745bf89417626bcca91) )
2636
2637   ROM_REGION( 0x0020, "proms", 0 ) // not dumped, but the standard moon cresta prom works
2638   ROM_LOAD( "bagmanmc.clr", 0x0000, 0x0020, BAD_DUMP CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
2639ROM_END
2640
26452641ROM_START( dkongjrm )
26462642   ROM_REGION( 0x10000, "maincpu", 0 )
26472643   ROM_LOAD( "a1",           0x0000, 0x1000, CRC(299486e9) SHA1(cc4143ff8cb7a37c151bebab007a932381ae733b) )
r18984r18985
30713067GAME( 1981, scramblb, scramble, scramblb, scramblb, driver_device, 0,        ROT90,  "bootleg", "Scramble (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
30723068GAME( 1981, scramb2,  scramble, scramb2,  scramb2, driver_device,  0,        ROT90,  "bootleg", "Scramble (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
30733069GAME( 1981, 4in1,     0,        4in1,     4in1, galaxold_state,     4in1,     ROT90,  "Armenia / Food and Fun", "4 Fun in 1", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
3074GAME( 1982, bagmanmc, bagman,   bagmanmc, bagmanmc, driver_device, 0,        ROT90,  "bootleg", "Bagman (bootleg on Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
3070GAME( 1982, bagmanmc, bagman,   bagmanmc, bagmanmc, driver_device, 0,        ROT90,  "Valadon Automation", "Bagman (bootleg on Moon Cresta hardware)", GAME_IMPERFECT_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
3071GAME( 1984, bagmanm2, bagman,   bagmanmc, bagmanmc, driver_device, 0,        ROT90,  "Valadon Automation / GIB", "Bagman (Moon Cresta hardware)", GAME_IMPERFECT_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
30753072GAME( 1982, dkongjrm, dkongjr,  dkongjrm, dkongjrm, driver_device, 0,        ROT90,  "bootleg", "Donkey Kong Jr. (bootleg on Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
30763073GAME( 1982, porter,   dockman,  mooncrst, porter, driver_device,   0,        ROT90,  "bootleg", "Port Man (bootleg on Moon Cresta hardware)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL ) // missing GFX bank switch!
30773074GAME( 1982, tazzmang, tazmania,   tazzmang, tazzmang, driver_device, 0,        ROT90,  "bootleg", "Tazz-Mania (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team