diff options
Diffstat (limited to 'src/mame/jaleco/bestleag.cpp')
-rw-r--r-- | src/mame/jaleco/bestleag.cpp | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/src/mame/jaleco/bestleag.cpp b/src/mame/jaleco/bestleag.cpp index 497571872ed..7a66d50b568 100644 --- a/src/mame/jaleco/bestleag.cpp +++ b/src/mame/jaleco/bestleag.cpp @@ -29,6 +29,8 @@ Dip Locations added according to Service Mode #include "tilemap.h" +namespace { + class bestleag_state : public driver_device { public: @@ -135,33 +137,25 @@ void bestleag_state::video_start() m_fg_tilemap->set_transparent_pen(15); } -/* -Note: sprite chip is different than the other Big Striker sets and they - include several similiarities with other Playmark games (including - the sprite end code and the data being offset (i.e. spriteram starting from 0x16/2)) -*/ void bestleag_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { - uint16_t *spriteram16 = m_spriteram; - /* - Sprites are the same to sslam, but using 16x16 sprites instead of 8x8 + Note: sprite chip is different than the other Big Striker sets and they + include several similiarities with other Playmark games (including + the sprite end code and the data being offset (i.e. spriteram starting from 0x16/2)) */ - - int offs; - - for (offs = 0x16/2;offs < m_spriteram.bytes()/2;offs += 4) + for (int offs = 0x16/2; offs < m_spriteram.length() - 3; offs += 4) { - int code = spriteram16[offs+3] & 0xfff; - int color = (spriteram16[offs+2] & 0xf000) >> 12; - int sx = (spriteram16[offs+2] & 0x1ff) - 20; - int sy = (0xff - (spriteram16[offs+0] & 0xff)) - 15; - int flipx = (spriteram16[offs+0] & 0x4000) >> 14; + int code = m_spriteram[offs+3] & 0xfff; + int color = (m_spriteram[offs+2] & 0xf000) >> 12; + int sx = (m_spriteram[offs+2] & 0x1ff) - 20; + int sy = (0xff - (m_spriteram[offs+0] & 0xff)) - 15; + int flipx = (m_spriteram[offs+0] & 0x4000) >> 14; /* Sprite list end code */ - if(spriteram16[offs+0] & 0x2000) + if(m_spriteram[offs+0] & 0x2000) return; /* it can change sprites color mask like the original set */ @@ -457,8 +451,8 @@ ROM_START( bestleaw ) ROM_LOAD( "26_27c4001.u45", 0x180000, 0x80000, CRC(a82c905d) SHA1(b1c1098ad79eb66943bc362246983427d0263b6e) ) ROM_REGION( 0x080000, "gfx2", 0 ) /* 16x16x4 Sprites */ - ROM_LOAD( "27_27c010.u86", 0x000000, 0x20000, CRC(a463422a) SHA1(a3b6efd1c57b0a3b0ce4ce734a9a9b79540c4136) ) - ROM_LOAD( "28_27c010.u85", 0x020000, 0x20000, CRC(ebec74ed) SHA1(9a1620f4ca163470f5e567f650663ae368bdd3c1) ) + ROM_LOAD( "27_27c010.u86", 0x000000, 0x20000, CRC(a463422a) SHA1(a3b6efd1c57b0a3b0ce4ce734a9a9b79540c4136) ) + ROM_LOAD( "28_27c010.u85", 0x020000, 0x20000, CRC(ebec74ed) SHA1(9a1620f4ca163470f5e567f650663ae368bdd3c1) ) ROM_LOAD( "29_27c010.u84", 0x040000, 0x20000, CRC(7ea4e22d) SHA1(3c7f05dfd1c5889bfcbc14d08026e2a484870216) ) ROM_LOAD( "30_27c010.u83", 0x060000, 0x20000, CRC(283d9ba6) SHA1(6054853f76907a4a0f89ad5aa02dde9d3d4ff196) ) @@ -481,6 +475,9 @@ ROM_START( bestleaw ) ROM_LOAD( "palce20v8h-15pc-4.u38", 0x1000, 0x0157, NO_DUMP ) /* Protected */ ROM_END +} // anonymous namespace + + /* GAME drivers */ GAME( 1993, bestleag, bigstrik, bestleag, bestleag, bestleag_state, empty_init, ROT0, "bootleg", "Best League (bootleg of Big Striker, Italian Serie A)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) |