IBM 5170 Technical Reference page 245

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

TITLE FIXED DISK BIOS FOR IBM DISK CONTROllER 1-11-84
DOFF
ODED
OOCC
OOBB
OOAA
0080
0040
PUBLIC
DISK 10
PUBLIC
HD_INT
PUBl l e D I SK_SETU
r
EXTRN
F178D: NEAR
EXTRN
F1781 : NEAR
EXTRN
F17K2: NEAR
EXTRN
F17<JO: NEAR
EXTRN
F1791: NEAR
EXTRN
FD TBl; NEAR
; --
I
NT 13--------------- ------- --------------------------- ----­
F I XED DISK I/O INTERFACE
HilS INTERFACE PROVID[S ACCESS TO 5 1/4" fiXED DISKS
THROUGH THE IBM FIXED DISK CONTROllER.
TIlE
BIOS ROUTINES ARE MEANT TO BE ACCESSED THROUGH
SOFTWARE I NTERRUPTS ONLY.
ANY ADDRESSES PRESENT IN
TIlE LISTINGS
ARE INCLUDED
ONLY FOR
COMPLETENESS,
NO r FOR
RE FERENCE.
APPl I CAT IONS WH I CH
REFERENCE
ABSOLUTE
ADDRESSES
WITHIN
THE
CODE
SEGMENT
VIOLATE THE STRUCTURE AND DESIGN OF BIOS.
;
-
----------------
- -- -
-
- -
-----
-
-------
------
--
-
-
--
-------------­
INPUT
(AH"" HEX VALUE)
(AH)"OO RESET DISK (Dl:. BOH,alH) /
DISKETTE
(AH)=Ol HEAD THE STATUS OF THE LAST DISK OPERATION INTO (Al)
NOTE: Dl
<
BOH - DISKETTE
Dl
>
80H -
0 I SK
(AH)=02 READ THE DESIRED SECTORS INTO MEMORY
(AH)=03 WRITE THE DESIRED SECTORS FROM MEMORY
(AH)=04 VERifY THE DESIRED SECTORS
(AH)=05 FORMAT TIlE DESIRED TRACK
(AH)=06 UNUSED
(AH)::=07 UNUSED
(AH)=08 RETURN THE CURRENT DRIVE PARAMETERS
(AHj=09 INITIALIZE DRIVE PAIR CHARACTERISTICS
INTERRUPT 41
POINTS TO DATA BLOCK fOR DRIVE a
INTERRUPT 46 POINTS TO DATA BLOCK FOR DRIVE 1
(AH)=OA READ lONG
(AH)'=OB WRITE lONG
NOTE:
READ AND WRITE lONG ENCOMPASS 512
+
4 BYTES ECC
(AH )=OC SEEK
(AHl=OD ALTERNATE DISK RESET (SEE Dl)
(AHj"'OE UNUSED
(AHj=Of UNUSED
(AH)=10 TEST DRIVE READY
(AH)=11 RECAlIBRAl[
(AH )=12 UNUSED
(AIi)"'13 UNUSED
(AHj=14 CONTROllER INTERNAL DIAGNOSTIC
(AH)=15 READ DASD TYPE
~AGE
REGISTERS USED FOR FIXED DISK OPERATIONS
(Dl)
DRIVE NUMBER
(80H-B1H FOR DISK, VALUE CHECKED)
(DH)
HEAD NUMBER
(0-15 AllOWED,
NOT VALUE CHECKED)
(CH)
CYLINDER NUMBER
(0-1023, NOT VALUE CHECKED)(SEE Cll
(Cl)
SECTOR NUMBER
( 1- 17, NOT VALUE CHECKED)
NOTE: HIGH 2 BITS OF CYLINDER NUMBER ARE PLACED
IN THE HIGH 2 BITS Of THE Cl REGISTER
(10 BITS TOTAL)
(Al)
NUMBER OF SECTORS (MAXIMUM POSSIBLE RANGE l-BOH,
FOR READ/WRITE lONG
1~79H)
(ES;BX)
ADDRESS OF BUFfER FOR READS AND WRITES,
(NOT REQu I RED FOR VER I FY)
FORMAT
(AH=~)
ES:BX POINTS TO A 512 BYTE BUFFER.
THE FIRST
2 .... ( SECTORS/TRACK) BYTES CONTA I N F, N FOR EACH SECTOR.
F =
~OH
FOR A GOOD SECTOR
BOH fOR A BAD SECTOR
N = SECTOR NUMBER
FOR AN I NTERlEAVE OF 2 AND 17 SECTORS/TRACK
THE TABLE SHOULD BE:
DB
DOH, 01 H, DOH, OAH, OOH, 02H, OOH, OBH,
~OH,
03H, OOH, OCH
DB
DOH, 04H, OOH, DOH, OOH, a5H, DOH, OEH,
~OH,
06H, DOH. OfH
DB
OOH,07H,OOH, lOH, DOH, OSH,OOH, 11 H, DOH, D9H
OUTPUT
AH "" STATUS OF CURRENT OPERAT ION
STATUS BITS ARE DEFINED IN THE EQUArES BELOW
CY = a
SUCCESSFUL OPERATION (AH=O ON RETURN)
CY = 1
fAI lED OPERAT ION (AH HAS ERROR REASON)
NOTE:
ERROR 11H
INDICATES THAT THE DATA READ HAD A RECOVERABLE
ERROR WHICH WAS CORRECTED BY THE ECC ALGORITHM.
THE DATA
IS PROBABLY GOOD,
HOWEVER THE BIDS ROUTINE INDICATES AN
ERROR TO AllOW THE CONTROlliNG PROGRAM A CHANCE TO DECIDE
FOR
ITSELF.
THE
ERROR
MAY
NOT
RECUR
If THE DATA IS
REWR I TTEN.
I F DRIVE PARAMETERS WERE REQUESTED,
DL
=
NUMBER OF CONSECUTIVE ACKNOWLEDGING DRIVES ATTACHED (0-2)
(CONTROllER CARD ZERO TAllY ONLY)
DH
=
MAXIMUM USEABLE VALUE FOR HEAD NUMBER
CH'" MAXIMUM USEABLE VALUE FOR CYLINDER NUMBER
Cl
:=
MAX I MUM USEABLE VALUE FOR SECTOR NUMBER
AND CYLINDER NUMBER HIGH BITS
I FREAD DAsa TYPE WAS REQUESTED,
AH
=
0 -
NOT PRESENT
,
-
0 I SKETTE - NO CHANGE liNE AVA I LABlE
2 -
DISKETTE - CHANGE liNE AVA I LABlE
3 -
FIXED DISK
CX,DX:= NUMBER OF 512 BYTE BLOCKS WHEN AH = 3
REGISTERS Will BE PRESERVED EXCEPT WHEN THEY ARE USED TO RETURN
INFORMATION.
NOTE:
IF AN ERROR IS REPORTED BY THE DISK CODE,
THE APPROPRIATE
ACTION IS TO RESET THE DISK,
THEN RETRY THE OPERATION.
~ENSE
-;
~~
L------
~Q~
-- ---
o;;~
---
~-
-------
;-NO~ -~ ~ ;L~~EN~ED -~--
-----------­
NO_ERR
EQU
OEOH
;
STATUS ERROR/ERROR RCG==O
WRITE FAULT
EQU
OCCH
; WRITE FAULT ON SELECTED DRIVE
UNDECERR
EQu
OBBH
;
UNDEF I NED ERROR OCCURRED
NOT ROY
EQU
OAAH
DR I VE NOT READY
TIME OUT
EQU
80H
ATTACHMENT FAilED TO RESPOND
BAD_SEEK
EQU
40H
SEEK OPERATION fAilED
Disk 5-103

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents