nevermind this yet

This commit is contained in:
Michaël Banaan Ananas 2013-05-30 15:23:23 +00:00
parent fd4a360e4d
commit e2956881b9
2 changed files with 7 additions and 10 deletions

View File

@ -4,6 +4,7 @@
TODO: TODO:
- retransmit (RT pin) - retransmit (RT pin)
- cascaded width expansion mode (when needed)
**********************************************************************/ **********************************************************************/
@ -71,7 +72,7 @@ void fifo7200_device::device_reset()
void fifo7200_device::fifo_write(UINT32 data) void fifo7200_device::fifo_write(UINT16 data)
{ {
if (m_ff) if (m_ff)
{ {
@ -79,7 +80,7 @@ void fifo7200_device::fifo_write(UINT32 data)
return; return;
} }
m_buffer[m_write_ptr] = data; m_buffer[m_write_ptr] = data & 0x1ff;
m_write_ptr = (m_write_ptr + 1) % m_ram_size; m_write_ptr = (m_write_ptr + 1) % m_ram_size;
// update flags // update flags
@ -102,12 +103,12 @@ void fifo7200_device::fifo_write(UINT32 data)
} }
} }
UINT32 fifo7200_device::fifo_read() UINT16 fifo7200_device::fifo_read()
{ {
if (m_ef) if (m_ef)
{ {
logerror("IDT7200 %s fifo_read underflow!\n", tag()); logerror("IDT7200 %s fifo_read underflow!\n", tag());
return ~0; return 0x1ff;
} }
UINT16 ret = m_buffer[m_read_ptr]; UINT16 ret = m_buffer[m_read_ptr];

View File

@ -102,18 +102,14 @@ public:
DECLARE_WRITE8_MEMBER( data_byte_w ) { fifo_write(data); } DECLARE_WRITE8_MEMBER( data_byte_w ) { fifo_write(data); }
DECLARE_READ8_MEMBER( data_byte_r ) { return (UINT8)fifo_read(); } DECLARE_READ8_MEMBER( data_byte_r ) { return (UINT8)fifo_read(); }
// use these for configurations in cascaded width expansion mode using more than 16 bits
DECLARE_WRITE32_MEMBER( data_dword_w ) { fifo_write(data); }
DECLARE_READ32_MEMBER( data_dword_r ) { return (UINT32)fifo_read(); }
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start(); virtual void device_start();
virtual void device_reset(); virtual void device_reset();
private: private:
void fifo_write(UINT32 data); void fifo_write(UINT16 data);
UINT32 fifo_read(); UINT16 fifo_read();
UINT16* m_buffer; UINT16* m_buffer;
int m_ram_size; int m_ram_size;