Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:hardware:8272-pd765

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
back2root:ibm-pc-ms-dos:hardware:8272-pd765 [2023/02/23 22:15] – [Floppy Diskette Controller Operations (15 commands)] fraterback2root:ibm-pc-ms-dos:hardware:8272-pd765 [2023/02/23 22:30] (Version actuelle) – [Key to Abbreviations] frater
Ligne 182: Ligne 182:
 | result byte 5:   | sector number                                                                    |||||||| | result byte 5:   | sector number                                                                    ||||||||
 | result byte 6:   | bytes per sector                                                                 |||||||| | result byte 6:   | bytes per sector                                                                 ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Read Deleted Data  ^  D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:    |  MT                                  |  MF  |  SK  |  0    1    1    0    |  0    |
 +| command byte 1:    |  ?                                    ?    ?    ?    ?    HD  |  US1  |  US0  |
 +| command byte 2:    | cylinder number                                                                  ||||||||
 +| command byte 3:    | head number                                                                      ||||||||
 +| command byte 4:    | sector number                                                                    ||||||||
 +| command byte 5:    | bytes per sector                                                                 ||||||||
 +| command byte 6:    | end of track (last sector in track)                                              ||||||||
 +| command byte 7:    | gap 3 length                                                                     ||||||||
 +| command byte 8:    | data length (if cmd byte 5==0)                                                   ||||||||
 +| result byte 0:     | status register 0                                                                ||||||||
 +| result byte 1:     | status register 1                                                                ||||||||
 +| result byte 2:     | status register 2                                                                ||||||||
 +| result byte 3:     | cylinder number                                                                  ||||||||
 +| result byte 4:     | head number                                                                      ||||||||
 +| result byte 5:     | sector number                                                                    ||||||||
 +| result byte 6:     | bytes per sector                                                                 ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Write Data        D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:  |  MT                                  |  MF  |  0    0    0    1    0    |  1    |
 +| command byte 1:  |  ?                                    ?    ?    ?    ?    HD  |  US1  |  US0  |
 +| command byte 2:  | cylinder number                                                                  ||||||||
 +| command byte 3:  | head number                                                                      ||||||||
 +| command byte 4:  | sector number                                                                    ||||||||
 +| command byte 5:  | bytes per sector                                                                 ||||||||
 +| command byte 6:  | end of track (last sector in track)                                              ||||||||
 +| command byte 7:  | gap 3 length                                                                     ||||||||
 +| command byte 8:  | data length (if cmd byte 5==0)                                                   ||||||||
 +| result byte 0:   | status register 0                                                                ||||||||
 +| result byte 1:   | status register 1                                                                ||||||||
 +| result byte 2:   | status register 2                                                                ||||||||
 +| result byte 3:   | cylinder number                                                                  ||||||||
 +| result byte 4:   | head number                                                                      ||||||||
 +| result byte 5:   | sector number                                                                    ||||||||
 +| result byte 6:   | bytes per sector                                                                 ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Write Deleted Data  ^  D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:      MT                                  |  MF  |  0    0    1    0    0    |  1    |
 +| command byte 1:      ?                                    ?    ?    ?    ?    HD  |  US1  |  US0  |
 +| command byte 2:     | cylinder number                                                                  ||||||||
 +| command byte 3:     | head number                                                                      ||||||||
 +| command byte 4:     | sector number                                                                    ||||||||
 +| command byte 5:     | bytes per sector                                                                 ||||||||
 +| command byte 6:     | end of track (last sector in track)                                              ||||||||
 +| command byte 7:     | gap 3 length                                                                     ||||||||
 +| command byte 8:     | data length (if cmd byte 5==0)                                                   ||||||||
 +| result byte 0:      | status register 0                                                                ||||||||
 +| result byte 1:      | status register 1                                                                ||||||||
 +| result byte 2:      | status register 2                                                                ||||||||
 +| result byte 3:      | cylinder number                                                                  ||||||||
 +| result byte 4:      | head number                                                                      ||||||||
 +| result byte 5:      | sector number                                                                    ||||||||
 +| result byte 6:      | bytes per sector                                                                 ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Read a Track\\ (Diagnostic)  ^  D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:              |  0                                    MF  |  SK  |  0    0    0    1    |  0    |
 +| command byte 1:              |  ?                                    ?    ?    ?    ?    HD  |  US1  |  US0  |
 +| command byte 2:              | cylinder number                                                                  ||||||||
 +| command byte 3:              | head number                                                                      ||||||||
 +| command byte 4:              | sector number                                                                    ||||||||
 +| command byte 5:              | bytes per sector                                                                 ||||||||
 +| command byte 6:              | end of track (last sector in track)                                              ||||||||
 +| command byte 7:              | gap 3 length                                                                     ||||||||
 +| command byte 8:              | data length (if cmd byte 5==0)                                                   ||||||||
 +| result byte 0:               | status register 0                                                                ||||||||
 +| result byte 1:               | status register 1                                                                ||||||||
 +| result byte 2:               | status register 2                                                                ||||||||
 +| result byte 3:               | cylinder number                                                                  ||||||||
 +| result byte 4:               | head number                                                                      ||||||||
 +| result byte 5:               | sector number                                                                    ||||||||
 +| result byte 6:               | bytes per sector                                                                 ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Read ID          ^  D7                ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:  |  0                  MF  |  0    0    1    0    1    |  0    |
 +| command byte 1:  |  ?                  ?    ?    ?    ?    HD  |  US1  |  US0  |
 +| result byte 0:   | status register 0                                              ||||||||
 +| result byte 1:   | status register 1                                              ||||||||
 +| result byte 2:   | status register 2                                              ||||||||
 +| result byte 3:   | cylinder number                                                ||||||||
 +| result byte 4:   | head number                                                    ||||||||
 +| result byte 5:   | sector number                                                  ||||||||
 +| result byte 6:   | bytes per sector                                               ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Format a Track\\ (Write Sector IDs)  ^  D7                                    D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:                      |  0                                    |  MF  |  0    0    1    1    0    |  1    |
 +| command byte 1:                      |  ?                                    |  ?    ?    ?    ?    HD  |  US1  |  US0  |
 +| command byte 2:                      | bytes per sector                                                                  ||||||||
 +| command byte 3:                      | sectors per track                                                                 ||||||||
 +| command byte 4:                      | gap 3 length                                                                      ||||||||
 +| command byte 5:                      | filler pattern to write in each byte                                              ||||||||
 +| result byte 0:                       | status register 0                                                                 ||||||||
 +| result byte 1:                       | status register 1                                                                 ||||||||
 +| result byte 2:                       | status register 2                                                                 ||||||||
 +| result byte 3:                       | cylinder number                                                                   ||||||||
 +| result byte 4:                       | head number                                                                       ||||||||
 +| result byte 5:                       | sector number                                                                     ||||||||
 +| result byte 6:                       | bytes per sector                                                                  ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Scan Equal        D7                                              ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:  |  MT                                              |  MF  |  SK  |  1    0    0    0    |  1    |
 +| command byte 1:  |  ?                                                ?    ?    ?    ?    HD  |  US1  |  US0  |
 +| command byte 2:  | cylinder number                                                                              ||||||||
 +| command byte 3:  | head number                                                                                  ||||||||
 +| command byte 4:  | sector number                                                                                ||||||||
 +| command byte 5:  | bytes per sector                                                                             ||||||||
 +| command byte 6:  | end of track (last sector in track)                                                          ||||||||
 +| command byte 7:  | gap 3 length                                                                                 ||||||||
 +| command byte 8:  | scan test (1=scan contiguous, 2=scan alternate)                                              ||||||||
 +| result byte 0:   | status register 0                                                                            ||||||||
 +| result byte 1:   | status register 1                                                                            ||||||||
 +| result byte 2:   | status register 2                                                                            ||||||||
 +| result byte 3:   | cylinder number                                                                              ||||||||
 +| result byte 4:   | head number                                                                                  ||||||||
 +| result byte 5:   | sector number                                                                                ||||||||
 +| result byte 6:   | bytes per sector                                                                             ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Scan Low or Equal  ^  D7                                              ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:    |  MT                                              |  MF  |  SK  |  1    1    0    0    |  1    |
 +| command byte 1:    |  ?                                                ?    ?    ?    ?    HD  |  US1  |  US0  |
 +| command byte 2:    | cylinder number                                                                              ||||||||
 +| command byte 3:    | head number                                                                                  ||||||||
 +| command byte 4:    | sector number                                                                                ||||||||
 +| command byte 5:    | bytes per sector                                                                             ||||||||
 +| command byte 6:    | end of track (last sector in track)                                                          ||||||||
 +| command byte 7:    | gap 3 length                                                                                 ||||||||
 +| command byte 8:    | scan test (1=scan contiguous, 2=scan alternate)                                              ||||||||
 +| result byte 0:     | status register 0                                                                            ||||||||
 +| result byte 1:     | status register 1                                                                            ||||||||
 +| result byte 2:     | status register 2                                                                            ||||||||
 +| result byte 3:     | cylinder number                                                                              ||||||||
 +| result byte 4:     | head number                                                                                  ||||||||
 +| result byte 5:     | sector number                                                                                ||||||||
 +| result byte 6:     | bytes per sector                                                                             ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Scan High or Equal  ^  D7                                              ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:      MT                                              |  MF  |  SK  |  1    1    1    0    |  1    |
 +| command byte 1:      ?                                                ?    ?    ?    ?    HD  |  US1  |  US0  |
 +| command byte 2:     | cylinder number                                                                              ||||||||
 +| command byte 3:     | head number                                                                                  ||||||||
 +| command byte 4:     | sector number                                                                                ||||||||
 +| command byte 5:     | bytes per sector                                                                             ||||||||
 +| command byte 6:     | end of track (last sector in track)                                                          ||||||||
 +| command byte 7:     | gap 3 length                                                                                 ||||||||
 +| command byte 8:     | scan test (1=scan contiguous, 2=scan alternate)                                              ||||||||
 +| result byte 0:      | status register 0                                                                            ||||||||
 +| result byte 1:      | status register 1                                                                            ||||||||
 +| result byte 2:      | status register 2                                                                            ||||||||
 +| result byte 3:      | cylinder number                                                                              ||||||||
 +| result byte 4:      | head number                                                                                  ||||||||
 +| result byte 5:      | sector number                                                                                ||||||||
 +| result byte 6:      | bytes per sector                                                                             ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Recalibrate      ^  D7  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:  |  0    0    0    0    0    1    1    |  1    |
 +| command byte 1:  |  ?    ?    ?    ?    ?    0    US1  |  US0  |
 +| returns nothing  |                                                  ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Sense Interrupt\\ Status  ^  D7                      ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1  ^  D0  ^
 +| command byte 0:            0                        0    0    0    1    0    0    0   |
 +| result byte 0:            | status register 0                                                  ||||||||
 +| result byte 1:            | present cylinder number                                            ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Specify Step & \\ Head Load  ^  D7                                ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1  ^  D0  ^
 +| command byte 0:              |  0                                  0    0    0    0    0    1    1   |
 +| command byte 1:              | step rate time - head unload time                                            ||||||||
 +| command byte 2:              | ------head load time------ ND                                                ||||||||
 +| returns nothing              |                                                                              ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Sense Drive\\ Status  ^  D7                ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:        0                  0    0    0    0    1    0    |  0    |
 +| command byte 1:        ?                  ?    ?    ?    ?    HD  |  US1  |  US0  |
 +| result byte 0:        | status register 3                                              ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Seek              D7                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^
 +| command byte 0:  |  0                    0    0    0    1    1    1    |  1    |
 +| command byte 1:  |  ?                    ?    ?    ?    ?    HD  |  US1  |  US0  |
 +| command byte 2:  | new cylinder number                                              ||||||||
 +| returns nothing  |                                                                  ||||||||
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ µPD765 Version    D7                                          D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1  ^  D0  ^
 +| command byte 0:  |  ?                                          |  ?    ?    1    0    0    0    0   |
 +| result byte 0:   | status register 0                                                                     ||||||||
 +|                  | 90h = µPD765B;  80h = µPD765A or µPD765A-2                                            ||||||||
  
