trunk/src/mame/drivers/flyball.c
| r32190 | r32191 | |
| 36 | 36 | flyball_state(const machine_config &mconfig, device_type type, const char *tag) |
| 37 | 37 | : driver_device(mconfig, type, tag), |
| 38 | 38 | m_playfield_ram(*this, "playfield_ram"), |
| 39 | | m_rombase(*this, "rombase"), |
| 40 | 39 | m_maincpu(*this, "maincpu"), |
| 41 | 40 | m_gfxdecode(*this, "gfxdecode"), |
| 42 | 41 | m_screen(*this, "screen"), |
| r32190 | r32191 | |
| 44 | 43 | |
| 45 | 44 | /* memory pointers */ |
| 46 | 45 | required_shared_ptr<UINT8> m_playfield_ram; |
| 47 | | required_shared_ptr<UINT8> m_rombase; |
| 48 | 46 | |
| 49 | 47 | /* video-related */ |
| 50 | 48 | tilemap_t *m_tmap; |
| r32190 | r32191 | |
| 311 | 309 | AM_RANGE(0x0a00, 0x0a07) AM_WRITE(flyball_misc_w) |
| 312 | 310 | AM_RANGE(0x0b00, 0x0b00) AM_READ(flyball_input_r) |
| 313 | 311 | AM_RANGE(0x0d00, 0x0eff) AM_WRITEONLY AM_SHARE("playfield_ram") |
| 314 | | AM_RANGE(0x1000, 0x1fff) AM_ROM AM_SHARE("rombase") /* program */ |
| 312 | AM_RANGE(0x1000, 0x1fff) AM_ROM AM_REGION("maincpu", 0) |
| 315 | 313 | ADDRESS_MAP_END |
| 316 | 314 | |
| 317 | 315 | |
| r32190 | r32191 | |
| 416 | 414 | |
| 417 | 415 | void flyball_state::machine_start() |
| 418 | 416 | { |
| 417 | /* address bits 0 through 8 are inverted */ |
| 418 | UINT8 *ROM = memregion("maincpu")->base(); |
| 419 | int len = memregion("maincpu")->bytes(); |
| 420 | dynamic_buffer buf(len); |
| 421 | for (int i = 0; i < len; i++) |
| 422 | buf[i ^ 0x1ff] = ROM[i]; |
| 423 | memcpy(ROM, buf, len); |
| 424 | |
| 419 | 425 | save_item(NAME(m_pitcher_vert)); |
| 420 | 426 | save_item(NAME(m_pitcher_horz)); |
| 421 | 427 | save_item(NAME(m_pitcher_pic)); |
| r32190 | r32191 | |
| 427 | 433 | |
| 428 | 434 | void flyball_state::machine_reset() |
| 429 | 435 | { |
| 430 | | /* address bits 0 through 8 are inverted */ |
| 431 | | UINT8* ROM = memregion("maincpu")->base() + 0x2000; |
| 432 | | |
| 433 | | for (int i = 0; i < 0x1000; i++) |
| 434 | | m_rombase[i] = ROM[i ^ 0x1ff]; |
| 435 | | |
| 436 | | m_maincpu->reset(); |
| 437 | | |
| 438 | 436 | timer_set(m_screen->time_until_pos(0), TIMER_FLYBALL_QUARTER); |
| 439 | 437 | |
| 440 | 438 | m_pitcher_vert = 0; |
| r32190 | r32191 | |
| 477 | 475 | *************************************/ |
| 478 | 476 | |
| 479 | 477 | ROM_START( flyball ) |
| 480 | | ROM_REGION( 0x3000, "maincpu", 0 ) /* program */ |
| 481 | | ROM_LOAD( "6129-02.d5", 0x2000, 0x0200, CRC(105ffe40) SHA1(20225571ccf76df5d96a42168d9223cccdff90a8) ) |
| 482 | | ROM_LOAD( "6130-02.f5", 0x2200, 0x0200, CRC(188210e1) SHA1(6d837dd9ea44d16f0d54ea9e14260de5f7c05b6b) ) |
| 483 | | ROM_LOAD( "6131-01.h5", 0x2400, 0x0200, CRC(a9c7e858) SHA1(aee4a359d6a5729dc1be5b8ce8fbe54d032d12b0) ) /* Roms found with and without the "-01" extension */ |
| 484 | | ROM_LOAD( "6132-01.j5", 0x2600, 0x0200, CRC(31fefd8a) SHA1(97e3ef278ce2175cd33c0f3147bdf7974752c836) ) /* Roms found with and without the "-01" extension */ |
| 485 | | ROM_LOAD( "6133-01.k5", 0x2800, 0x0200, CRC(6fdb09b1) SHA1(04ad412b437bb24739b3e31fa5a413e63d5897f8) ) /* Roms found with and without the "-01" extension */ |
| 486 | | ROM_LOAD( "6134-01.m5", 0x2A00, 0x0200, CRC(7b526c73) SHA1(e47c8f33b7edc143ab1713556c59b93571933daa) ) /* Roms found with and without the "-01" extension */ |
| 487 | | ROM_LOAD( "6135-01.n5", 0x2C00, 0x0200, CRC(b352cb51) SHA1(39b9062fb51d0a78a47dcd470ceae47fcdbd7891) ) /* Roms found with and without the "-01" extension */ |
| 488 | | ROM_LOAD( "6136-02.r5", 0x2E00, 0x0200, CRC(ae06a0f5) SHA1(6034176b255eeaa2980e8fef1b17ef6f0a743941) ) |
| 478 | ROM_REGION( 0x1000, "maincpu", 0 ) /* program */ |
| 479 | ROM_LOAD( "6129-02.d5", 0x0000, 0x0200, CRC(105ffe40) SHA1(20225571ccf76df5d96a42168d9223cccdff90a8) ) |
| 480 | ROM_LOAD( "6130-02.f5", 0x0200, 0x0200, CRC(188210e1) SHA1(6d837dd9ea44d16f0d54ea9e14260de5f7c05b6b) ) |
| 481 | ROM_LOAD( "6131-01.h5", 0x0400, 0x0200, CRC(a9c7e858) SHA1(aee4a359d6a5729dc1be5b8ce8fbe54d032d12b0) ) /* Roms found with and without the "-01" extension */ |
| 482 | ROM_LOAD( "6132-01.j5", 0x0600, 0x0200, CRC(31fefd8a) SHA1(97e3ef278ce2175cd33c0f3147bdf7974752c836) ) /* Roms found with and without the "-01" extension */ |
| 483 | ROM_LOAD( "6133-01.k5", 0x0800, 0x0200, CRC(6fdb09b1) SHA1(04ad412b437bb24739b3e31fa5a413e63d5897f8) ) /* Roms found with and without the "-01" extension */ |
| 484 | ROM_LOAD( "6134-01.m5", 0x0A00, 0x0200, CRC(7b526c73) SHA1(e47c8f33b7edc143ab1713556c59b93571933daa) ) /* Roms found with and without the "-01" extension */ |
| 485 | ROM_LOAD( "6135-01.n5", 0x0C00, 0x0200, CRC(b352cb51) SHA1(39b9062fb51d0a78a47dcd470ceae47fcdbd7891) ) /* Roms found with and without the "-01" extension */ |
| 486 | ROM_LOAD( "6136-02.r5", 0x0E00, 0x0200, CRC(ae06a0f5) SHA1(6034176b255eeaa2980e8fef1b17ef6f0a743941) ) |
| 489 | 487 | |
| 490 | 488 | ROM_REGION( 0x0C00, "gfx1", 0 ) /* tiles */ |
| 491 | 489 | ROM_LOAD( "6142.l2", 0x0000, 0x0200, CRC(65650cfa) SHA1(7d17455146fc9def22c7bd06f7fde32df0a0c2bc) ) |
| r32190 | r32191 | |
| 499 | 497 | ROM_END |
| 500 | 498 | |
| 501 | 499 | ROM_START( flyball1 ) |
| 502 | | ROM_REGION( 0x3000, "maincpu", 0 ) /* program */ |
| 503 | | ROM_LOAD( "6129.d5", 0x2000, 0x0200, CRC(17eda069) SHA1(e4ef0bf4546cf00668d759a188e0989a4f003825) ) |
| 504 | | ROM_LOAD( "6130.f5", 0x2200, 0x0200, CRC(a756955b) SHA1(220b7f1789bba4481d595b36b4bae25f98d3ad8d) ) |
| 505 | | ROM_LOAD( "6131.h5", 0x2400, 0x0200, CRC(a9c7e858) SHA1(aee4a359d6a5729dc1be5b8ce8fbe54d032d12b0) ) |
| 506 | | ROM_LOAD( "6132.j5", 0x2600, 0x0200, CRC(31fefd8a) SHA1(97e3ef278ce2175cd33c0f3147bdf7974752c836) ) |
| 507 | | ROM_LOAD( "6133.k5", 0x2800, 0x0200, CRC(6fdb09b1) SHA1(04ad412b437bb24739b3e31fa5a413e63d5897f8) ) |
| 508 | | ROM_LOAD( "6134.m5", 0x2A00, 0x0200, CRC(7b526c73) SHA1(e47c8f33b7edc143ab1713556c59b93571933daa) ) |
| 509 | | ROM_LOAD( "6135.n5", 0x2C00, 0x0200, CRC(b352cb51) SHA1(39b9062fb51d0a78a47dcd470ceae47fcdbd7891) ) |
| 510 | | ROM_LOAD( "6136.r5", 0x2E00, 0x0200, CRC(1622d890) SHA1(9ad342aefdc02e022eb79d84d1c856bed538bebe) ) |
| 500 | ROM_REGION( 0x1000, "maincpu", 0 ) /* program */ |
| 501 | ROM_LOAD( "6129.d5", 0x0000, 0x0200, CRC(17eda069) SHA1(e4ef0bf4546cf00668d759a188e0989a4f003825) ) |
| 502 | ROM_LOAD( "6130.f5", 0x0200, 0x0200, CRC(a756955b) SHA1(220b7f1789bba4481d595b36b4bae25f98d3ad8d) ) |
| 503 | ROM_LOAD( "6131.h5", 0x0400, 0x0200, CRC(a9c7e858) SHA1(aee4a359d6a5729dc1be5b8ce8fbe54d032d12b0) ) |
| 504 | ROM_LOAD( "6132.j5", 0x0600, 0x0200, CRC(31fefd8a) SHA1(97e3ef278ce2175cd33c0f3147bdf7974752c836) ) |
| 505 | ROM_LOAD( "6133.k5", 0x0800, 0x0200, CRC(6fdb09b1) SHA1(04ad412b437bb24739b3e31fa5a413e63d5897f8) ) |
| 506 | ROM_LOAD( "6134.m5", 0x0A00, 0x0200, CRC(7b526c73) SHA1(e47c8f33b7edc143ab1713556c59b93571933daa) ) |
| 507 | ROM_LOAD( "6135.n5", 0x0C00, 0x0200, CRC(b352cb51) SHA1(39b9062fb51d0a78a47dcd470ceae47fcdbd7891) ) |
| 508 | ROM_LOAD( "6136.r5", 0x0E00, 0x0200, CRC(1622d890) SHA1(9ad342aefdc02e022eb79d84d1c856bed538bebe) ) |
| 511 | 509 | |
| 512 | 510 | ROM_REGION( 0x0C00, "gfx1", 0 ) /* tiles */ |
| 513 | 511 | ROM_LOAD( "6142.l2", 0x0000, 0x0200, CRC(65650cfa) SHA1(7d17455146fc9def22c7bd06f7fde32df0a0c2bc) ) |