diff options
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 |
commit | a237076eb8c6aefdbc81a79cff3437eefbe6f0e4 (patch) | |
tree | 3af0c2e0cd20abb35b8eba1273eaa770ed48cb93 | |
parent | 0853bb469b58cb6553b4ea606832989559d76ffe (diff) |
tceptor: get rid of hacky 3d glasses simulation (nw)
-rw-r--r-- | src/mame/drivers/tceptor.cpp | 56 | ||||
-rw-r--r-- | src/mame/includes/tceptor.h | 8 | ||||
-rw-r--r-- | src/mame/layout/tceptor2.lay | 21 | ||||
-rw-r--r-- | src/mame/video/tceptor.cpp | 18 |
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) { |