2018-11-15 23:31:39 +00:00
|
|
|
/*****************************************************************************\
|
|
|
|
Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
|
|
|
|
This file is licensed under the Snes9x License.
|
|
|
|
For further information, consult the LICENSE file in the root directory.
|
|
|
|
\*****************************************************************************/
|
2010-09-25 15:46:12 +00:00
|
|
|
|
|
|
|
#ifndef _DMA_H_
|
|
|
|
#define _DMA_H_
|
|
|
|
|
|
|
|
struct SDMA
|
|
|
|
{
|
|
|
|
bool8 ReverseTransfer;
|
|
|
|
bool8 HDMAIndirectAddressing;
|
|
|
|
bool8 UnusedBit43x0;
|
|
|
|
bool8 AAddressFixed;
|
|
|
|
bool8 AAddressDecrement;
|
|
|
|
uint8 TransferMode;
|
|
|
|
uint8 BAddress;
|
|
|
|
uint16 AAddress;
|
|
|
|
uint8 ABank;
|
|
|
|
uint16 DMACount_Or_HDMAIndirectAddress;
|
|
|
|
uint8 IndirectBank;
|
|
|
|
uint16 Address;
|
|
|
|
uint8 Repeat;
|
|
|
|
uint8 LineCount;
|
|
|
|
uint8 UnknownByte;
|
|
|
|
uint8 DoTransfer;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define TransferBytes DMACount_Or_HDMAIndirectAddress
|
|
|
|
#define IndirectAddress DMACount_Or_HDMAIndirectAddress
|
|
|
|
|
|
|
|
extern struct SDMA DMA[8];
|
|
|
|
|
|
|
|
bool8 S9xDoDMA (uint8);
|
|
|
|
void S9xStartHDMA (void);
|
|
|
|
uint8 S9xDoHDMA (uint8);
|
|
|
|
void S9xResetDMA (void);
|
|
|
|
|
|
|
|
#endif
|