-|Read Deleted Data  | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ +|Invalid Command                                                      
-|command byte 0:    |MT | MF | SK |0 |  1 |1 |  0 |0                           | +|result byte 0:    |status register 0 (value of 80h)                    |
-|command byte 1:    | ? |? |  ? |? |  ? | HD | US1 |US0                        | +
-|command byte 2:    |cylinder number                                    |||||||| +
-|command byte 3:    |head number                                        |||||||| +
-|command byte 4:    |sector number                                      |||||||| +
-|command byte 5:    |bytes per sector                                   |||||||| +
-|command byte 6:    |end of track (last sector in track)                |||||||| +
-|command byte 7:    |gap 3 length                                       |||||||| +
-|command byte 8:    |data length (if cmd byte 5==0)                     |||||||+
-|result byte 0:    |status register 0                                   |||||||| +
-|result byte 1:    |status register 1                                   |||||||| +
-|result byte 2:    |status register 2                                   |||||||| +
-|result byte 3:    |cylinder number                                     |||||||| +
-|result byte 4:    |head number                                         |||||||| +
-|result byte 5:    |sector number                                       |||||||| +
-|result byte 6:    |bytes per sector                                    ||||||||+
  
-|Write Data        | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1   ^  D0   +=== Key to Abbreviations === 
-|command byte 0:    |MT | MF |  0 |0 |  0 |1 |  0 |1                           +{{tablelayout?rowsHeaderSource=Auto}} 
-|command byte 1:    | ? |? |  ? |? |  ? | HD | US1 | US0                        | +^  HD   | Head Number Selected            | 
-|command byte 2:    |cylinder number                                    |||||||+^  MT   | Multi-Track                     
-|command byte 3:    |head number                                        |||||||| + MF   MFM mode                        | 
-|command byte 4:    |sector number                                      |||||||| +^  ND   Non-DMA mode                    
-|command byte 5:    |bytes per sector                                   |||||||| +^  SK   SKip Deleted-data address mark  
-|command byte 6:    |end of track (last sector in track)                |||||||| +^  US0  drive select bit              
-|command byte 7:    |gap 3 length                                       |||||||| +^  US1  drive select bit              |
-|command byte 8:    |data length (if cmd byte 5==0)                     |||||||+
-|result byte 0:    |status register 0                                   |||||||+
-|result byte 1:    |status register 1                                   |||||||| +
-|result byte 2:    |status register 2                                   |||||||| +
-|result byte 3:    |cylinder number                                     |||||||| +
-|result byte 4:    |head number                                         |||||||| +
-|result byte 5:    |sector number                                       |||||||| +
-|result byte 6:    |bytes per sector                                    ||||||||+
  
