|
|
1.1 root 1: /* xebec.h */
2:
3: /* Xebec S1410 5.25 inch Winchester Disk Controller */
4:
1.1.1.2 ! root 5: /*=============================================================================
! 6: * The following is structure of the Xebec disk controller registers.
! 7: * You may notice that every other byte has been swapped. This is due
! 8: * to the way the 68000 does byte transfers. See the User's Manual for
! 9: * details.
! 10: *=============================================================================
! 11: */
1.1 root 12: struct xbdcb { /* Xebec disk controller regs. */
13: char xunit; /* unit/high-order address bits */
1.1.1.2 ! root 14: char xop; /* command class/opcode */
1.1 root 15: char xladdr; /* low-order address bits */
1.1.1.2 ! root 16: char xmaddr; /* middle-order address bits */
1.1 root 17: char xcntl; /* control field */
1.1.1.2 ! root 18: char xcount; /* block count */
1.1 root 19: char xres2; /* reserved field #2 */
1.1.1.2 ! root 20: char xres1; /* reserved field #1 */
1.1 root 21: };
22:
23: /* Xebec controller operation codes */
24:
25: #define XOTDR 0 /* Test Drive Ready */
26: #define XORCAL 1 /* Recalibrate */
27: #define XONONO 2 /* Reserved (is a no-no) */
28: #define XORSS 3 /* Request Sense Status */
29: #define XOFMTD 4 /* Format Drive */
30: #define XOCTF 5 /* Check Track Format */
31: #define XOFMTT 6 /* Format Track */
32: #define XOFMTBT 7 /* Format Bad Track */
33: #define XOREAD 8 /* Read */
34: #define XONO2 9 /* Reserved (is also a no-no) */
35: #define XOWRITE 10 /* Write */
36: #define XOSEEK 11 /* Seek */
37: #define XOINIT 12 /* Initialize Drive Character. */
38: #define XOREBEL 13 /* Read ECC Burst Error Length */
39: #define XORAMD 14 /* Perform RAM Diagnostic Test */
40:
41: #define XRETRY 0 /* retry control byte */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.