mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-16 13:15:46 -04:00
DMA: Batch multi-word transfers together
This commit is contained in:
@ -65,10 +65,10 @@ private:
|
||||
void TransferChannel(Channel channel);
|
||||
|
||||
// from device -> memory
|
||||
u32 DMARead(Channel channel, PhysicalMemoryAddress dst_address, u32 remaining_words);
|
||||
void TransferDeviceToMemory(Channel channel, u32 address, u32 increment, u32 word_count);
|
||||
|
||||
// from memory -> device
|
||||
void DMAWrite(Channel channel, u32 value, PhysicalMemoryAddress src_address, u32 remaining_words);
|
||||
void TransferMemoryToDevice(Channel channel, u32 address, u32 increment, u32 word_count);
|
||||
|
||||
System* m_system = nullptr;
|
||||
Bus* m_bus = nullptr;
|
||||
@ -81,6 +81,8 @@ private:
|
||||
TickCount m_transfer_ticks = 0;
|
||||
bool m_transfer_in_progress = false;
|
||||
|
||||
std::vector<u32> m_transfer_buffer;
|
||||
|
||||
struct ChannelState
|
||||
{
|
||||
u32 base_address;
|
||||
|
Reference in New Issue
Block a user