trunk/src/emu/machine/6522via.h
r26850 | r26851 | |
112 | 112 | DECLARE_READ_LINE_MEMBER( read_cb1 ) { return m_in_cb1; } |
113 | 113 | DECLARE_READ_LINE_MEMBER( read_cb2 ) { return m_in_cb2; } |
114 | 114 | |
115 | | // TODO: CONVERT THESE TO WRITE LINE |
116 | | DECLARE_WRITE8_MEMBER( write_porta ) { m_in_a = data; } |
117 | | DECLARE_WRITE8_MEMBER( write_portb ) { m_in_b = data; } |
118 | | |
| 115 | DECLARE_WRITE_LINE_MEMBER( write_pa0 ) { write_pa(0, state); } |
| 116 | DECLARE_WRITE_LINE_MEMBER( write_pa1 ) { write_pa(1, state); } |
| 117 | DECLARE_WRITE_LINE_MEMBER( write_pa2 ) { write_pa(2, state); } |
| 118 | DECLARE_WRITE_LINE_MEMBER( write_pa3 ) { write_pa(3, state); } |
| 119 | DECLARE_WRITE_LINE_MEMBER( write_pa4 ) { write_pa(4, state); } |
| 120 | DECLARE_WRITE_LINE_MEMBER( write_pa5 ) { write_pa(5, state); } |
| 121 | DECLARE_WRITE_LINE_MEMBER( write_pa6 ) { write_pa(6, state); } |
| 122 | DECLARE_WRITE_LINE_MEMBER( write_pa7 ) { write_pa(7, state); } |
119 | 123 | DECLARE_WRITE_LINE_MEMBER( write_ca1 ); |
120 | 124 | DECLARE_WRITE_LINE_MEMBER( write_ca2 ); |
| 125 | |
| 126 | DECLARE_WRITE_LINE_MEMBER( write_pb0 ) { write_pb(0, state); } |
| 127 | DECLARE_WRITE_LINE_MEMBER( write_pb1 ) { write_pb(1, state); } |
| 128 | DECLARE_WRITE_LINE_MEMBER( write_pb2 ) { write_pb(2, state); } |
| 129 | DECLARE_WRITE_LINE_MEMBER( write_pb3 ) { write_pb(3, state); } |
| 130 | DECLARE_WRITE_LINE_MEMBER( write_pb4 ) { write_pb(4, state); } |
| 131 | DECLARE_WRITE_LINE_MEMBER( write_pb5 ) { write_pb(5, state); } |
| 132 | DECLARE_WRITE_LINE_MEMBER( write_pb6 ) { write_pb(6, state); } |
| 133 | DECLARE_WRITE_LINE_MEMBER( write_pb7 ) { write_pb(7, state); } |
121 | 134 | DECLARE_WRITE_LINE_MEMBER( write_cb1 ); |
122 | 135 | DECLARE_WRITE_LINE_MEMBER( write_cb2 ); |
123 | 136 | |
r26850 | r26851 | |
159 | 172 | void set_int(int data); |
160 | 173 | void clear_int(int data); |
161 | 174 | void shift(); |
| 175 | void write_pa(int line, int state); |
| 176 | void write_pb(int line, int state); |
162 | 177 | |
163 | 178 | // TODO: REMOVE THESE |
164 | 179 | devcb2_read8 m_in_a_handler; |
trunk/src/mess/drivers/ssystem3.c
r26850 | r26851 | |
195 | 195 | |
196 | 196 | WRITE8_MEMBER(ssystem3_state::ssystem3_via_write_b) |
197 | 197 | { |
198 | | via6522_device *via_0 = machine().device<via6522_device>("via6522_0"); |
199 | | UINT8 d; |
200 | | |
201 | 198 | ssystem3_playfield_write(data&1, data&8); |
202 | 199 | ssystem3_lcd_write(data&4, data&2); |
203 | 200 | |
204 | | d=ssystem3_via_read_b(space, 0, mem_mask)&~0x40; |
| 201 | // TODO: figure out what this is trying to achieve |
| 202 | via6522_device *via_0 = machine().device<via6522_device>("via6522_0"); |
| 203 | UINT8 d=ssystem3_via_read_b(space, 0, mem_mask)&~0x40; |
205 | 204 | if (data&0x80) d|=0x40; |
206 | 205 | // d&=~0x8f; |
207 | | via_0->write_portb(space,0, d ); |
| 206 | via_0->write_pb0((d>>0)&1); |
| 207 | via_0->write_pb1((d>>1)&1); |
| 208 | via_0->write_pb2((d>>2)&1); |
| 209 | via_0->write_pb3((d>>3)&1); |
| 210 | via_0->write_pb4((d>>4)&1); |
| 211 | via_0->write_pb5((d>>5)&1); |
| 212 | via_0->write_pb6((d>>6)&1); |
| 213 | via_0->write_pb7((d>>7)&1); |
208 | 214 | } |
209 | 215 | |
210 | 216 | DRIVER_INIT_MEMBER(ssystem3_state,ssystem3) |
trunk/src/mess/machine/lisa.c
r26850 | r26851 | |
194 | 194 | |
195 | 195 | void lisa_state::COPS_send_data_if_possible() |
196 | 196 | { |
197 | | address_space &space = m_maincpu->space(AS_PROGRAM); |
198 | | |
199 | 197 | if ((! m_hold_COPS_data) && m_fifo_size && (! m_COPS_Ready)) |
200 | 198 | { |
201 | 199 | // printf("COPsim: sending %02x to VIA\n", m_fifo_data[m_fifo_head]); |
202 | 200 | |
203 | | m_via0->write_porta(space, 0, m_fifo_data[m_fifo_head]); /* output data */ |
| 201 | UINT8 data = m_fifo_data[m_fifo_head];/* output data */ |
| 202 | m_via0->write_pa0((data>>0)&1); |
| 203 | m_via0->write_pa1((data>>1)&1); |
| 204 | m_via0->write_pa2((data>>2)&1); |
| 205 | m_via0->write_pa3((data>>3)&1); |
| 206 | m_via0->write_pa4((data>>4)&1); |
| 207 | m_via0->write_pa5((data>>5)&1); |
| 208 | m_via0->write_pa6((data>>6)&1); |
| 209 | m_via0->write_pa7((data>>7)&1); |
| 210 | |
204 | 211 | if (m_fifo_head == m_mouse_data_offset) |
205 | 212 | m_mouse_data_offset = -1; /* we just phased out the mouse data in buffer */ |
206 | 213 | m_fifo_head = (m_fifo_head+1) & 0x7; |