mirror of
https://github.com/dingusdev/dingusppc.git
synced 2025-02-07 10:31:06 +00:00
grandcentral: pass Curio DREQ state to its DMA channel.
Bit 5 of the channel status register of the SCSI0 DMA channel reflects the DREQ signal from Curio. The old SCSI API still used in some Macintosh applications - most notably HD SC Setup and Drive Setup - relies on this API and that signal to be implemented.
This commit is contained in:
parent
86ce9b0bb1
commit
c6116fcc88
@ -126,6 +126,9 @@ GrandCentral::GrandCentral() : PCIDevice("mac-io/grandcentral"), InterruptCtrl()
|
||||
this->curio_dma = std::unique_ptr<DMAChannel> (new DMAChannel("curio_scsi"));
|
||||
this->curio_dma->register_dma_int(this, this->register_dma_int(IntSrc::DMA_SCSI_CURIO));
|
||||
this->curio->set_dma_channel(this->curio_dma.get());
|
||||
this->curio->set_drq_callback([this](const uint8_t drq_state) {
|
||||
this->curio_dma->set_stat((drq_state & 1) << 5);
|
||||
});
|
||||
|
||||
// connect Ethernet HW
|
||||
this->mace = dynamic_cast<MaceController*>(gMachineObj->get_comp_by_name("Mace"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user