free hit counter

IBM XT 5160 Technical Reference page 176

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

;--- DATA RATE IS EITHER 300 KBS OR 500 KBS, TRY
1.2 MB TABLE FIRST
5-29
TRANSLATE STATE TO PRESENT ARCH.
GET PRESENT STATE INFORMATION
CHECK FOR NO DR I VE
NO CHANGE LINE FOR 40 TRACK DR I VE
IS TH I S DR I VE AN 80 TRACK DR I VE?
IF NO JUMP
CHANGE
LI
NE FOR 80 TRACK DR I VE
CLEAR PARMS
I F NO DR I VES OR CMOS BAD
TRACKS,
SECTORS/TRACK = 0
HEAD = 0
OFFSET TO DISK BASE = 0
ES
I S SEGMENT OF TABLE
ELSE TRANSLATE TO COMPAT I BLE MODE
RESTORE AL
SET BAD COMMAND ERROR
SET ERROR RETURN CODE
CHECK FOR F I XED MED I A TYPE REQUEST
CONT I NUE I F NOT REQUE ST F ALL THROUGH
CLEAR NUMBER OF DR I VES
TRANSLATE STATE TO COMPATIBLE MODE
CLEAR
NO DR I VE PRESENT OR UNKNOWN
LOAD EQU I PMENT FLAG FOR # DISKETTES
, SH I FT DR I VES PRESENT BIT
I NTO CARRY
; NO DRIVE IN SYSTEM
; DISKETTE NO CHANGE LINE AVA I LABLE
SAVE RETURN VALUE
TRANSLATE STATE TO COMPATIBLE MODE
; RESTORE RETURN VALUE
; EX lTD I SK TYPE FUNCTI ON
; NO ERROR
; GET SAVED AL TO BL
; PUT BACK FOR RETURN
; CHECK CONTROLLER I. D •
; DR I VE TYPE 2
(1.2MB)
; RTN CS :BX = MED I A/DR I VE PARAM TBL
; GET SECTOR / TRACK
GET MAX. TRACK NUMBER
, RATE 300 ?
; MUST BE 1.2MB DRIVE
; ELSE, HIGH DATA RATE/80 TRACK DRIVE
REQUEST FOR F I XED DISK?
YES-->DRIVE NUMBER INVALID
IS DRIVE 80 TRACKS?(RELATIVE ZERO)
SET CMOS TYPE 1
NUMBER OF TRACK S ( RELAT I VE ZERO)
IF ZERO TYPE = I
SET CMOS TYPE 3
NUMBER OF TRACKS
(RELATIVE ZERO)
STORE TYPE
MAX I MUM HEAD NUMBER = I
ADDRESS OF DISK BASE
GO SET TRKS/SEC,CYL,ES:BX AND EXIT
;
SAVE I N STACK FOR RETURN
ADDRESS OF MEDIA/DRIVE PARM TABLE
SEGMENT MED I A/DR I VE PARAMETER TABLE
ES
I S SEGMENT OF TABLE
; GET MAX. TRACK NUMBER
1-7
01-10-86
DISKETTE (01/10/86)
AX
XLAT OLD
AX
-
DI
= DR IVE #
AH,AH
SHORT DT_BACK
AX, OEQU I P FLAG
AL,I
-
NO DRV
AH-;I
D I SK_TYPE_EX
AH = DR I VE TYPE, CY=O
BX,SI
AL,BL
[BP+2] ,AL
BYTE PTR [BP+3],O
BYTE PTR [BP+5], 1
DR TYPE CHECK
STO_CX -
DI,3
NON DRV2
CL,9
oDSK STATE[DI], TRK CAPA
AL,I-
-
CH,39
SET TYPI
AL,3
CH,79
AL,02
DR TYPE CHECK
CL-;CS: [eX] .MD_SEC_TRK
CH,CS: [BX] .MD MAX TRK
AH,RATE 300
-
-
STO CX -
SHORT PARM_HDR_80T
XL AT OLD
AX,sT
AH,BAD_CMD
AX,AX
[BP] ,AX
[BP+5] ,AH
[BP+6] ,AX
ES,AX
SHORT DP_OUT
XL AT OLD
AX,AX
DI,80H
NON_DRV2
BYTE PTR [BP+4], 0
[BP] ,CX
[BP+6] ,BX
AX,CS
ES,AX
NO DR I VE PRESENT HANDLER
ON ENTRY:
~
ON EXIT:
XOR
JMP
NO CHNG:
-
MOV
SHR
JNC
MOV
JMP
D I SK_TYPE ENDP
DT BACK:
-
PUSH
CALL
POP
DISK TYPE EX:
-
cec
MOV
MOV
RET
.
-
-
- - -
--
--
-----
- -- - - - - - - - - - - -
-
- - -
-
- - - - - - - - -
- - -
- - -- - -- - -
-- --
---
---
DISK TYPE
PROC
NEAR
-
TEST
OHF CNTRL, DUAL
JZ
NO CHNG
CALL
XLAT NEW
MOV
AL,ODSK STATE[DI]
OR
AL,AL-
JZ
NO DRV
MOV
AH-;NOCHGLN
TEST
AL, TRK CAPA
JZ
DT BACK
MOV
AH-;CHGLN
USE EST2:
-
MOV
CALL
MOV
MOV
CMP
JE
JMP
DET PARMS:
-
CMP
JA
MOV
TEST
MOV
MOV
JZ
MOV
MOV
SET TYP1:
-
MOV
MOV
MOV
CALL
JMP
DI SK TYPE
;
-
TH I S ROUT I NE RETURNS THE TYPE OF MED I A INSTALLED.
;
ON ENTRY:
DI
= DRIVE #
; - - - - -
F I XED DISK REQUEST FALL THROUGH ERROR
.
-
-
-
-
--
-
--
-
- - - - - - -
-
-
- - - -
-
- -
-
- - -
-
- - - ---- -
-
- - - - - --- - - -- -- - - -
-
-
- - - --
DI SK CHANGE
;
-
TH I S ROUT I NE RETURNS THE STATE OF THE DISK CHANGE LINE.
NON DRV2:
-
XOR
MOV
MOV
MOV
MOV
JMP
FD REQ ERR:
-
-
CALL
MOV
MOV
STC
RET
NON DRVI:
-
CMP
JB
NON DRV:
-
MOV
MOV
STO_CX:
MOV
ES_DI:
MOV
MOV
MOV
DP_OUT:
CALL
XOR
CLC
RET
671
020B 2E: 8A 6F OB
672
673
020F
674
020F 89 4E 00
675
0212
676
0212 89 5E 06
677
0215 8C C8
678
0217 8E CO
679
680
0219
681
0219 E8 0432 R
682
02 I C 33 CO
683
021E F8
684
021F C3
685
686
687
688
0220
689
0220 C6 46 04 00
690
691
0224
692
0224 81
FF 0080
693
0228 72 09
694
695
696
697
022A
698
022A E8 0432 R
699
0220 8B C6
700
022F B4 01
701
0231
F9
702
0232 C3
703
704
0233
705
0233 33 CO
706
0235 89 46 00
707
0238 88 66 05
708
023B 89 46 06
709
023E 8E CO
710
0240 EB 07
711
712
713
7140242
7 I 5
0242 BO 02
716
0244 E8 03B 1 R
71 7
0247 2E: 8A 4F 04
718
024B 2E: 8A 6F OB
719
024F 80 FC 40
720
0252 74 BB
721
0254 EB AC
722
0256
723
0256 83 FF 03
724
0259 77 08
725
025B B I
09
726
0250 F6 85 0090 R 01
727
0262 BO 01
728
0264 B5 27
729
0266 74 04
730
0268 BO 03
731
026A B5 4F
732
026C
733
026C 88 46 02
734
026F C6 46 03 00
735
0273 C6 46 05 01
736
0277 E8 03B I R
737
027A EB 93
738
739
027C
740
741
742
743
744
745
746
747
748
027C
749
027C F6 06 008F R 0 I
750
0281
74 22
751
0283 E8 0404 R
752
0286 8A 85 0090 R
753
028A OA CO
754
028C 74 13
755
028E B4 01
756
0290 A8 01
757
0292 74 02
758
0294 B4 02
759
760
0296
761
0296 50
762
0297 E8 0432 R
763
029A 58
764
029B
765
029B F8
766
029C 8B DE
767
029E 8A C3
768
02AO C3
769
02A 1
770
02A 1 32 E4
77 1
02A3 EB F 1
772
02A5
773
02A5 Al
0010 R
774
02A8 DO E8
775
02AA 73 F5
776
02AC B4 01
777
02AE EB EB
778
02BO
779
780
781
782
783
784
IBM Personal Computer MACRO Assembler
Version 2.00
OSKETTE - -
0 I /10/86
0 I SKETTE ADAPTER B I OS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents