Previous 199869 Revisions Next

r20054 Friday 4th January, 2013 at 05:49:34 UTC by hap
fix grasspin infinite lives
[src/mame/drivers]blueprnt.c
[src/mame/includes]blueprnt.h

trunk/src/mame/drivers/blueprnt.c
r20053r20054
6767   return m_dipsw;
6868}
6969
70READ8_MEMBER(blueprnt_state::grasspin_sh_dipsw_r)
71{
72   // judging from the disasm, it looks like simple protection was added
73   // d6: must be clear
74   // d7: must be set, or is it directly connected to a dipswitch?
75   return (m_dipsw & 0x3f) | 0x80;
76}
77
7078WRITE8_MEMBER(blueprnt_state::blueprnt_sound_command_w)
7179{
7280   soundlatch_byte_w(space, offset, data);
r20053r20054
99107   AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(blueprnt_colorram_w) AM_MIRROR(0x400) AM_SHARE("colorram")
100108ADDRESS_MAP_END
101109
110static ADDRESS_MAP_START( grasspin_map, AS_PROGRAM, 8, blueprnt_state )
111   AM_RANGE(0xc003, 0xc003) AM_READ(grasspin_sh_dipsw_r)
112   AM_IMPORT_FROM( blueprnt_map )
113ADDRESS_MAP_END
114
115
102116static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, blueprnt_state )
103   AM_RANGE(0x0000, 0x3fff) AM_ROM
117   AM_RANGE(0x0000, 0x0fff) AM_ROM AM_MIRROR(0x1000)
118   AM_RANGE(0x2000, 0x2fff) AM_ROM AM_MIRROR(0x1000)
104119   AM_RANGE(0x4000, 0x43ff) AM_RAM
105120   AM_RANGE(0x6000, 0x6001) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
106121   AM_RANGE(0x6002, 0x6002) AM_DEVREAD_LEGACY("ay1", ay8910_r)
r20053r20054
244259   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  ) PORT_8WAY PORT_COCKTAIL
245260
246261   PORT_START("DILSW1")
247   PORT_DIPNAME( 0x01, 0x00, "DSW1:01" )
248   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
249   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
250   PORT_DIPNAME( 0x02, 0x00, "DSW1:02" )
251   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
252   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
253   PORT_DIPNAME( 0x04, 0x00, "DSW1:04" )
254   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
255   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
256   PORT_DIPNAME( 0x08, 0x00, "DSW1:08" )
257   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
258   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
259   PORT_DIPNAME( 0x10, 0x00, "DSW1:10" )
260   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
261   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
262   PORT_DIPNAME( 0x60, 0x60, "Coinage" )
262   PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "DILSW1:1" )
263   PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "DILSW1:2" )
264   PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "DILSW1:3" )
265   PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "DILSW1:4" )
266   PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "DILSW1:5" )
267   PORT_DIPNAME( 0x60, 0x60, DEF_STR( Coinage ) )      PORT_DIPLOCATION("DILSW1:6,7")
263268   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
264269   PORT_DIPSETTING(    0x40, DEF_STR( 2C_3C ) )
265270   PORT_DIPSETTING(    0x60, DEF_STR( 1C_1C ) )
266271   PORT_DIPSETTING(    0x20, DEF_STR( 1C_2C ) )
267   PORT_DIPNAME( 0x80, 0x00, "Leave OFF" )  // won't boot if set to ON?
268   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
269   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
272   PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "DILSW1:8" )
270273
271274   PORT_START("DILSW2")
272   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
273   PORT_DIPSETTING(    0x00, "3" )
274   PORT_DIPSETTING(    0x03, "4" )
275   PORT_DIPSETTING(    0x02, "5" )
276   PORT_DIPSETTING(    0x01, "6" )
277   PORT_DIPNAME( 0x04, 0x00, "DSW2:04" )
278   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
279   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
280   PORT_DIPNAME( 0x08, 0x00, "DSW2:08" )
281   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
282   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
283   PORT_DIPNAME( 0x10, 0x00, "DSW2:10" )
284   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
285   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
286   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
275   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )      PORT_DIPLOCATION("DILSW2:1,2")
276   PORT_DIPSETTING(    0x00, "2" )
277   PORT_DIPSETTING(    0x03, "3" )
278   PORT_DIPSETTING(    0x02, "4" )
279   PORT_DIPSETTING(    0x01, "5" )
280   PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "DILSW2:3" )
281   PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "DILSW2:4" )
282   PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "DILSW2:5" )
283   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )      PORT_DIPLOCATION("DILSW2:6")
287284   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
288285   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
289   PORT_DIPNAME( 0x40, 0x00, "Leave OFF" ) // won't boot if set to ON?
290   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
291   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
292   PORT_DIPNAME( 0x80, 0x00, "DSW2:80" )
293   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
294   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
286   PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "DILSW2:7" )
287   PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "DILSW2:8" )
295288INPUT_PORTS_END
296289
297290/*************************************
r20053r20054
404397MACHINE_CONFIG_END
405398
406399static MACHINE_CONFIG_DERIVED( grasspin, blueprnt )
400
401   /* basic machine hardware */
402   MCFG_CPU_MODIFY("maincpu")
403   MCFG_CPU_PROGRAM_MAP(grasspin_map)
404
405   /* video hardware */
407406   MCFG_VIDEO_START_OVERRIDE(blueprnt_state, grasspin)
408407MACHINE_CONFIG_END
409408
r20053r20054
423422
424423   ROM_REGION( 0x10000, "audiocpu", 0 )
425424   ROM_LOAD( "snd-1.3u",  0x0000, 0x1000, CRC(fd38777a) SHA1(0ed230e0fa047d3171e7141e5620b4c750b07629) )
426   ROM_RELOAD(0x1000,0x1000)
427425   ROM_LOAD( "snd-2.3v",  0x2000, 0x1000, CRC(33d5bf5b) SHA1(3ac684cd48559cd0eab32f9e7ce3ec6eca88dcd4) )
428   ROM_RELOAD(0x3000,0x1000)
429426
430427   ROM_REGION( 0x2000, "gfx1", 0 )
431428   ROM_LOAD( "bg-1.3c",   0x0000, 0x1000, CRC(ac2a61bc) SHA1(e56708d261648478d1dae4769118546411299e59) )
r20053r20054
447444
448445   ROM_REGION( 0x10000, "audiocpu", 0 )
449446   ROM_LOAD( "snd-1.3u",  0x0000, 0x1000, CRC(fd38777a) SHA1(0ed230e0fa047d3171e7141e5620b4c750b07629) )
450   ROM_RELOAD(0x1000,0x1000)
451447   ROM_LOAD( "snd-2.3v",  0x2000, 0x1000, CRC(33d5bf5b) SHA1(3ac684cd48559cd0eab32f9e7ce3ec6eca88dcd4) )
452   ROM_RELOAD(0x3000,0x1000)
453448
454449   ROM_REGION( 0x2000, "gfx1", 0 )
455450   ROM_LOAD( "bg-1j.3c",   0x0000, 0x0800, CRC(43718c34) SHA1(5df4794a38866c7f03b264581c8555b9bec3969f) )
r20053r20054
472467
473468   ROM_REGION( 0x10000, "audiocpu", 0 )
474469   ROM_LOAD( "r7",           0x0000, 0x1000, CRC(dd43e02f) SHA1(1d95a307cb4ef523f024cb9c60382a2ac8c17b1c) )
475   ROM_RELOAD(0x1000,0x1000)
476470   ROM_LOAD( "r8",           0x2000, 0x1000, CRC(7f9d0877) SHA1(335b17d187089e91bd3002778821921e73ec59d2) )
477   ROM_RELOAD(0x3000,0x1000)
478471
479472   ROM_REGION( 0x2000, "gfx1", 0 )
480473   ROM_LOAD( "r10",          0x0000, 0x1000, CRC(35987d61) SHA1(964503c3b17299b27b611943eebca9bc7c93a18c) )
r20053r20054
496489
497490   ROM_REGION( 0x10000, "audiocpu", 0 )
498491   ROM_LOAD( "jaleco-6.4j",  0x0000, 0x1000, CRC(f58bf3b0) SHA1(a7e30a9bfbd43fb4cc1987ad9fb0f3a023a7735d) )
499   ROM_RELOAD(0x1000,0x1000) // confirmed mirror by hw fluke
500492   ROM_LOAD( "jaleco-7.4l",  0x2000, 0x1000, CRC(2d587653) SHA1(c2c08fde75a7ebc60edd461ca18d982fb00f43e2) )
501   ROM_RELOAD(0x3000,0x1000)
502493
503494   ROM_REGION( 0x2000, "gfx1", 0 )
504495   ROM_LOAD( "jaleco-9.4p",   0x0000, 0x1000, CRC(bccca24c) SHA1(95bdd2cfdefb76ca8d3c00b9fe140f97feebdcc1) )
r20053r20054
520511GAME( 1982, blueprnt,  0,        blueprnt, blueprnt, driver_device, 0, ROT270, "Zilec Electronics / Bally Midway", "Blue Print (Midway)", GAME_SUPPORTS_SAVE )
521512GAME( 1982, blueprntj, blueprnt, blueprnt, blueprnt, driver_device, 0, ROT270, "Zilec Electronics / Jaleco",       "Blue Print (Jaleco)", GAME_SUPPORTS_SAVE )
522513GAME( 1983, saturnzi,  0,        blueprnt, saturn,   driver_device, 0, ROT270, "Zilec Electronics / Jaleco",       "Saturn", GAME_SUPPORTS_SAVE )
523GAME( 1983, grasspin,  0,        grasspin, grasspin, driver_device, 0, ROT90, "Zilec Electronics / Jaleco",       "Grasspin", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
514GAME( 1983, grasspin,  0,        grasspin, grasspin, driver_device, 0, ROT270, "Zilec Electronics / Jaleco",       "Grasspin", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
trunk/src/mame/includes/blueprnt.h
r20053r20054
3131   int     m_dipsw;
3232
3333   DECLARE_READ8_MEMBER(blueprnt_sh_dipsw_r);
34   DECLARE_READ8_MEMBER(grasspin_sh_dipsw_r);
3435   DECLARE_WRITE8_MEMBER(blueprnt_sound_command_w);
3536   DECLARE_WRITE8_MEMBER(blueprnt_coin_counter_w);
3637   DECLARE_WRITE8_MEMBER(blueprnt_videoram_w);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team