summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2018-06-23 16:01:53 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2018-06-23 16:01:53 +0200
commite5a83c8a006f4a5779977c0645f75619c75d85f2 (patch)
treeaa12990833b453c71f42680b88655ac8702b50cd
parentdd30364632520a2137858d43760d5a6f8a6077fc (diff)
palmz22.cpp: device_finder (nw)
-rw-r--r--src/mame/drivers/palmz22.cpp60
1 files changed, 34 insertions, 26 deletions
diff --git a/src/mame/drivers/palmz22.cpp b/src/mame/drivers/palmz22.cpp
index f6aa53969a4..a4dd5f84437 100644
--- a/src/mame/drivers/palmz22.cpp
+++ b/src/mame/drivers/palmz22.cpp
@@ -80,19 +80,27 @@ public:
palmz22_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
- m_s3c2410(*this, "s3c2410")
+ m_s3c2410(*this, "s3c2410"),
+ m_nand(*this, "nand")
{ }
- required_device<cpu_device> m_maincpu;
+ DECLARE_INPUT_CHANGED_MEMBER(input_changed);
- required_device<s3c2410_device> m_s3c2410;
- nand_device *m_nand;
+ void palmz22(machine_config &config);
- uint32_t m_port[8];
void init_palmz22();
+
+protected:
virtual void machine_start() override;
virtual void machine_reset() override;
- DECLARE_INPUT_CHANGED_MEMBER(palmz22_input_changed);
+
+private:
+ required_device<cpu_device> m_maincpu;
+ required_device<s3c2410_device> m_s3c2410;
+ required_device<nand_device> m_nand;
+
+ uint32_t m_port[8];
+
inline void verboselog(int n_level, const char *s_fmt, ...) ATTR_PRINTF(3,4);
DECLARE_WRITE8_MEMBER( s3c2410_nand_command_w );
DECLARE_WRITE8_MEMBER( s3c2410_nand_address_w );
@@ -102,9 +110,8 @@ public:
DECLARE_WRITE32_MEMBER(s3c2410_gpio_port_w);
DECLARE_READ32_MEMBER(s3c2410_core_pin_r);
DECLARE_READ32_MEMBER(s3c2410_adc_data_r );
-
- void palmz22(machine_config &config);
- void palmz22_map(address_map &map);
+
+ void map(address_map &map);
};
@@ -238,7 +245,7 @@ READ32_MEMBER(palmz22_state::s3c2410_adc_data_r )
// INPUT
-INPUT_CHANGED_MEMBER(palmz22_state::palmz22_input_changed)
+INPUT_CHANGED_MEMBER(palmz22_state::input_changed)
{
if (((int)(uintptr_t)param) == 0)
{
@@ -254,8 +261,9 @@ INPUT_CHANGED_MEMBER(palmz22_state::palmz22_input_changed)
void palmz22_state::machine_start()
{
- m_nand = machine().device<nand_device>("nand");
m_nand->set_data_ptr( memregion("nand")->base());
+
+ save_item(NAME(m_port));
}
void palmz22_state::machine_reset()
@@ -268,7 +276,7 @@ void palmz22_state::machine_reset()
ADDRESS MAPS
***************************************************************************/
-void palmz22_state::palmz22_map(address_map &map)
+void palmz22_state::map(address_map &map)
{
map(0x30000000, 0x31ffffff).ram();
}
@@ -282,8 +290,8 @@ void palmz22_state::init_palmz22()
}
MACHINE_CONFIG_START(palmz22_state::palmz22)
- MCFG_DEVICE_ADD("maincpu", ARM920T, 266000000)
- MCFG_DEVICE_PROGRAM_MAP(palmz22_map)
+ MCFG_DEVICE_ADD(m_maincpu, ARM920T, 266000000)
+ MCFG_DEVICE_PROGRAM_MAP(map)
MCFG_PALETTE_ADD("palette", 32768)
@@ -296,7 +304,7 @@ MACHINE_CONFIG_START(palmz22_state::palmz22)
MCFG_SCREEN_UPDATE_DEVICE("s3c2410", s3c2410_device, screen_update)
- MCFG_DEVICE_ADD("s3c2410", S3C2410, 12000000)
+ MCFG_DEVICE_ADD(m_s3c2410, S3C2410, 12000000)
MCFG_S3C2410_PALETTE("palette")
MCFG_S3C2410_SCREEN("screen")
MCFG_S3C2410_CORE_PIN_R_CB(READ32(*this, palmz22_state, s3c2410_core_pin_r))
@@ -308,27 +316,27 @@ MACHINE_CONFIG_START(palmz22_state::palmz22)
MCFG_S3C2410_NAND_DATA_R_CB(READ8(*this, palmz22_state, s3c2410_nand_data_r))
MCFG_S3C2410_NAND_DATA_W_CB(WRITE8(*this, palmz22_state, s3c2410_nand_data_w))
- MCFG_DEVICE_ADD("nand", NAND, 0)
+ MCFG_DEVICE_ADD(m_nand, NAND, 0)
MCFG_NAND_TYPE(K9F5608U0D_J)
- MCFG_NAND_RNB_CALLBACK(WRITELINE("s3c2410", s3c2410_device, frnb_w))
+ MCFG_NAND_RNB_CALLBACK(WRITELINE(m_s3c2410, s3c2410_device, frnb_w))
MACHINE_CONFIG_END
static INPUT_PORTS_START( palmz22 )
PORT_START( "PENB" )
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Pen Button") PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)0) PORT_PLAYER(2)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Pen Button") PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, input_changed, (void *)0) PORT_PLAYER(2)
PORT_START( "PENX" )
PORT_BIT( 0x3ff, 0x200, IPT_LIGHTGUN_X ) PORT_NAME("Pen X") PORT_SENSITIVITY(50) PORT_CROSSHAIR(X, 1, 0, 0) PORT_KEYDELTA(30) PORT_PLAYER(2)
PORT_START( "PENY" )
PORT_BIT( 0x3ff, 0x200, IPT_LIGHTGUN_Y ) PORT_NAME("Pen Y") PORT_SENSITIVITY(50) PORT_CROSSHAIR(Y, 1, 0, 0) PORT_KEYDELTA(30) PORT_PLAYER(2)
PORT_START( "PORT-F" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1) PORT_NAME("Power")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1) PORT_NAME("Contacts")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1) PORT_NAME("Calendar")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1) PORT_NAME("Center")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, input_changed, (void *)1) PORT_NAME("Power")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, input_changed, (void *)1) PORT_NAME("Contacts")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, input_changed, (void *)1) PORT_NAME("Calendar")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, input_changed, (void *)1) PORT_NAME("Center")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, input_changed, (void *)1)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, input_changed, (void *)1)
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, input_changed, (void *)1)
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, input_changed, (void *)1)
INPUT_PORTS_END
/***************************************************************************