Previous 199869 Revisions Next

r18308 Saturday 6th October, 2012 at 12:07:07 UTC by hap
ds2404: get rid of trampoline code
[src/emu/machine]ds2404.c ds2404.h
[src/mame/drivers]seibuspi.c

trunk/src/mame/drivers/seibuspi.c
r18307r18308
10431043   AM_RANGE(0x00000680, 0x00000683) AM_WRITE(sound_fifo_w)
10441044   AM_RANGE(0x00000684, 0x00000687) AM_READ(sound_fifo_status_r)
10451045   AM_RANGE(0x00000684, 0x00000687) AM_WRITENOP            /* Unknown */
1046   AM_RANGE(0x000006d0, 0x000006d3) AM_DEVWRITE8_LEGACY("ds2404", ds2404_1w_reset_w, 0x000000ff)
1047   AM_RANGE(0x000006d4, 0x000006d7) AM_DEVWRITE8_LEGACY("ds2404", ds2404_data_w, 0x000000ff)
1048   AM_RANGE(0x000006d8, 0x000006db) AM_DEVWRITE8_LEGACY("ds2404", ds2404_clk_w, 0x000000ff)
1049   AM_RANGE(0x000006dc, 0x000006df) AM_DEVREAD8_LEGACY("ds2404", ds2404_data_r, 0x000000ff)
1046   AM_RANGE(0x000006d0, 0x000006d3) AM_DEVWRITE8("ds2404", ds2404_device, ds2404_1w_reset_w, 0x000000ff)
1047   AM_RANGE(0x000006d4, 0x000006d7) AM_DEVWRITE8("ds2404", ds2404_device, ds2404_data_w, 0x000000ff)
1048   AM_RANGE(0x000006d8, 0x000006db) AM_DEVWRITE8("ds2404", ds2404_device, ds2404_clk_w, 0x000000ff)
1049   AM_RANGE(0x000006dc, 0x000006df) AM_DEVREAD8("ds2404", ds2404_device, ds2404_data_r, 0x000000ff)
10501050   AM_RANGE(0x00000800, 0x0003ffff) AM_RAM AM_SHARE("spimainram")
10511051   AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_SHARE("share2")
10521052   AM_RANGE(0x00a00000, 0x013fffff) AM_READ(soundrom_r)
trunk/src/emu/machine/ds2404.c
r18307r18308
171171   }
172172}
173173
174WRITE8_DEVICE_HANDLER_TRAMPOLINE(ds2404, ds2404_1w_reset_w)
174WRITE8_MEMBER( ds2404_device::ds2404_1w_reset_w )
175175{
176176   m_state[0] = DS2404_STATE_IDLE;
177177   m_state_ptr = 0;
178178}
179179
180WRITE8_DEVICE_HANDLER_TRAMPOLINE(ds2404, ds2404_3w_reset_w)
180WRITE8_MEMBER( ds2404_device::ds2404_3w_reset_w )
181181{
182182   m_state[0] = DS2404_STATE_COMMAND;
183183   m_state_ptr = 0;
184184}
185185
186READ8_DEVICE_HANDLER_TRAMPOLINE(ds2404, ds2404_data_r)
186READ8_MEMBER( ds2404_device::ds2404_data_r )
187187{
188188   UINT8 value = 0;
189189   switch(m_state[m_state_ptr])
r18307r18308
217217   return value;
218218}
219219
220WRITE8_DEVICE_HANDLER_TRAMPOLINE(ds2404, ds2404_data_w)
220WRITE8_MEMBER( ds2404_device::ds2404_data_w )
221221{
222222   switch( m_state[m_state_ptr] )
223223   {
r18307r18308
310310   }
311311}
312312
313WRITE8_DEVICE_HANDLER_TRAMPOLINE(ds2404, ds2404_clk_w)
313WRITE8_MEMBER( ds2404_device::ds2404_clk_w )
314314{
315315   switch( m_state[m_state_ptr] )
316316   {
trunk/src/emu/machine/ds2404.h
r18307r18308
66
77**********************************************************************/
88
9#pragma once
10
911#ifndef __DS2404_H__
1012#define __DS2404_H__
1113
r18307r18308
5355   static void static_set_ref_day(device_t &device, UINT8 m_ref_day);
5456
5557   /* 1-wire interface reset  */
56   void ds2404_1w_reset_w(UINT32 offset, UINT8 data);
58   DECLARE_WRITE8_MEMBER(ds2404_1w_reset_w);
5759
5860   /* 3-wire interface reset  */
59   void ds2404_3w_reset_w(UINT32 offset, UINT8 data);
61   DECLARE_WRITE8_MEMBER(ds2404_3w_reset_w);
6062
61   UINT8 ds2404_data_r(UINT32 offset);
62   void ds2404_data_w(UINT32 offset, UINT8 data);
63   void ds2404_clk_w(UINT32 offset, UINT8 data);
63   DECLARE_READ8_MEMBER(ds2404_data_r);
64   DECLARE_WRITE8_MEMBER(ds2404_data_w);
65   DECLARE_WRITE8_MEMBER(ds2404_clk_w);
6466
6567   void ds2404_tick();
6668
r18307r18308
122124extern const device_type DS2404;
123125
124126
125
126/***************************************************************************
127    PROTOTYPES
128***************************************************************************/
129
130/* 1-wire interface reset */
131DECLARE_WRITE8_DEVICE_HANDLER( ds2404_1w_reset_w );
132
133/* 3-wire interface reset  */
134DECLARE_WRITE8_DEVICE_HANDLER( ds2404_3w_reset_w );
135
136DECLARE_READ8_DEVICE_HANDLER( ds2404_data_r );
137DECLARE_WRITE8_DEVICE_HANDLER( ds2404_data_w );
138DECLARE_WRITE8_DEVICE_HANDLER( ds2404_clk_w );
139
140#endif
127#endif /* __DS2404_H__ */

Previous 199869 Revisions Next


© 1997-2024 The MAME Team