As I get ready to restart the Sigma project, I've gone back through the Sigma disk specs. My notes are attached. The current simulation module is not accurate, most notably in the way it allows controller/disk pairings that didn't exist in real life.

Comments are welcome.

/Bob
Notes for the Sigma Disk Controllers

Two patterns of disk controllers - "10 byte" sense controllers and "16 byte" 
sense controllers
All disks have 1024B (256W) sectors


model                   units/cylinders/heads/sectors           type

7240/7242               8  / 203 (3 spare) / 20 / 6             10 byte
7260/7261               15 / 203 (3 spare) / 20 / 11            16 byte
7265/7266               15 / 411 (7 spare) / 20 / 11            16 byte
7270/7271               8  / 406 (6 spare) / 20 / 6             10 byte
7275/7276               15 / 411 (7 spare) / 19 / 11            16 byte

T3281/T3282             15 / 815 / 19 / 11                      16 byte
T3281/T3283             15 / 815 / 19 / 17                      16 byte
T3281/T3286             15 / 555 / 30 / 17 (16?)                16 byte
T3281/T3286F            15 / 555 / 60 / 17 (16?)                16 byte
T3281/T3288             15 / 822 / 5 / 17                       16 byte

header format           7240                            726X/727X/T3281

bytes 0-3               flaw / 0 / C / H                flaw / 0'CH / C / H
bytes 4-7               S / alt C / alt H / 0           S / alt CH / alt CL'alt 
H / 0


sense status            7240/7270

bytes 0-3               0'CH / C / H / S                most recent address
bytes 4-7               M'CS / diag / diag / diag       seek intr + current 
sector
bytes 8-11              stat / stat

                        726X/7275

bytes 0-3               W'0'CH / C / H / S              W = write protect, most 
recent address
bytes 4-7               M'R'CS / cnf / stat / 0         M = modifier, R = 
reserve/release mode
bytes 8-11              stat / stat / modi / fiers
bytes 12-15             check / bytes / 0'dh / dl       14-15 = difference

sense byte 5-6

        7240,7270

0-15    header parity check bytes

        726X, 7275, T3281

0       1 for dual access
1-3     device type
        5 = 7261
        6 = 7266
        7 = 7276, T3286
4-7     device physical addr (cable position)

0       device fault
1       write fault
2       loss of on cylinder
3       offset polarity
4       airflow loss
5       parity error on device ID byte
6       spindle speed fault
7       positioning servo faulT

sense byte 7

        7240, 7270              726X, 7275              T3281

0-7     LSB of difference       0                       physical address 
(unique)

sense bytes 8-9

        7240, 7270              726X, 7275, T3281

0       data parity error       check write error
1       check write error       data check error
2       sector verif error      IOP parity error
3       head verif error        data overrun
4       cylinder verif error    head addr incr err
5       sec addr !=0 @ hdr wr   arm in motion err
6       diff sent to device     order parity err
7       sector sel to device    test mode err

0       ctrl sel to device      seek transfer err
1       head sel to device      device unavailable
2       cyl sel sent to device  head addr ver err
3       seek forward set        sector addr ver err
4       read gate to device     cyl addr ver err
5       write/erase to device   726X, 7275: 0
                                T3281: ctrl overtemp
6       read cyl sel to device  channel addr err
7       7240: not used          missing on sect
        7270: MSB of diff

sense bytes 10+

10-11   modifier bits
12-13   check bytes
14      0'diff high
15      diff low (absolute value)


operations                      7240    726X
                                7270    7275
                                        T3281

01      write                   x       x
02      read 2                  x       x
03      seek                    x       x
04      sense                   x       x
05      check-write             x       x
07      reserve                         x
09      header write            x       x
0A      header read             x       x
0F      condition rls intr              x
12      read 1                  x       x
13      select test mode        x       x
17      release                         x
1F      condition rls intr              x
23      release                 x
33      restore                 x       x
83      seek with interrupt     x       x
B3      restore with interrupt          x


TIO, SIO, HIO status

        all

0       interrupt pending
1-2     device state
        00 = ready
        01 = not operational
        10 = reserved
        11 = busy
3       1 (automatic)
4       unusual end
5-6     controller state
        00 = ready
        01,10 = n/a
        11 = busy
7       0

TDV status

        7240, 7270              726X,7275               T3281

0       data overrun            0                       error corrected
1       flaw mark               flaw mark               flaw mark
2       sector unavailable      programming err         programming err
3       0                       write prot err          write prot err
4       header verif error      IOP parity err          IOP parity err
5       on cylinder             operational err         operational err
6       seek timeout error      verification err        verification err
7       header parity error     header parity err       header parity err

AIO status

        7240, 7270              726X, 7275, T3281

0       data overrun            data overrun
1       0                       attn int ack
2       0                       rls int ack
3       0                       0
4       on sector interrupt     on sector intr
5       on cylinder             0
6       seek timeout error      seek timeout error
7       0                       0

operational status byte (SIO, HIO, TIO, TDV)

        all

8       incorrect lnt
9       xmit data error
10      xmit memory err
11      mem addr err
12      IOP memory err
13      IOP ctrl err
14      IOP halt
15      0

operational status byte (AIO)

        all

8       incorrect lnt
9       xmit data error
10      zero byte cnt intr
11      channel end intr
12      unusual end intr
13-15   0


_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to