trunk/src/mess/machine/psxanalog.c
| r20436 | r20437 | |
| 4 | 4 | |
| 5 | 5 | psx_analog_controller_device::psx_analog_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
| 6 | 6 | device_t(mconfig, PSX_ANALOG_CONTROLLER, "Playstation Analog Controller", tag, owner, clock), |
| 7 | | device_psx_controller_interface(mconfig, *this) |
| 7 | device_psx_controller_interface(mconfig, *this), |
| 8 | m_pad0(*this, "PSXPAD0"), |
| 9 | m_pad1(*this, "PSXPAD1"), |
| 10 | m_rstickx(*this, "PSXRSTICKX"), |
| 11 | m_rsticky(*this, "PSXRSTICKY"), |
| 12 | m_lstickx(*this, "PSXLSTICKX"), |
| 13 | m_lsticky(*this, "PSXLSTICKY") |
| 8 | 14 | { |
| 9 | 15 | } |
| 10 | 16 | |
| r20436 | r20437 | |
| 23 | 29 | switch(count) |
| 24 | 30 | { |
| 25 | 31 | case 2: |
| 26 | | data = ioport("PSXPAD0")->read(); |
| 32 | data = m_pad0->read(); |
| 27 | 33 | if(!analog) |
| 28 | | data |= 6; |
| 34 | data |= 6; // l3/r3 |
| 29 | 35 | break; |
| 30 | 36 | case 3: |
| 31 | | data = ioport("PSXPAD1")->read(); |
| 37 | data = m_pad1->read(); |
| 32 | 38 | break; |
| 33 | 39 | case 4: |
| 34 | | data = ioport("PSXRSTICKX")->read(); |
| 40 | data = m_rstickx->read(); |
| 35 | 41 | break; |
| 36 | 42 | case 5: |
| 37 | | data = ioport("PSXRSTICKY")->read(); |
| 43 | data = m_rsticky->read(); |
| 38 | 44 | break; |
| 39 | 45 | case 6: |
| 40 | | data = ioport("PSXLSTICKX")->read(); |
| 46 | data = m_lstickx->read(); |
| 41 | 47 | break; |
| 42 | 48 | case 7: |
| 43 | | data = ioport("PSXLSTICKY")->read(); |
| 49 | data = m_lsticky->read(); |
| 44 | 50 | break; |
| 45 | 51 | } |
| 46 | 52 | return data; |
| r20436 | r20437 | |
| 236 | 242 | INPUT_CHANGED_MEMBER(psx_analog_controller_device::change_mode) |
| 237 | 243 | { |
| 238 | 244 | if(!m_analoglock) |
| 239 | | m_analogmode = ioport("PSXMISC")->read(); |
| 245 | m_analogmode = newval; |
| 240 | 246 | } |
trunk/src/mess/machine/psxcport.c
| r20436 | r20437 | |
| 141 | 141 | |
| 142 | 142 | psx_standard_controller_device::psx_standard_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
| 143 | 143 | device_t(mconfig, PSX_STANDARD_CONTROLLER, "Playstation Standard Controller", tag, owner, clock), |
| 144 | | device_psx_controller_interface(mconfig, *this) |
| 144 | device_psx_controller_interface(mconfig, *this), |
| 145 | m_pad0(*this,"PSXPAD0"), |
| 146 | m_pad1(*this,"PSXPAD1") |
| 145 | 147 | { |
| 146 | 148 | } |
| 147 | 149 | |
| r20436 | r20437 | |
| 158 | 160 | *odata = 0x5a; |
| 159 | 161 | break; |
| 160 | 162 | case 2: |
| 161 | | *odata = ioport("PSXPAD0")->read(); |
| 163 | *odata = m_pad0->read(); |
| 162 | 164 | break; |
| 163 | 165 | case 3: |
| 164 | | *odata = ioport("PSXPAD1")->read(); |
| 166 | *odata = m_pad1->read(); |
| 165 | 167 | break; |
| 166 | 168 | case 4: |
| 167 | 169 | return false; |