mirror of
https://github.com/holub/mame
synced 2025-07-09 11:48:12 +03:00
palmz22.cpp: device_finder (nw)
This commit is contained in:
parent
dd30364632
commit
e5a83c8a00
@ -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
|
||||
|
||||
/***************************************************************************
|
||||
|
Loading…
Reference in New Issue
Block a user