trunk/src/mame/drivers/blueprnt.c
| r20053 | r20054 | |
| 67 | 67 | return m_dipsw; |
| 68 | 68 | } |
| 69 | 69 | |
| 70 | READ8_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 | |
| 70 | 78 | WRITE8_MEMBER(blueprnt_state::blueprnt_sound_command_w) |
| 71 | 79 | { |
| 72 | 80 | soundlatch_byte_w(space, offset, data); |
| r20053 | r20054 | |
| 99 | 107 | AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(blueprnt_colorram_w) AM_MIRROR(0x400) AM_SHARE("colorram") |
| 100 | 108 | ADDRESS_MAP_END |
| 101 | 109 | |
| 110 | static 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 ) |
| 113 | ADDRESS_MAP_END |
| 114 | |
| 115 | |
| 102 | 116 | static 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) |
| 104 | 119 | AM_RANGE(0x4000, 0x43ff) AM_RAM |
| 105 | 120 | AM_RANGE(0x6000, 0x6001) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w) |
| 106 | 121 | AM_RANGE(0x6002, 0x6002) AM_DEVREAD_LEGACY("ay1", ay8910_r) |
| r20053 | r20054 | |
| 244 | 259 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL |
| 245 | 260 | |
| 246 | 261 | 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") |
| 263 | 268 | PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) |
| 264 | 269 | PORT_DIPSETTING( 0x40, DEF_STR( 2C_3C ) ) |
| 265 | 270 | PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) ) |
| 266 | 271 | 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" ) |
| 270 | 273 | |
| 271 | 274 | 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") |
| 287 | 284 | PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) |
| 288 | 285 | 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" ) |
| 295 | 288 | INPUT_PORTS_END |
| 296 | 289 | |
| 297 | 290 | /************************************* |
| r20053 | r20054 | |
| 404 | 397 | MACHINE_CONFIG_END |
| 405 | 398 | |
| 406 | 399 | static 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 */ |
| 407 | 406 | MCFG_VIDEO_START_OVERRIDE(blueprnt_state, grasspin) |
| 408 | 407 | MACHINE_CONFIG_END |
| 409 | 408 | |
| r20053 | r20054 | |
| 423 | 422 | |
| 424 | 423 | ROM_REGION( 0x10000, "audiocpu", 0 ) |
| 425 | 424 | ROM_LOAD( "snd-1.3u", 0x0000, 0x1000, CRC(fd38777a) SHA1(0ed230e0fa047d3171e7141e5620b4c750b07629) ) |
| 426 | | ROM_RELOAD(0x1000,0x1000) |
| 427 | 425 | ROM_LOAD( "snd-2.3v", 0x2000, 0x1000, CRC(33d5bf5b) SHA1(3ac684cd48559cd0eab32f9e7ce3ec6eca88dcd4) ) |
| 428 | | ROM_RELOAD(0x3000,0x1000) |
| 429 | 426 | |
| 430 | 427 | ROM_REGION( 0x2000, "gfx1", 0 ) |
| 431 | 428 | ROM_LOAD( "bg-1.3c", 0x0000, 0x1000, CRC(ac2a61bc) SHA1(e56708d261648478d1dae4769118546411299e59) ) |
| r20053 | r20054 | |
| 447 | 444 | |
| 448 | 445 | ROM_REGION( 0x10000, "audiocpu", 0 ) |
| 449 | 446 | ROM_LOAD( "snd-1.3u", 0x0000, 0x1000, CRC(fd38777a) SHA1(0ed230e0fa047d3171e7141e5620b4c750b07629) ) |
| 450 | | ROM_RELOAD(0x1000,0x1000) |
| 451 | 447 | ROM_LOAD( "snd-2.3v", 0x2000, 0x1000, CRC(33d5bf5b) SHA1(3ac684cd48559cd0eab32f9e7ce3ec6eca88dcd4) ) |
| 452 | | ROM_RELOAD(0x3000,0x1000) |
| 453 | 448 | |
| 454 | 449 | ROM_REGION( 0x2000, "gfx1", 0 ) |
| 455 | 450 | ROM_LOAD( "bg-1j.3c", 0x0000, 0x0800, CRC(43718c34) SHA1(5df4794a38866c7f03b264581c8555b9bec3969f) ) |
| r20053 | r20054 | |
| 472 | 467 | |
| 473 | 468 | ROM_REGION( 0x10000, "audiocpu", 0 ) |
| 474 | 469 | ROM_LOAD( "r7", 0x0000, 0x1000, CRC(dd43e02f) SHA1(1d95a307cb4ef523f024cb9c60382a2ac8c17b1c) ) |
| 475 | | ROM_RELOAD(0x1000,0x1000) |
| 476 | 470 | ROM_LOAD( "r8", 0x2000, 0x1000, CRC(7f9d0877) SHA1(335b17d187089e91bd3002778821921e73ec59d2) ) |
| 477 | | ROM_RELOAD(0x3000,0x1000) |
| 478 | 471 | |
| 479 | 472 | ROM_REGION( 0x2000, "gfx1", 0 ) |
| 480 | 473 | ROM_LOAD( "r10", 0x0000, 0x1000, CRC(35987d61) SHA1(964503c3b17299b27b611943eebca9bc7c93a18c) ) |
| r20053 | r20054 | |
| 496 | 489 | |
| 497 | 490 | ROM_REGION( 0x10000, "audiocpu", 0 ) |
| 498 | 491 | ROM_LOAD( "jaleco-6.4j", 0x0000, 0x1000, CRC(f58bf3b0) SHA1(a7e30a9bfbd43fb4cc1987ad9fb0f3a023a7735d) ) |
| 499 | | ROM_RELOAD(0x1000,0x1000) // confirmed mirror by hw fluke |
| 500 | 492 | ROM_LOAD( "jaleco-7.4l", 0x2000, 0x1000, CRC(2d587653) SHA1(c2c08fde75a7ebc60edd461ca18d982fb00f43e2) ) |
| 501 | | ROM_RELOAD(0x3000,0x1000) |
| 502 | 493 | |
| 503 | 494 | ROM_REGION( 0x2000, "gfx1", 0 ) |
| 504 | 495 | ROM_LOAD( "jaleco-9.4p", 0x0000, 0x1000, CRC(bccca24c) SHA1(95bdd2cfdefb76ca8d3c00b9fe140f97feebdcc1) ) |
| r20053 | r20054 | |
| 520 | 511 | GAME( 1982, blueprnt, 0, blueprnt, blueprnt, driver_device, 0, ROT270, "Zilec Electronics / Bally Midway", "Blue Print (Midway)", GAME_SUPPORTS_SAVE ) |
| 521 | 512 | GAME( 1982, blueprntj, blueprnt, blueprnt, blueprnt, driver_device, 0, ROT270, "Zilec Electronics / Jaleco", "Blue Print (Jaleco)", GAME_SUPPORTS_SAVE ) |
| 522 | 513 | GAME( 1983, saturnzi, 0, blueprnt, saturn, driver_device, 0, ROT270, "Zilec Electronics / Jaleco", "Saturn", GAME_SUPPORTS_SAVE ) |
| 523 | | GAME( 1983, grasspin, 0, grasspin, grasspin, driver_device, 0, ROT90, "Zilec Electronics / Jaleco", "Grasspin", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) |
| 514 | GAME( 1983, grasspin, 0, grasspin, grasspin, driver_device, 0, ROT270, "Zilec Electronics / Jaleco", "Grasspin", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) |