Skip to main content
Home Forums 68kMLA NuBus IDE Controller Card Project!?! =8-O — #4
Post #4 by johnklos
Source Forum68kMLA
CategoryDevelopment
Post DateThu, 13 Jan 2011 - 03:48
Original URLhttps://68kmla.org/bb/threads/nubus-ide-controller-card-project-8-o.22070/
Post
There's no real sense in having a processor, 8 bit or otherwise, do the work of transferring data since MacOS doesn't do anything but busy wait on disk access.

When I used to run MacOS on ShapeShifter on my Amiga, I could easily tell how much the MacOS environment was busy waiting by comparing direct access with access through AmigaDOS. Direct access let MacOS treat a disk as its own SCSI device, and the system would stay busy whenever disk activity happened. Going through AmigaDOS, though, was completely different - MacOS would pause while waiting for data (and therefore idle and give up the CPU) and the data would be transferred by AmigaDOS using real DMA (I had a very nice and speedy DMA SCSI interface), so the system would essentially be idle for other processes while MacOS was waiting and DMA was handing disk activity in the background.

ATA PIO mode 0 can run up to 3.3 MB/sec and mode 2 can do up to 8 MB/sec which would probably be more than a Quadra could handle anyway, so using the CPU to do PIO would probably be just as efficient as any sort of DMA modes or offloaded work.

Ironically, the Amiga 1200 and 4000 had a CPU-intensive IDE interface built in when they were some of the few personal computers at the time which could truly take advantage of DMA. Goes to show how ass-backwards Commodore was.

mp.ls