IBM 5170 Technical Reference page 231

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

0000
TITLE DSKETTE DATE 01-12-84 DISKETTE BIOS
.LIST
INCLUDE SEGI1EIH. SRC
CODE SEGMENT BYTE PUBl I C
PUBLIC
DISK INT 1
?UBLIC
SEEK-
-
PUBl I C
DSKETTE SETU P
EXTRN
DDS: NEAR
--
I NT 13 ---------- --------------- - ------------.--------.-------- ----­
DISKETTE I/O
THIS INTERFACE PROVIDES ACCESS TO THE 5 1/4<1 DISKETTE DRIVES
320/360K DISKETTE DRIVES AND 102M DISKETTE DRIVES SUPPORTED
INPUT
(AH)"'O
RESET DISKETTE SYSTEM
HARD RESET TO NEC,
PREPARE COMMAND, RECAL REQD ON ALL DRIVES
(AH);;::;1
READ THE STATUS OF THE SYSTEM INTO (AH)
DISKETTE STATUS FROM LAST
op'
N I S USED
REG I STERS FOR READ/WR I TE/VER ) FY/FORMAT
(Dll -
DRIVE NUMBER (0-1 AllOWED, VALUE CHECKED)
(DHl - HEAD NUMBER (0-1 ALLOWED, NOT VALUE CHECKED)
(CH) - TRACK NUMBER (NOT VALUE CHECKED)
MED I A
DR
I
VE
TRACK NUMBER
320/360
320/360
0-39
320/360
1.2M
0-39
1.2M
1.2M
0-79
(CL) -
SECTOR NUMBER (NOT VALUE CHECKED, NOT USED FOR FORMAT)
MED I A
DR IVE
SECTOR NUMBER
320/360
320/360
1-8/9
320/360
T
.2M
1-8/9
1.2M
1.2M
1-15
(ALl -
NUMBER Of SECTORS (NOT VALUE CHECKED)
MEDIA
DRIVE
MAX NUMBER OF SECTORS
320/360
320/360
8/9
320/360
1. 2M
8/9
1.2M
1.2M
15
(ES:BX) - ADDRESS OF BUffER ( REQUIRED fOR VERIFY)
(AH);;::;2
READ THE DESIRED SECTORS INTO MEMORY
(AH)=3
WRITE THE DESIRED SECTORS FROM MEMORY
(AH)=4
VERI FY THE DESIRED SECTORS
(AH)=5
FORMAT THE DESIRED TRACK
FOR THE FORMAT OPERATION, THE BUFFER POINTER (ES,BX) MUST
POINT TO THE COLLECTION OF DESIRED ADDRESS FIELDS FOR THE
TRACK.
EACH FIELD IS COMPOSED OF 4 BYTES,
(C,H,R,N), WHERE
C ::;; TRACK NUMBER, H=HEAD NUMBER, R;::: SECTOR NUMBER, N= NUMBER
OF BYTES PER SECTOR (00=128, 01::;;256, 02=512, 03=1024,)
THERE MUST BE ONE ENTRY FOR EVERY SECTOR ON THE TRACK.
THIS INFORMATION IS USED TO FINO THE REQUESTED SECTOR DURING
READ/WRI TE ACCESS.
PRIOR TO FORMATTING A DISKETTE,
fUNCTION CALL 17 Of THIS
ROUTINE MUST BE INVOKED TO SET THE DISKETTE TYPE THAT IS TO
BE FORMATTED.
IN ORDER TO FORMAT 320/360K MEDIA IN EITf-lER A 320/360K OR
1.2M DISKETTE DRIVE THE GAP LENGTH FOR FORMAT PARAMETER
OF DISK BASE MUST BE CHANGE TO 050H.
ALSO THE EOT
PARAMETER (LAST SECTOR ON TRACK) MUST BE SET TO THE
DESIRED NUMBER Of SECTORS/TRACK· 8 FOR 320K, 9 FOR 360K.
DISK BASE IS POINTED TO BY DISK POINTER LOCATED AT
ABSOLUTE ADDRESS 0: 78.
WHEN 320/360K FORMAT OPERATIONS ARE COMPLETE, THE PARAMETERS
SHOULD BE RESTORED TO THEIR RESPECTIVE INITIAL VALUES.
(AH );;::;15 READ DASD TYPE
REG I STERS
(AH) - ON RETURN I F CARRY FLAG NOT SET, OTHERW I SE ERROR
00 -
OR I VE NOT PRESENT
01 - DISKETTE, NO CHANGE LINE AVAILABLE
02 - DISKETTE, CHANGE LINE AVA I LABLE
03 -
FIXED DISK
(OL) - DRIVE NUMBER (0-1 ALLOWED, VALUE CHECKED)
(AH)=16 OISK CHANGE LINE STATUS
REGI STERS
(AH)=DO - OISI<. CHANGE LINE NOT ACTIVE
06 - DISK CHANGE LINE ACTIVE &: CARRY BIT ON
(DL) -
DRIVE NUMBER (0-1 ALLOWED, VALUE CHECKED)
(AH)=17 SET DASO TYPE FOR FORMAT
REG I STERS
(AL)
00 - NOT USED
01 - DISKETTE 320/360K IN 320/360K DRIVE
02 -
DISKETTE 320/360K IN 1.2M DRIVE
03 •
DISKETTE T.2M IN 1.2M DRIVE
(DL) -
DRIVE NUMBER (0-1 ALLOWED, VALUE CHECKED;
DO NOT USE WHEN DISKETTE ATTACH CARD USED)
DISK CHANGE STATUS IS ONLY CHECKED WHEN A 1.2M BYTE DISKETTE
DRIVE IS SPECIFIED.
IF THE DISK CHANGE LINE IS fOUND TO BE
ACTIVE [HE FOLLOWING ACTIONS TAKE PLACE:
ATTEMPT TO RESET DISK CHANGE LINE TO INACTIVE STATE.
I F ATTEMPT SUCCEEDS SET OAsa TYPE FOR FORMAT AND RETURN DISK
CHANGE ERROR CODE
IF ATTEMPT FAILS RETURN TIMEOUT ERROR CODE AND SET OASD TYPE
TO A PREDETERMINED STATE INDICATING NEDIA TYPE UNKNOWN.
IF THE DISK CHANGE LINE IN INACTIVE PERFORM SET DAsa TYPE FOR fORMAT.
DATA VARIABLE -- DISK POINTER
DOUBLE WORD POINTER TO THE CURRENT SET OF DISKETTE PARAMETERS
OUTPUT
AH = STATUS Of OPERAT I ON
STATUS BITS ARE DEFINED IN THE EaUATES FOR DISKETTE STATUS
VAR I ABLE I N THE DATA SEGMENT OF TH I S i"lOOULE
­
CY = 0
SUCCESSFUL OPERATION (AH=O ON RETURN,
EXCEPT fOR READ DASO
TYPE AH=( 15).
CY = 1
FAILED OPERATION (AH HAS ERROR REASON)
FOR REAO/WR lTE/VER I FY
DS,BX,DX,CH,CL PRESERVED
NOTE:
IF AN ERROR IS REPORTED BY THE DISKETTE CODE, THE APPROPRIATE
ACTION IS TO RESET THE DISKETTE, THEN RETRY THE OPERATION.
ON READ ACCESSES, NO MOTOR START DELAY I S TAKEN,
SO THAT
THREE RETR I ES ARE REQU I REO ON READS TO ENSURE THAT THE
PROBLEM I S NOT DUE TO MOTOR START-UP.
DISKETTE STATE MACHINE - ABSOLUTE ADDRESS 40:90
&:
91
(DRIVE 0 - 90, DRIVE 1 - 91)
BITS
Diskette
5-89

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents