trunk/src/mame/drivers/blueprnt.c
| r19972 | r19973 | |
| 97 | 97 | AM_RANGE(0xd000, 0xd000) AM_WRITE(blueprnt_sound_command_w) |
| 98 | 98 | AM_RANGE(0xe000, 0xe000) AM_READ(watchdog_reset_r) AM_WRITE(blueprnt_flipscreen_w) |
| 99 | 99 | AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(blueprnt_colorram_w) AM_SHARE("colorram") |
| 100 | AM_RANGE(0xf400, 0xf7ff) AM_RAM // mirror? |
| 100 | 101 | ADDRESS_MAP_END |
| 101 | 102 | |
| 102 | 103 | static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, blueprnt_state ) |
| 103 | | AM_RANGE(0x0000, 0x0fff) AM_ROM |
| 104 | | AM_RANGE(0x2000, 0x2fff) AM_ROM |
| 104 | AM_RANGE(0x0000, 0x3fff) AM_ROM |
| 105 | 105 | AM_RANGE(0x4000, 0x43ff) AM_RAM |
| 106 | 106 | AM_RANGE(0x6000, 0x6001) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w) |
| 107 | 107 | AM_RANGE(0x6002, 0x6002) AM_DEVREAD_LEGACY("ay1", ay8910_r) |
| r19972 | r19973 | |
| 109 | 109 | AM_RANGE(0x8002, 0x8002) AM_DEVREAD_LEGACY("ay2", ay8910_r) |
| 110 | 110 | ADDRESS_MAP_END |
| 111 | 111 | |
| 112 | static ADDRESS_MAP_START( sound_io, AS_IO, 8, blueprnt_state ) |
| 113 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 114 | AM_RANGE(0x02, 0x02) AM_NOP // nmi mask maybe? grasspin writes it 0/1 |
| 115 | ADDRESS_MAP_END |
| 112 | 116 | |
| 117 | |
| 118 | |
| 113 | 119 | /************************************* |
| 114 | 120 | * |
| 115 | 121 | * Input ports |
| r19972 | r19973 | |
| 217 | 223 | INPUT_PORTS_END |
| 218 | 224 | |
| 219 | 225 | |
| 226 | static INPUT_PORTS_START( grasspin ) |
| 227 | PORT_START("P1") |
| 228 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) |
| 229 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 ) |
| 230 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) |
| 231 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 232 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY |
| 233 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY |
| 234 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY |
| 235 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY |
| 236 | |
| 237 | PORT_START("P2") |
| 238 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) |
| 239 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) |
| 240 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL |
| 241 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL |
| 242 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL |
| 243 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL |
| 244 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL |
| 245 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL |
| 246 | |
| 247 | PORT_START("DILSW1") |
| 248 | PORT_DIPNAME( 0x01, 0x00, "DSW1:01" ) |
| 249 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 250 | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) |
| 251 | PORT_DIPNAME( 0x02, 0x00, "DSW1:02" ) |
| 252 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 253 | PORT_DIPSETTING( 0x02, DEF_STR( On ) ) |
| 254 | PORT_DIPNAME( 0x04, 0x00, "DSW1:04" ) |
| 255 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 256 | PORT_DIPSETTING( 0x04, DEF_STR( On ) ) |
| 257 | PORT_DIPNAME( 0x08, 0x00, "DSW1:08" ) |
| 258 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 259 | PORT_DIPSETTING( 0x08, DEF_STR( On ) ) |
| 260 | PORT_DIPNAME( 0x10, 0x00, "DSW1:10" ) |
| 261 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 262 | PORT_DIPSETTING( 0x10, DEF_STR( On ) ) |
| 263 | PORT_DIPNAME( 0x60, 0x60, "Coinage" ) |
| 264 | PORT_DIPSETTING( 0x00, "0" ) |
| 265 | PORT_DIPSETTING( 0x20, "1" ) |
| 266 | PORT_DIPSETTING( 0x40, "2" ) |
| 267 | PORT_DIPSETTING( 0x60, "3" ) |
| 268 | PORT_DIPNAME( 0x80, 0x00, "Leave OFF" ) // won't boot if set to ON? |
| 269 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 270 | PORT_DIPSETTING( 0x80, DEF_STR( On ) ) |
| 271 | |
| 272 | PORT_START("DILSW2") |
| 273 | PORT_DIPNAME( 0x01, 0x00, "DSW2:01" ) |
| 274 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 275 | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) |
| 276 | PORT_DIPNAME( 0x02, 0x00, "DSW2:02" ) |
| 277 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 278 | PORT_DIPSETTING( 0x02, DEF_STR( On ) ) |
| 279 | PORT_DIPNAME( 0x04, 0x00, "DSW2:04" ) |
| 280 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 281 | PORT_DIPSETTING( 0x04, DEF_STR( On ) ) |
| 282 | PORT_DIPNAME( 0x08, 0x00, "DSW2:08" ) |
| 283 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 284 | PORT_DIPSETTING( 0x08, DEF_STR( On ) ) |
| 285 | PORT_DIPNAME( 0x10, 0x00, "DSW2:10" ) |
| 286 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 287 | PORT_DIPSETTING( 0x10, DEF_STR( On ) ) |
| 288 | PORT_DIPNAME( 0x20, 0x00, "DSW2:20" ) |
| 289 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 290 | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) |
| 291 | PORT_DIPNAME( 0x40, 0x00, "Leave OFF" ) // won't boot if set to ON? |
| 292 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 293 | PORT_DIPSETTING( 0x40, DEF_STR( On ) ) |
| 294 | PORT_DIPNAME( 0x80, 0x00, "DSW2:80" ) |
| 295 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 296 | PORT_DIPSETTING( 0x80, DEF_STR( On ) ) |
| 297 | INPUT_PORTS_END |
| 298 | |
| 220 | 299 | /************************************* |
| 221 | 300 | * |
| 222 | 301 | * Graphics definitions |
| r19972 | r19973 | |
| 300 | 379 | |
| 301 | 380 | MCFG_CPU_ADD("audiocpu", Z80, 10000000/2/2/2) // 1.25 MHz (2H) |
| 302 | 381 | MCFG_CPU_PROGRAM_MAP(sound_map) |
| 382 | MCFG_CPU_IO_MAP(sound_io) |
| 303 | 383 | MCFG_CPU_PERIODIC_INT_DRIVER(blueprnt_state, irq0_line_hold, 4*60) // IRQs connected to 32V |
| 304 | 384 | // NMIs are caused by the main CPU |
| 305 | 385 | |
| 386 | MCFG_QUANTUM_PERFECT_CPU("maincpu") |
| 306 | 387 | |
| 307 | 388 | /* video hardware */ |
| 308 | 389 | MCFG_SCREEN_ADD("screen", RASTER) |
| r19972 | r19973 | |
| 310 | 391 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 311 | 392 | MCFG_SCREEN_SIZE(32*8, 32*8) |
| 312 | 393 | MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) |
| 394 | MCFG_VIDEO_START_OVERRIDE(blueprnt_state, blueprnt) |
| 313 | 395 | MCFG_SCREEN_UPDATE_DRIVER(blueprnt_state, screen_update_blueprnt) |
| 314 | 396 | |
| 315 | 397 | MCFG_GFXDECODE(blueprnt) |
| r19972 | r19973 | |
| 328 | 410 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 329 | 411 | MACHINE_CONFIG_END |
| 330 | 412 | |
| 413 | static MACHINE_CONFIG_DERIVED( grasspin, blueprnt ) |
| 414 | MCFG_VIDEO_START_OVERRIDE(blueprnt_state, grasspin) |
| 415 | MACHINE_CONFIG_END |
| 331 | 416 | |
| 332 | 417 | /************************************* |
| 333 | 418 | * |
| r19972 | r19973 | |
| 345 | 430 | |
| 346 | 431 | ROM_REGION( 0x10000, "audiocpu", 0 ) |
| 347 | 432 | ROM_LOAD( "snd-1.3u", 0x0000, 0x1000, CRC(fd38777a) SHA1(0ed230e0fa047d3171e7141e5620b4c750b07629) ) |
| 433 | ROM_RELOAD(0x1000,0x1000) |
| 348 | 434 | ROM_LOAD( "snd-2.3v", 0x2000, 0x1000, CRC(33d5bf5b) SHA1(3ac684cd48559cd0eab32f9e7ce3ec6eca88dcd4) ) |
| 435 | ROM_RELOAD(0x3000,0x1000) |
| 349 | 436 | |
| 350 | 437 | ROM_REGION( 0x2000, "gfx1", 0 ) |
| 351 | 438 | ROM_LOAD( "bg-1.3c", 0x0000, 0x1000, CRC(ac2a61bc) SHA1(e56708d261648478d1dae4769118546411299e59) ) |
| r19972 | r19973 | |
| 367 | 454 | |
| 368 | 455 | ROM_REGION( 0x10000, "audiocpu", 0 ) |
| 369 | 456 | ROM_LOAD( "snd-1.3u", 0x0000, 0x1000, CRC(fd38777a) SHA1(0ed230e0fa047d3171e7141e5620b4c750b07629) ) |
| 457 | ROM_RELOAD(0x1000,0x1000) |
| 370 | 458 | ROM_LOAD( "snd-2.3v", 0x2000, 0x1000, CRC(33d5bf5b) SHA1(3ac684cd48559cd0eab32f9e7ce3ec6eca88dcd4) ) |
| 459 | ROM_RELOAD(0x3000,0x1000) |
| 371 | 460 | |
| 372 | 461 | ROM_REGION( 0x2000, "gfx1", 0 ) |
| 373 | 462 | ROM_LOAD( "bg-1j.3c", 0x0000, 0x0800, CRC(43718c34) SHA1(5df4794a38866c7f03b264581c8555b9bec3969f) ) |
| r19972 | r19973 | |
| 390 | 479 | |
| 391 | 480 | ROM_REGION( 0x10000, "audiocpu", 0 ) |
| 392 | 481 | ROM_LOAD( "r7", 0x0000, 0x1000, CRC(dd43e02f) SHA1(1d95a307cb4ef523f024cb9c60382a2ac8c17b1c) ) |
| 482 | ROM_RELOAD(0x1000,0x1000) |
| 393 | 483 | ROM_LOAD( "r8", 0x2000, 0x1000, CRC(7f9d0877) SHA1(335b17d187089e91bd3002778821921e73ec59d2) ) |
| 484 | ROM_RELOAD(0x3000,0x1000) |
| 394 | 485 | |
| 395 | 486 | ROM_REGION( 0x2000, "gfx1", 0 ) |
| 396 | 487 | ROM_LOAD( "r10", 0x0000, 0x1000, CRC(35987d61) SHA1(964503c3b17299b27b611943eebca9bc7c93a18c) ) |
| r19972 | r19973 | |
| 402 | 493 | ROM_LOAD( "r13", 0x2000, 0x1000, CRC(8b3e8c32) SHA1(65e2bf4a9f45be39419d85b2ee46b9c5eeff8f57) ) |
| 403 | 494 | ROM_END |
| 404 | 495 | |
| 496 | ROM_START( grasspin ) |
| 497 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 498 | ROM_LOAD( "prom_1.4b", 0x0000, 0x1000, CRC(6fd50509) SHA1(61bc99d47c15b479dd74147be8d6df2c1320a0d8) ) |
| 499 | ROM_LOAD( "jaleco-2.4c", 0x1000, 0x1000, CRC(cd319007) SHA1(9c88fd7459bcf2cc6ce308ba1fe717a989ff89a4) ) |
| 500 | ROM_LOAD( "jaleco-3.4d", 0x2000, 0x1000, CRC(ac73ccc2) SHA1(d732cc5e8a7db4011110527e579232d799159732) ) |
| 501 | ROM_LOAD( "jaleco-4.4f", 0x3000, 0x1000, CRC(41f6279d) SHA1(dc260cf0a6b19e10ac038069ad3dbb3b6e63e446) ) |
| 502 | ROM_LOAD( "jaleco-5.4h", 0x4000, 0x1000, CRC(d20aead9) SHA1(78c1c336fbdce312aed66a8b04cbbb2915d7536b) ) |
| 405 | 503 | |
| 504 | ROM_REGION( 0x10000, "audiocpu", 0 ) |
| 505 | ROM_LOAD( "jaleco-6.4j", 0x0000, 0x1000, CRC(f58bf3b0) SHA1(a7e30a9bfbd43fb4cc1987ad9fb0f3a023a7735d) ) |
| 506 | ROM_RELOAD(0x1000,0x1000) // confirmed mirror by hw fluke |
| 507 | ROM_LOAD( "jaleco-7.4l", 0x2000, 0x1000, CRC(2d587653) SHA1(c2c08fde75a7ebc60edd461ca18d982fb00f43e2) ) |
| 508 | ROM_RELOAD(0x3000,0x1000) |
| 509 | |
| 510 | ROM_REGION( 0x2000, "gfx1", 0 ) |
| 511 | ROM_LOAD( "jaleco-8.3p", 0x0000, 0x1000, CRC(9d6185ca) SHA1(4e36810a6a6ba98d796966531d2f32277a8168d0) ) |
| 512 | ROM_LOAD( "jaleco-9.4p", 0x1000, 0x1000, CRC(bccca24c) SHA1(95bdd2cfdefb76ca8d3c00b9fe140f97feebdcc1) ) |
| 513 | |
| 514 | ROM_REGION( 0x3000, "gfx2", 0 ) |
| 515 | ROM_LOAD( "jaleco-10.5p", 0x0000, 0x1000, CRC(3a0765c6) SHA1(574fcbca54b8a7e65d4cad29ee381e0536e75f66) ) |
| 516 | ROM_LOAD( "jaleco-11.6p", 0x1000, 0x1000, CRC(cccfbeb4) SHA1(35555033bb84584fcfd58f9d0782cccb66c54211) ) |
| 517 | ROM_LOAD( "jaleco-12.7p", 0x2000, 0x1000, CRC(615b3299) SHA1(1c12b456aac99690171b5aa06cbab904f4d16b2e) ) |
| 518 | ROM_END |
| 519 | |
| 520 | |
| 406 | 521 | /************************************* |
| 407 | 522 | * |
| 408 | 523 | * Game driver(s) |
| r19972 | r19973 | |
| 412 | 527 | GAME( 1982, blueprnt, 0, blueprnt, blueprnt, driver_device, 0, ROT270, "Zilec Electronics / Bally Midway", "Blue Print (Midway)", GAME_SUPPORTS_SAVE ) |
| 413 | 528 | GAME( 1982, blueprntj, blueprnt, blueprnt, blueprnt, driver_device, 0, ROT270, "Zilec Electronics / Jaleco", "Blue Print (Jaleco)", GAME_SUPPORTS_SAVE ) |
| 414 | 529 | GAME( 1983, saturnzi, 0, blueprnt, saturn, driver_device, 0, ROT270, "Zilec Electronics / Jaleco", "Saturn", GAME_SUPPORTS_SAVE ) |
| 530 | GAME( 1983, grasspin, 0, grasspin, grasspin, driver_device, 0, ROT90, "Zilec Electronics / Jaleco", "Grasspin", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) |