XF551 SIO-Level Commands

From: Michael Current (mcurrent@carleton.edu)
Date: 07/22/98-05:49:47 PM Z


From: Michael Current <mcurrent@carleton.edu>
Subject: XF551 SIO-Level Commands
Date: Wed Jul 22 17:49:47 1998

From: Jeff Potter <jdpotter@worldnet.att.net>
>Newsgroups: comp.sys.atari.8bit
Date: Mon, 15 Jun 1998 21:20:19 -0400

Frank-Oliver Malisch wrote:

> is there a document available containing all the
> SIO-level commands an XF551 drive understands
> (including parameter options) or does one have
> to reengineer that from the drive operating
> under sparta dos ???

Here's something I found (posted by Matthias Belitz, Feb 1, 1997):

$52     R       Read sector
$50     P       Write sector
$57     W       Write sector with verify
$53     S       get controller status, returns 4 bytes
        byte 0  drive status
                bit 0 - Command frame error
                bit 1 - Checksum error
                bit 2 - Operation error
                bit 3 - Write protect
                bit 4 - Motor on
                bit 5 - double density
                bit 6 - unused
                bit 7 - Dual (medium) density
        byte 1  controller status, returnd values are inverted
                bit 0 - busy
                bit 1 - drq
                bit 2 - lost data
                bit 3 - crc error
                bit 4 - record not found
                bit 5 - record type
                bit 6 - write protect
                bit 7 - not ready
        byte 2 time-out (format); $e0
        byte 3 unused; always 0
$21     !       format disk (single for 810 and stock 1050)
                as defined by CMD $4f for upgraded 1050 and XF 551
                (heard, that they will give back 128/256 bytes?)
$22     "       format enhanced (medium, dual) density (1050)

This was the standard command set of 1050 (810) drives

$4e     N       read drive configuration; returns 12 bytes
        byte 0  number of tracks [1 for harddisks)
        byte 1  step rate
        byte 2  sectors/track high (total number for harddisks)
        byte 3  sectors/track low
        byte 4  number of heads decreased by one
        byte 5  format (0=FM; 4=MFM)
        byte 6  bytes/sector high
        byte 7  bytes/sector low
        byte 8  drive activated
        bytes 9-11 unused
$4f     O       write drive configuration; see above
$3f     ?       get high-speed-index
                Happy, US-Doubler, HDI (Germany) return $0a
                Speedy (Germany) returns $09
These are supported by all double density drives.

Special Speedy (Germany) commands:
$20             format automatically, acts like $21, but computer has not
to wait till
drive is ready
$51             stop write command, writes all data from internal buffer to
disk, stop
motor then
$44             configure drive/track display
$4b             configure slow/fast
$4c             direct jump command for internal processor of 1050
                jumps to location stored in DAUX,$30a
$4d             jump, as above, but drive sends a "COMPLETE" before jumping
$41             add/remove command to/from internal command table
$68             get length of internal high-speed-SIO-subroutine
$69             send high-speed-SIO-routine to computer
$60             write track, writes complete track
$62             read track

US-Doubler:
$66             format disk with special sector-skew

(no guarantees)

Jeff Potter


-----------------------------------------
Return to message index