mirror of
https://github.com/dingusdev/dingusppc.git
synced 2025-03-12 09:29:47 +00:00
dbdma: support INT_SELECT & WAIT_SELECT registers.
This commit is contained in:
parent
6eb6a5892d
commit
9db3076a48
@ -272,9 +272,15 @@ void DMAChannel::reg_write(uint32_t offset, uint32_t value, int size) {
|
||||
LOG_F(9, "CommandPtrLo set to 0x%X", this->cmd_ptr);
|
||||
}
|
||||
break;
|
||||
case DMAReg::INT_SELECT:
|
||||
this->int_select = value & 0xFF00FFUL;
|
||||
break;
|
||||
case DMAReg::BRANCH_SELECT:
|
||||
this->branch_select = value & 0xFF00FFUL;
|
||||
break;
|
||||
case DMAReg::WAIT_SELECT:
|
||||
this->wait_select = value & 0xFF00FFUL;
|
||||
break;
|
||||
default:
|
||||
LOG_F(WARNING, "Unsupported DMA channel register 0x%X", offset);
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ enum DMAReg : uint32_t {
|
||||
CMD_PTR_LO = 12,
|
||||
INT_SELECT = 16,
|
||||
BRANCH_SELECT = 20,
|
||||
WAIT_SELECT = 24,
|
||||
};
|
||||
|
||||
/** Channel Status bits (DBDMA spec, 5.5.3) */
|
||||
@ -119,6 +120,7 @@ private:
|
||||
uint8_t* queue_data = 0;
|
||||
uint32_t int_select = 0;
|
||||
uint32_t branch_select = 0;
|
||||
uint32_t wait_select = 0;
|
||||
|
||||
bool cmd_in_progress = false;
|
||||
uint8_t cur_cmd;
|
||||
|
Loading…
x
Reference in New Issue
Block a user