-|Write Deleted Data | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1   ^  D0   ^ +  * Head Load Time = 2 to 254ms in 2ms increments 
-|command byte 0:    |MT | MF |  0| 0 |  1 |0 |  0 |1                           | +  * Head Unload Time = 16 to 240ms in 16ms increments 
-|command byte 1:    | ? |? |  ? |? |  ? | HD | US1 |US0                        | +  * Step Rate Time = 1 to 16ms in 1ms increments
-|command byte 2:    |cylinder number                                    |||||||| +
-|command byte 3:    |head number                                        |||||||| +
-|command byte 4:    |sector number                                      |||||||| +
-|command byte 5:    |bytes per sector                                   |||||||| +
-|command byte 6:    |end of track (last sector in track)                |||||||| +
-|command byte 7:    |gap 3 length                                       |||||||| +
-|command byte 8:    |data length (if cmd byte 5==0)                     |||||||| +
-|result byte 0:    |status register 0                                   |||||||| +
-|result byte 1:    |status register 1                                   |||||||| +
-|result byte 2:    |status register 2                                   |||||||| +
-|result byte 3:    |cylinder number                                     |||||||| +
-|result byte 4:    |head number                                         |||||||| +
-|result byte 5:    |sector number                                       |||||||| +
-|result byte 6:    |bytes per sector                                    ||||||||+
  
