mirror of
https://github.com/dingusdev/dingusppc.git
synced 2025-02-07 10:31:06 +00:00
dbdma: Allow Stop command to set xferStatus.
Some software may check the status flags of a Stop DBDMA descriptor.
This commit is contained in:
parent
50e661f804
commit
f415a63b76
@ -131,6 +131,7 @@ uint8_t DMAChannel::interpret_cmd() {
|
|||||||
case DBDMA_Cmd::STOP:
|
case DBDMA_Cmd::STOP:
|
||||||
this->ch_stat &= ~CH_STAT_ACTIVE;
|
this->ch_stat &= ~CH_STAT_ACTIVE;
|
||||||
this->cmd_in_progress = false;
|
this->cmd_in_progress = false;
|
||||||
|
this->finish_cmd();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG_F(ERROR, "%s: Unsupported DMA command 0x%X", this->get_name().c_str(),
|
LOG_F(ERROR, "%s: Unsupported DMA command 0x%X", this->get_name().c_str(),
|
||||||
@ -202,7 +203,7 @@ void DMAChannel::finish_cmd() {
|
|||||||
this->res_count = 0;
|
this->res_count = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!branch_taken)
|
if (this->cur_cmd < DBDMA_Cmd::STOP && !branch_taken)
|
||||||
this->cmd_ptr += 16;
|
this->cmd_ptr += 16;
|
||||||
|
|
||||||
this->cmd_in_progress = false;
|
this->cmd_in_progress = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user