diff options
author | 2016-04-06 07:49:49 +0200 | |
---|---|---|
committer | 2016-04-06 07:49:49 +0200 | |
commit | 33c5196a429d0afa801caac3ad24a76bf0ac273d (patch) | |
tree | 73d80ccb35289a56604dd93f9173ed7c7fe58f3f /src/devices/bus/sms_ctrl/lphaser.cpp | |
parent | 865253ccb0728a987f8306f11abb1031d7b17fbf (diff) |
This one documents what I think is a real bug of the Japanese game Sports Pad Soccer: part of the player 2 input is read from player 1 input instead. The patch also reorganizes code of the Japanese Sports Pad controller device and replace some PORT_CUSTOM/PORT_CHANGED callbacks with PORT_READ_LINE/PORT_WRITE_LINE. [Enik]
Diffstat (limited to 'src/devices/bus/sms_ctrl/lphaser.cpp')
-rw-r--r-- | src/devices/bus/sms_ctrl/lphaser.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/devices/bus/sms_ctrl/lphaser.cpp b/src/devices/bus/sms_ctrl/lphaser.cpp index 8a49c9a1554..ccf240d9eec 100644 --- a/src/devices/bus/sms_ctrl/lphaser.cpp +++ b/src/devices/bus/sms_ctrl/lphaser.cpp @@ -12,6 +12,13 @@ Release data from the Sega Retro project: Year: 1989 Country/region: BR Model code: 010470 Year: 198? Country/region: KR Model code: ? +Notes: + + The Light Phaser gun doesn't work with the Japanese SMS and Sega Mark III. + There are reports about Light Phaser working on the second Korean SMS + version, and a Korean advert shows support on the first version (Gam*Boy I, + although based on Japanese SMS). + **********************************************************************/ #include "lphaser.h" @@ -29,7 +36,7 @@ const device_type SMS_LIGHT_PHASER = &device_creator<sms_light_phaser_device>; #define LGUN_X_INTERVAL 4 -CUSTOM_INPUT_MEMBER( sms_light_phaser_device::th_pin_r ) +READ_LINE_MEMBER( sms_light_phaser_device::th_pin_r ) { // The returned value is inverted due to IP_ACTIVE_LOW mapping. return ~m_sensor_last_state; @@ -46,7 +53,7 @@ INPUT_CHANGED_MEMBER( sms_light_phaser_device::position_changed ) static INPUT_PORTS_START( sms_light_phaser ) PORT_START("CTRL_PORT") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) // TL (trigger) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sms_light_phaser_device, th_pin_r, nullptr) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER(DEVICE_SELF, sms_light_phaser_device, th_pin_r) PORT_BIT( 0x9f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("LPHASER_X") |