-|Read a Track\\ (Diagnostic)| D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    | 0 | MF | SK |0 |  0 |0 |  1 |0                           | 
-|command byte 1:    | ? |? |  ? |? |  ?|  HD | US1| US0                        | 
-|command byte 2:    |cylinder number                                    |||||||| 
-|command byte 3:    |head number                                        |||||||| 
-|command byte 4:    |sector number                                      |||||||| 
-|command byte 5:    |bytes per sector                                   |||||||| 
-|command byte 6:    |end of track (last sector in track)                |||||||| 
-|command byte 7:    |gap 3 length                                       |||||||| 
-|command byte 8:    |data length (if cmd byte 5==0)                     |||||||| 
-|result byte 0:    |status register 0                                   |||||||| 
-|result byte 1:    |status register 1                                   |||||||| 
-|result byte 2:    |status register 2                                   |||||||| 
-|result byte 3:    |cylinder number                                     |||||||| 
-|result byte 4:    |head number                                         |||||||| 
-|result byte 5:    |sector number                                       |||||||| 
-|result byte 6:    |bytes per sector                                    |||||||| 
- 
-|Read ID          | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    | 0 | MF |  0 |0 |  1 |0  | 1 |0                           | 
-|command byte 1:    | ?| ? |  ?| ? |  ? | HD | US1 |US0                        | 
-|result byte 0:    |status register 0                                   |||||||| 
-|result byte 1:    |status register 1                                   |||||||| 
-|result byte 2:    |status register 2                                   |||||||| 
-|result byte 3:    |cylinder number                                     |||||||| 
-|result byte 4:    |head number                                         |||||||| 
-|result byte 5:    |sector number                                       |||||||| 
-|result byte 6:    |bytes per sector                                    |||||||| 
- 
-|Format a Track\\ (Write Sector IDs)   | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    | 0 | MF |  0 |0 |  1 |1 |  0| 1                           | 
-|command byte 1:    | ? |? |  ? |? |  ? | HD | US1 |US0                        | 
-|command byte 2:    |bytes per sector                                   |||||||| 
-|command byte 3:    |sectors per track                                  |||||||| 
-|command byte 4:    |gap 3 length                                       |||||||| 
-|command byte 5:    |filler pattern to write in each byte               |||||||| 
-|result byte 0:    |status register 0                                   |||||||| 
-|result byte 1:    |status register 1                                   |||||||| 
-|result byte 2:    |status register 2                                   |||||||| 
-|result byte 3:    |cylinder number                                     |||||||| 
-|result byte 4:    |head number                                         |||||||| 
-|result byte 5:    |sector number                                       |||||||| 
-|result byte 6:    |bytes per sector                                    |||||||| 
- 
-|Scan Equal        | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    |MT | MF | SK 1 |  0 |0  | 0 |1                           | 
-|command byte 1:    | ? |? |  ? |? |  ?  |HD | US1 |US0                        | 
-|command byte 2:    |cylinder number                                    |||||||| 
-|command byte 3:    |head number                                        |||||||| 
-|command byte 4:    |sector number                                      |||||||| 
-|command byte 5:    |bytes per sector                                   |||||||| 
-|command byte 6:    |end of track (last sector in track)                |||||||| 
-|command byte 7:    |gap 3 length                                       |||||||| 
-|command byte 8:    |scan test (1=scan contiguous, 2=scan alternate)    |||||||| 
-|result byte 0:    |status register 0                                   |||||||| 
-|result byte 1:    |status register 1                                   |||||||| 
-|result byte 2:    |status register 2                                   |||||||| 
-|result byte 3:    |cylinder number                                     |||||||| 
-|result byte 4:    |head number                                         |||||||| 
-|result byte 5:    |sector number                                       |||||||| 
-|result byte 6:    |bytes per sector                                    |||||||| 
- 
-|Scan Low or Equal  | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    |MT | MF | SK |1  | 1 |0 |  0 |1                           | 
-|command byte 1:    | ?| ? |  ? | ? |  ? | HD | US1 |US0                        | 
-|command byte 2:    |cylinder number                                    |||||||| 
-|command byte 3:    |head number                                        |||||||| 
-|command byte 4:    |sector number                                      |||||||| 
-|command byte 5:    |bytes per sector                                   |||||||| 
-|command byte 6:    |end of track (last sector in track)                |||||||| 
-|command byte 7:    |gap 3 length                                       |||||||| 
-|command byte 8:    |scan test (1=scan contiguous, 2=scan alternate)    |||||||| 
-|result byte 0:    |status register 0                                   |||||||| 
-|result byte 1:    |status register 1                                   |||||||| 
-|result byte 2:    |status register 2                                   |||||||| 
-|result byte 3:    |cylinder number                                     |||||||| 
-|result byte 4:    |head number                                         |||||||| 
-|result byte 5:    |sector number                                       |||||||| 
-|result byte 6:    |bytes per sector                                    |||||||| 
- 
-|Scan High or Equal | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    |MT | MF | SK |1 |  1| 1 |  0 |1                           | 
-|command byte 1:    | ? |? |  ? |? |  ? | HD | US1 | US0                        | 
-|command byte 2:    |cylinder number                                    |||||||| 
-|command byte 3:    |head number                                        |||||||| 
-|command byte 4:    |sector number                                      |||||||| 
-|command byte 5:    |bytes per sector                                   |||||||| 
-|command byte 6:    |end of track (last sector in track)                |||||||| 
-|command byte 7:    |gap 3 length                                       |||||||| 
-|command byte 8:    |scan test (1=scan contiguous, 2=scan alternate)    |||||||| 
-|result byte 0:    |status register 0                                   |||||||| 
-|result byte 1:    |status register 1                                   |||||||| 
-|result byte 2:    |status register 2                                   |||||||| 
-|result byte 3:    |cylinder number                                     |||||||| 
-|result byte 4:    |head number                                         |||||||| 
-|result byte 5:    |sector number                                       |||||||| 
-|result byte 6:    |bytes per sector                                    |||||||| 
- 
-|Recalibrate     | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    | 0| 0 |  0 |0 |  0| 1|   1 |1                             | 
-|command byte 1:    | ? |? |  ? |? |  ? |0 | US1| US0                          | 
-|returns nothing    |                                                   |||||||| 
- 
-|Sense Interrupt\\ Status    | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    | 0 |0 |  0| 0 |  1 |0 |  0| 0                             | 
-|result byte 0:    |status register 0                                   |||||||| 
-|result byte 1:    |present cylinder number                             |||||||| 
- 
-|Specify Step & \\ Head Load   | D7      D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    | 0 | 0 |  0 |0  | 0 |0 |  1| 1                             | 
-|command byte 1:    |step rate time - head unload time                  |||||||| 
-|command byte 2:    |------head load time------ ND                      |||||||| 
-|returns nothing    |                                                   |||||||| 
- 
-|Sense Drive\\ Status      | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    | 0 |0 |  0 |0  | 0 |1 |  0 | 0                             | 
-|command byte 1:    | ? |? |  ?| ? |  ? | HD | US1| US0                        | 
-|result byte 0:    |status register 3                                   |||||||| 
- 
-|Seek            | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    | 0 |0 |  0| 0 |  1| 1   |1 |1                             | 
-|command byte 1:    | ? |?|   ? |? |  ?  |HD | US1 |US0                        | 
-|command byte 2:    |new cylinder number                                |||||||| 
-|returns nothing    |                                                   |||||||| 
- 
-|µPD765 Version    | D7                                  ^  D6  ^  D5  ^  D4  ^  D3  ^  D2  ^  D1    D0   ^ 
-|command byte 0:    | ? |? |  ? |1 |  0| 0 |  0| 0                             | 
-|result byte 0:    |status register 0                                   |||||||| 
-|                |90h = µPD765B;  80h = µPD765A or µPD765A-2          |||||||| 
- 
-|Invalid Command    |                                                   | 
-|result byte 0:    |status register 0 (value of 80h)                    | 
  
 <WRAP round box> <WRAP round box>
   * PS/2 systems use the 8272A diskette controller which is software and port compatible with the NEC µPD765   * PS/2 systems use the 8272A diskette controller which is software and port compatible with the NEC µPD765
