free hit counter

IBM XT 5160 Technical Reference page 177

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

IBM
P~rsonal
Computer MACRO Assembler
Version 2.00
OSKETTE - -
0 I 110/86
0 I SKETTE ADAPTER B I OS
1-8
01-10-86
·
-
- --
--- -
-
--
- -
-- -- - -- ----- -------- -- --- - - ------
------
-------
--
-
--
DISK CHANGE
PROC
NEAR
-
TEST
OHF CNTRL,OUAL
TEST CONTROLLER 1.0.
JNZ
DC1-
..IMP
FNC_ERR
ERROR FOR TH I SKI NO OF CONTROLLER
DEC
S I
CHECK FOR SET DASD TYPE 04
JNZ
FS_ERR
BAD COMMAND EXIT IF NOT VALID TYPE
TEST
ODSK STATE[DI),DRV DET
DRIVE DETERMINED?
JZ
ASSUME
-
IF ST I LL NOT DETERM I NED ASSUME
MOV
AL,MED DET+RATE 300
TEST
ODSK STATE[DI) ,FMT CAPA
MULTIPLE FORMAT CAPABILITY?
JNZ
OR_IT_IN
-
IF 1.2 M THEN DATA RATE 300
;
I NO I CATE MED I A REMOVED
SET UP
TRANSLATE STATE TO COMPATIBLE MODE
VAR IOUS CLEANUPS
GET SAVED AL TO BL
PUT BACK FOR RETURN
;
SET TIMEOUT, NO DR I VE
TRANSLATE STATE TO COMPATIBLE MODE
VAR 10US CLEANUPS
GET SAVED AL TO BL
PUT BACK FOR RETURN
TRANSLATE STATE TO PRESENT ARCH.
GET MEDIA STATE INFORMATION
DR I VE PRESENT ?
JUMP IF NO DRIVE
80 TRACK DR I VE ?
I F SO , CHECK CHANGE LINE
GO CHECK STATE OF 0 I SK CHANGE LI NE
CHANGE LINE NOT ACT I VE
I OR
IN THE CORRECT STATE
ODSKETTE STATUS,BAD CMD I UNKNOWN STATE,BAD COMMAND
SHORT SO-
-
ENDP
ODSK_STATE[DI) ,AL
XLAT OLD
SETUP END
BX
-
AL,BL
S I
; CHECK FOR 1. 2M MED I A I N 1. 2M DR I VE
NOT 12
I BYPASS
I F NOT
ODSK STATE[DI) ,MEO DET+RATE 500
I
SET STATE VARIABLE
SHORT SO
- ; RETURN TO CALLER
OHF CNTRL, DUAL
TEST CONTROLLER 1.0.
S3 -
MED CHANGE
; CHECK FOR T I ME_OUT
ODSKETTE STATUS, T I ME OUT
SO
-
-
1FT I ME OUT TELL CALLER
SI
; CHECK FOR 320/360K IN 1 .2M DRIVE
NOT 320 12
I
BYPASS I F NOT
ODSK STATE[D I) ,MED DET+DBL STEP+RATE 300 I
SET STATE
SHORT SO
-
-
-
ODSKETTE STATUS, T I ME OUT
SHORT FIN I S
-
ENDP
AH
=
OOSKETTE STATUS
00 - 0 I SK CHANGE LI NE I NACTI VE, CY
=
0
06 - 0 I SK CHANGE LI NE ACT I VE, CY
=
1
XLAT OLD
SETUP END
BX,SI-
AL,BL
XL AT NEW
AL,OOSK STATE[DI)
AL,AL
-
DC NON
AL-;TRK CAPA
SETIT -
READ DSKCHNG
FINIS
MOV
..IMP
CALL
CALL
POP
MOV
RET
MOV
DEC
JNZ
OR
..IMP
ASSUME:
OR
IT IN:
-
-
OR
SO:
FORMAT_SET
S3:
NOT 320
12:
-
-DEC
JNZ
OR
..IMP
.
----
-
----- -- -------- -
-
- -----
- --- - --- -- ------- ------- -- - -- - ------
SET MEDI A
-
TH I S ROUT I NE SETS THE TYPE OF MED I A AND OAT A RATE
TO BE USED FOR THE FOLLOW I NG FORMAT OPERAT I ON.
ON ENTRY:
;
[BP)
=
SECTOR PER TRACK
;
[BP+l)
=
TRACK #
01
=
DRIVE #
ON EXIT:
ODSKETTE STATUS REFLECTS STATUS
;
IF NO ERROR:
NOT 320:
-
TEST
JZ
CALL
CMP
JZ
·
-
-
-------- -- -- - -- ------ - --
---
-- -- --- --- -
---
--
----
-
-------
---- ---
FORMAT SET
PROC
NEAR
-
CALL
XLAT NEW
; TRANSLATE STATE TO PRESENT ARCH.
PUSH
S I
-
;
SAVE DASD TYPE
MOV
AX,SI
;
AH
=
? , AL
=
DASD TYPE
XOR
AH,AH
;
AH
=
0
, AL
=
DASD TYPE
MOV
S I ,AX
;
S I
=
DASD TYPE
AND
ODSK STATE[DI) ,NOT MED DET+DBL STEP+RATE MSK
I CLEAR STATE
DEC
S I
-
-
I CHECK FOR 320/360K MED I A
&
DR I VE
JNZ
NOT 320
I
BYPASS I F NOT
OR
ODSK STATE[DI) ,MED DET+RATE 250 I
SET TO 320/360
..IMP
SHORT SO
-
-
;
ON EXIT:
·
-
--
- - - - - -
--
- - ---- -
---- --- ------- -- ---- -- ------ --- -- ---
-
---- -----
FORMAT SET
TH I S ROUT I NE I S USED TO ESTABLI SH THE TYPE OF
MED I A TO BE USED FOR THE FOLLOW I NG FORMAT OPERAT I ON •
ON ENTRY:
S I LOW
=
DASD TYPE FOR FORMAT
01
=
DRIVE #
ON EX IT:
ODSKETTE STATUS REFLECTS STATUS
;
AH
=
ODSKETTE STATUS
CY
=
1 IF ERROR
DCl :
CALL
MOV
OR
JZ
TEST
JZ
DCO:
CALL
JZ
SETIT:
MOV
FINIS:
CALL
CALL
MOV
MOV
RET
DC_NON:
OR
..IMP
DISK_CHANGE
185
186
181
188
189
02BO
190
02BO F6 06 008F R 0 I
191
02B5 15 03
192
02B1 E9 0110 R
193
02BA
194
02BA E8 0404 R
195
02BO 8A 85 0090 R
196
02C 1 OA CO
191
02C3 14 19
198
02C5 A8 01
199
02C1 14 05
800
801
02C9 E8 OB21 R
802
Oj2CC 14 05
803
804
02CE C6 06 0041 R 06
805
806
0203 E8 0432 R
801
0206 E8 0832 R
808
0209 8B DE
809
020B 8A C3
810
0200 C3
811
812
020E
813
020E 80 OE 0041 R 80
814
02E3 EB EE
815
02E5
816
811
818
819
820
821
822
823
824
825
826
821
828
829
02E5
830
02E5 E8 0404 R
831
02E8 56
832
02E9 8B C6
833
02EB 32 E4
834
02EO 8B FO
835
02EF 80 AS 0090 R OF
836
02F4 4E
831
02F5 15 01
838
02F1 80 80 0090 R 90
839
02FC EB 3E
840
841
02FE
842
02FE F6 06 008F R 01
843
0303
14
OA
844
0305 E8 05F5 R
845
0308 80 3E 0041 R 80
846
0300 14 20
841
848
030F 4E
849
0310 15 01
850
0312 80 80 0090 R 10
851
0311 EB 23
852
853
0319
854
03194E
855
031A 15 01
856
031 C 80 80 0090 RIO
851
032 I EB 19
858
859
0323
860
0323 4E
861
0324 15 20
862
863
0326 F6 85 0090 R 04
864
032B 14 09
865
0320 BO 50
866
032F F6 85 0090 R 02
861
0334 15 02
868
869
0336
810
0336 BO 90
811
812
0338
813
0338 08 85 0090 R
814
815
033C
816
033C E8 0432 R
811
033F E8 0832 R
818
0342 5B
819
0343 8A C3
880
0345 C3
881
882
0346
883
0346 C6 06 0041 R 01
884
034B EB EF
885
886
0340
881
888
889
890
891
892
893
894
895
896
891
898
5-30
DISKETTE (01/10/86)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents