Previous 199869 Revisions Next

r20657 Friday 1st February, 2013 at 21:51:34 UTC by David Haywood
new clones
Lucky Boom (Hard Times / Hot Mind hardware) [ANY] (not working)

need to fix up a few gfx things and inputs, could point the way for some general cleanups here.
[src/mame]mame.lst
[src/mame/drivers]playmark.c
[src/mame/includes]playmark.h
[src/mame/video]playmark.c

trunk/src/mame/mame.lst
r20656r20657
87708770wbeachvl3       // (c) 1995
87718771excelsr         // (c) 1995
87728772hotmind         // (c) 1995
8773luckboomh      // (c) 1995
87738774hrdtimes        // (c) 1994
87748775hrdtimesa       // (c) 1994
87758776drtomy          // (c) 1993 no copyright message (1993 on pcb), some code taken from 'Big Karnak'
trunk/src/mame/video/playmark.c
r20656r20657
8787   int code = m_videoram2[tile_index] & 0x1fff;
8888   int colr = m_videoram2[tile_index] & 0xe000;
8989
90   SET_TILE_INFO_MEMBER(1,code + 0x2000,(colr >> 13) + 8,0);
90   SET_TILE_INFO_MEMBER(1,code + m_fg_tile_offset,(colr >> 13) + 8,0);
9191}
9292
9393TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_bg_tile_info)
r20656r20657
135135   m_xoffset = 1;
136136   m_yoffset = 0;
137137   m_txt_tile_offset = 0x8000;
138   m_fg_tile_offset = 0x2000;
138139
139140   m_pri_masks[0] = 0;
140141   m_pri_masks[1] = 0;
r20656r20657
191192
192193   m_xoffset = -9;
193194   m_yoffset = -8;
194   m_txt_tile_offset = 0x9000;
195   m_txt_tile_offset = 0x9800;
196   m_fg_tile_offset = 0x2000;
195197
196198   m_pri_masks[0] = 0xfff0;
197199   m_pri_masks[1] = 0xfffc;
198200   m_pri_masks[2] = 0;
199201}
200202
203// this is wrong, and the offsets seem to move, so it can probably help find the register.
204VIDEO_START_MEMBER(playmark_state,luckboomh)
205{
206   m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
207   m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
208   m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
209
210   m_tx_tilemap->set_transparent_pen(0);
211   m_fg_tilemap->set_transparent_pen(0);
212
213   m_tx_tilemap->set_scrolldx(-14, -14);
214   m_fg_tilemap->set_scrolldx(-14, -14);
215   m_bg_tilemap->set_scrolldx(-14, -14);
216
217   m_xoffset = -9;
218   m_yoffset = -8;
219   m_txt_tile_offset = 0x9800;
220
221   m_fg_tile_offset = 0x1800;
222
223   m_pri_masks[0] = 0xfff0;
224   m_pri_masks[1] = 0xfffc;
225   m_pri_masks[2] = 0;
226}
227
228
229
201230VIDEO_START_MEMBER(playmark_state,hrdtimes)
202231{
203232   m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
r20656r20657
214243   m_xoffset = -8;
215244   m_yoffset = -8;
216245   m_txt_tile_offset = 0xfc00;
246   m_fg_tile_offset = 0x2000;
217247
218248   m_pri_masks[0] = 0xfff0;
219249   m_pri_masks[1] = 0xfffc;
trunk/src/mame/includes/playmark.h
r20656r20657
3636   int         m_xoffset;
3737   int         m_yoffset;
3838   int         m_txt_tile_offset;
39   int         m_fg_tile_offset;
3940   int         m_pri_masks[3];
4041   UINT16      m_scroll[7];
4142
r20656r20657
9697   DECLARE_VIDEO_START(excelsr);
9798   DECLARE_VIDEO_START(hotmind);
9899   DECLARE_VIDEO_START(hrdtimes);
100   DECLARE_VIDEO_START(luckboomh);
99101   DECLARE_MACHINE_START(powerbal);
100102   DECLARE_MACHINE_RESET(powerbal);
101103   DECLARE_VIDEO_START(powerbal);
trunk/src/mame/drivers/playmark.c
r20656r20657
12021202   /* basic machine hardware */
12031203   MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2)   /* verified on pcb */
12041204   MCFG_CPU_PROGRAM_MAP(hotmind_main_map)
1205   MCFG_CPU_VBLANK_INT_DRIVER("screen", playmark_state,  irq2_line_hold)
1205   MCFG_CPU_VBLANK_INT_DRIVER("screen", playmark_state,  irq6_line_hold) // lucky boom needs irq6, 2 and 6 point to the same location on hotmind
12061206
12071207   MCFG_CPU_ADD("audiocpu", PIC16C57, XTAL_24MHz/2)    /* verified on pcb */
12081208   /* Program and Data Maps are internal to the MCU */
r20656r20657
12341234   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
12351235MACHINE_CONFIG_END
12361236
1237static MACHINE_CONFIG_DERIVED( luckboomh, hotmind )
1238   MCFG_VIDEO_START_OVERRIDE(playmark_state,luckboomh)
1239MACHINE_CONFIG_END
1240
12371241static MACHINE_CONFIG_START( hrdtimes, playmark_state )
12381242
12391243   /* basic machine hardware */
r20656r20657
15881592   ROM_LOAD( "20.io13",      0x00000, 0x40000, CRC(0bf3a3e5) SHA1(2ae06f37a6bcd20bc5fbaa90d970aba2ebf3cf5a) )
15891593ROM_END
15901594
1595ROM_START( luckboomh )
1596   ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */
1597   ROM_LOAD16_BYTE( "21.u67",       0x00000, 0x20000, CRC(5578dd75) SHA1(ed3c2ea302f8bfe49ab5d8c33e572492daa651ae) )
1598   ROM_LOAD16_BYTE( "22.u66",       0x00001, 0x20000, CRC(1eb72a39) SHA1(d7ea9985013fd8cb89389829dbff2f2710a2297d) )
1599
1600   ROM_REGION( 0x2000, "audiocpu", ROMREGION_ERASE00 ) /* sound (PIC16C57) */
1601   /* ROM will be copied here by the init code from "user1" */
1602   ROM_LOAD( "pic16c57.io15",      0x00000, 0x2000, BAD_DUMP CRC(c4b9c78e) SHA1(e85766383b22a62f19bf272d86d53c7fb1eb5ac4) ) // protected
1603
1604   /* original PIC was protected, but it works with the Excelsior one
1605      because it uses only 1 bank of samples */
1606   ROM_REGION( 0x3000, "user1", 0 )
1607   ROM_LOAD( "pic16c57-hs.i015", 0x0000, 0x2d4c, BAD_DUMP CRC(022c6941) SHA1(8ead40bfa7aa783b1ce62bd6cfa673cb876e29e7) )
1608
1609   ROM_REGION( 0x200000, "gfx1", 0 )
1610   ROM_LOAD16_BYTE( "23.u36",       0x000000, 0x10000, CRC(71840dd9) SHA1(9d0a75555dedb6fd28bb7c04b863f3ef5a1f8aac) )
1611   ROM_CONTINUE(             0x080000, 0x10000 )
1612   ROM_LOAD16_BYTE( "27.u42",       0x000001, 0x10000, CRC(2f86b37f) SHA1(99b1ffc2006f7eb1517f2fcee955391af98ba061) )
1613   ROM_CONTINUE(             0x080001, 0x10000 )
1614   ROM_LOAD16_BYTE( "24.u39",       0x100000, 0x10000, CRC(c6725797) SHA1(b6233dbba956e044aa76104bfffdd7fd6799628c) )
1615   ROM_CONTINUE(             0x180000, 0x10000 )
1616   ROM_LOAD16_BYTE( "28.u40",       0x100001, 0x10000, CRC(40e65ed1) SHA1(bc75eb816c58eb0f983bb0eaee854c54e306e1da) )
1617   ROM_CONTINUE(             0x180001, 0x10000 )
1618
1619   ROM_REGION( 0x80000, "gfx2", 0 )
1620   ROM_LOAD16_BYTE( "26.u86",       0x00000, 0x20000, CRC(d3ee7d82) SHA1(b0b3df19d60430e7a9fa29fdfff2183a32986d2d) )
1621   ROM_LOAD16_BYTE( "30.u85",       0x00001, 0x20000, CRC(4b8a9558) SHA1(9f0f2d8f50f21cf188ad778c3a0a68ec23380b23) )
1622   ROM_LOAD16_BYTE( "25.u84",       0x40000, 0x20000, CRC(e1ab5cf5) SHA1(f76d00537cfd6f09439e44071875bf021622fd07) )
1623   ROM_LOAD16_BYTE( "29.u83",       0x40001, 0x20000, CRC(9572d2d4) SHA1(90d55b1f13dc93041160530e8c1ce8def6e02bcf) )
1624
1625   ROM_REGION( 0xc0000, "oki", 0 ) /* Samples */
1626   ROM_LOAD( "20.io13",      0x00000, 0x40000, CRC(0d42c0a3) SHA1(1b1d4c7dcbb063e8bf133063770b753947d1a017) )
1627ROM_END
1628
15911629ROM_START( hrdtimes )
15921630   ROM_REGION( 0x100000, "maincpu", 0 )    /* 68000 code */
15931631   ROM_LOAD16_BYTE( "31.u67",       0x00000, 0x80000, CRC(53eb041b) SHA1(7437da1ceb26e9518a3085560b8a42f37e77ace9) )
r20656r20657
17321770   } while (src_pos < 0x2d4c);     /* 0x2d4c is the size of the HEX rom loaded */
17331771}
17341772
1735GAME( 1995, bigtwin,   0,        bigtwin,  bigtwin, playmark_state, bigtwin, ROT0, "Playmark", "Big Twin", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
1773GAME( 1995, bigtwin,   0,        bigtwin,  bigtwin, playmark_state, bigtwin, ROT0, "Playmark", "Big Twin", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
17361774GAME( 1995, bigtwinb,  bigtwin,  bigtwinb, bigtwinb, playmark_state, bigtwin, ROT0, "Playmark", "Big Twin (No Girls Conversion)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
1737GAME( 1995, wbeachvl,  0,        wbeachvl, wbeachvl, driver_device, 0,       ROT0, "Playmark", "World Beach Volley (set 1)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
1738GAME( 1995, wbeachvl2, wbeachvl, wbeachvl, wbeachvl, driver_device, 0,       ROT0, "Playmark", "World Beach Volley (set 2)",  GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
1739GAME( 1995, wbeachvl3, wbeachvl, wbeachvl, wbeachvl, driver_device, 0,       ROT0, "Playmark", "World Beach Volley (set 3)",  GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
1740GAME( 1996, excelsr,   0,        excelsr,  excelsr, playmark_state,  bigtwin, ROT0, "Playmark", "Excelsior", GAME_SUPPORTS_SAVE )
1741GAME( 1995, hotmind,   0,        hotmind,  hotmind, playmark_state,  bigtwin, ROT0, "Playmark", "Hot Mind", GAME_SUPPORTS_SAVE )
1742GAME( 1994, hrdtimes,  0,        hrdtimes, hrdtimes, driver_device, 0,       ROT0, "Playmark", "Hard Times (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
1743GAME( 1994, hrdtimesa, hrdtimes, hrdtimes, hrdtimes, driver_device, 0,       ROT0, "Playmark", "Hard Times (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
1775GAME( 1995, wbeachvl,  0,        wbeachvl, wbeachvl, driver_device,  0,       ROT0, "Playmark", "World Beach Volley (set 1)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
1776GAME( 1995, wbeachvl2, wbeachvl, wbeachvl, wbeachvl, driver_device,  0,       ROT0, "Playmark", "World Beach Volley (set 2)",  GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
1777GAME( 1995, wbeachvl3, wbeachvl, wbeachvl, wbeachvl, driver_device,  0,       ROT0, "Playmark", "World Beach Volley (set 3)",  GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
1778GAME( 1996, excelsr,   0,        excelsr,  excelsr,  playmark_state, bigtwin, ROT0, "Playmark", "Excelsior", GAME_SUPPORTS_SAVE )
1779GAME( 1995, hotmind,   0,        hotmind,  hotmind,  playmark_state, bigtwin, ROT0, "Playmark", "Hot Mind (Hard Times hardware)", GAME_SUPPORTS_SAVE )
1780GAME( 1995, luckboomh, luckboom, luckboomh,hotmind,  playmark_state, bigtwin, ROT0, "Playmark", "Lucky Boom (Hard Times hardware)", GAME_NOT_WORKING )
1781GAME( 1994, hrdtimes,  0,        hrdtimes, hrdtimes, driver_device,  0,       ROT0, "Playmark", "Hard Times (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
1782GAME( 1994, hrdtimesa, hrdtimes, hrdtimes, hrdtimes, driver_device,  0,       ROT0, "Playmark", "Hard Times (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team