trunk/src/mame/drivers/seibuspi.c
| r18307 | r18308 | |
| 1043 | 1043 | AM_RANGE(0x00000680, 0x00000683) AM_WRITE(sound_fifo_w) |
| 1044 | 1044 | AM_RANGE(0x00000684, 0x00000687) AM_READ(sound_fifo_status_r) |
| 1045 | 1045 | 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) |
| 1050 | 1050 | AM_RANGE(0x00000800, 0x0003ffff) AM_RAM AM_SHARE("spimainram") |
| 1051 | 1051 | AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_SHARE("share2") |
| 1052 | 1052 | AM_RANGE(0x00a00000, 0x013fffff) AM_READ(soundrom_r) |
trunk/src/emu/machine/ds2404.c
| r18307 | r18308 | |
| 171 | 171 | } |
| 172 | 172 | } |
| 173 | 173 | |
| 174 | | WRITE8_DEVICE_HANDLER_TRAMPOLINE(ds2404, ds2404_1w_reset_w) |
| 174 | WRITE8_MEMBER( ds2404_device::ds2404_1w_reset_w ) |
| 175 | 175 | { |
| 176 | 176 | m_state[0] = DS2404_STATE_IDLE; |
| 177 | 177 | m_state_ptr = 0; |
| 178 | 178 | } |
| 179 | 179 | |
| 180 | | WRITE8_DEVICE_HANDLER_TRAMPOLINE(ds2404, ds2404_3w_reset_w) |
| 180 | WRITE8_MEMBER( ds2404_device::ds2404_3w_reset_w ) |
| 181 | 181 | { |
| 182 | 182 | m_state[0] = DS2404_STATE_COMMAND; |
| 183 | 183 | m_state_ptr = 0; |
| 184 | 184 | } |
| 185 | 185 | |
| 186 | | READ8_DEVICE_HANDLER_TRAMPOLINE(ds2404, ds2404_data_r) |
| 186 | READ8_MEMBER( ds2404_device::ds2404_data_r ) |
| 187 | 187 | { |
| 188 | 188 | UINT8 value = 0; |
| 189 | 189 | switch(m_state[m_state_ptr]) |
| r18307 | r18308 | |
| 217 | 217 | return value; |
| 218 | 218 | } |
| 219 | 219 | |
| 220 | | WRITE8_DEVICE_HANDLER_TRAMPOLINE(ds2404, ds2404_data_w) |
| 220 | WRITE8_MEMBER( ds2404_device::ds2404_data_w ) |
| 221 | 221 | { |
| 222 | 222 | switch( m_state[m_state_ptr] ) |
| 223 | 223 | { |
| r18307 | r18308 | |
| 310 | 310 | } |
| 311 | 311 | } |
| 312 | 312 | |
| 313 | | WRITE8_DEVICE_HANDLER_TRAMPOLINE(ds2404, ds2404_clk_w) |
| 313 | WRITE8_MEMBER( ds2404_device::ds2404_clk_w ) |
| 314 | 314 | { |
| 315 | 315 | switch( m_state[m_state_ptr] ) |
| 316 | 316 | { |
trunk/src/emu/machine/ds2404.h
| r18307 | r18308 | |
| 6 | 6 | |
| 7 | 7 | **********************************************************************/ |
| 8 | 8 | |
| 9 | #pragma once |
| 10 | |
| 9 | 11 | #ifndef __DS2404_H__ |
| 10 | 12 | #define __DS2404_H__ |
| 11 | 13 | |
| r18307 | r18308 | |
| 53 | 55 | static void static_set_ref_day(device_t &device, UINT8 m_ref_day); |
| 54 | 56 | |
| 55 | 57 | /* 1-wire interface reset */ |
| 56 | | void ds2404_1w_reset_w(UINT32 offset, UINT8 data); |
| 58 | DECLARE_WRITE8_MEMBER(ds2404_1w_reset_w); |
| 57 | 59 | |
| 58 | 60 | /* 3-wire interface reset */ |
| 59 | | void ds2404_3w_reset_w(UINT32 offset, UINT8 data); |
| 61 | DECLARE_WRITE8_MEMBER(ds2404_3w_reset_w); |
| 60 | 62 | |
| 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); |
| 64 | 66 | |
| 65 | 67 | void ds2404_tick(); |
| 66 | 68 | |
| r18307 | r18308 | |
| 122 | 124 | extern const device_type DS2404; |
| 123 | 125 | |
| 124 | 126 | |
| 125 | | |
| 126 | | /*************************************************************************** |
| 127 | | PROTOTYPES |
| 128 | | ***************************************************************************/ |
| 129 | | |
| 130 | | /* 1-wire interface reset */ |
| 131 | | DECLARE_WRITE8_DEVICE_HANDLER( ds2404_1w_reset_w ); |
| 132 | | |
| 133 | | /* 3-wire interface reset */ |
| 134 | | DECLARE_WRITE8_DEVICE_HANDLER( ds2404_3w_reset_w ); |
| 135 | | |
| 136 | | DECLARE_READ8_DEVICE_HANDLER( ds2404_data_r ); |
| 137 | | DECLARE_WRITE8_DEVICE_HANDLER( ds2404_data_w ); |
| 138 | | DECLARE_WRITE8_DEVICE_HANDLER( ds2404_clk_w ); |
| 139 | | |
| 140 | | #endif |
| 127 | #endif /* __DS2404_H__ */ |