diff --git a/src/mame/drivers/btime.c b/src/mame/drivers/btime.c index 92d9677366c..64669b68166 100644 --- a/src/mame/drivers/btime.c +++ b/src/mame/drivers/btime.c @@ -1045,23 +1045,25 @@ static INPUT_PORTS_START( sdtennis ) whatever the coinage Dip Switch are (they are not read in this case) */ INPUT_PORTS_END -static const gfx_layout charlayout = +static const gfx_layout tile8layout = { 8,8, /* 8*8 characters */ - 1024, /* 1024 characters */ - 3, /* 3 bits per pixel */ - { 2*1024*8*8, 1024*8*8, 0 }, /* the bitplanes are separated */ + RGN_FRAC(1,3), + 3, + { RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) }, { 0, 1, 2, 3, 4, 5, 6, 7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 /* every char takes 8 consecutive bytes */ + 8*8 }; -static const gfx_layout spritelayout = + + +static const gfx_layout tile16layout = { 16,16, /* 16*16 sprites */ - 256, /* 256 sprites */ + RGN_FRAC(1,3), /* 64 characters */ 3, /* 3 bits per pixel */ - { 2*256*16*16, 256*16*16, 0 }, /* the bitplanes are separated */ + { RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) }, /* the bitplanes are separated */ { 16*8+0, 16*8+1, 16*8+2, 16*8+3, 16*8+4, 16*8+5, 16*8+6, 16*8+7, 0, 1, 2, 3, 4, 5, 6, 7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, @@ -1069,88 +1071,53 @@ static const gfx_layout spritelayout = 32*8 /* every sprite takes 32 consecutive bytes */ }; -static const gfx_layout zoar_spritelayout = -{ - 16,16, /* 16*16 sprites */ - 128, /* 256 sprites */ - 3, /* 3 bits per pixel */ - { 2*128*16*16, 128*16*16, 0 }, /* the bitplanes are separated */ - { 16*8+0, 16*8+1, 16*8+2, 16*8+3, 16*8+4, 16*8+5, 16*8+6, 16*8+7, - 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, - 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, - 32*8 /* every sprite takes 32 consecutive bytes */ -}; -static const gfx_layout btime_tilelayout = -{ - 16,16, /* 16*16 characters */ - 64, /* 64 characters */ - 3, /* 3 bits per pixel */ - { 2*64*16*16, 64*16*16, 0 }, /* the bitplanes are separated */ - { 16*8+0, 16*8+1, 16*8+2, 16*8+3, 16*8+4, 16*8+5, 16*8+6, 16*8+7, - 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, - 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, - 32*8 /* every tile takes 32 consecutive bytes */ -}; -static const gfx_layout cookrace_tilelayout = +static const gfx_layout bnj_tile16layout = { - 8,8, /* 8*8 characters */ - 256, /* 256 characters */ - 3, /* 3 bits per pixel */ - { 2*256*8*8, 256*8*8, 0 }, /* the bitplanes are separated */ - { 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 /* every tile takes 8 consecutive bytes */ -}; - -static const gfx_layout bnj_tilelayout = -{ - 16,16, /* 16*16 characters */ - 64, /* 64 characters */ - 3, /* 3 bits per pixel */ - { 2*64*16*16+4, 0, 4 }, + 16,16, + RGN_FRAC(1,2), + 3, + { RGN_FRAC(1,2)+4, RGN_FRAC(0,2)+0, RGN_FRAC(0,2)+4 }, { 3*16*8+0, 3*16*8+1, 3*16*8+2, 3*16*8+3, 2*16*8+0, 2*16*8+1, 2*16*8+2, 2*16*8+3, 16*8+0, 16*8+1, 16*8+2, 16*8+3, 0, 1, 2, 3 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, - 64*8 /* every tile takes 64 consecutive bytes */ + 64*8 }; static GFXDECODE_START( btime ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 ) /* char set #1 */ - GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 1 ) /* sprites */ - GFXDECODE_ENTRY( "gfx2", 0, btime_tilelayout, 8, 1 ) /* background tiles */ + GFXDECODE_ENTRY( "gfx1", 0, tile8layout, 0, 1 ) /* char set #1 */ + GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */ + GFXDECODE_ENTRY( "gfx2", 0, tile16layout, 8, 1 ) /* background tiles */ GFXDECODE_END static GFXDECODE_START( cookrace ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 ) /* char set #1 */ - GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 1 ) /* sprites */ - GFXDECODE_ENTRY( "gfx2", 0, cookrace_tilelayout, 8, 1 ) /* background tiles */ + GFXDECODE_ENTRY( "gfx1", 0, tile8layout, 0, 1 ) /* char set #1 */ + GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */ + GFXDECODE_ENTRY( "gfx2", 0, tile8layout, 8, 1 ) /* background tiles */ GFXDECODE_END static GFXDECODE_START( lnc ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 ) /* char set #1 */ - GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 1 ) /* sprites */ + GFXDECODE_ENTRY( "gfx1", 0, tile8layout, 0, 1 ) /* char set #1 */ + GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */ GFXDECODE_END static GFXDECODE_START( bnj ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 ) /* char set #1 */ - GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 1 ) /* sprites */ - GFXDECODE_ENTRY( "gfx2", 0, bnj_tilelayout, 8, 1 ) /* background tiles */ + GFXDECODE_ENTRY( "gfx1", 0, tile8layout, 0, 1 ) /* char set #1 */ + GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */ + GFXDECODE_ENTRY( "gfx2", 0, bnj_tile16layout,8, 1 ) /* background tiles */ GFXDECODE_END static GFXDECODE_START( zoar ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 8 ) /* char set #1 */ - GFXDECODE_ENTRY( "gfx4", 0, zoar_spritelayout, 0, 8 ) /* sprites */ - GFXDECODE_ENTRY( "gfx2", 0, btime_tilelayout, 0, 8 ) /* background tiles */ + GFXDECODE_ENTRY( "gfx1", 0, tile8layout, 0, 8 ) /* char set #1 */ + GFXDECODE_ENTRY( "gfx4", 0, tile16layout, 0, 8 ) /* sprites */ + GFXDECODE_ENTRY( "gfx2", 0, tile16layout, 0, 8 ) /* background tiles */ GFXDECODE_END static GFXDECODE_START( disco ) - GFXDECODE_ENTRY( NULL, 0x2000, charlayout, 0, 4 ) /* char set #1 */ - GFXDECODE_ENTRY( NULL, 0x2000, spritelayout, 0, 4 ) /* sprites */ + GFXDECODE_ENTRY( "gfx1", 0, tile8layout, 0, 4 ) /* char set #1 */ + GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 4 ) /* sprites */ GFXDECODE_END @@ -1299,6 +1266,17 @@ static MACHINE_DRIVER_START( disco ) MDRV_VIDEO_UPDATE(disco) MACHINE_DRIVER_END + +static MACHINE_DRIVER_START( tisland ) + + /* basic machine hardware */ + MDRV_IMPORT_FROM(btime) + + /* video hardware */ + MDRV_GFXDECODE(zoar) +MACHINE_DRIVER_END + + /*************************************************************************** Game driver(s) @@ -1332,6 +1310,7 @@ ROM_START( btime ) ROM_LOAD( "ab03.6b", 0x0000, 0x0800, CRC(d26bc1f3) SHA1(737af6e264183a1f151f277a07cf250d6abb3fd8) ) ROM_END + ROM_START( btime2 ) ROM_REGION( 0x10000, "main", 0 ) ROM_LOAD( "aa04.9b2", 0xc000, 0x1000, CRC(a041e25b) SHA1(caaab3ae46619d0a87a8985d316411f23be0b696) ) @@ -1415,6 +1394,43 @@ ROM_START( cookrace ) ROM_LOAD( "b7", 0x0020, 0x0020, CRC(e4268fa6) SHA1(93f74e633c3a19755e78e0e2883109cd8ccde9a8) ) /* unknown */ ROM_END + + +ROM_START( tisland ) + ROM_REGION( 0x10000, "main", 0 ) + ROM_LOAD( "t-04.b7", 0xa000, 0x1000, CRC(641af7f9) SHA1(50cd8f2372725356bb5a66024084363f5c5a870d) ) + ROM_LOAD( "t-07.b11", 0xb000, 0x1000, CRC(6af00c8b) SHA1(e3948ca36642d3c2a1f94b017893d6e2fe178bb0) ) + ROM_LOAD( "t-05.b9", 0xc000, 0x1000, CRC(95b1a1d3) SHA1(5636580f26e839d1140838c7efc1cabc2cf06f6f) ) + ROM_LOAD( "t-08.b13", 0xd000, 0x1000, CRC(b7bbc008) SHA1(751491eac90f46985c83a6c06088638bcd0c0f20) ) + ROM_LOAD( "t-06.b10", 0xe000, 0x1000, CRC(5a6783cf) SHA1(f518290efec0fedb92432b4e3448aea2438b8448) ) + ROM_LOAD( "t-09.b14", 0xf000, 0x1000, CRC(5b26771a) SHA1(31d86acba4b6549fc08a3947d6d6d1a470fcb9da) ) + + ROM_REGION( 0x10000, "audio", 0 ) + ROM_LOAD( "t-0a.j11", 0xf000, 0x1000, CRC(807e1652) SHA1(ccfee616dc0e34d10a0e62b9864fd987291bf176) ) + + ROM_REGION( 0x3000, "gfx1", ROMREGION_DISPOSE ) + ROM_LOAD( "t-13.k14", 0x0000, 0x1000, CRC(95bdec2f) SHA1(201b9c53ea53a25535b619231d0d14e08c206ecf) ) + ROM_LOAD( "t-10.k10", 0x1000, 0x1000, CRC(3ba416cb) SHA1(90c968f963ba6f52f979f28f62eaccc0e2911508) ) + ROM_LOAD( "t-0d.k5", 0x2000, 0x1000, CRC(3d3e40b2) SHA1(90576c82500ce8eddbf4dd02e59ec4ccc3b13000) ) /* 8x8 tiles */ + + ROM_REGION( 0x1800, "gfx2", ROMREGION_DISPOSE ) /* bg tiles */ + // also contains the (incomplete) bg tilemap data for 1 tilemap (0x400-0x7ff of every rom is same as gfx3 region, leftover?) */ + ROM_LOAD( "t-00.b1", 0x0000, 0x0800, CRC(05eaf899) SHA1(b03a1b7d985b4d841d6bbb213a32a33e324dff89) ) /* charset #2 */ + ROM_LOAD( "t-01.b2", 0x0800, 0x0800, CRC(f692e9e0) SHA1(e07ef20de8e9387f1096412d42d14ed5e52bbbd9) ) + ROM_LOAD( "t-02.b4", 0x1000, 0x0800, CRC(88396cae) SHA1(47233d91e9c7b14091a0050524fa49e1bc69311d) ) + + ROM_REGION( 0x1000, "gfx3", 0 ) /* bg tilemap data */ + ROM_LOAD( "t-03.b5", 0x0000, 0x1000, CRC(68df6d50) SHA1(461acc39089faac36bf8a8d279fbb6c046ae0264) ) + + ROM_REGION( 0x6000, "gfx4", ROMREGION_DISPOSE ) + ROM_LOAD( "t-11.k11", 0x0000, 0x1000, CRC(779cc47c) SHA1(8921b81d460232252fd5a3c9bb2ad0befc1421da) ) /* 16x16 tiles*/ + ROM_LOAD( "t-12.k13", 0x1000, 0x1000, CRC(c804a8aa) SHA1(f8ce1da88443416b6cd276741a600104d36c3725) ) + ROM_LOAD( "t-0e.k6", 0x2000, 0x1000, CRC(63aa2b22) SHA1(765c405b1948191f5bdf1d8c1e7f20acb0894195) ) + ROM_LOAD( "t-0f.k8", 0x3000, 0x1000, CRC(3eeca392) SHA1(78deceea3628aed0a57cb4208d260a91a304695a) ) + ROM_LOAD( "t-0b.k2", 0x4000, 0x1000, CRC(ec416f20) SHA1(20852ef9753b103c5ec03d5eede778c0e25fc059) ) + ROM_LOAD( "t-0c.k4", 0x5000, 0x1000, CRC(428513a7) SHA1(aab97ee938dc743a2941f71f827c22b9dde8aef0) ) +ROM_END + /* There is a flyer with a screen shot for Lock'n'Chase at: http://www.gamearchive.com/flyers/video/taito/locknchase_f.jpg */ @@ -1599,7 +1615,8 @@ ROM_START( disco ) ROM_REGION( 0x10000, "audio", 0 ) ROM_LOAD( "disco.w6", 0xf000, 0x1000, CRC(d81e781e) SHA1(bde510bfed06a13bd56bf7ddbf220e7cf82f79b6) ) - /* no gfx1 */ + ROM_REGION( 0x6000, "gfx1", ROMREGION_ERASE00 ) + /* dynamically allocated */ ROM_REGION( 0x0020, "proms", 0 ) ROM_LOAD( "disco.clr", 0x0000, 0x0020, CRC(a393f913) SHA1(42dce159283427064b3f5ce3a6e2189744ecd943) ) @@ -1617,7 +1634,8 @@ ROM_START( discof ) ROM_REGION( 0x10000, "audio", 0 ) ROM_LOAD( "disco.w6", 0xf000, 0x1000, CRC(d81e781e) SHA1(bde510bfed06a13bd56bf7ddbf220e7cf82f79b6) ) - /* no gfx1 */ + ROM_REGION( 0x6000, "gfx1", ROMREGION_ERASE00 ) + /* dynamically allocated */ ROM_REGION( 0x0020, "proms", 0 ) ROM_LOAD( "disco.clr", 0x0000, 0x0020, CRC(a393f913) SHA1(42dce159283427064b3f5ce3a6e2189744ecd943) ) @@ -1733,6 +1751,7 @@ GAME( 1982, btime, 0, btime, btime, btime, ROT270, "Data East C GAME( 1982, btime2, btime, btime, btime, btime, ROT270, "Data East Corporation", "Burger Time (Data East set 2)", 0 ) GAME( 1982, btimem, btime, btime, btime, btime, ROT270, "Data East (Bally Midway license)", "Burger Time (Midway)", 0 ) GAME( 1982, cookrace, btime, cookrace, cookrace, cookrace,ROT270, "bootleg", "Cook Race", 0 ) +GAME( 1981, tisland, 0, tisland, btime, btime, ROT270, "Data East Corporation", "Treasure Island", GAME_NOT_WORKING ) GAME( 1981, lnc, 0, lnc, lnc, lnc, ROT270, "Data East Corporation", "Lock'n'Chase", 0 ) GAME( 1982, wtennis, 0, wtennis, wtennis, wtennis, ROT270, "bootleg", "World Tennis", 0 ) GAME( 1982, mmonkey, 0, mmonkey, mmonkey, lnc, ROT270, "Technos + Roller Tron", "Minky Monkey", 0 )