Spildit wrote:
fzabkar wrote:
guru wrote:
A nice FPGA setup would be able to emulate the translation :)
I could probably find out all we need to know by getting a standard IDE HDD to sniff its own ATA traffic. I have some other ideas, but I'm waiting for the OP to come back with some info.
S.M.A.R.T. Error Log ?
:D :D :D
ISTM that the logical approach to the problem of why some ATAPI/ATA devices work while others don't is to start by querying their capabilities with an Identify Device or Identify Packet Device command. That's the HDAT2 information that I'm waiting for. My preliminary search of Iomega's old web site hasn't turned up much in this regard except that the Zip drive's maximum burst transfer rate is 3.3 MB/sec. That's consistent with PIO mode 0.
Zip ATAPI drive specifications:
http://web.archive.org/web/199904211707 ... ispec.htmlCode:
Burst transfer rate: up to 26.7 Mbits/sec (3.3 MB/sec)
Sustained transfer rate: up to 11.2 Mbits/sec (1.4 MB/sec)
http://en.wikipedia.org/wiki/AT_Attachm ... sfer_modesCode:
Mode # Xfer rate Cycle time
---------------------------------------------
PIO 0 3.3MB/s 600ns
Single-word DMA 0 2.1MB/s 960ns
DMA 1 4.2MB/s 480ns
My theory is that the SP-808 may be wired for PIO mode only, but that its firmware may be trying to use DMA mode for those devices that report this capability. An examination of the circuit diagrams in the service manual may help.
There is a Roland SP-808 user group that appears to have this manual, if the OP would like to obtain it for us ...
http://webcache.googleusercontent.com/s ... sage/13572https://groups.yahoo.com/group/SP-808US ... sage/13572Quote:
The service manual is located in the "Files" area of this forum.
Look in PDF folder, first one I think.. "Sevice Notes".
I would also like to see the Identify Packet Device info block for the Akai MPC2000XL MCD. If this device also reports PIO mode only, then this will lend more weight to my theory.
In the past I have hacked the firmware in a Ricoh 2x CD burner. It reported PIO mode only but I extracted its Identify Packet Device information block and turned on its DMA bits (and recalculated two checksums). The burner then reported that it supported DMA, Windows's DMA checkbox remained enabled, and the burner's transfer rate increased slightly but measurably. In the OP's case we could take an old Seagate drive and use "set stuff" or the ATA DCO commands to disable DMA reporting. If the drive then functions properly within the Roland machine, this will be our proof of concept.
As for sniffing ATA traffic, my idea is to use MHDD to create a pseudo-uncorrectable sector 0 using the ATA READ LONG, SCT READ LONG, or WRITE UNCORRECTABLE commands. I would expect that a typical startup axis would involve sending the following commands to an ATAPI/ATA device:
IDENTIFY PACKET DEVICE
if error, then IDENTIFY DEVICE
SET FEATURES - set PIO/MWDMA/UDMA mode n
READ SECTOR 0
When the drive errors out on the READ command, it will log the 5 most recent ATA commands in its internal error log. This log can be retrieved with standard ATA commands.
Just for reference ...
Product Manuals for Zip, Jaz, Clik!
http://web.archive.org/web/199904280943 ... nuals.htmlZip ATAPI Installation Guide for VAR's and Integrators:
http://web.archive.org/web/200009180400 ... 325401.pdfZip ATAPI User's Guide:
http://web.archive.org/web/200106122147 ... 330001.pdfZip ATAPI Internal Owner's Guide:
http://web.archive.org/web/200008170955 ... 358101.pdf