From 2347348c8c8924bc25061799bdb8b5030f36759a Mon Sep 17 00:00:00 2001 From: hap Date: Tue, 13 Apr 2021 11:44:53 +0200 Subject: taito_z: add 3d scope view for enforceja --- src/mame/drivers/taito_z.cpp | 53 ++++++------- src/mame/includes/taito_z.h | 3 +- src/mame/layout/chasehq.lay | 88 +++++++++++++++++++++ src/mame/layout/enforce.lay | 88 --------------------- src/mame/layout/enforceja.lay | 175 ++++++++++++++++++++++++++++++++++++++++++ src/mame/video/taito_z.cpp | 2 +- 6 files changed, 289 insertions(+), 120 deletions(-) create mode 100644 src/mame/layout/chasehq.lay delete mode 100644 src/mame/layout/enforce.lay create mode 100644 src/mame/layout/enforceja.lay 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/chasehq.lay b/src/mame/layout/chasehq.lay new file mode 100644 index 00000000000..0b3526f73c8 --- /dev/null +++ b/src/mame/layout/chasehq.lay @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/enforce.lay b/src/mame/layout/enforce.lay deleted file mode 100644 index 862ec6c8e8f..00000000000 --- a/src/mame/layout/enforce.lay +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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) { -- cgit v1.2.3