Previous 199869 Revisions Next

r20500 Saturday 26th January, 2013 at 18:56:08 UTC by Wilbert Pol
(MESS) mini2440.c: tagmap cleanups (nw)
[src/mess/drivers]mini2440.c

trunk/src/mess/drivers/mini2440.c
r20499r20500
3030{
3131public:
3232   mini2440_state(const machine_config &mconfig, device_type type, const char *tag)
33      : driver_device(mconfig, type, tag),
34         m_maincpu(*this, "maincpu")
33      : driver_device(mconfig, type, tag)
34      , m_maincpu(*this, "maincpu")
35      , m_s3c2440(*this, "s3c2440")
36      , m_nand(*this, "nand")
37      , m_dac1(*this, "dac1")
38      , m_dac2(*this, "dac2")
39      , m_penx(*this, "PENX")
40      , m_peny(*this, "PENY")
3541   { }
3642
3743   required_device<cpu_device> m_maincpu;
44   required_device<device_t> m_s3c2440;
45   required_device<nand_device> m_nand;
46   required_device<dac_device> m_dac1;
47   required_device<dac_device> m_dac2;
48   required_ioport m_penx;
49   required_ioport m_peny;
3850
39   device_t *m_s3c2440;
40   nand_device *m_nand;
41   dac_device *m_dac[2];
42
4351   UINT32 m_port[9];
4452   DECLARE_DRIVER_INIT(mini2440);
4553   virtual void machine_start();
r20499r20500
140148static WRITE16_DEVICE_HANDLER( s3c2440_i2s_data_w )
141149{
142150   mini2440_state *state = space.machine().driver_data<mini2440_state>();
143   state->m_dac[offset]->write_signed16(data + 0x8000);
151   if ( offset )
152      state->m_dac1->write_signed16(data + 0x8000);
153   else
154      state->m_dac2->write_signed16(data + 0x8000);
144155}
145156
146157// ADC
147158
148159static READ32_DEVICE_HANDLER( s3c2440_adc_data_r )
149160{
161   mini2440_state *state = space.machine().driver_data<mini2440_state>();
162
150163   UINT32 data = 0;
151164   switch (offset)
152165   {
153      case 2 + 0 : data = space.machine().root_device().ioport( "PENX")->read(); break;
154      case 2 + 1 : data = 915 - space.machine().root_device().ioport( "PENY")->read() + 90; break;
166      case 2 + 0 : data = state->m_penx->read(); break;
167      case 2 + 1 : data = 915 - state->m_peny->read() + 90; break;
155168   }
156169   verboselog( space.machine(), 5,  "s3c2440_adc_data_r %08X\n", data);
157170   return data;
r20499r20500
168181
169182void mini2440_state::machine_start()
170183{
171   m_s3c2440 = machine().device("s3c2440");
172   m_nand = machine().device<nand_device>("nand");
173   m_dac[0] = machine().device<dac_device>("dac1");
174   m_dac[1] = machine().device<dac_device>("dac2");
175184   m_nand->set_data_ptr(memregion("nand")->base());
176185}
177186
178187void mini2440_state::machine_reset()
179188{
180   machine().device("maincpu")->reset();
189   m_maincpu->reset();
181190   memset( m_port, 0, sizeof( m_port));
182191}
183192

Previous 199869 Revisions Next


© 1997-2024 The MAME Team