Previous 199869 Revisions Next

r20437 Thursday 24th January, 2013 at 17:31:17 UTC by smf
removed runtime ioport lookups [smf]
[src/mess/machine]psxanalog.c psxanalog.h psxcport.c psxcport.h

trunk/src/mess/machine/psxanalog.c
r20436r20437
44
55psx_analog_controller_device::psx_analog_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
66      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")
814{
915}
1016
r20436r20437
2329   switch(count)
2430   {
2531      case 2:
26         data = ioport("PSXPAD0")->read();
32         data = m_pad0->read();
2733         if(!analog)
28            data |= 6;
34            data |= 6; // l3/r3
2935         break;
3036      case 3:
31         data = ioport("PSXPAD1")->read();
37         data = m_pad1->read();
3238         break;
3339      case 4:
34         data = ioport("PSXRSTICKX")->read();
40         data = m_rstickx->read();
3541         break;
3642      case 5:
37         data = ioport("PSXRSTICKY")->read();
43         data = m_rsticky->read();
3844         break;
3945      case 6:
40         data = ioport("PSXLSTICKX")->read();
46         data = m_lstickx->read();
4147         break;
4248      case 7:
43         data = ioport("PSXLSTICKY")->read();
49         data = m_lsticky->read();
4450         break;
4551   }
4652   return data;
r20436r20437
236242INPUT_CHANGED_MEMBER(psx_analog_controller_device::change_mode)
237243{
238244   if(!m_analoglock)
239      m_analogmode = ioport("PSXMISC")->read();
245      m_analogmode = newval;
240246}
trunk/src/mess/machine/psxanalog.h
r20436r20437
2727
2828   UINT8 m_temp;
2929   UINT8 m_cmd;
30
31   required_ioport m_pad0;
32   required_ioport m_pad1;
33   required_ioport m_rstickx;
34   required_ioport m_rsticky;
35   required_ioport m_lstickx;
36   required_ioport m_lsticky;
3037};
3138
3239#endif /* PSXANALOG_H_ */
trunk/src/mess/machine/psxcport.c
r20436r20437
141141
142142psx_standard_controller_device::psx_standard_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
143143      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")
145147{
146148}
147149
r20436r20437
158160         *odata = 0x5a;
159161         break;
160162      case 2:
161         *odata = ioport("PSXPAD0")->read();
163         *odata = m_pad0->read();
162164         break;
163165      case 3:
164         *odata = ioport("PSXPAD1")->read();
166         *odata = m_pad1->read();
165167         break;
166168      case 4:
167169         return false;
trunk/src/mess/machine/psxcport.h
r20436r20437
7373   virtual void device_config_complete() { m_shortname = "psx_standard_controller"; }
7474private:
7575   virtual bool get_pad(int count, UINT8 *odata, UINT8 idata);
76
77   required_ioport m_pad0;
78   required_ioport m_pad1;
7679};
7780
7881class psxcontrollerports_device : public psxsiodev_device

Previous 199869 Revisions Next


© 1997-2024 The MAME Team