Previous 199869 Revisions Next

r26853 Wednesday 1st January, 2014 at 13:22:54 UTC by smf
removed readpb & readcb2 callbacks from commodore LCD VIA6522 configuration. Changed write_cb2 to work with shift register [smf]
[src/emu/machine]6522via.c
[src/mess/drivers]clcd.c

trunk/src/emu/machine/6522via.c
r26852r26853
11031103
11041104WRITE_LINE_MEMBER( via6522_device::write_cb2 )
11051105{
1106   /* CB2 is in input mode */
1107   if (CB2_INPUT(m_pcr))
1106   /* the new state has caused a transition */
1107   if (m_in_cb2 != state)
11081108   {
1109      /* the new state has caused a transition */
1110      if (m_in_cb2 != state)
1109      /* CB2 is in input mode */
1110      if (CB2_INPUT(m_pcr))
11111111      {
11121112         /* handle the active transition */
11131113         if ((state && CB2_LOW_TO_HIGH(m_pcr)) || (!state && CB2_HIGH_TO_LOW(m_pcr)))
r26852r26853
11151115            /* mark the IRQ */
11161116            set_int(INT_CB2);
11171117         }
1118         /* set the new value for CB2 */
1119         m_in_cb2 = state;
11201118      }
1119
1120      /* set the new value for CB2 */
1121      m_in_cb2 = state;
11211122   }
11221123}
trunk/src/mess/drivers/clcd.c
r26852r26853
4545      m_col5(*this,"COL5"),
4646      m_col6(*this,"COL6"),
4747      m_col7(*this,"COL7"),
48      m_special(*this,"SPECIAL")
49   ,
50      m_maincpu(*this, "maincpu") {
48      m_special(*this,"SPECIAL"),
49      m_maincpu(*this, "maincpu"),
50      m_via0(*this, "via0")
51   {
5152   }
5253
5354   TILE_GET_INFO_MEMBER(get_clcd_tilemap_tile_info)
r26852r26853
202203            }
203204
204205            keyShift = 0x10000;
206
207            m_via0->write_cb2( ( keyData & keyShift ) != 0 );
205208         }
206209      }
207210   }
208211
209   READ8_MEMBER( via0_pb_r )
210   {
211      return 0;
212   }
213
214   READ_LINE_MEMBER( via0_cb2_r )
215   {
216      return ( keyData & keyShift ) != 0;
217   }
218
219212   WRITE_LINE_MEMBER( via0_cb1_w )
220213   {
221214      int newKeyClockState = state & 1;
r26852r26853
226219         if( keyClockState )
227220         {
228221            keyShift >>= 1;
222
223            m_via0->write_cb2( ( keyData & keyShift ) != 0 );
229224         }
230225      }
231226   }
r26852r26853
249244   required_ioport m_col7;
250245   required_ioport m_special;
251246   required_device<cpu_device> m_maincpu;
247   required_device<via6522_device> m_via0;
252248};
253249
254250static ADDRESS_MAP_START( clcd_mem, AS_PROGRAM, 8, clcd_state )
r26852r26853
397393   MCFG_CPU_PROGRAM_MAP(clcd_mem)
398394
399395   MCFG_DEVICE_ADD("via0", VIA6522, 0)
400   MCFG_VIA6522_READPB_HANDLER(READ8(clcd_state, via0_pb_r))
401   MCFG_VIA6522_READCB2_HANDLER(READLINE(clcd_state, via0_cb2_r))
402396   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(clcd_state, via0_pa_w))
403397   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(clcd_state, via0_pb_w))
404398   MCFG_VIA6522_CB1_HANDLER(WRITELINE(clcd_state, via0_cb1_w))

Previous 199869 Revisions Next


© 1997-2024 The MAME Team