summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/realbrk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/realbrk.cpp')
-rw-r--r--src/mame/drivers/realbrk.cpp1302
1 files changed, 0 insertions, 1302 deletions
diff --git a/src/mame/drivers/realbrk.cpp b/src/mame/drivers/realbrk.cpp
deleted file mode 100644
index 7376ec109ae..00000000000
--- a/src/mame/drivers/realbrk.cpp
+++ /dev/null
@@ -1,1302 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Luca Elia
-/***************************************************************************
-
- -= Billiard Academy Real Break =-
-
- driver by Luca Elia (l.elia@tin.it)
-
-
-CPU : TMP68301
-
-Sound : YMZ280b + YM2413
-
-Chips : 4L10F2467 (QFP160)
- 4L10F2468 (QFP160)
- ACTEL A1010A
- PST532 (system reset and battery backup switching)
-
-
----------------------------------------------------------------------------
-Year + Game Board
----------------------------------------------------------------------------
-98 Pachinko Gindama Shoubu (Japan) NM5050905-1
-98 Pachinko Gindama Shoubu DX (Japan) NM522-1-9803
-98 Billiard Academy Real Break (Japan) NM523-1-9805
-98 Billiard Academy Real Break (Europe) MM600-1-9807
-98 Billiard Academy Real Break (Korea) MM600-1-9807
-04 Dai-Dai-Kakumei (Japan) NM522-1-9803
----------------------------------------------------------------------------
-
-Notes:
-
-- To reach the (hidden?) test modes put a breakpoint at 9f80, go in service
- mode and select "results" from the menu - this hits the breakpoint - then
- set ($3,a2) to non zero.
-
-To Do:
-
-- Priorities (e.g during the intro, there are two black bands in the backround
- that should obscure sprites).
-- Sometimes sprites are shrunk to end up overlapping the background image
- in the tilemaps, but they are a few pixels off
-
-***************************************************************************/
-
-#include "emu.h"
-#include "includes/realbrk.h"
-
-#include "cpu/m68000/m68000.h"
-#include "sound/ym2413.h"
-#include "sound/ymz280b.h"
-#include "speaker.h"
-
-
-/* Read 4 ten bit dip switches */
-u16 realbrk_state::realbrk_dsw_r()
-{
- const u16 sel = ~m_dsw_select[0];
- if (sel & 0x01) return (m_dsw_io[0]->read() & 0x00ff) << 8; // DSW1 low bits
- if (sel & 0x02) return (m_dsw_io[1]->read() & 0x00ff) << 8; // DSW2 low bits
- if (sel & 0x04) return (m_dsw_io[2]->read() & 0x00ff) << 8; // DSW3 low bits
- if (sel & 0x08) return (m_dsw_io[3]->read() & 0x00ff) << 8; // DSW4 low bits
-
- if (sel & 0x10) return ((m_dsw_io[0]->read() & 0x0300) << 0) | // DSWs high 2 bits
- ((m_dsw_io[1]->read() & 0x0300) << 2) |
- ((m_dsw_io[2]->read() & 0x0300) << 4) |
- ((m_dsw_io[3]->read() & 0x0300) << 6) ;
-
- logerror("CPU #0 PC %06X: read with unknown dsw_select = %02x\n",m_maincpu->pc(),m_dsw_select[0]);
- return 0xffff;
-}
-
-u16 realbrk_state::pkgnsh_input_r(offs_t offset)
-{
- switch(offset)
- {
- case 0x00/2: return 0xffff;
- case 0x02/2: return 0xffff;
- case 0x04/2: return m_in_io[0]->read(); /*Service buttons*/
- case 0x06/2: return m_dsw_io[0]->read(); /*DIP 2*/
- case 0x08/2: return m_dsw_io[1]->read(); /*DIP 1*/
- case 0x0a/2: return m_dsw_io[2]->read(); /*DIP 1+2 Hi-Bits*/
- case 0x0c/2: return m_paddle_io[0]->read(); /*Handle 1p*/
- case 0x0e/2: return m_player_io[0]->read(); /*Buttons 1p*/
- case 0x10/2: return m_paddle_io[1]->read(); /*Handle 2p*/
- case 0x12/2: return m_player_io[1]->read(); /*Buttons 2p*/
- }
- return 0xffff;
-}
-
-u16 realbrk_state::pkgnshdx_input_r(offs_t offset)
-{
- const u16 sel = ~m_dsw_select[0];
-
- switch(offset)
- {
- case 0x00/2: return 0xffff;
- case 0x02/2: return m_in_io[0]->read(); /*Service buttons*/
- /*DSW,same handling as realbrk*/
- case 0x04/2:
- if (sel & 0x01) return (m_dsw_io[0]->read() & 0x00ff) << 8; // DSW1 low bits
- if (sel & 0x02) return (m_dsw_io[1]->read() & 0x00ff) << 8; // DSW2 low bits
- if (sel & 0x04) return (m_dsw_io[2]->read() & 0x00ff) << 8; // DSW3 low bits
- if (sel & 0x08) return (m_dsw_io[3]->read() & 0x00ff) << 8; // DSW4 low bits
-
- if (sel & 0x10) return ((m_dsw_io[0]->read() & 0x0300) << 0) | // DSWs high 2 bits
- ((m_dsw_io[1]->read() & 0x0300) << 2) |
- ((m_dsw_io[2]->read() & 0x0300) << 4) |
- ((m_dsw_io[3]->read() & 0x0300) << 6) ;
-
- return 0xffff;
- case 0x06/2: return m_player_io[1]->read();/*Buttons+Handle 2p*/
- case 0x08/2: return m_player_io[0]->read();/*Buttons+Handle 1p*/
- case 0x0a/2: return 0xffff;
- case 0x0c/2: return 0xffff;
- case 0x0e/2: return 0xffff;
- case 0x10/2: return 0xffff;
- case 0x12/2: return 0xffff;
- }
-
- return 0xffff;
-}
-
-
-u16 realbrk_state::backup_ram_r(offs_t offset)
-{
- /*TODO: understand the format & cmds of the backup-ram,maybe it's an
- unemulated tmp68301 feature?*/
- if(m_maincpu->pcbase() == 0x02c08e)
- return 0xffff;
- else
- return m_backup_ram[offset];
-}
-
-
-u16 realbrk_state::backup_ram_dx_r(offs_t offset)
-{
- /*TODO: understand the format & cmds of the backup-ram,maybe it's an
- unemulated tmp68301 feature?*/
- if(m_maincpu->pcbase() == 0x02f046)
- return 0xffff;
- else
- return m_backup_ram[offset];
-}
-
-void realbrk_state::backup_ram_w(offs_t offset, u16 data, u16 mem_mask)
-{
- COMBINE_DATA(&m_backup_ram[offset]);
-}
-
-template<int Layer>
-void realbrk_state::vram_w(offs_t offset, u16 data, u16 mem_mask)
-{
- COMBINE_DATA(&m_vram[Layer][offset]);
- m_tilemap[Layer]->mark_tile_dirty(offset/2);
-}
-
-/***************************************************************************
-
- Memory Maps
-
-***************************************************************************/
-
-/*Basic memory map for this HW*/
-void realbrk_state::base_mem(address_map &map)
-{
- map(0x000000, 0x0fffff).rom(); // ROM
- map(0x200000, 0x203fff).ram().share("spriteram"); // Sprites
- map(0x400000, 0x40ffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
- map(0x600000, 0x601fff).ram().w(FUNC(realbrk_state::vram_w<0>)).share("vram_0"); // Background (0)
- map(0x602000, 0x603fff).ram().w(FUNC(realbrk_state::vram_w<1>)).share("vram_1"); // Background (1)
- map(0x604000, 0x604fff).ram().w(FUNC(realbrk_state::vram_2_w)).share("vram_2"); // Text (2)
- map(0x605000, 0x605fff).ram(); //
- map(0x606000, 0x60600f).ram().w(FUNC(realbrk_state::vregs_w)).share("vregs"); // Scroll + Video Regs
- map(0x606010, 0x61ffff).ram(); //
- map(0x800000, 0x800003).rw("ymz", FUNC(ymz280b_device::read), FUNC(ymz280b_device::write)).umask16(0xff00); // YMZ280
- map(0xfe0000, 0xfeffff).ram(); // RAM
-}
-
-/*realbrk specific memory map*/
-void realbrk_state::realbrk_mem(address_map &map)
-{
- base_mem(map);
- map(0x800008, 0x80000b).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); //
- map(0xc00000, 0xc00001).portr("IN0"); // P1 & P2 (Inputs)
- map(0xc00002, 0xc00003).portr("IN1"); // Coins
- map(0xc00004, 0xc00005).ram().r(FUNC(realbrk_state::realbrk_dsw_r)).share("dsw_select"); // DSW select
- map(0xff0000, 0xfffbff).ram(); // RAM
-}
-
-/*pkgnsh specific memory map*/
-void realbrk_state::pkgnsh_mem(address_map &map)
-{
- base_mem(map);
- map(0x800008, 0x80000b).w("ymsnd", FUNC(ym2413_device::write)).umask16(0xff00); // YM2413
- map(0xc00000, 0xc00013).r(FUNC(realbrk_state::pkgnsh_input_r)); // P1 & P2 (Inputs)
- map(0xff0000, 0xfffbff).rw(FUNC(realbrk_state::backup_ram_r), FUNC(realbrk_state::backup_ram_w)).share("backup_ram"); // RAM
-}
-
-/*pkgnshdx specific memory map*/
-void realbrk_state::pkgnshdx_mem(address_map &map)
-{
- base_mem(map);
- map(0x800008, 0x80000b).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); //
- map(0xc00000, 0xc00013).r(FUNC(realbrk_state::pkgnshdx_input_r)); // P1 & P2 (Inputs)
- map(0xc00004, 0xc00005).writeonly().share("dsw_select"); // DSW select
- map(0xff0000, 0xfffbff).rw(FUNC(realbrk_state::backup_ram_dx_r), FUNC(realbrk_state::backup_ram_w)).share("backup_ram"); // RAM
-}
-
-/*dai2kaku specific memory map*/
-void realbrk_state::dai2kaku_mem(address_map &map)
-{
- base_mem(map);
- map(0x605000, 0x6053ff).ram().share("vram_0ras"); // rasterinfo (0)
- map(0x605400, 0x6057ff).ram().share("vram_1ras"); // rasterinfo (1)
- map(0x800008, 0x80000b).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); //
- map(0xc00000, 0xc00001).portr("IN0"); // P1 & P2 (Inputs)
- map(0xc00002, 0xc00003).portr("IN1"); // Coins
- map(0xc00004, 0xc00005).ram().r(FUNC(realbrk_state::realbrk_dsw_r)).share("dsw_select"); // DSW select
- map(0xff0000, 0xfffbff).ram(); // RAM
-}
-
-/***************************************************************************
-
- Input Ports
-
-***************************************************************************/
-
-/***************************************************************************
- Billiard Academy Real Break
-***************************************************************************/
-
-static INPUT_PORTS_START( realbrk )
- PORT_START("IN0") // IN0 - $c00000.w
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) // BUTTON3 in test mode
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED ) // BUTTON3 in test mode
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("IN1") // IN1 - $c00002.w
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test ))
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // the vblank routine wants these 2 bits high
- PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START("SW1") // IN2 - $c00004.w (DSW1)
- PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3")
- PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x0003, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( 1C_5C ) )
- PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:4,5,6")
- PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x0018, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( 1C_5C ) )
- PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:7")
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:8")
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( On ) )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:9")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x0200, IP_ACTIVE_LOW, "SW1:10" )
-
- PORT_START("SW2") // IN3 - $c00004.w (DSW2)
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
- PORT_DIPSETTING( 0x0000, "4" )
- PORT_DIPSETTING( 0x0001, "5" )
- PORT_DIPSETTING( 0x0003, "6" )
- PORT_DIPSETTING( 0x0002, "7" )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
- PORT_DIPSETTING( 0x0008, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Harder ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0030, 0x0030, "Time" ) PORT_DIPLOCATION("SW2:5,6")
- PORT_DIPSETTING( 0x0000, "110" )
- PORT_DIPSETTING( 0x0030, "120" )
- PORT_DIPSETTING( 0x0020, "130" )
- PORT_DIPSETTING( 0x0010, "150" )
- PORT_DIPNAME( 0x0040, 0x0040, "Showtime With Easy Mode" ) PORT_DIPLOCATION("SW2:7")
- PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x0080, 0x0080, "Coins for Versus" ) PORT_DIPLOCATION("SW2:8")
- PORT_DIPSETTING( 0x0000, "1" )
- PORT_DIPSETTING( 0x0080, "2" )
- PORT_DIPUNUSED_DIPLOC( 0x0100, 0x0100, "SW2:9" ) /* Manual doesn't even show switches 9 & 10 */
- PORT_DIPUNUSED_DIPLOC( 0x0200, 0x0200, "SW2:10" )
-
- PORT_START("SW3") // IN4 - $c00004.w (DSW3) - Unused
- PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SW4") // IN5 - $c00004.w (DSW4) - Unused
- PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( pkgnsh )
- PORT_START("IN0") // IN0 - $c00002.w
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test ))
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // the vblank routine wants these 2 bits high
- PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START("SW1")
- PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_UNUSED )/*pkgnsh wants these two bits to be 0*/
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
-
- PORT_START("SW2") // IN3 - $c00004.w (DSW2)
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x0800, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x0000, "1 Coin/10 Credits" )
- PORT_DIPNAME( 0xf000, 0xf000, "Balls Per Credit" )
- PORT_DIPSETTING( 0x7000, "5 Balls" )
- PORT_DIPSETTING( 0x6000, "6 Balls" )
- PORT_DIPSETTING( 0x5000, "10 Balls" )
- PORT_DIPSETTING( 0x4000, "15 Balls" )
- PORT_DIPSETTING( 0x3000, "20 Balls" )
- PORT_DIPSETTING( 0x0000, "30 Balls" )
-// PORT_DIPSETTING( 0x1000, "30 Balls" ) /* Duplicate Setting for 30 balls */
-// PORT_DIPSETTING( 0x2000, "30 Balls" ) /* Duplicate Setting for 30 balls */
- PORT_DIPSETTING( 0xf000, "40 Balls" )
- PORT_DIPSETTING( 0xe000, "50 Balls" )
- PORT_DIPSETTING( 0xd000, "60 Balls" )
- PORT_DIPSETTING( 0xc000, "80 Balls" )
- PORT_DIPSETTING( 0x8000, "100 Balls" )
-// PORT_DIPSETTING( 0x9000, "100 Balls" ) /* Duplicate Setting for 100 balls */
-// PORT_DIPSETTING( 0xa000, "100 Balls" ) /* Duplicate Setting for 100 balls */
-// PORT_DIPSETTING( 0xb000, "100 Balls" ) /* Duplicate Setting for 100 balls */
-
- PORT_START("SW3")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("PADDLE1")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0xff00, 0x0000, IPT_PADDLE ) PORT_PLAYER(1) PORT_MINMAX(0,0x6400) PORT_SENSITIVITY(15) PORT_KEYDELTA(15) PORT_CENTERDELTA(0) //PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M)
-
- PORT_START("P1")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) //F/F
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) //Stop
- PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("PADDLE2")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0xff00, 0x0000, IPT_PADDLE ) PORT_PLAYER(2) PORT_MINMAX(0,0x6400) PORT_SENSITIVITY(15) PORT_KEYDELTA(15) PORT_CENTERDELTA(0) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M)
-
- PORT_START("P2")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )/*There's the Pay Out SW here IIRC*/
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) //F/F
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) //Stop
- PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( pkgnshdx )
- PORT_START("IN0") // IN0 - $c00002.w
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test ))
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // the vblank routine wants these 2 bits high
- PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START("SW1") // IN1
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x0000, "1 Coin/10 Credits" )
- PORT_DIPNAME( 0x00f0, 0x00f0, "Balls Per Credit" )
- PORT_DIPSETTING( 0x0070, "5 Balls" )
- PORT_DIPSETTING( 0x0060, "6 Balls" )
- PORT_DIPSETTING( 0x0050, "10 Balls" )
- PORT_DIPSETTING( 0x0040, "15 Balls" )
- PORT_DIPSETTING( 0x0030, "20 Balls" )
- PORT_DIPSETTING( 0x0000, "30 Balls" )
-// PORT_DIPSETTING( 0x0010, "30 Balls" ) /* Duplicate Setting for 30 balls */
-// PORT_DIPSETTING( 0x0020, "30 Balls" ) /* Duplicate Setting for 30 balls */
- PORT_DIPSETTING( 0x00f0, "40 Balls" )
- PORT_DIPSETTING( 0x00e0, "50 Balls" )
- PORT_DIPSETTING( 0x00d0, "60 Balls" )
- PORT_DIPSETTING( 0x00c0, "80 Balls" )
- PORT_DIPSETTING( 0x0080, "100 Balls" )
-// PORT_DIPSETTING( 0x0090, "100 Balls" ) /* Duplicate Setting for 100 balls */
-// PORT_DIPSETTING( 0x00a0, "100 Balls" ) /* Duplicate Setting for 100 balls */
-// PORT_DIPSETTING( 0x00b0, "100 Balls" ) /* Duplicate Setting for 100 balls */
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
-
- PORT_START("SW2") //IN2
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
-
- PORT_START("SW3") //IN3
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
-
- PORT_START("SW4") //IN4
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
-
- PORT_START("P1") //IN5
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
- PORT_DIPNAME( 0x0002, 0x0002, "Pay-Out SW" )//Not a real DIP-Switch
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED ) //F/F
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) //Stop
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_DIPNAME( 0x0040, 0x0040, "Analize SW" )//Not a real DIP-Switch
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0xff00, 0x0000, IPT_PADDLE ) PORT_PLAYER(1) PORT_MINMAX(0,0x6400) PORT_SENSITIVITY(15) PORT_KEYDELTA(15) PORT_CENTERDELTA(0) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M)
-
- PORT_START("P2") //IN6
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED ) //Again Pay-Out SW in test mode,but it doesn't work,maybe it is for Player-2?
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED ) //F/F
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) //Stop
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_DIPNAME( 0x0040, 0x0040, "Mem Clear SW" )//Not a real DIP-Switch
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0xff00, 0x0000, IPT_PADDLE ) PORT_PLAYER(2) PORT_MINMAX(0,0x6400) PORT_SENSITIVITY(15) PORT_KEYDELTA(15) PORT_CENTERDELTA(0) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M)
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( dai2kaku )
- PORT_START("IN0") // IN0 - $c00000.w
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
-
- PORT_START("IN1") // IN1 - $c00002.w
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test ))
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // the vblank routine wants these 2 bits high
- PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START("SW1") // IN2 - $c00004.w (DSW1)
- PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
- PORT_DIPSETTING( 0x0009, DEF_STR( 1C_7C ) )
- PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
- PORT_DIPSETTING( 0x000b, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x0006, DEF_STR( 2C_5C ) )
- PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x0007, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x0003, DEF_STR( 3C_4C ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( 4C_5C ) )
- PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( 4C_3C ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( 3C_2C ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
- PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
- PORT_DIPSETTING( 0x0090, DEF_STR( 1C_7C ) )
- PORT_DIPSETTING( 0x00a0, DEF_STR( 1C_6C ) )
- PORT_DIPSETTING( 0x00b0, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x00d0, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x0060, DEF_STR( 2C_5C ) )
- PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x0070, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x0030, DEF_STR( 3C_4C ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( 4C_5C ) )
- PORT_DIPSETTING( 0x00f0, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( 4C_3C ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( 3C_2C ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x0050, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( 4C_1C ) )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:9")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW1:10" )
-
- PORT_START("SW2") // IN3 - $c00004.w (DSW2)
- PORT_DIPUNKNOWN_DIPLOC( 0x0001, 0x0001, "SW2:1" )
- PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW2:2" )
- PORT_DIPNAME( 0x000c, 0x000c, "Starting Points" ) PORT_DIPLOCATION("SW2:3,4")
- PORT_DIPSETTING( 0x0008, "350" )
- PORT_DIPSETTING( 0x0004, "650" )
- PORT_DIPSETTING( 0x000c, "1000" )
- PORT_DIPSETTING( 0x0000, "1500" )
- PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW2:5" )
- PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
- PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW2:7" )
- PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW2:8" )
- PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SW2:9" )
- PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW2:10" )
-
- PORT_START("SW3") // IN4 - $c00004.w (DSW3) - Unused
- PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SW4") // IN5 - $c00004.w (DSW4) - Unused
- PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-/***************************************************************************
-
- Graphics Layouts
-
-***************************************************************************/
-
-static const gfx_layout layout_8x8x4 =
-{
- 8,8,
- RGN_FRAC(1,1),
- 4,
- { STEP4(0,1) },
- { STEP4(3*4,-4),STEP4(7*4,-4) },
- { STEP8(0,8*4) },
- 8*8*4
-};
-
-static const gfx_layout layout_16x16x4 =
-{
- 16,16,
- RGN_FRAC(1,1),
- 4,
- { STEP4(0,1) },
- { 1*4,0*4,3*4,2*4,5*4,4*4,7*4,6*4,9*4,8*4,11*4,10*4,13*4,12*4,15*4,14*4 },
- { STEP16(0,16*4) },
- 16*16*4
-};
-
-static const gfx_layout layout_16x16x8 =
-{
- 16,16,
- RGN_FRAC(1,1),
- 8,
- { STEP8(0,1) },
- { STEP16(0,8) },
- { STEP16(0,16*8) },
- 16*16*8
-};
-
-static GFXDECODE_START( gfx_realbrk )
- GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x8, 0, 0x80 ) // [0] Backgrounds
- GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0, 0x800 ) // [1] Text
- GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x8, 0, 0x80 ) // [2] Sprites (256 colors)
- GFXDECODE_ENTRY( "gfx4", 0, layout_16x16x4, 0, 0x800 ) // [3] Sprites (16 colors)
-GFXDECODE_END
-
-static GFXDECODE_START( gfx_dai2kaku )
- GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x8, 0, 0x80 ) // [0] Backgrounds
- GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0, 0x800 ) // [1] Text
- GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x8, 0, 0x80 ) // [2] Sprites (256 colors)
-GFXDECODE_END
-
-
-/***************************************************************************
-
- Machine Drivers
-
-***************************************************************************/
-
-/***************************************************************************
- Billiard Academy Real Break
-***************************************************************************/
-
-WRITE_LINE_MEMBER(realbrk_state::vblank_irq)
-{
- /* VBlank is connected to INT1 (external interrupts pin 1) */
- if (state)
- m_maincpu->external_interrupt_1();
-}
-
-void realbrk_state::realbrk(machine_config &config)
-{
- /* basic machine hardware */
- TMP68301(config, m_maincpu, XTAL(32'000'000) / 2);
- m_maincpu->set_addrmap(AS_PROGRAM, &realbrk_state::realbrk_mem);
- m_maincpu->out_parallel_callback().set(FUNC(realbrk_state::realbrk_flipscreen_w));
-
- /* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
- m_screen->set_size(0x140, 0xe0);
- m_screen->set_visarea(0, 0x140-1, 0, 0xe0-1);
- m_screen->set_screen_update(FUNC(realbrk_state::screen_update));
- m_screen->set_palette(m_palette);
- m_screen->screen_vblank().set(FUNC(realbrk_state::vblank_irq));
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_realbrk);
- PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x8000);
-
- /* sound hardware */
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
-
- ymz280b_device &ymz(YMZ280B(config, "ymz", XTAL(33'868'800) / 2));
- ymz.add_route(0, "lspeaker", 0.50);
- ymz.add_route(1, "rspeaker", 0.50);
-
- ym2413_device &ymsnd(YM2413(config, "ymsnd", XTAL(3'579'545)));
- ymsnd.add_route(ALL_OUTPUTS, "lspeaker", 0.50);
- ymsnd.add_route(ALL_OUTPUTS, "rspeaker", 0.50);
-}
-
-void realbrk_state::pkgnsh(machine_config &config)
-{
- realbrk(config);
-
- m_maincpu->set_addrmap(AS_PROGRAM, &realbrk_state::pkgnsh_mem);
- m_maincpu->out_parallel_callback().set_nop();
-}
-
-void realbrk_state::pkgnshdx(machine_config &config)
-{
- pkgnsh(config);
-
- m_maincpu->set_addrmap(AS_PROGRAM, &realbrk_state::pkgnshdx_mem);
-}
-
-void realbrk_state::dai2kaku(machine_config &config)
-{
- realbrk(config);
-
- m_maincpu->set_addrmap(AS_PROGRAM, &realbrk_state::dai2kaku_mem);
- m_maincpu->out_parallel_callback().set(FUNC(realbrk_state::dai2kaku_flipscreen_w));
-
- m_gfxdecode->set_info(gfx_dai2kaku);
- m_screen->set_screen_update(FUNC(realbrk_state::screen_update_dai2kaku));
-}
-
-
-/***************************************************************************
-
- ROMs Loading
-
-***************************************************************************/
-
-/***************************************************************************
-
-Pachinko Gindama Shoubu
-Nakanihon Inc. / Dynax, 1998
-
-PCB Layout
-----------
-
-NM5050905-1
-|----------------------------------------------------------------------|
-| TA8201 75074 YM2413 |-----| |------------------------| |
-| PST532A 3V_BATT 32.768kHz |68301| CN2|------------------------| |
-| 75074 M6242B | | TC55257 YMZ280B |
-| YAC513 3.579545MHz |-----| TC55257 TC55257 |
-| |--------| |
-| |ACTEL | TC55257 |
-| |A1010B | |
-| |(PLCC68)| TC55257 |
-| |--------| |
-|J TC55257 TC55257 |
-|A |
-|M TC55257 |
-|M M548262 |
-|A M548262 32.000MHz |
-| TC55257 |
-| |---------| |---------| |
-| DSW1(10) |NIKANIHON| TC55257 |NIKANIHON| |
-| |4L10F2468| |4L10F2467| |
-| DSW2(10) TC55257 | | | | |
-| |(QFP160) | |(QFP160) | |
-| TC55257 |---------| |---------| |
-| CN6 |------------------------| |
-| CN7 33.8688MHz CN3|------------------------| |
-|----------------------------------------------------------------------|
-Notes:
- *: unpopulated 32 pin sockets
- PST532: IC for system reset and battery backup switching
- DIPSW's: Each have 10 switches.
- CN2/CN3: ROM daughterboard connectors
- CN6/CN7: Connectors for player 3 & 4 controls
- TC55257: 32K x8 SRAM
- M548262: 256K x8 fastpage VRAM
-
- Vertical Sync: 60Hz
- Horiz. Sync: 15.81kHz
- 68301 clock: 16.000MHz (32 / 2)
- YMZ280B clock: 16.9344MHz (33.8688 / 2)
- YM2413 clock: 3.579545MHz
-OKI M6242 clock: 32.768kHz
-
-
-ROM Daughterboard
------------------
-
-NS5050905-2
-|----------------------------------------|
-| |------------------------| |
-| CN1|------------------------| |
-| |
-| 50505.1K 50507.1F 50510.1C |
-| 50506.1H 50508.1E 50511.1B |
-| |
-| PAL 50509.2D 50512.2A|
-| |
-| PAL |
-| |
-| |
-|50503.3L * * * * |
-| 50504.3K |
-| |
-| |
-| |
-| |
-|50501.4L * * * * |
-| 50502.4K |
-| |
-| |
-| |------------------------| |
-| CN2|------------------------| |
-|----------------------------------------|
-Notes:
- *: Unpopulated 32pin sockets
-
-***************************************************************************/
-
-ROM_START( pkgnsh )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* TMP68301 Code */
- ROM_LOAD16_BYTE( "50506.1h", 0x000001, 0x080000, CRC(06949a7d) SHA1(1276c28bc5cebeae749e0cded2da631353efbbb4) )
- ROM_LOAD16_BYTE( "50505.1k", 0x000000, 0x080000, CRC(26df869f) SHA1(d716e561441da6ae8ca61e17335aab44770157a6) )
-
- ROM_REGION( 0x400000, "gfx1", 0 ) /* Backgrounds */
- ROM_LOAD32_WORD( "50512.2a", 0x0000002, 0x200000, CRC(5adae7bb) SHA1(de7cf952155459f7aab1448620bf26a925ca0572) )
- ROM_LOAD32_WORD( "50509.2d", 0x0000000, 0x200000, CRC(ad937ab5) SHA1(ebe02c203358787c6b406fe3cbd3eca3b245456e) )
-
- ROM_REGION( 0x40000, "gfx2", 0 ) /* Text Layer */
- ROM_LOAD16_BYTE( "50510.1c", 0x000001, 0x020000, CRC(e26f1ad6) SHA1(5713af5fb02885657889cb2df7f58a39987ace6a) )
- ROM_LOAD16_BYTE( "50511.1b", 0x000000, 0x020000, CRC(3da9af01) SHA1(21313fd5c8cf7ccb72c85422dbddfceedab2542f) )
-
- ROM_REGION( 0xc00000, "gfx3", 0 ) /* Sprites (256 colors) */
- ROM_LOAD32_WORD( "50502.4k", 0x0000000, 0x400000, CRC(f7c04779) SHA1(fcbc2d166d405d0fe2a4ca67950fe6ec060b9fc1) ) // same as 52206.9f on dx
- ROM_LOAD32_WORD( "50504.3k", 0x0000002, 0x400000, CRC(8e872be5) SHA1(0568a70ca640624f665b8b92ca5e9239b13ed116) ) // same as 52208.9d on dx
- ROM_LOAD32_WORD( "50501.4l", 0x0800000, 0x200000, CRC(ca31e1ad) SHA1(7508547de5617f6091fc46f6eb1b45673419c483) )
- ROM_LOAD32_WORD( "50503.3l", 0x0800002, 0x200000, CRC(80b5e8d0) SHA1(27359affaa84c7cb4dfc019bbfeae0f384602faa) )
-
- ROM_REGION( 0x200000, "gfx4", ROMREGION_ERASEFF ) /* Sprites (16 colors) Not Used */
-
- ROM_REGION( 0x100000, "ymz", 0 ) /* Samples */
- ROM_LOAD( "50508.1e", 0x000000, 0x080000, CRC(95a1473a) SHA1(d382a9a603711747c2fe5bd5721de5af369ccc42) )
- ROM_LOAD( "50507.1f", 0x080000, 0x080000, CRC(34a003a1) SHA1(f3fa4de1f75e8fa18a8431a8c2ce495aa47989b9) )
-ROM_END
-
-/***************************************************************************
-
-Pachinko Gindama Shoubu DX
-Nakanihon Inc. / Dynax, 1998
-
-PCB Layout
-----------
-
-NM522-1-9803
-|----------------------------------------------------------------------|
-||-----| |--------| |
-||68301| 52202B |ACTEL | M548262 YMZ280B 52204 |
-|| | 52201B |TPC1010 | M548262 32.768kHz 52203 52205 |
-||-----| |(PLCC68)| M6242B 3V_BATT |
-| |--------||---------| PST532A |---------| |
-| TC55257 33.8688MHz |NIKANIHON| |NIKANIHON| |
-| TC55257 |4L10F2468| 32.000MHz |4L10F2467| |
-|2 TC55257 | | | | |
-|8 TC55257 |(QFP160) | |(QFP160) | |
-|W |---------| PAL |---------| |
-|A LC3664 52206 52208 52210 |
-|Y VOL1 LC3664 52207 52209 52211 |
-| VOL2 LC3664 |
-| TA7252 3404 LC3664 |
-| 3404 |
-| YAC516 YM2413 TC55257 |
-| 3.579545MHz TC55257 |
-| DSW2(10) DSW1(10) |
-| DSW3(10) DSW4(10) * * * * * * * * |
-| TC55257 |
-| CN3 TC55257 |
-| CN4 |
-|----------------------------------------------------------------------|
-
-Notes:
- *: unpopulated 32 pin sockets
- PST532: IC for system reset and battery backup switching
- DIPSW's: Each have 10 switches.
- VOL1/VOL2: Separate volume levels for sound and voice
- CN3/CN4: Connectors for player 3 & 4 controls
- TC55257: 32K x8 SRAM
- LC3664: 8K x8 SRAM
- M548262: 256K x8 fastpage VRAM
- 28WAY: Edge connector is JAMMA backwards (GND is pin 28,27; +5V is pins 26,25 etc)
- and with RBG locations moved (i.e. not standard JAMMA)
-
- Vertical Sync: 60Hz
- Horiz. Sync: 15.81kHz
- 68301 clock: 16.000MHz (32 / 2)
- YMZ280B clock: 16.9344MHz (33.8688 / 2)
- YM2413 clock: 3.579545MHz
-OKI M6242 clock: 32.768kHz
-
-***************************************************************************/
-
-ROM_START( pkgnshdx )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* TMP68301 Code */
- ROM_LOAD16_BYTE( "52202b.1r", 0x000000, 0x080000, CRC(3c1a10de) SHA1(44a13adec64645aa01e216dfd527b59e7298c732) )
- ROM_LOAD16_BYTE( "52201b.2r", 0x000001, 0x080000, CRC(d63797ce) SHA1(d1b0b57b5426135e36772be296e94e04822e54ac) )
-
- ROM_REGION( 0x400000, "gfx1", 0 ) /* Backgrounds */
- ROM_LOAD32_WORD( "52210.9b", 0x0000000, 0x200000, CRC(6865b76a) SHA1(26215ec38b1fef279b3c3c1453116a0afe938b6b) )
- ROM_LOAD32_WORD( "52211.9a", 0x0000002, 0x200000, CRC(8e227328) SHA1(200f9e4419dac62b191e5e8c6c32b777a9c08e5e) )
-
- ROM_REGION( 0x40000, "gfx2", 0 ) /* Text Layer */
- ROM_LOAD16_BYTE( "52205.1a", 0x000000, 0x020000, CRC(4b7d16c0) SHA1(5f6410121ec13bea2869d61db169dbe2536453ea) )
- ROM_LOAD16_BYTE( "52204.1b", 0x000001, 0x020000, CRC(47a39496) SHA1(3ac9499b70c63185fb65378c18d4ff30ba1d2f2b) )
-
- ROM_REGION( 0xc00000, "gfx3", 0 ) /* Sprites (256 colors) */
- ROM_LOAD32_WORD( "52206.9f", 0x0000000, 0x400000, CRC(f7c04779) SHA1(fcbc2d166d405d0fe2a4ca67950fe6ec060b9fc1) )
- ROM_LOAD32_WORD( "52208.9d", 0x0000002, 0x400000, CRC(8e872be5) SHA1(0568a70ca640624f665b8b92ca5e9239b13ed116) )
- ROM_LOAD32_WORD( "52207.9e", 0x0800000, 0x200000, CRC(ae7a983f) SHA1(ba8ff28068e21dd24ea2e523a5b4023e86ea26cb) )
- ROM_LOAD32_WORD( "52209.9c", 0x0800002, 0x200000, CRC(83ac2ea9) SHA1(aa1c45b7a404eed51e950bea3edcd34814f09213) )
-
- ROM_REGION( 0x200000, "gfx4", ROMREGION_ERASEFF ) /* Sprites (16 colors) Not Used */
-
- ROM_REGION( 0x100000, "ymz", 0 ) /* Samples */
- ROM_LOAD( "52203.2e", 0x000000, 0x100000, CRC(342a193d) SHA1(1e75ec7ac48dcc8396a0fa6db14f2661c28f671c) )
-ROM_END
-
-/***************************************************************************
-
- Billiard Academy Real Break
-
-Dynax, 1998
-
-PCB Layout
-----------
-
-
-NM523-1-9805
-------------------------------------------------------------------------
-| |
-| 68301-16 52302 ACTEL M548262 YMZ280B * 52304 |
-| 52301 A1010A M548262 52303 52305 |
-| 33.8688MHz |
-| TC55257 PST532A % |
-| TC55257 4L10F2468 4L10F2467 |
-| TC55257 (QFP160) 32.000MHz (QFP160) |
-| J TC55257 |
-| A PAL |
-| M |
-| M LH5160 52306 52308 52310 |
-| A VOL1 LH5160 52307 52309 52311 |
-| VOL2 LH5160 |
-| LH5160 |
-| |
-| YM2413 TC55257 |
-| 3.579MHz TC55257 * 52312 * * * * |
-| |
-| YAC516 |
-| TC55257 TC55257 |
-| DSW2(10) DSW1(10) TC55257 TC55257 |
-| |
-------------------------------------------------------------------------
-
-Notes:
- *: unpopulated 42 pin sockets.
- %: unpopulated position for coin battery.
- PST532: IC for system reset and battery backup switching
- DIPSW's: Each have 10 switches.
- VOL1/VOL2: Separate volume levels for sound and voice
-Vertical Sync: 60Hz
- Horiz. Sync: 15.81kHz
-
-***************************************************************************/
-
-ROM_START( realbrk )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* TMP68301 Code */
- ROM_LOAD16_BYTE( "600k02b.1r", 0x000000, 0x080000, CRC(6954ff7f) SHA1(dc17be7dadb2d6acff039d4d6484ee71070e466d) )
- ROM_LOAD16_BYTE( "600k01b.2r", 0x000001, 0x080000, CRC(6eb865bf) SHA1(07bcdbec8fd8d280b1cdb4b5545607d3a87e2395) )
-
- ROM_REGION( 0x800000, "gfx1", 0 ) /* Backgrounds */
- ROM_LOAD32_WORD( "52310.9b", 0x0000000, 0x400000, CRC(07dfd9f5) SHA1(8722a98adc33f56df1e3b194ce923bc987e15cbe) )
- ROM_LOAD32_WORD( "52311.9a", 0x0000002, 0x400000, CRC(136a93a4) SHA1(b4bd46ba6c2b367aaf362f67d8be4757f1160864) )
-
- ROM_REGION( 0x40000, "gfx2", 0 ) /* Text Layer */
- ROM_LOAD16_BYTE( "52305.1a", 0x000000, 0x020000, CRC(56546fb4) SHA1(5e4dc1665ca96bf24b89d92c24f5ff8420cb465e) ) // 1xxxxxxxxxxxxxxxx = 0xFF
- ROM_LOAD16_BYTE( "52304.1b", 0x000001, 0x020000, CRC(b22b0aac) SHA1(8c62e19071a4031d0dcad621cce0ba550702659b) ) // 1xxxxxxxxxxxxxxxx = 0xFF
-
- ROM_REGION( 0xc00000, "gfx3", 0 ) /* Sprites (256 colors) */
- ROM_LOAD32_WORD( "52306.9f", 0x0000000, 0x400000, CRC(5ff0f666) SHA1(e3f1d9dc84fbef73af37cefd90bdf87a35f59e0e) )
- ROM_LOAD32_WORD( "52308.9d", 0x0000002, 0x400000, CRC(20817051) SHA1(4c9a443b5d6353ce67d5b1fe716f5ac20d194ef0) )
- ROM_LOAD32_WORD( "mm60007.9e", 0x0800000, 0x200000, CRC(a1d40934) SHA1(59b85435b13c6617e79b8d995506e585b6c8bedd) )
- ROM_LOAD32_WORD( "mm60009.9c", 0x0800002, 0x200000, CRC(58c03a6c) SHA1(ec7ae49bba6ffdba0f79f1e41e14945f6c3acb1d) )
-
- ROM_REGION( 0x200000, "gfx4", 0 ) /* Sprites (16 colors) */
- ROM_LOAD( "mm60012.14f", 0x000000, 0x200000, CRC(2b5ba1ec) SHA1(d548ef8c96b7b868c866dedb314f56583726564d) )
-
- ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */
- ROM_LOAD( "mm60003.2e", 0x000000, 0x400000, CRC(39512459) SHA1(b5859a7d8f2f87d923e7f86f095cbffd31f9cbfa) )
-ROM_END
-
-ROM_START( realbrko )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* TMP68301 Code */
- ROM_LOAD16_BYTE( "52302.1r", 0x000000, 0x080000, CRC(76de5e26) SHA1(d05b48f024053198fb63b1c4e5454ecb8fe302a4) ) // sldh w/realbrkj
- ROM_LOAD16_BYTE( "52301.2r", 0x000001, 0x080000, CRC(29e979df) SHA1(61b30b2f8f16bb92a3ec1cd7abd157930f1a3f29) ) // sldh w/realbrkj
-
- // note, the numbering on all the roms is shifted by 1 due to the sample data being split across 2 roms
- // this is how the board is labeled, it is not a mistake.
- ROM_REGION( 0x800000, "gfx1", 0 ) /* Backgrounds */
- ROM_LOAD32_WORD( "52311.9b", 0x0000000, 0x400000, CRC(07dfd9f5) SHA1(8722a98adc33f56df1e3b194ce923bc987e15cbe) )
- ROM_LOAD32_WORD( "52312.9a", 0x0000002, 0x400000, CRC(136a93a4) SHA1(b4bd46ba6c2b367aaf362f67d8be4757f1160864) )
-
- ROM_REGION( 0x40000, "gfx2", 0 ) /* Text Layer */
- ROM_LOAD16_BYTE( "52306.1a", 0x000000, 0x020000, CRC(56546fb4) SHA1(5e4dc1665ca96bf24b89d92c24f5ff8420cb465e) ) // 1xxxxxxxxxxxxxxxx = 0xFF
- ROM_LOAD16_BYTE( "52305.1b", 0x000001, 0x020000, CRC(b22b0aac) SHA1(8c62e19071a4031d0dcad621cce0ba550702659b) ) // 1xxxxxxxxxxxxxxxx = 0xFF
-
- ROM_REGION( 0xc00000, "gfx3", 0 ) /* Sprites (256 colors) */
- ROM_LOAD32_WORD( "52307.9f", 0x0000000, 0x400000, CRC(5ff0f666) SHA1(e3f1d9dc84fbef73af37cefd90bdf87a35f59e0e) )
- ROM_LOAD32_WORD( "52309.9d", 0x0000002, 0x400000, CRC(20817051) SHA1(4c9a443b5d6353ce67d5b1fe716f5ac20d194ef0) )
- ROM_LOAD32_WORD( "52308.9e", 0x0800000, 0x200000, CRC(a1d40934) SHA1(59b85435b13c6617e79b8d995506e585b6c8bedd) )
- ROM_LOAD32_WORD( "52310.9c", 0x0800002, 0x200000, CRC(58c03a6c) SHA1(ec7ae49bba6ffdba0f79f1e41e14945f6c3acb1d) )
-
- ROM_REGION( 0x200000, "gfx4", 0 ) /* Sprites (16 colors) */
- ROM_LOAD( "52313.14f", 0x000000, 0x200000, CRC(2b5ba1ec) SHA1(d548ef8c96b7b868c866dedb314f56583726564d) )
-
- ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */
- ROM_LOAD( "52303.2e", 0x000000, 0x200000, CRC(8a8a7d42) SHA1(7108203cf5a6a1603bfcbc5bde40e71ac960fffc) ) // sldh w/realbrkj
- ROM_LOAD( "52304.1e", 0x200000, 0x200000, CRC(c8c5ef57) SHA1(4f363b36191f9c647fa88f07286bf9d667005553) )
-ROM_END
-
-
-ROM_START( realbrkj )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* TMP68301 Code */
- ROM_LOAD16_BYTE( "52302.1r", 0x000000, 0x080000, CRC(ab0379b0) SHA1(67af6670f2b37a7d4d6e03508f291f8ffe64d4cb) ) // sldh w/realbrko
- ROM_LOAD16_BYTE( "52301.2r", 0x000001, 0x080000, CRC(9cc1596e) SHA1(a598f18eaac1ed6943069e9500b07b77e263f0d0) ) // sldh w/realbrko
-
- ROM_REGION( 0x800000, "gfx1", 0 ) /* Backgrounds */
- ROM_LOAD32_WORD( "52310.9b", 0x0000000, 0x400000, CRC(07dfd9f5) SHA1(8722a98adc33f56df1e3b194ce923bc987e15cbe) )
- ROM_LOAD32_WORD( "52311.9a", 0x0000002, 0x400000, CRC(136a93a4) SHA1(b4bd46ba6c2b367aaf362f67d8be4757f1160864) )
-
- ROM_REGION( 0x40000, "gfx2", 0 ) /* Text Layer */
- ROM_LOAD16_BYTE( "52305.1a", 0x000000, 0x020000, CRC(56546fb4) SHA1(5e4dc1665ca96bf24b89d92c24f5ff8420cb465e) ) // 1xxxxxxxxxxxxxxxx = 0xFF
- ROM_LOAD16_BYTE( "52304.1b", 0x000001, 0x020000, CRC(b22b0aac) SHA1(8c62e19071a4031d0dcad621cce0ba550702659b) ) // 1xxxxxxxxxxxxxxxx = 0xFF
-
- ROM_REGION( 0xc00000, "gfx3", 0 ) /* Sprites (256 colors) */
- ROM_LOAD32_WORD( "52306.9f", 0x0000000, 0x400000, CRC(5ff0f666) SHA1(e3f1d9dc84fbef73af37cefd90bdf87a35f59e0e) )
- ROM_LOAD32_WORD( "52308.9d", 0x0000002, 0x400000, CRC(20817051) SHA1(4c9a443b5d6353ce67d5b1fe716f5ac20d194ef0) )
- ROM_LOAD32_WORD( "52307.9e", 0x0800000, 0x200000, CRC(01555191) SHA1(7751e2e16345acc638d4dff997a5b52e9171fced) )
- ROM_LOAD32_WORD( "52309.9c", 0x0800002, 0x200000, CRC(ef4f4bd9) SHA1(3233f501002a2622ddda581167ae24b1a13ea79e) )
-
- ROM_REGION( 0x200000, "gfx4", 0 ) /* Sprites (16 colors) */
- ROM_LOAD( "52312.14f", 0x000000, 0x200000, CRC(2203d7c5) SHA1(0403f02b8f2bfc6cf98ff598eb9c2e3facc7ac4c) )
-
- ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */
- ROM_LOAD( "52303.2e", 0x000000, 0x400000, CRC(d3005b1e) SHA1(3afd10cdbc3aa7605083a9fcf3c4b8276937c2c4) ) // sldh w/realbrko
-ROM_END
-
-ROM_START( realbrkk )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* TMP68301 Code */
- ROM_LOAD16_BYTE( "600k_02b", 0x000000, 0x080000, CRC(fdca08b1) SHA1(69b35c85b1842d0a8c98fc519b46c72954322ceb) )
- ROM_LOAD16_BYTE( "600k_01b", 0x000001, 0x080000, CRC(b6fe8998) SHA1(86f7d6067e007de50a02478a0e583ab64408bc4f) )
-
- ROM_REGION( 0x800000, "gfx1", 0 ) /* Backgrounds */
- ROM_LOAD32_WORD( "52310.9b", 0x0000000, 0x400000, CRC(07dfd9f5) SHA1(8722a98adc33f56df1e3b194ce923bc987e15cbe) )
- ROM_LOAD32_WORD( "52311.9a", 0x0000002, 0x400000, CRC(136a93a4) SHA1(b4bd46ba6c2b367aaf362f67d8be4757f1160864) )
-
- ROM_REGION( 0x40000, "gfx2", 0 ) /* Text Layer */
- ROM_LOAD16_BYTE( "600k_05", 0x000000, 0x020000, CRC(4de1d95e) SHA1(093d6d229b0e43e35f84a8d1bd707ccd1452fa91) ) // 1xxxxxxxxxxxxxxxx = 0xFF
- ROM_LOAD16_BYTE( "600k_04", 0x000001, 0x020000, CRC(70f2cf3d) SHA1(214550b1a838243fadf5c6b8ba6cbecef2031985) ) // 1xxxxxxxxxxxxxxxx = 0xFF
-
- ROM_REGION( 0xc00000, "gfx3", 0 ) /* Sprites (256 colors) */
- ROM_LOAD32_WORD( "52306.9f", 0x0000000, 0x400000, CRC(5ff0f666) SHA1(e3f1d9dc84fbef73af37cefd90bdf87a35f59e0e) )
- ROM_LOAD32_WORD( "52308.9d", 0x0000002, 0x400000, CRC(20817051) SHA1(4c9a443b5d6353ce67d5b1fe716f5ac20d194ef0) )
- ROM_LOAD32_WORD( "mm60007.9e", 0x0800000, 0x200000, CRC(a1d40934) SHA1(59b85435b13c6617e79b8d995506e585b6c8bedd) )
- ROM_LOAD32_WORD( "mm60009.9c", 0x0800002, 0x200000, CRC(58c03a6c) SHA1(ec7ae49bba6ffdba0f79f1e41e14945f6c3acb1d) )
-
- ROM_REGION( 0x200000, "gfx4", 0 ) /* Sprites (16 colors) */
- ROM_LOAD( "mm60012.14f", 0x000000, 0x200000, CRC(2b5ba1ec) SHA1(d548ef8c96b7b868c866dedb314f56583726564d) )
-
- ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */
- ROM_LOAD( "mm60003.2e", 0x000000, 0x400000, CRC(39512459) SHA1(b5859a7d8f2f87d923e7f86f095cbffd31f9cbfa) )
-ROM_END
-
-// Team Japump board:
-
-ROM_START( dai2kaku )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* TMP68301 Code */
- ROM_LOAD16_BYTE( "52201b.2r", 0x000000, 0x080000, CRC(5672cbe6) SHA1(4379edd0725e1b8cd5b3f9201e484487eccd1714) )
- ROM_LOAD16_BYTE( "52202b.1r", 0x000001, 0x080000, CRC(e45d6368) SHA1(5fb39b7c2e0fd474e7c366279f616b9244e6cf2e) )
-
- ROM_REGION( 0x800000, "gfx1", 0 ) /* Backgrounds */
- ROM_LOAD32_WORD( "52210.9b", 0x0000000, 0x400000, CRC(29f0cd88) SHA1(e8eab4f3e4cb12663874d4f4a2fefc77d15fa078) )
- ROM_LOAD32_WORD( "52211.9a", 0x0000002, 0x400000, CRC(304f896d) SHA1(fe46e0a9c497f1a9587933929520e1b7a9321c01) )
-
- ROM_REGION( 0x40000, "gfx2", 0 ) /* Text Layer */
- ROM_LOAD16_BYTE( "52205.1a", 0x000000, 0x020000, CRC(4b7d16c0) SHA1(5f6410121ec13bea2869d61db169dbe2536453ea) )
- ROM_LOAD16_BYTE( "52204.1b", 0x000001, 0x020000, CRC(47a39496) SHA1(3ac9499b70c63185fb65378c18d4ff30ba1d2f2b) )
-
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites (256 colors) */
- ROM_LOAD32_WORD( "52206.9f", 0x0000000, 0x400000, CRC(a8811f46) SHA1(f26fd3b567cd2974970a9e4495a16d8a3406c5d1) )
- ROM_LOAD32_WORD( "52208.9d", 0x0000002, 0x400000, CRC(00c39300) SHA1(2dd2420700d9a6ec2ade595bccd25725bf60762b) )
-
- ROM_REGION( 0x100000, "ymz", 0 ) /* Samples */
- ROM_LOAD( "52203.2e", 0x000000, 0x100000, CRC(a612ba97) SHA1(b7bb903f8e00ce5febf3b68a3d892da9162b45be) )
-ROM_END
-
-// Guru board:
-
-/***************************************************************************
-
-Dai Dai Kakumei
-SystemBit Corp. 2004
-
-Same PCB as Pachinko Gindama Shoubu DX (Japan)
-
-PCB Layout
-----------
-
-NM522-1-9803
-|-------------------------------------------------------|
-| TMP68301 1R TPC1010 M548262 2E MN52204 |
-| 2R M548262 MN52205 |
-| TC55257 32.768kHz |
-| TC55257 33.8688MHz PST532 |
-|M M6242 BATTERY 4L10F2467|
-|A VR1 PAL |
-|H VR2 4L10F2468 32MHz |
-|J TA7252 |
-|O JRC3404 |
-|N YAC516 JRC3404 |
-|G YM2413 LC3664 |
-| LC3664 9F 9D 9B 9A |
-|DSW2 DSW1 3.579545MHz LC3664 |
-|DSW3 DSW4 TC55257 LC3664 |
-| TC55257 |
-|CN3 TC55257 |
-|CN4 TC55257 |
-|-------------------------------------------------------|
-Notes:
- TMP68301 - clock 16.000MHz
- YM2413 - clock 3.579545MHz
- YMZ280B - clock 16.9344MHz [33.8688/2]
- VSync - 59.8986Hz
- HSync - 15.332kHz
- TPC1010 - Actel CPLD
- TC55257 - 256kx8 SRAM
- LC3664 - 64kx8 SRAM
- M548262 - 256k x8 fastpage VRAM
- PST532 - IC for system reset and battery backup switching
- DIPSW's - Each have 10 switches
- VOL1/VOL2- Separate volume levels for sound and voice
- CN3/CN4 - Connectors for player 3 & 4 controls
-
-27C160 EPROMs. They don't have numbers like the other dump.
-There is no 52203 number on the ROMs (or any other),
-just 9A 9B 9D 9F 2E 2R 1R.
-The only ones with numbers are the EPROMs at 1A and 1B.
-
-***************************************************************************/
-/*
-This dump matches the already supported set, except for rom sizes:
-
- 1r 52201B.2R IDENTICAL
- 2r 52202B.1R IDENTICAL
- nm52204.1b 52204.1B IDENTICAL
- nm52205.1a 52205.1A IDENTICAL
- 2e [1/2] 52203.2E IDENTICAL
- 9a 52211.9A [1/2] IDENTICAL
- 9b 52210.9B [1/2] IDENTICAL
- 9d 52208.9D [1/2] IDENTICAL
- 9f 52206.9F [1/2] IDENTICAL
-*/
-#if 0
-ROM_START( dai2kaku_alt_rom_size )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "1r", 0x000000, 0x080000, CRC(5672cbe6) SHA1(4379edd0725e1b8cd5b3f9201e484487eccd1714) )
- ROM_LOAD16_BYTE( "2r", 0x000001, 0x080000, CRC(e45d6368) SHA1(5fb39b7c2e0fd474e7c366279f616b9244e6cf2e) )
-
- ROM_REGION( 0x400000, "gfx1", 0 )
- ROM_LOAD32_WORD( "9b", 0x000000, 0x200000, CRC(eab21697) SHA1(28540e04c0d4040328f3d3373e623138a8730c07) )
- ROM_LOAD32_WORD( "9a", 0x000002, 0x200000, CRC(1b12dd4e) SHA1(8be13b72b2427eb66f1c4f736aa8bde0a8e1bc9b) )
-
- ROM_REGION( 0x40000, "gfx2", 0 )
- ROM_LOAD16_BYTE( "nm52204.1b", 0x000000, 0x020000, CRC(47a39496) SHA1(3ac9499b70c63185fb65378c18d4ff30ba1d2f2b) )
- ROM_LOAD16_BYTE( "nm52205.1a", 0x000001, 0x020000, CRC(4b7d16c0) SHA1(5f6410121ec13bea2869d61db169dbe2536453ea) )
-
- ROM_REGION( 0x400000, "gfx3", 0 )
- ROM_LOAD32_WORD( "9f", 0x000000, 0x200000, CRC(63a1a280) SHA1(a6a4b7ebe2b8d57f5c1fce43c9b28c5dc2d6057a) )
- ROM_LOAD32_WORD( "9d", 0x000002, 0x200000, CRC(1743a929) SHA1(4756e9c567c406f635c6380e263f38a6a2a82038) )
-
- ROM_REGION( 0x200000, "ymz", 0 )
- ROM_LOAD( "2e", 0x000000, 0x200000, CRC(833856b5) SHA1(10663abd2a051f95c07b301573124ae53f902044) )
-ROM_END
-#endif
-
-GAME( 1998, pkgnsh, 0, pkgnsh, pkgnsh, realbrk_state, empty_init, ROT0, "Nakanihon / Dynax", "Pachinko Gindama Shoubu (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1998, pkgnshdx, 0, pkgnshdx, pkgnshdx, realbrk_state, empty_init, ROT0, "Nakanihon / Dynax", "Pachinko Gindama Shoubu DX (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1998, realbrk, 0, realbrk, realbrk, realbrk_state, empty_init, ROT0, "Nakanihon", "Billiard Academy Real Break (Europe)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1998, realbrko, realbrk, realbrk, realbrk, realbrk_state, empty_init, ROT0, "Nakanihon", "Billiard Academy Real Break (Europe, older)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1998, realbrkj, realbrk, realbrk, realbrk, realbrk_state, empty_init, ROT0, "Nakanihon", "Billiard Academy Real Break (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1998, realbrkk, realbrk, realbrk, realbrk, realbrk_state, empty_init, ROT0, "Nakanihon", "Billiard Academy Real Break (Korea)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-
-GAME( 2004, dai2kaku, 0, dai2kaku, dai2kaku, realbrk_state, empty_init, ROT0, "SystemBit", "Dai-Dai-Kakumei (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )