trunk/src/mame/video/playmark.c
| r20656 | r20657 | |
| 87 | 87 | int code = m_videoram2[tile_index] & 0x1fff; |
| 88 | 88 | int colr = m_videoram2[tile_index] & 0xe000; |
| 89 | 89 | |
| 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); |
| 91 | 91 | } |
| 92 | 92 | |
| 93 | 93 | TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_bg_tile_info) |
| r20656 | r20657 | |
| 135 | 135 | m_xoffset = 1; |
| 136 | 136 | m_yoffset = 0; |
| 137 | 137 | m_txt_tile_offset = 0x8000; |
| 138 | m_fg_tile_offset = 0x2000; |
| 138 | 139 | |
| 139 | 140 | m_pri_masks[0] = 0; |
| 140 | 141 | m_pri_masks[1] = 0; |
| r20656 | r20657 | |
| 191 | 192 | |
| 192 | 193 | m_xoffset = -9; |
| 193 | 194 | m_yoffset = -8; |
| 194 | | m_txt_tile_offset = 0x9000; |
| 195 | m_txt_tile_offset = 0x9800; |
| 196 | m_fg_tile_offset = 0x2000; |
| 195 | 197 | |
| 196 | 198 | m_pri_masks[0] = 0xfff0; |
| 197 | 199 | m_pri_masks[1] = 0xfffc; |
| 198 | 200 | m_pri_masks[2] = 0; |
| 199 | 201 | } |
| 200 | 202 | |
| 203 | // this is wrong, and the offsets seem to move, so it can probably help find the register. |
| 204 | VIDEO_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 | |
| 201 | 230 | VIDEO_START_MEMBER(playmark_state,hrdtimes) |
| 202 | 231 | { |
| 203 | 232 | 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); |
| r20656 | r20657 | |
| 214 | 243 | m_xoffset = -8; |
| 215 | 244 | m_yoffset = -8; |
| 216 | 245 | m_txt_tile_offset = 0xfc00; |
| 246 | m_fg_tile_offset = 0x2000; |
| 217 | 247 | |
| 218 | 248 | m_pri_masks[0] = 0xfff0; |
| 219 | 249 | m_pri_masks[1] = 0xfffc; |
trunk/src/mame/drivers/playmark.c
| r20656 | r20657 | |
| 1202 | 1202 | /* basic machine hardware */ |
| 1203 | 1203 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) /* verified on pcb */ |
| 1204 | 1204 | 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 |
| 1206 | 1206 | |
| 1207 | 1207 | MCFG_CPU_ADD("audiocpu", PIC16C57, XTAL_24MHz/2) /* verified on pcb */ |
| 1208 | 1208 | /* Program and Data Maps are internal to the MCU */ |
| r20656 | r20657 | |
| 1234 | 1234 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 1235 | 1235 | MACHINE_CONFIG_END |
| 1236 | 1236 | |
| 1237 | static MACHINE_CONFIG_DERIVED( luckboomh, hotmind ) |
| 1238 | MCFG_VIDEO_START_OVERRIDE(playmark_state,luckboomh) |
| 1239 | MACHINE_CONFIG_END |
| 1240 | |
| 1237 | 1241 | static MACHINE_CONFIG_START( hrdtimes, playmark_state ) |
| 1238 | 1242 | |
| 1239 | 1243 | /* basic machine hardware */ |
| r20656 | r20657 | |
| 1588 | 1592 | ROM_LOAD( "20.io13", 0x00000, 0x40000, CRC(0bf3a3e5) SHA1(2ae06f37a6bcd20bc5fbaa90d970aba2ebf3cf5a) ) |
| 1589 | 1593 | ROM_END |
| 1590 | 1594 | |
| 1595 | ROM_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) ) |
| 1627 | ROM_END |
| 1628 | |
| 1591 | 1629 | ROM_START( hrdtimes ) |
| 1592 | 1630 | ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 code */ |
| 1593 | 1631 | ROM_LOAD16_BYTE( "31.u67", 0x00000, 0x80000, CRC(53eb041b) SHA1(7437da1ceb26e9518a3085560b8a42f37e77ace9) ) |
| r20656 | r20657 | |
| 1732 | 1770 | } while (src_pos < 0x2d4c); /* 0x2d4c is the size of the HEX rom loaded */ |
| 1733 | 1771 | } |
| 1734 | 1772 | |
| 1735 | | GAME( 1995, bigtwin, 0, bigtwin, bigtwin, playmark_state, bigtwin, ROT0, "Playmark", "Big Twin", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) |
| 1773 | GAME( 1995, bigtwin, 0, bigtwin, bigtwin, playmark_state, bigtwin, ROT0, "Playmark", "Big Twin", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) |
| 1736 | 1774 | GAME( 1995, bigtwinb, bigtwin, bigtwinb, bigtwinb, playmark_state, bigtwin, ROT0, "Playmark", "Big Twin (No Girls Conversion)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) |
| 1737 | | GAME( 1995, wbeachvl, 0, wbeachvl, wbeachvl, driver_device, 0, ROT0, "Playmark", "World Beach Volley (set 1)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
| 1738 | | GAME( 1995, wbeachvl2, wbeachvl, wbeachvl, wbeachvl, driver_device, 0, ROT0, "Playmark", "World Beach Volley (set 2)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
| 1739 | | GAME( 1995, wbeachvl3, wbeachvl, wbeachvl, wbeachvl, driver_device, 0, ROT0, "Playmark", "World Beach Volley (set 3)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
| 1740 | | GAME( 1996, excelsr, 0, excelsr, excelsr, playmark_state, bigtwin, ROT0, "Playmark", "Excelsior", GAME_SUPPORTS_SAVE ) |
| 1741 | | GAME( 1995, hotmind, 0, hotmind, hotmind, playmark_state, bigtwin, ROT0, "Playmark", "Hot Mind", GAME_SUPPORTS_SAVE ) |
| 1742 | | GAME( 1994, hrdtimes, 0, hrdtimes, hrdtimes, driver_device, 0, ROT0, "Playmark", "Hard Times (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
| 1743 | | GAME( 1994, hrdtimesa, hrdtimes, hrdtimes, hrdtimes, driver_device, 0, ROT0, "Playmark", "Hard Times (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
| 1775 | GAME( 1995, wbeachvl, 0, wbeachvl, wbeachvl, driver_device, 0, ROT0, "Playmark", "World Beach Volley (set 1)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
| 1776 | GAME( 1995, wbeachvl2, wbeachvl, wbeachvl, wbeachvl, driver_device, 0, ROT0, "Playmark", "World Beach Volley (set 2)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
| 1777 | GAME( 1995, wbeachvl3, wbeachvl, wbeachvl, wbeachvl, driver_device, 0, ROT0, "Playmark", "World Beach Volley (set 3)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
| 1778 | GAME( 1996, excelsr, 0, excelsr, excelsr, playmark_state, bigtwin, ROT0, "Playmark", "Excelsior", GAME_SUPPORTS_SAVE ) |
| 1779 | GAME( 1995, hotmind, 0, hotmind, hotmind, playmark_state, bigtwin, ROT0, "Playmark", "Hot Mind (Hard Times hardware)", GAME_SUPPORTS_SAVE ) |
| 1780 | GAME( 1995, luckboomh, luckboom, luckboomh,hotmind, playmark_state, bigtwin, ROT0, "Playmark", "Lucky Boom (Hard Times hardware)", GAME_NOT_WORKING ) |
| 1781 | GAME( 1994, hrdtimes, 0, hrdtimes, hrdtimes, driver_device, 0, ROT0, "Playmark", "Hard Times (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
| 1782 | GAME( 1994, hrdtimesa, hrdtimes, hrdtimes, hrdtimes, driver_device, 0, ROT0, "Playmark", "Hard Times (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |