IBM XT 5160 Technical Reference page 180

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

SEARCH FOR MED I A / DR I VE PARAMETER TABLE
; --- CS: BX PO I NTS TO MED I A/DR I VE PARAMETER TABLE
5-33
DETERM I NED ?
I F NOT THEN SET
MAKE DETERM I NED/ESTABL I SHED
SAVE DMA, NEC PARAMETERS
TRANSLATE STATE TO PRESENT ARCH.
I NIT I AL I ZE START AND END RATE
RESTORE READ/WR I TE/VER I FY
PO I NT TO 40 TK 250 KBS
TEST FOR 80 TRACK
MUST BE 40 TRACK
PO I NT TO 80 TK 500 KBS
GO SET SPEC I FY PARAMETERS
ZF=
I
ATTEMPT RATE I S SAME AS LAST RATE
YES, SK I P SEND RATE COMMAND
SEND OAT A RATE TO NEC
SAVE MEDIA/DRIVE PAR AM ADDRESS
CHECK FOR DOUBLE STEP
RESTORE ADDRESS
ERROR FROM READ 10, POSS I BLE RETRY
RESTORE NEC, DMA COMMAND
SAVE NEC COMMAND
SAVE MEDIA/DRIVE PARAM ADDRESS
SET UP THE DMA
RESTORE ADDRESS
RESTORE NEC COMMAND
CHECK FOR DMA BOUNDARY ERROR
SAVE NEC COMMAND
SAVE MEDIA/DRIVE PARAM ADDRESS
I N IT I AL I ZE NEC
RESTORE ADDRESS
;
SAVE READ / WR I TE / VER I FY PARAMETER
GET RATE STATE OF TH I S DR I VE
KEEP ONLY RATE
RETURN DR I VE TYPE IN (AL )
TEST FOR NO DR I VE
ASSUME TYPE, USE MAX TRACK
RTN CS:BX = MEDIA/DRIVE PARAM TBL
TYPE NOT IN TABLE ASSUME DEFAULT
;
SAVE DR I VE #
; BX = I NDEX TO DR TYPE TABLE
; CX = LOOP COUNT -
; GET DR I VE TYPE
; MASK OUT MSB
; DR I VE TYPE MATCH ?
; NO, CHECK NEXT DR I VE TYPE
; TEST CONTROLLER 1.0.
SAVE READ/WRITE/VERIFY PARAMETER
MED I A CHANGE AND RESET I F CHANGED
RESTORE READ/WR I TE/VER I FY
; RATE 250 ?
;
IF SO FALL THRU
;
80 TRACK CAPAB I L I TY ?
;
IF SO JUMP, FALL THRU TEST DET
: BX = MED I A / DR I VE PARAMETER TABLE
: RESTORE DR I VE #
CHECK NEXT DR I VE TYPE
; FORCE I T TO RETRY
: RESTORE DR I VE #
: GO RETRY
I-II
01-10-86
DISKETTE (01/10/86)
AH : READ / WR I TE / VER I FY NEC PARAMETER
AL : READ / WR I TE / VER I FY DMA PARAMETER
ODSKETTE_STATUS, CY REFLECT STATUS OF OPERAT I ON
AH,RATE 250
UNKNO
-
BH, TRK CAPA
UNKNO -
BH,MED DET
AL SET-
AL-;3
BX,3
RWV DR SEARCH
ODSKETTE STATUS, OFFH
01
-
SHORT CHK_RET
OHF CNTRL, DUAL
RWV-
AX
MED CHANGE
AX -
RWV
RWV_END
AX
DH,ODSK STATE[DI]
DH,RATE:MSK
CMOS TYPE
AL,AC
RWV ASSUME
DR TYPE CHECK
RWV_ASSUME
01
BX,BX
CX,DR_CNT
AH,CS:DR TYPE[BX]
AH,BIT70FF
AL,AH
RWV_NXT_MD
01 ,WORD PTR CS:DR_TYPE[BX+l]
; 01
= MEDIA/DRIVE PARAMETER TABLE
DH,CS: [01] .MD_RATE
MATCH?
RWV_MD_FND
YES, GO GET 1ST SPECIFY BYTE
BX ,OFFSET MD TBL
I
oDSK STATE[DT], TRK CAPA
RWV MD FNDI
-
BX ,OFFSET MD TBL3
RWV_MD_FNDI -
BX,DI
01
SEND SPEC MD
CHK CASTRATE
RWV-DBL
SEND_RATE
BX
SETUP DBL
BX
-
CHK RET
AX -
AX
BX
DMA SETUP
BX -
AX
RWV BAC
AX -
BX
NEC INIT
BX -
AND
OR
CMP
JNZ
TEST
JNZ
PUSH
CALL
OR
JZ
CALL
JC
MOV
AND
ON ENTRY:
RD WR VF
-
-COMMON READ, WR I TE AND VER I FY;
MAIN LOOP FOR STATE RETRIES.
ON EXIT:
RET
XLAT_OLD
ENDP
TST DET:
-
TEST
JZ
ADD
DO AGAIN:
-
TEST
JZ
PUSH
CALL
POP
JNC
JMP
RWV:
.
-
- - - - - - - - -
---
-
--
- -
-
-----
- - -
-
- --- - -
---
- - - - - ----
---
-
--
-
-
-- - - - - ----
RD WR VF
PROC
NEAR
-
-
PUSH
AX
CALL
XLA T NEW
CALL
SETUP STATE
POP
A X -
;--- ASSUME PRIMARY DRIVE IS INSTALLED AS SHIPPED
RWV ASSUME:
-
MOV
TEST
JZ
MOV
JMP
RWV MD FND:
-
-
MOV
POP
RWV_MD_FND1:
SEND THE SPEC I FY COMMAND TO THE CONTROLLER
PUSH
XOR
MOV
RWV DR SEARCH:
-
-
MOV
AND
CMP
JNE
RWV DR FND:
-
-
MOV
RWV MD SEARCH:
-
-
CMP
JE
RWV NXT MD:
-
-ADD
LOOP
MOV
POP
JMP
CALL
CALL
JZ
CALL
RWV DBL:
-
PUSH
CALL
POP
JC
POP
PUSH
PUSH
CALL
POP
POP
JC
PUSH
PUSH
CALL
POP
1 126 0498 80 FC 80
I 127 049B 75 E8
1 128 0490 F6 C7 0 I
1 129 04AO 75 E3
1130
1131
04A2
1132 04A2 F6C7
10
1 133 04A5 74 02
1 134 04A 7 04 03
1135
1136 04A9
1 137 04A9 80 A5 0090 R F8
I
138 04AE 08 85 0090 R
1139 04B2
1140 04B2 C3
1141
04B3
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153 04B3
1154 04B3 50
I
155 04B4 E8 0404 R
1 156 04B7 E8 0561 R
1157 04BA 58
1158
1159 04BB
I
160 04BB F6 06 008F R 01
1 161
04CO 74 OA
1162 04C2 50
1 163 04C3 E8 05F5 R
1164 04C6 58
1 165 04C7 73 03
1 166 04C9 E9 0552 R
116704CC
1168 04CC 50
1169
1 170 04CD 8A B5 0090 R
1 1 71
0401
80 E6 CO
1172
1 173 0404 E8 08CF R
I
174 0407 OA CO
1 175 0409 74 2F
1176 04DB E8 03Bl R
1 117 04DE 72 2A
1178
1179
1180
1181 04EO 57
I
182 04E
I
33 DB
1 183 04E3 B9 0006
1184 04E6
1185 04E6 2E: 8A A7 0000 R
1 186 04EB 80 E4 7F
1187 04EE 3A C4
1 188 04FO 75 OB
1189 04F2
1 190 04F2 2E: 8B BF 0001 R
1191
04F7
1192 04F7 2E:
3A 75 OC
1 193 04FB 74 10
1194 04FD
I
195 04FD 83 C3 03
1 196 0500 E2 E4
1 197 0502 C6 06 0041
R FF
119805075F
I
199 0508 EB 3F
1200
1201
1202
1203 050A
1204 050A BB 0000 E
1205 0500 F6 85 0090 R 01
1206 0512 74 09
I 207 05 14 BB 0000 E
1208 0517 EB 04 90
1209
1210
1211
1212051A
1213 051A 8B OF
1214 051C 5F
1215 0510
1216
1217
1218
1219 0510 E8 03EC R
1220 0520 E8 0658 R
1221
0523 74 03
1222 0525 E8 0637 R
1223 0528
1224 0528 53
1225 0529 E8 084C R
1226 052C 5B
1227 0520 72
lA
1228 052F 58
1229 0530 50
1230 0531
53
1231
0532 E8 0668 R
1232 0535 5B
1233 0536 58
1234 0537 72
IF
1235 0539 50
1236 053A 53
1237 053B E8 06CB R
1238 053E 5B
IBM Personal Computer MACRO Assembler
Version 2.00
DSKETTE - -
0
I
/10/86
0 I SKETTE ADAPTER B I OS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents