summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/jrpacman.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/jrpacman.cpp')
-rw-r--r--src/mame/drivers/jrpacman.cpp31
1 files changed, 27 insertions, 4 deletions
diff --git a/src/mame/drivers/jrpacman.cpp b/src/mame/drivers/jrpacman.cpp
index 9458165c8bc..90afa40c44b 100644
--- a/src/mame/drivers/jrpacman.cpp
+++ b/src/mame/drivers/jrpacman.cpp
@@ -162,6 +162,14 @@ void jrpacman_state::main_map(address_map &map)
map(0x5080, 0x5080).w(FUNC(jrpacman_state::jrpacman_scroll_w));
map(0x50c0, 0x50c0).w(m_watchdog, FUNC(watchdog_timer_device::reset_w));
map(0x8000, 0xdfff).rom();
+// HBMAME extras
+ map(0x5002, 0x5002).nopw();
+ map(0x5004, 0x5005).w(this, FUNC(pacman_state::pacman_leds_w));
+ map(0x5006, 0x5006).nopw();
+ map(0x5007, 0x5007).nopw();
+ map(0x5072, 0x5072).nopw();
+ map(0x5076, 0x507f).nopw();
+ map(0xfffc, 0xffff).ram(); /* for jrfast and fastjr */
}
@@ -185,9 +193,8 @@ static INPUT_PORTS_START( jrpacman )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
- PORT_DIPNAME( 0x10, 0x10, "Rack Test (Cheat)" ) PORT_CODE(KEYCODE_F1)
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ /* Press this to instantly finish the level - HBMAME */
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Finish Level (Cheat)") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
@@ -226,6 +233,21 @@ static INPUT_PORTS_START( jrpacman )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+// HBMAME extras
+ PORT_START ("FAKE")
+ /* This fake input port is used to get the status of the fire button */
+ /* and activate the speedup cheat. */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME( "Speed (Cheat)" )
+ PORT_DIPNAME( 0x06, 0x02, "Speed Cheat" )
+ PORT_DIPSETTING( 0x00, "Disabled" )
+ PORT_DIPSETTING( 0x02, "Enabled with Button" )
+ PORT_DIPSETTING( 0x04, "Enabled Always" )
+
+ PORT_START ("CONFIG")
+ PORT_CONFNAME( 0x01, 0x01, "Level" )
+ PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
+ PORT_CONFSETTING( 0x01, DEF_STR( On ) )
INPUT_PORTS_END
@@ -309,7 +331,8 @@ void jrpacman_state::jrpacman(machine_config &config)
screen.set_visarea(0*8, 36*8-1, 0*8, 28*8-1);
screen.set_screen_update(FUNC(jrpacman_state::screen_update_pacman));
screen.set_palette(m_palette);
- screen.screen_vblank().set(FUNC(jrpacman_state::vblank_irq));
+ //screen.screen_vblank().set(FUNC(jrpacman_state::vblank_irq)); // HBMAME
+ screen.screen_vblank().set(FUNC(jrpacman_state::pacman_interrupt)); // HBMAME
GFXDECODE(config, m_gfxdecode, m_palette, gfx_jrpacman);
PALETTE(config, m_palette, FUNC(jrpacman_state::pacman_palette), 128 * 4, 32);