On Feb 11, 2016, at 3:24 AM, Mark Cave-Ayland wrote:
On 09/02/16 15:28, Programmingkid wrote:
On Feb 9, 2016, at 10:05 AM, Alyssa Milburn wrote:
On Tue, Feb 09, 2016 at 09:47:57AM -0500, Programmingkid wrote:
You can assign addresses for serial DMA and even OS 9 will try poking at the dbdma controller, so this is just a question of hooking up the qemu side. I can try doing this later today if it's useful..
It is definitely useful. The ability to run Mac OS 9 in QEMU depends on it.
After a few days spent poking through the startup process in MacsBug, I'm not sure this is true. But I'll hook it up later (if someone else doesn't do it first).
You may be right. This code on Mac OS X does not allow the driver to work because of DMA issues. It is from the PPCSerialPort.cpp file.
// Calls the DMA function that knows how to // handle all the different hardware: SccSetDMARegisters(&Port, provider); if ((Port.TxDBDMAChannel.dmaChannelAddress == NULL) || (Port.TxDBDMAChannel.dmaBase == NULL) || (Port.RxDBDMAChannel.dmaChannelAddress == NULL) || (Port.RxDBDMAChannel.dmaBase == NULL)) return false;
From memory, we got away with just not having the DBDMA properties present in the reg property when booting OS X for this reason: if they are empty then they are simply ignored. Obviously OS 9 has slightly different ideas here ;)
Definitely. I'm hoping we can fix this problem and hope it helps Mac OS 9 as well.