SIO Command set (1050/810)

 

The standard command set of 1050 (810) drives:

$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, returned 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)

Special 1050 diagnostic commands:

$23     special diagnostic command, must be followed by CMD $24 first byte is the command

    $00     RPM-measurement

    $01     motor speed-up time

    $02     step-rate

    $03     do half-steps

    $04     write-test

    $05     seek on track

$24     get results of $23 CMD

These are supported by all double density 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

    byte 9 unused

    byte 10 unused

    byte 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