Idle skipping... maybe?
This commit is contained in:
@@ -4,33 +4,32 @@
|
||||
#include <core/mmio/PIF.hpp>
|
||||
|
||||
namespace n64 {
|
||||
struct SI {
|
||||
SI();
|
||||
void Reset();
|
||||
[[nodiscard]] auto Read(u32) const -> u32;
|
||||
void Write(u32, u32);
|
||||
template <bool toDram>
|
||||
void DMA();
|
||||
void DMA();
|
||||
|
||||
union SIStatus {
|
||||
u32 raw{};
|
||||
struct {
|
||||
unsigned dmaBusy : 1;
|
||||
unsigned ioBusy : 1;
|
||||
unsigned reserved : 1;
|
||||
unsigned dmaErr : 1;
|
||||
unsigned : 8;
|
||||
unsigned intr : 1;
|
||||
};
|
||||
};
|
||||
union Status {
|
||||
u32 raw{};
|
||||
struct {
|
||||
unsigned dmaBusy : 1;
|
||||
unsigned ioBusy : 1;
|
||||
unsigned reserved : 1;
|
||||
unsigned dmaErr : 1;
|
||||
unsigned : 8;
|
||||
unsigned intr : 1;
|
||||
};
|
||||
};
|
||||
|
||||
struct SI {
|
||||
SI();
|
||||
void Reset();
|
||||
[[nodiscard]] auto Read(u32) const -> u32;
|
||||
void Write(u32, u32);
|
||||
template <bool toDram>
|
||||
void DMA();
|
||||
void DMA();
|
||||
|
||||
bool toDram = false;
|
||||
SIStatus status{};
|
||||
u32 dramAddr{};
|
||||
u32 pifAddr{};
|
||||
PIF pif;
|
||||
bool toDram = false;
|
||||
Status status{};
|
||||
u32 dramAddr{};
|
||||
u32 pifAddr{};
|
||||
PIF pif;
|
||||
};
|
||||
|
||||
#define SI_DMA_DELAY (65536 * 2)
|
||||
|
||||
Reference in New Issue
Block a user