Previous 199869 Revisions Next

r23302 Thursday 30th May, 2013 at 15:23:23 UTC by hap
nevermind this yet
[src/emu/machine]7200fifo.c 7200fifo.h

trunk/src/emu/machine/7200fifo.c
r23301r23302
44
55    TODO:
66    - retransmit (RT pin)
7    - cascaded width expansion mode (when needed)
78
89**********************************************************************/
910
r23301r23302
7172
7273
7374
74void fifo7200_device::fifo_write(UINT32 data)
75void fifo7200_device::fifo_write(UINT16 data)
7576{
7677   if (m_ff)
7778   {
r23301r23302
7980      return;
8081   }
8182
82   m_buffer[m_write_ptr] = data;
83   m_buffer[m_write_ptr] = data & 0x1ff;
8384   m_write_ptr = (m_write_ptr + 1) % m_ram_size;
8485   
8586   // update flags
r23301r23302
102103   }
103104}
104105
105UINT32 fifo7200_device::fifo_read()
106UINT16 fifo7200_device::fifo_read()
106107{
107108   if (m_ef)
108109   {
109110      logerror("IDT7200 %s fifo_read underflow!\n", tag());
110      return ~0;
111      return 0x1ff;
111112   }
112113   
113114   UINT16 ret = m_buffer[m_read_ptr];
trunk/src/emu/machine/7200fifo.h
r23301r23302
102102   DECLARE_WRITE8_MEMBER( data_byte_w ) { fifo_write(data); }
103103   DECLARE_READ8_MEMBER( data_byte_r ) { return (UINT8)fifo_read(); }
104104
105   // use these for configurations in cascaded width expansion mode using more than 16 bits
106   DECLARE_WRITE32_MEMBER( data_dword_w ) { fifo_write(data); }
107   DECLARE_READ32_MEMBER( data_dword_r ) { return (UINT32)fifo_read(); }
108
109105protected:
110106   // device-level overrides
111107   virtual void device_start();
112108   virtual void device_reset();
113109
114110private:
115   void fifo_write(UINT32 data);
116   UINT32 fifo_read();
111   void fifo_write(UINT16 data);
112   UINT16 fifo_read();
117113
118114   UINT16* m_buffer;
119115   int m_ram_size;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team