IBM XT 5160 Technical Reference page 287

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

LOC OBJECT
LINE
SOURCE
(B I OS FOR THE I BM PERSONAL COMPUTER XT)
1 1 108/82
TURN ON THE MOTOR AND SELECT THE DR I VE
SEND OUT THE PARAMETERS TO THE CONTROLLER
; ----- CHECK THE RESULTS RETURNED BY THE CONTROLLER
.----------------------------------------------------------------
RW OPN
-
TH I S ROUT I NE PERFORMS THE READ
I
WR I TE
I
VER I FY OPERA T I ON
.----------------------------------------------------------------
RW_ OPN
PROC
NEAR
JNC
J 1 1
,
TEST FOR DMA ERROR
MOV
0 I SKETTE ST ATUS ,DMA BOUNDAR Y
,SET ERROR
MOV
AL, 0
-
-
NO SECTORS TRANSFERRED
RET
RETURN TO MA I N ROUT I NE
J 1 1 :
DO RW OPN
PUSH
SAVE THE COMMAND
SET THE CORRECT 0 I RECT I ON
POINT TO STATUS FIELD
GET STO
TES T FOR NORMAL TERM I NAT I ON
OPN OK
TEST FOR ABNORMAL TERM I NAT I ON
NOT ABNORMAL, BAD NEC
HEAD NUMBER FROM STACK
WA I T FOR THE INTERRUPT
MOTOR OFF
LOOK FOR ERROR
GET THE NEC STATUS
LOOK FOR ERROR
SECTOR NUMBER
BYTES
I
SECTOR PARM FROM BLOCK
TO THE NEC
EOT PARM FROM BLOCK
TO THE NEC
GAP LENGTH PARM FROM BLOCK
TO THE NEC
DTL PARM FROM BLOCK
RW OPN FIN I SH
TO THE NEC
CAN NOW 0 I SCARD THAT DUMMY
RETURN ADDRESS
IS TH I S A FORMAT OPERATION
NO. CONTINUE WITH R/W/V
I F SO, HANDLE SPEC I AL
CYL I NDER NUMBER
I SOLATE THAT BIT
OR
I N THE DR I VE NUMBER
OUTPUT THE OPERAT I ON COMMAND
GET THE CURRENT HEAD NUMBER
MOVE
I T TO BIT 2
RECOVER REGI STERS
MOVE TO CORRECT TRACK
RECOVER COMMAND
SA VE COMMAND IN BH
SET NO SECTORS READ I N CASE OF ERROR
I F ERROR, THEN EX I T AFTER MOTOR OFF
DUMMY RETURN ON STACK FOR NEC OUTPUT
SO THAT IT WILL RETURN TO MOTOR OFF
LOCATION
I S TH I S A WR I TE
NO, CONTINUE WITHOUT WAIT
GET THE MOTOR WA I T
PARAMETER
TEST FOR NO WA IT
TEST WAIT TIME
EX I T-W I TH-T I ME EXP I RED
SET UP 1 18 SECOND LOOP T I ME
WAIT FOR THE REQUIRED TIME
DECREMENT T I ME VALUE
ARE WE DONE YET
MOTOR RUNN I NG
I NTERRUPTS BACK ON FOR BYPASS WA I T
SAVE THE
TIS
PARMS
GET DR I VE NUMBER AS SH I FT COUNT
MASK FOR DETERM I N I NG MOTOR BIT
SHIFT THE MASK BIT
NO INTERRUPTS WH I LE DETERM I N I NG
MOTOR STATUS
SET LARGE COUNT OUR I NG OPERA T I ON
TEST THAT MOTOR FOR OPERATING
IF RUNNING,
SKIP THE WAIT
TURN OFF ALL MOTOR BITS
TURN ON THE CURRENT MOTOR
I NTERRUPTS BACK ON
MASK BI T
DEVELOP BIT MASK FOR MOTOR ENABLE
GET DRIVE SELECT BITS IN
NO RESET, ENABLE DMA
I
I NT
SAVE REG
CONTROL PORT ADDRESS
SI,OFFSET NEC STATUS
NEC STATUS
-
AL,OCOH
J22
AL,040H
J18
WA I T_INT
J21
RESULTS
J20
GET PARM
SI -
AH,CH
NEC OUTPUT
AH,TBP+ 1]
NEC OUTPUT
AH,CL
NEC OUTPUT
BX,7
GET PARM
BX,9
GET PARM
BX,Tl
GET PARM
BX,T3
BH,04DH
J15
Jl0
NEC OUTPUT
AH,TBP+I]
AH,I
AH,I
AH,4
AH,DL
NEC_OUTPUT
J13
AH
J12
CX
SEEK
AX
BH,AH
DH,O
J17
S I ,OFFSET J 17
SI
J14
CX,CX
MOTOR STATUS,80H
J14
-
BX,20
GET PARM
AH,AH
AL,10H
AL,CL
AL,DL
AL,OCH
OX
DX,03F2H
DX,AL
OX
MOTOR COUNT, OFFH
AL ,MOTOR STATUS
J14
-
MOTOR STATUS,OFOH
MOTOR::::STATUS, AL
CX
CL,DL
AL,I
AL,CL
CLD
MOV
LODS
AND
JZ
CMP
JNZ
JC
CALL
JC
CALL
CALL
POP
CMP
JNE
JMP
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
SAL
SAL
AND
OR
CALL
JZ
SUB
CALL
POP
MOV
MOV
JC
MOV
PUSH
LOOP
DEC
JMP
STI
POP
TEST
JZ
MOV
CALL
OR
MOV
TEST
JNZ
AND
OR
STI
MOV
SAL
OR
OR
PUSH
MOV
OUT
POP
PUSH
MOV
MOV
SAL
CLI
; - - - - -
LET THE OPERA T I ON HAPPEN
; ----- TEST FOR FORMAT COMMAND
J17:
J16:
;----- DO THE SEEK OPERATION
J15:
;----- WAIT FOR MOTOR IF WRITE OPERATION
J14:
J12:
J13:
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
EDBC 80FF4D
EDBF 7503
EDCl E962FF
EDC4
EDC4 8AE5
EDC6 E87800
EDC9 8A660 1
EDCC E87200
EDCF 8AE1
EDD1 E86DOO
EDD4 BB0700
EDD7 E89200
EDDA BB0900
EDDO E88COO
EDEO BBOBOO
EDE3 E88600
EDE6 BBODOO
EDE9
EDE9 E88000
EDEC 5E
EDED E84301
EDFO
EDFO 7245
EDF2 E87401
EDF5 723F
ED80 F6063F0080
ED85 7412
ED87 BB1400
ED8A E8DFOO
ED8D OAE4
ED8F
ED8F 7408
ED91
2BC9
ED93
ED93 E2FE
ED95 FECC
ED97 EBF6
ED99
ED99 FB
ED9A 59
ED9B E8DFOO
ED9E 58
ED9F 8AFC
EDA 1 B600
EDA3 724B
EDA5 BEFOED90
EDA9 56
EDAA E89400
EDAD 8A660 1
EDBO DOE4
EDB2 DOE4
EDB4 80E404
EDB7 OAE2
EDB9 E88500
EDF7 FC
EDF8 BE4200
EDFB AC
EDFC 24CO
EDFE 743B
EEOO 3C40
EE02 7529
ED5D C6064000FF
ED62 84063FOO
ED66 7531
ED68 80263FOOFO
ED6D 08063FOO
ED71 FB
ED72 BOlO
ED74 D2EO
ED76 OAC2
ED78 OCOC
ED7A 52
ED7B BAF203
ED7E EE
ED7F 5A
ED55 51
ED56 8ACA
ED58 BOO 1
ED5A D2EO
ED5C FA
ED4A
ED4A 1308
ED4C C606410009
ED51 BOOO
ED53 C3
ED54
ED54 50
5-140
PC-XT System BIOS (11/08/82)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents