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