i should implement DSP DMA...

This commit is contained in:
2026-05-20 17:55:07 +02:00
parent f9ab690ccd
commit 35f20a16b8
15 changed files with 500 additions and 25 deletions
+12 -1
View File
@@ -17,7 +17,7 @@ struct broadway {
void execute(ircolib::u32, mem &);
bool disasm_available = true;
ircolib::u32 pc = 0, lr = 0, ctr = 0, cr = 0, srr0 = 0, fpscr = 0, msr = 0;
ircolib::u32 pc = 0, lr = 0, ctr = 0, cr = 0, srr0 = 0, fpscr = 0, msr = 0, tbl = 0, tbu = 0;
union {
struct {
unsigned bytecount : 7;
@@ -66,6 +66,9 @@ struct broadway {
void andis(ircolib::u32);
void and(ircolib::u32);
void add(ircolib::u32);
void addc(ircolib::u32);
void adde(ircolib::u32);
void addze(ircolib::u32);
void addis(ircolib::u32);
void addi(ircolib::u32);
void addic(ircolib::u32);
@@ -79,6 +82,7 @@ struct broadway {
void stw(ircolib::u32, mem &);
void stb(ircolib::u32, mem &);
void stwu(ircolib::u32, mem &);
void sthu(ircolib::u32, mem &);
void stwx(ircolib::u32, mem &);
void stbu(ircolib::u32, mem &);
void sth(ircolib::u32, mem &);
@@ -86,6 +90,7 @@ struct broadway {
void lwz(ircolib::u32, mem &);
void lwzx(ircolib::u32, mem &);
void lhz(ircolib::u32, mem &);
void lhzx(ircolib::u32, mem &);
void lfd(ircolib::u32, mem &);
void bclrx(ircolib::u32);
void cmpi(ircolib::u32);
@@ -106,8 +111,14 @@ struct broadway {
void mulli(ircolib::u32);
void nand(ircolib::u32);
void subf(ircolib::u32);
void subfc(ircolib::u32);
void subfic(ircolib::u32);
void subfe(ircolib::u32);
void or (ircolib::u32);
void xori(ircolib::u32);
void divwu(ircolib::u32);
void mftb(ircolib::u32);
void sraw(ircolib::u32);
inline void cr0_update(bool condition, ircolib::s32 result) {
if (condition) {