diff options
author | hap <happppp@users.noreply.github.com> | 2017-10-25 17:18:47 +0200 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2017-10-25 17:18:47 +0200 |
commit | 8d44c54f681db5100e1acb8cd0871186c90af0aa (patch) | |
tree | 2e2f0aec57fdf947d5dd6116e2fc26bd161d7fdd | |
parent | 67e07bc0b7a0f36ed6d9a6af087cc8f6cee8392a (diff) |
tceptor: readded 3d scope view, now properly (nw)
-rw-r--r-- | src/mame/drivers/tceptor.cpp | 18 | ||||
-rw-r--r-- | src/mame/includes/tceptor.h | 2 | ||||
-rw-r--r-- | src/mame/layout/tceptor2.lay | 44 | ||||
-rw-r--r-- | src/mame/video/tceptor.cpp | 7 |
4 files changed, 59 insertions, 12 deletions
diff --git a/src/mame/drivers/tceptor.cpp b/src/mame/drivers/tceptor.cpp index e04ac7de1b7..0b03349fc0a 100644 --- a/src/mame/drivers/tceptor.cpp +++ b/src/mame/drivers/tceptor.cpp @@ -22,6 +22,8 @@ #include "rendlay.h" #include "speaker.h" +#include "tceptor2.lh" + /*******************************************************************/ @@ -141,11 +143,6 @@ READ8_MEMBER(tceptor_state::input1_r) return fix_input1(ioport("BUTTONS")->read(), ioport("SERVICE")->read()); } -READ8_MEMBER(tceptor_state::readFF) -{ - return 0xff; -} - /*******************************************************************/ static ADDRESS_MAP_START( m6809_map, AS_PROGRAM, 8, tceptor_state ) @@ -154,7 +151,7 @@ static ADDRESS_MAP_START( m6809_map, AS_PROGRAM, 8, tceptor_state ) AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(tceptor_tile_attr_w) AM_SHARE("tile_attr") AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(tceptor_bg_ram_w) AM_SHARE("bg_ram") // background (VIEW RAM) AM_RANGE(0x4000, 0x43ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w) - AM_RANGE(0x4800, 0x4800) AM_WRITENOP // 3D scope left/right? + AM_RANGE(0x4800, 0x4800) AM_WRITE(tceptor2_shutter_w) AM_RANGE(0x4f00, 0x4f00) AM_READNOP // unknown AM_RANGE(0x4f01, 0x4f01) AM_READ_PORT("PEDAL") // analog input (accel) AM_RANGE(0x4f02, 0x4f02) AM_READ_PORT("STICKX") // analog input (left/right) @@ -222,8 +219,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, tceptor_state ) - AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READ(readFF) AM_WRITENOP - AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READ(readFF) AM_WRITENOP + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(M6801_PORT1, M6801_PORT1) AM_WRITENOP + AM_RANGE(M6801_PORT2, M6801_PORT2) AM_WRITENOP ADDRESS_MAP_END @@ -290,7 +288,7 @@ static INPUT_PORTS_START( tceptor2 ) PORT_INCLUDE( tceptor ) PORT_MODIFY("DSW2") - PORT_DIPNAME( 0x04, 0x00, "Mode" ) // NOTE: factory default is actually 3D + PORT_DIPNAME( 0x04, 0x04, "Mode" ) PORT_DIPSETTING( 0x00, "2D" ) PORT_DIPSETTING( 0x04, "3D" ) PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -520,4 +518,4 @@ 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) -GAME ( 1986, tceptor2, tceptor, tceptor, tceptor2, tceptor_state, 0, ROT0, "Namco", "3-D Thunder Ceptor II", 0) +GAMEL( 1986, tceptor2, tceptor, tceptor, tceptor2, tceptor_state, 0, ROT0, "Namco", "3-D Thunder Ceptor II", 0, layout_tceptor2) diff --git a/src/mame/includes/tceptor.h b/src/mame/includes/tceptor.h index 8518a4f09a1..9ea6ccb945e 100644 --- a/src/mame/includes/tceptor.h +++ b/src/mame/includes/tceptor.h @@ -57,11 +57,11 @@ public: DECLARE_READ8_MEMBER(dsw1_r); DECLARE_READ8_MEMBER(input0_r); DECLARE_READ8_MEMBER(input1_r); - DECLARE_READ8_MEMBER(readFF); DECLARE_WRITE8_MEMBER(tceptor_tile_ram_w); DECLARE_WRITE8_MEMBER(tceptor_tile_attr_w); DECLARE_WRITE8_MEMBER(tceptor_bg_ram_w); DECLARE_WRITE8_MEMBER(tceptor_bg_scroll_w); + DECLARE_WRITE8_MEMBER(tceptor2_shutter_w); void tile_mark_dirty(int offset); required_device<namco_c45_road_device> m_c45_road; diff --git a/src/mame/layout/tceptor2.lay b/src/mame/layout/tceptor2.lay new file mode 100644 index 00000000000..c1dbad97422 --- /dev/null +++ b/src/mame/layout/tceptor2.lay @@ -0,0 +1,44 @@ +<?xml version="1.0"?> +<mamelayout version="2"> + +<!-- define elements --> + + <element name="shutter1" defstate="0"> + <rect state="0"><color red="0" green="0" blue="0" /></rect> + </element> + <element name="shutter2" defstate="0"> + <rect state="1"><color red="0" green="0" blue="0" /></rect> + </element> + + +<!-- build screen --> + + <view name="3D Scope Straight View"> + <!-- parallel-eyed --> + <screen index="0"><bounds left="0" top="0" right="4" bottom="3" /></screen> + <bezel name="shutter" element="shutter1"><bounds left="0" top="0" right="4" bottom="3" /></bezel> + + <screen index="0"><bounds left="4.03" top="0" right="8.03" bottom="3" /></screen> + <bezel name="shutter" element="shutter2"><bounds left="4.03" top="0" right="8.03" bottom="3" /></bezel> + </view> + + <view name="3D Scope Cross View"> + <!-- cross-eyed --> + <screen index="0"><bounds left="0" top="0" right="4" bottom="3" /></screen> + <bezel name="shutter" element="shutter2"><bounds left="0" top="0" right="4" bottom="3" /></bezel> + + <screen index="0"><bounds left="4.03" top="0" right="8.03" bottom="3" /></screen> + <bezel name="shutter" element="shutter1"><bounds left="4.03" top="0" right="8.03" bottom="3" /></bezel> + </view> + + <view name="3D Scope Left"> + <screen index="0"><bounds left="0" top="0" right="4" bottom="3" /></screen> + <bezel name="shutter" element="shutter1"><bounds left="0" top="0" right="4" bottom="3" /></bezel> + </view> + + <view name="3D Scope Right"> + <screen index="0"><bounds left="0" top="0" right="4" bottom="3" /></screen> + <bezel name="shutter" element="shutter2"><bounds left="0" top="0" right="4" bottom="3" /></bezel> + </view> + +</mamelayout> diff --git a/src/mame/video/tceptor.cpp b/src/mame/video/tceptor.cpp index 77713a138f8..3e344fbd576 100644 --- a/src/mame/video/tceptor.cpp +++ b/src/mame/video/tceptor.cpp @@ -529,7 +529,6 @@ uint32_t tceptor_state::screen_update_tceptor(screen_device &screen, bitmap_ind1 return 0; } - WRITE_LINE_MEMBER(tceptor_state::screen_vblank_tceptor) { // rising edge @@ -538,3 +537,9 @@ WRITE_LINE_MEMBER(tceptor_state::screen_vblank_tceptor) memcpy(m_sprite_ram_buffered.get(), m_sprite_ram, 0x200); } } + +WRITE8_MEMBER(tceptor_state::tceptor2_shutter_w) +{ + // 3D scope shutter control + output().set_value("shutter", data & 1); +} |