TM RFD 007 20 SEPTEMBER 1982 TECHNICAL MEMO PRODUCT: RFD DISK DRIVES SUBJECT: OPTION TABLE Percom RFD disk drives for the Atari home computers use an intelligent disk controller. In order to properly handle its functions, a ROM chip containing an Option Table has been developed. This Option Table is located in a 1K RAM chip on the controller board, and can be accessed by request from the computer. Below are tables which will help the programmer in understanding the calls on the Percom controller. Of particular note are the bytes which handle the density of the controller. The Read Option and Write Option commands pertain to the 12 byte Option Table. There is one table set up for each drive. To access these tables, see the SAMPLE program on the Percom Software Support diskette that comes with Percom Double Density drive systems. ============================================================== INDIVIDUAL COMMANDS TABLE TABLE 1 FORMAT 21(hex) FORMAT DISKETTE RDOPT 4E READ OPTION TABLE FOR A DRIVE (TABLE 2) WROPT 4F WRITE OPTION TABLE FOR A DRIVE (TABLE 2) WRSECT 50 WRITE SECTOR WITHOUT VERIFY 51 UNDEFINED RESECT 52 READ SECTOR RESTCM 53 READ STATUS MESSAGE (TABLE 3) 54 UNDEFINED 55 UNDEFINED 56 UNDEFINED 57 WRITE SECTOR WITH VERIFY =============================================================== =============================================================== OPTION TABLE TABLE 2 All 2-byte values are in MSB,LSB format, unlike the 6502 practice which uses LSB,MSB format. BYTE(S) OPTION 0 Number of tracks (This is a literal value) 1 Step Rate (Standard 17xx FDC coding) value rate ----- ---- 00 30 msecs. 01 20 msecs. 02 12 msecs. 03 06 msecs. 2,3 Sectors per track (This is a literal value) 4 Number of Sides 0= 1 side 1= 2 sides any other values will cause unpredictable results 5 Density 00= Single Density 04= Double Density any other values will cause unpredictable results 6,7 Sector Size (bytes per sector. This is a literal value) 8 Drive Present 00= Drive is not present any other value indicates a drive is present 9 ACIA not currently implemented Bytes 10 and 11 are reserved for future expansion ============================================================== DRIVE STATUS TABLE 3 BYTE USE 0 SYSTEM STATUS OF DRIVE value status ----- ------ 32(dec) sector size 0=128 1=256 16 motor on? 8 write protect 4 FDC error 2 data frame error 1 cmd frame error 1 FDC status 2 Timeout for format- How long to wait for response to format 3 Current track where read/write head is located ============================================================== -END-