-  * accessed through ports 3F0h-3F7h; NEC µPD765 is accessed through ports 3F2h, 3F4h and 3F5h; the 8272A uses ports 3F0h, 3F1h, 3F2h, 3F4h, 3F5h and 3F7h+  * accessed through ports 3F0h-3F7h;\\ NEC µPD765 is accessed through ports 3F2h, 3F4h and 3F5h;\\ the 8272A uses ports 3F0h, 3F1h, 3F2h, 3F4h, 3F5h and 3F7h
   * data, command and status registers are all accessed through port 3F5h a register stack with one address presented to the bus   * data, command and status registers are all accessed through port 3F5h a register stack with one address presented to the bus
   * bit 7 of BIOS Data Area byte 40:3E can be polled to determine if a disk operation has completed; this bit is set by the interrupt handler when the operation has completed; it should be reset before continuing on with the next FDC operation   * bit 7 of BIOS Data Area byte 40:3E can be polled to determine if a disk operation has completed; this bit is set by the interrupt handler when the operation has completed; it should be reset before continuing on with the next FDC operation
Ligne 378: Ligne 393:
  
   * see [[back2root:ibm-pc-ms-dos:hardware:informations:irq|INT TABLE]] or [[back2root:ibm-pc-ms-dos:hardware:IRQ|IRQ]] for interrupt assignments   * see [[back2root:ibm-pc-ms-dos:hardware:informations:irq|INT TABLE]] or [[back2root:ibm-pc-ms-dos:hardware:IRQ|IRQ]] for interrupt assignments
-  * see [[back2root:ibm-pc-ms-dos:hardware:start|PORTS]] for COMx port assignment (3F8,2F8,3E8,2E8,3220...)+  * see [[back2root:ibm-pc-ms-dos:interrupts:int_13:start|INT 13h]]
  
back2root/ibm-pc-ms-dos/hardware/8272-pd765.1677186952.txt.gz · Dernière modification : 2023/02/23 22:15 de frater