summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2021-04-13 11:44:53 +0200
committer hap <happppp@users.noreply.github.com>2021-04-13 11:44:53 +0200
commit2347348c8c8924bc25061799bdb8b5030f36759a (patch)
treecfd06b03a4dc0c1be157d5ba110568ff07bec196
parentd32e1606d21232b20ec05443dc71c7144848ca99 (diff)
taito_z: add 3d scope view for enforceja
-rw-r--r--src/mame/drivers/taito_z.cpp53
-rw-r--r--src/mame/includes/taito_z.h3
-rw-r--r--src/mame/layout/chasehq.lay (renamed from src/mame/layout/enforce.lay)8
-rw-r--r--src/mame/layout/enforceja.lay175
-rw-r--r--src/mame/video/taito_z.cpp2
5 files changed, 205 insertions, 36 deletions
diff --git a/src/mame/drivers/taito_z.cpp b/src/mame/drivers/taito_z.cpp
index ab8092c6b7f..b47ab62b425 100644
--- a/src/mame/drivers/taito_z.cpp
+++ b/src/mame/drivers/taito_z.cpp
@@ -1121,8 +1121,6 @@ True to original?
Some layer offsets are out a little.
-Road layer has wrong colors--regression?
-
Battle Shark
------------
@@ -1279,9 +1277,10 @@ DIP switches are not verified
#include "sound/ym2610.h"
#include "speaker.h"
+#include "chasehq.lh"
#include "contcirc.lh"
#include "dblaxle.lh"
-#include "enforce.lh"
+#include "enforceja.lh"
void taitoz_state::parse_cpu_control()
@@ -1678,7 +1677,7 @@ void taitoz_state::enforce_map(address_map &map)
map(0x000000, 0x03ffff).rom();
map(0x100000, 0x103fff).ram();
map(0x104000, 0x107fff).ram().share("share1");
- map(0x200000, 0x200001).w(FUNC(taitoz_state::cpua_ctrl_w)); // works without?
+ map(0x200001, 0x200001).w(FUNC(taitoz_state::contcirc_out_w));
map(0x300000, 0x3006ff).ram().share("spriteram");
map(0x400000, 0x401fff).rw(m_tc0150rod, FUNC(tc0150rod_device::word_r), FUNC(tc0150rod_device::word_w)); /* "root ram" ??? */
map(0x500000, 0x500007).rw(m_tc0110pcr, FUNC(tc0110pcr_device::word_r), FUNC(tc0110pcr_device::step1_rbswap_word_w)); /* palette */
@@ -3145,19 +3144,8 @@ void taitoz_state::machine_start()
/* these are specific to various games: we ought to split the inits */
save_item(NAME(m_sci_int6));
save_item(NAME(m_ioc220_port));
-}
-
-MACHINE_START_MEMBER(taitoz_state,chasehq)
-{
- machine_start();
-
- m_lamps.resolve();
-}
-
-MACHINE_START_MEMBER(taitoz_state,contcirc)
-{
- machine_start();
+ // 3d scope on contcirc/enforceja
m_shutter_out.resolve();
m_shutter_toggle = 0;
m_shutter_control = 0;
@@ -3166,6 +3154,13 @@ MACHINE_START_MEMBER(taitoz_state,contcirc)
save_item(NAME(m_shutter_control));
}
+MACHINE_START_MEMBER(taitoz_state,chasehq)
+{
+ machine_start();
+
+ m_lamps.resolve();
+}
+
void taitoz_state::machine_reset()
{
m_cpua_ctrl = 0xff;
@@ -3206,11 +3201,10 @@ void taitoz_state::contcirc(machine_config &config)
screen_config(config, 24, 248);
m_screen->set_screen_update(FUNC(taitoz_state::screen_update_contcirc));
m_screen->set_palette(m_tc0110pcr);
- m_screen->screen_vblank().set(FUNC(taitoz_state::contcirc_vblank));
+ m_screen->screen_vblank().set(FUNC(taitoz_state::scope_vblank));
GFXDECODE(config, m_gfxdecode, m_tc0110pcr, gfx_taitoz);
- MCFG_MACHINE_START_OVERRIDE(taitoz_state,contcirc)
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
TC0100SCN(config, m_tc0100scn, 0);
@@ -3334,6 +3328,7 @@ void taitoz_state::enforce(machine_config &config)
screen_config(config, 24, 248);
m_screen->set_screen_update(FUNC(taitoz_state::screen_update_contcirc));
m_screen->set_palette(m_tc0110pcr);
+ m_screen->screen_vblank().set(FUNC(taitoz_state::scope_vblank));
GFXDECODE(config, m_gfxdecode, m_tc0110pcr, gfx_taitoz);
@@ -5555,27 +5550,27 @@ void taitoz_state::init_bshark()
GAMEL(1987, contcirc, 0, contcirc, contcirc, taitoz_state, empty_init, ROT0, "Taito Corporation Japan", "Continental Circus (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
GAMEL(1987, contcircu, contcirc, contcirc, contcrcu, taitoz_state, empty_init, ROT0, "Taito America Corporation", "Continental Circus (US set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
GAMEL(1987, contcircua, contcirc, contcirc, contcrcj, taitoz_state, empty_init, ROT0, "Taito America Corporation", "Continental Circus (US set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1987, contcircj , contcirc, contcirc, contcrcj, taitoz_state, empty_init, ROT0, "Taito Corporation", "Continental Circus (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1987, contcircj, contcirc, contcirc, contcrcj, taitoz_state, empty_init, ROT0, "Taito Corporation", "Continental Circus (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1988, chasehq, 0, chasehq, chasehq, taitoz_state, empty_init, ROT0, "Taito Corporation Japan", "Chase H.Q. (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1988, chasehqj, chasehq, chasehq, chasehqj, taitoz_state, empty_init, ROT0, "Taito Corporation", "Chase H.Q. (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1988, chasehqju, chasehq, chasehq, chasehq, taitoz_state, empty_init, ROT0, "Taito Corporation", "Chase H.Q. (Japan, upright?)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc ) // same code rev as Chase H.Q. (World)
-GAMEL(1988, chasehqu, chasehq, chasehq, chasehq, taitoz_state, empty_init, ROT0, "Taito America Corporation", "Chase H.Q. (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1988, chasehq, 0, chasehq, chasehq, taitoz_state, empty_init, ROT0, "Taito Corporation Japan", "Chase H.Q. (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_chasehq )
+GAMEL(1988, chasehqj, chasehq, chasehq, chasehqj, taitoz_state, empty_init, ROT0, "Taito Corporation", "Chase H.Q. (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_chasehq )
+GAMEL(1988, chasehqju, chasehq, chasehq, chasehq, taitoz_state, empty_init, ROT0, "Taito Corporation", "Chase H.Q. (Japan, upright?)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_chasehq ) // same code rev as Chase H.Q. (World)
+GAMEL(1988, chasehqu, chasehq, chasehq, chasehq, taitoz_state, empty_init, ROT0, "Taito America Corporation", "Chase H.Q. (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_chasehq )
GAME( 1988, enforce, 0, enforce, enforce, taitoz_state, empty_init, ROT0, "Taito Corporation Japan", "Enforce (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1988, enforcej, enforce, enforce, enforcej, taitoz_state, empty_init, ROT0, "Taito Corporation", "Enforce (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAMEL( 1988, enforceja, enforce, enforce, enforceja, taitoz_state, empty_init, ROT0, "Taito Corporation", "Enforce (Japan, Analog Controls)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_enforce )
+GAMEL(1988, enforceja, enforce, enforce, enforceja, taitoz_state, empty_init, ROT0, "Taito Corporation", "Enforce (Japan, Analog Controls)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_enforceja )
GAME( 1989, bshark, 0, bshark, bshark, taitoz_state, init_bshark, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Battle Shark (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1989, bsharku, bshark, bshark, bsharku, taitoz_state, init_bshark, ORIENTATION_FLIP_X, "Taito America Corporation", "Battle Shark (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1989, bsharkj, bshark, bshark, bsharkj, taitoz_state, init_bshark, ORIENTATION_FLIP_X, "Taito Corporation", "Battle Shark (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1989, bsharkjjs, bshark, bsharkjjs, bsharkjjs, taitoz_state, init_bshark, ORIENTATION_FLIP_X, "Taito Corporation", "Battle Shark (Japan, Joystick)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAMEL(1989, sci, 0, sci, sci, taitoz_state, empty_init, ROT0, "Taito Corporation Japan", "Special Criminal Investigation (World set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1989, scia, sci, sci, sci, taitoz_state, empty_init, ROT0, "Taito Corporation Japan", "Special Criminal Investigation (World set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1989, scij, sci, sci, scij, taitoz_state, empty_init, ROT0, "Taito Corporation", "Special Criminal Investigation (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1989, sciu, sci, sci, sciu, taitoz_state, empty_init, ROT0, "Taito America Corporation", "Special Criminal Investigation (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1991, scin, sci, sci, sci, taitoz_state, empty_init, ROT0, "hack (Negro Torino)", "Super Special Criminal Investigation (Negro Torino hack)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1989, sci, 0, sci, sci, taitoz_state, empty_init, ROT0, "Taito Corporation Japan", "Special Criminal Investigation (World set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_chasehq )
+GAMEL(1989, scia, sci, sci, sci, taitoz_state, empty_init, ROT0, "Taito Corporation Japan", "Special Criminal Investigation (World set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_chasehq )
+GAMEL(1989, scij, sci, sci, scij, taitoz_state, empty_init, ROT0, "Taito Corporation", "Special Criminal Investigation (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_chasehq )
+GAMEL(1989, sciu, sci, sci, sciu, taitoz_state, empty_init, ROT0, "Taito America Corporation", "Special Criminal Investigation (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_chasehq )
+GAMEL(1991, scin, sci, sci, sci, taitoz_state, empty_init, ROT0, "hack (Negro Torino)", "Super Special Criminal Investigation (Negro Torino hack)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_chasehq )
GAME( 1989, nightstr, 0, nightstr, nightstr, taitoz_state, empty_init, ROT0, "Taito Corporation Japan", "Night Striker (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1989, nightstrj, nightstr, nightstr, nghtstrj, taitoz_state, empty_init, ROT0, "Taito Corporation", "Night Striker (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/includes/taito_z.h b/src/mame/includes/taito_z.h
index b9fafb0f6eb..6e8dc99f420 100644
--- a/src/mame/includes/taito_z.h
+++ b/src/mame/includes/taito_z.h
@@ -148,10 +148,9 @@ private:
u16 sci_spriteframe_r();
void sci_spriteframe_w(u16 data);
void contcirc_out_w(u8 data);
- DECLARE_WRITE_LINE_MEMBER(contcirc_vblank);
+ DECLARE_WRITE_LINE_MEMBER(scope_vblank);
DECLARE_VIDEO_START(taitoz);
DECLARE_MACHINE_START(chasehq);
- DECLARE_MACHINE_START(contcirc);
u32 screen_update_contcirc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
u32 screen_update_chasehq(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
u32 screen_update_bshark(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/layout/enforce.lay b/src/mame/layout/chasehq.lay
index 862ec6c8e8f..0b3526f73c8 100644
--- a/src/mame/layout/enforce.lay
+++ b/src/mame/layout/chasehq.lay
@@ -55,7 +55,7 @@ license:CC0
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
<bounds x="606" y="414" width="32" height="64" />
<color alpha="0.6" />
</element>
@@ -64,7 +64,7 @@ license:CC0
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
<bounds x="2" y="414" width="32" height="64" />
<color alpha="0.6" />
</element>
@@ -73,7 +73,7 @@ license:CC0
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
<bounds x="648" y="414" width="32" height="64" />
</element>
</view>
@@ -81,7 +81,7 @@ license:CC0
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
<bounds x="-40" y="414" width="32" height="64" />
</element>
</view>
diff --git a/src/mame/layout/enforceja.lay b/src/mame/layout/enforceja.lay
new file mode 100644
index 00000000000..b1614932736
--- /dev/null
+++ b/src/mame/layout/enforceja.lay
@@ -0,0 +1,175 @@
+<?xml version="1.0"?>
+<!--
+license:CC0
+-->
+<mamelayout version="2">
+
+<!-- define elements -->
+
+ <element name="shutter" defstate="0">
+ <rect state="1"><color red="0" green="0" blue="0" /></rect>
+ </element>
+
+ <element name="shifter" defstate="0">
+ <rect>
+ <bounds left="0" right="32" top="0" bottom="64" />
+ <color red="0.85" green="0.4" blue="0.3" />
+ </rect>
+ <rect>
+ <bounds left="2" right="30" top="2" bottom="62" />
+ <color red="0.14" green="0.17" blue="0.2" />
+ </rect>
+ <rect>
+ <bounds left="14" right="18" top="15" bottom="49" />
+ <color red="0.44" green="0.47" blue="0.5" />
+ </rect>
+ <disk>
+ <bounds left="14" right="18" top="13" bottom="17" />
+ <color red="0.44" green="0.47" blue="0.5" />
+ </disk>
+ <disk>
+ <bounds left="14" right="18" top="47" bottom="51" />
+ <color red="0.44" green="0.47" blue="0.5" />
+ </disk>
+ <text string="LOW" state="0">
+ <bounds left="3" right="29" top="2" bottom="12" />
+ <color red="1.0" green="1.0" blue="0.4" />
+ </text>
+ <text string="LOW" state="1">
+ <bounds left="3" right="29" top="2" bottom="12" />
+ <color red="1.0" green="1.0" blue="1.0" />
+ </text>
+
+ <text string="HIGH" state="0">
+ <bounds left="3" right="29" top="52" bottom="62" />
+ <color red="1.0" green="1.0" blue="1.0" />
+ </text>
+ <text string="HIGH" state="1">
+ <bounds left="3" right="29" top="52" bottom="62" />
+ <color red="1.0" green="1.0" blue="0.4" />
+ </text>
+ <disk state="0">
+ <bounds left="9" right="23" top="14" bottom="28" />
+ <color red="0.85" green="0.4" blue="0.3" />
+ </disk>
+ <disk state="1">
+ <bounds left="9" right="23" top="36" bottom="50" />
+ <color red="0.85" green="0.4" blue="0.3" />
+ </disk>
+ </element>
+
+
+<!-- build screen -->
+
+ <view name="Shifter-R">
+ <screen index="0">
+ <bounds x="0" y="0" width="640" height="480" />
+ </screen>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ </view>
+ <view name="Shifter-L">
+ <screen index="0">
+ <bounds x="0" y="0" width="640" height="480" />
+ </screen>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ </view>
+ <view name="Widescreen Shifter-R">
+ <screen index="0">
+ <bounds x="0" y="0" width="640" height="480" />
+ </screen>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </view>
+ <view name="Widescreen Shifter-L">
+ <screen index="0">
+ <bounds x="0" y="0" width="640" height="480" />
+ </screen>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </view>
+
+ <view name="3D Scope Straight View">
+ <!-- parallel-eyed -->
+ <screen index="0"><bounds x="0" y="0" width="640" height="480" /></screen>
+ <element name="shutter1" ref="shutter"><bounds x="0" y="0" width="640" height="480" /></element>
+
+ <screen index="0"><bounds x="644" y="0" width="640" height="480" /></screen>
+ <element name="shutter0" ref="shutter"><bounds x="644" y="0" width="640" height="480" /></element>
+
+ <!-- shifter options (off-screen shifter is not possible here) -->
+ <collection name="Shifter-R" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="1250" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ </collection>
+ <collection name="Shifter-L" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="646" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ </collection>
+ </view>
+
+ <view name="3D Scope Cross View">
+ <!-- cross-eyed -->
+ <screen index="0"><bounds x="0" y="0" width="640" height="480" /></screen>
+ <element name="shutter0" ref="shutter"><bounds x="0" y="0" width="640" height="480" /></element>
+
+ <screen index="0"><bounds x="644" y="0" width="640" height="480" /></screen>
+ <element name="shutter1" ref="shutter"><bounds x="644" y="0" width="640" height="480" /></element>
+
+ <!-- shifter options (off-screen shifter is not possible here) -->
+ <collection name="Shifter-R" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="1250" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ </collection>
+ <collection name="Shifter-L" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="646" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ </collection>
+ </view>
+
+ <view name="3D Scope Left">
+ <screen index="0"><bounds x="0" y="0" width="640" height="480" /></screen>
+ <element name="shutter1" ref="shutter"><bounds x="0" y="0" width="640" height="480" /></element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ </collection>
+ <collection name="Shifter-L" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ </collection>
+ <collection name="Widescreen Shifter-R" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="648" y="414" width="32" height="64" /></element>
+ </collection>
+ <collection name="Widescreen Shifter-L" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="-40" y="414" width="32" height="64" /></element>
+ </collection>
+ </view>
+
+ <view name="3D Scope Right">
+ <screen index="0"><bounds x="0" y="0" width="640" height="480" /></screen>
+ <element name="shutter0" ref="shutter"><bounds x="0" y="0" width="640" height="480" /></element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ </collection>
+ <collection name="Shifter-L" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ </collection>
+ <collection name="Widescreen Shifter-R" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="648" y="414" width="32" height="64" /></element>
+ </collection>
+ <collection name="Widescreen Shifter-L" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="-40" y="414" width="32" height="64" /></element>
+ </collection>
+ </view>
+
+</mamelayout>
diff --git a/src/mame/video/taito_z.cpp b/src/mame/video/taito_z.cpp
index 90ae3592005..8063788df87 100644
--- a/src/mame/video/taito_z.cpp
+++ b/src/mame/video/taito_z.cpp
@@ -790,7 +790,7 @@ void taitoz_state::contcirc_out_w(u8 data)
m_road_palbank = (data & 0xc0) >> 6;
}
-WRITE_LINE_MEMBER(taitoz_state::contcirc_vblank)
+WRITE_LINE_MEMBER(taitoz_state::scope_vblank)
{
if (state)
{