palmz22.cpp: device_finder (nw)

This commit is contained in:
Ivan Vangelista 2018-06-23 16:01:53 +02:00
parent dd30364632
commit e5a83c8a00

View File

@ -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
/***************************************************************************