summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2017-10-24 18:28:13 +0200
committer hap <happppp@users.noreply.github.com>2017-10-24 18:28:13 +0200
commita237076eb8c6aefdbc81a79cff3437eefbe6f0e4 (patch)
tree3af0c2e0cd20abb35b8eba1273eaa770ed48cb93
parent0853bb469b58cb6553b4ea606832989559d76ffe (diff)
tceptor: get rid of hacky 3d glasses simulation (nw)
-rw-r--r--src/mame/drivers/tceptor.cpp56
-rw-r--r--src/mame/includes/tceptor.h8
-rw-r--r--src/mame/layout/tceptor2.lay21
-rw-r--r--src/mame/video/tceptor.cpp18
4 files changed, 21 insertions, 82 deletions
diff --git a/src/mame/drivers/tceptor.cpp b/src/mame/drivers/tceptor.cpp
index b49c586f3be..e04ac7de1b7 100644
--- a/src/mame/drivers/tceptor.cpp
+++ b/src/mame/drivers/tceptor.cpp
@@ -22,12 +22,9 @@
#include "rendlay.h"
#include "speaker.h"
-#include "tceptor2.lh"
-
/*******************************************************************/
-
READ8_MEMBER(tceptor_state::m68k_shared_r)
{
return m_m68k_shared_ram[offset];
@@ -293,7 +290,7 @@ static INPUT_PORTS_START( tceptor2 )
PORT_INCLUDE( tceptor )
PORT_MODIFY("DSW2")
- PORT_DIPNAME( 0x04, 0x04, "MODE" )
+ PORT_DIPNAME( 0x04, 0x00, "Mode" ) // NOTE: factory default is actually 3D
PORT_DIPSETTING( 0x00, "2D" )
PORT_DIPSETTING( 0x04, "3D" )
PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -347,76 +344,55 @@ void tceptor_state::machine_reset()
static MACHINE_CONFIG_START( tceptor )
/* basic machine hardware */
- MCFG_CPU_ADD("maincpu", M6809, 49152000/32)
+ MCFG_CPU_ADD("maincpu", M6809, XTAL_49_152MHz/32)
MCFG_CPU_PROGRAM_MAP(m6809_map)
- MCFG_CPU_VBLANK_INT_DRIVER("2dscreen", tceptor_state, m6809_vb_interrupt)
+ MCFG_CPU_VBLANK_INT_DRIVER("screen", tceptor_state, m6809_vb_interrupt)
- MCFG_CPU_ADD("audiocpu", M65C02, 49152000/24)
+ MCFG_CPU_ADD("audiocpu", M65C02, XTAL_49_152MHz/24)
MCFG_CPU_PROGRAM_MAP(m6502_a_map)
- MCFG_CPU_ADD("audio2", M65C02, 49152000/24)
+ MCFG_CPU_ADD("audio2", M65C02, XTAL_49_152MHz/24)
MCFG_CPU_PROGRAM_MAP(m6502_b_map)
- MCFG_CPU_ADD("sub", M68000, 49152000/4)
+ MCFG_CPU_ADD("sub", M68000, XTAL_49_152MHz/4)
MCFG_CPU_PROGRAM_MAP(m68k_map)
- MCFG_CPU_VBLANK_INT_DRIVER("2dscreen", tceptor_state, m68k_vb_interrupt)
+ MCFG_CPU_VBLANK_INT_DRIVER("screen", tceptor_state, m68k_vb_interrupt)
- MCFG_CPU_ADD("mcu", HD63701, 49152000/8) /* or compatible 6808 with extra instructions */
+ MCFG_CPU_ADD("mcu", HD63701, XTAL_49_152MHz/8) // or compatible 6808 with extra instructions
MCFG_CPU_PROGRAM_MAP(mcu_map)
MCFG_CPU_IO_MAP(mcu_io_map)
- MCFG_CPU_VBLANK_INT_DRIVER("2dscreen", tceptor_state, mcu_vb_interrupt)
+ MCFG_CPU_VBLANK_INT_DRIVER("screen", tceptor_state, mcu_vb_interrupt)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
MCFG_NVRAM_ADD_1FILL("nvram")
-
/* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", tceptor)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_INDIRECT_ENTRIES(1024)
MCFG_PALETTE_INIT_OWNER(tceptor_state, tceptor)
- MCFG_DEFAULT_LAYOUT(layout_horizont)
-
MCFG_NAMCO_C45_ROAD_ADD("c45_road")
MCFG_GFX_PALETTE("palette")
- MCFG_SCREEN_ADD("2dscreen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60.606060)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(38*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(2*8, 34*8-1 + 2*8, 0*8, 28*8-1 + 0)
- MCFG_SCREEN_UPDATE_DRIVER(tceptor_state, screen_update_tceptor_2d)
- MCFG_SCREEN_PALETTE("palette")
-
- MCFG_SCREEN_ADD("3dleft", RASTER)
+ MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60.606060)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(38*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(2*8, 34*8-1 + 2*8, 0*8, 28*8-1 + 0)
- MCFG_SCREEN_UPDATE_DRIVER(tceptor_state, screen_update_tceptor_3d_left)
- MCFG_SCREEN_PALETTE("palette")
-
- MCFG_SCREEN_ADD("3dright", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60.606060)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(38*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(2*8, 34*8-1 + 2*8, 0*8, 28*8-1 + 0)
- MCFG_SCREEN_UPDATE_DRIVER(tceptor_state, screen_update_tceptor_3d_right)
+ MCFG_SCREEN_UPDATE_DRIVER(tceptor_state, screen_update_tceptor)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(tceptor_state, screen_vblank_tceptor))
MCFG_SCREEN_PALETTE("palette")
-
-
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_YM2151_ADD("ymsnd", 14318180/4)
+ MCFG_YM2151_ADD("ymsnd", XTAL_14_31818MHz/4)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
- MCFG_SOUND_ADD("namco", NAMCO_CUS30, 49152000/2048)
+ MCFG_SOUND_ADD("namco", NAMCO_CUS30, XTAL_49_152MHz/2048)
MCFG_NAMCO_AUDIO_VOICES(8)
MCFG_NAMCO_AUDIO_STEREO(1)
MCFG_SOUND_ROUTE(0, "lspeaker", 0.40)
@@ -542,6 +518,6 @@ ROM_START( tceptor2 )
ROM_END
-// ( YEAR NAME PARENT MACHINE INPUT STATE INIT MONITOR COMPANY FULLNAME FLAGS )
-GAME ( 1986, tceptor, 0, tceptor, tceptor, tceptor_state, 0, ROT0, "Namco", "Thunder Ceptor", 0)
-GAMEL( 1986, tceptor2, tceptor, tceptor, tceptor2, tceptor_state, 0, ROT0, "Namco", "Thunder Ceptor II", 0, layout_tceptor2)
+// ( YEAR NAME PARENT MACHINE INPUT STATE INIT MONITOR COMPANY FULLNAME FLAGS )
+GAME ( 1986, tceptor, 0, tceptor, tceptor, tceptor_state, 0, ROT0, "Namco", "Thunder Ceptor", 0)
+GAME ( 1986, tceptor2, tceptor, tceptor, tceptor2, tceptor_state, 0, ROT0, "Namco", "3-D Thunder Ceptor II", 0)
diff --git a/src/mame/includes/tceptor.h b/src/mame/includes/tceptor.h
index ce4c1f81ef6..8518a4f09a1 100644
--- a/src/mame/includes/tceptor.h
+++ b/src/mame/includes/tceptor.h
@@ -17,7 +17,7 @@ public:
m_m68k_shared_ram(*this, "m68k_shared_ram"),
m_sprite_ram(*this, "sprite_ram"),
m_c45_road(*this, "c45_road"),
- m_2dscreen(*this, "2dscreen"),
+ m_screen(*this, "screen"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette") { }
@@ -65,7 +65,7 @@ public:
void tile_mark_dirty(int offset);
required_device<namco_c45_road_device> m_c45_road;
- required_device<screen_device> m_2dscreen;
+ required_device<screen_device> m_screen;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
@@ -76,9 +76,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(tceptor);
- uint32_t screen_update_tceptor_2d(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_tceptor_3d_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_tceptor_3d_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ uint32_t screen_update_tceptor(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_tceptor);
INTERRUPT_GEN_MEMBER(m6809_vb_interrupt);
INTERRUPT_GEN_MEMBER(m68k_vb_interrupt);
diff --git a/src/mame/layout/tceptor2.lay b/src/mame/layout/tceptor2.lay
deleted file mode 100644
index f2dd2fbeee2..00000000000
--- a/src/mame/layout/tceptor2.lay
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-<mamelayout version="2">
- <view name="3D Glasses Side-by-Side">
- <screen index="1">
- <bounds x="0" y="0" width="4" height="3" />
- </screen>
- <screen index="2">
- <bounds x="4.03" y="0" width="4" height="3" />
- </screen>
- </view>
- <view name="3D Glasses Left">
- <screen index="1">
- <bounds x="0" y="0" width="4" height="3" />
- </screen>
- </view>
- <view name="3D Glasses Right">
- <screen index="2">
- <bounds x="0" y="0" width="4" height="3" />
- </screen>
- </view>
-</mamelayout>
diff --git a/src/mame/video/tceptor.cpp b/src/mame/video/tceptor.cpp
index 8dc6d01140d..77713a138f8 100644
--- a/src/mame/video/tceptor.cpp
+++ b/src/mame/video/tceptor.cpp
@@ -375,7 +375,7 @@ void tceptor_state::video_start()
decode_sprite32("gfx4");
/* allocate temp bitmaps */
- m_2dscreen->register_screen_bitmap(m_temp_bitmap);
+ m_screen->register_screen_bitmap(m_temp_bitmap);
m_c45_road->set_transparent_color(m_palette->pen_indirect(0xfff));
@@ -498,7 +498,7 @@ void tceptor_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
}
-uint32_t tceptor_state::screen_update_tceptor_2d(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t tceptor_state::screen_update_tceptor(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
rectangle rect;
int pri;
@@ -529,20 +529,6 @@ uint32_t tceptor_state::screen_update_tceptor_2d(screen_device &screen, bitmap_i
return 0;
}
-uint32_t tceptor_state::screen_update_tceptor_3d_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
-{
- if ((screen.frame_number() & 1) == 1)
- return UPDATE_HAS_NOT_CHANGED;
- return screen_update_tceptor_2d(screen, bitmap, cliprect);
-}
-
-uint32_t tceptor_state::screen_update_tceptor_3d_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
-{
- if ((screen.frame_number() & 1) == 0)
- return UPDATE_HAS_NOT_CHANGED;
- return screen_update_tceptor_2d(screen, bitmap, cliprect);
-}
-
WRITE_LINE_MEMBER(tceptor_state::screen_vblank_tceptor)
{