IBM 5150 Technical Reference page 159

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
ECE4 FB
feES EB2:AOZ
EtES A04200
ftEe xeo
ECED 7406
ECEF 800E410020
ECF4 C3
ECF5
ECF5 8403
ECF7 E84701
ECfA 8BOI00
ECfD E86eOI
fDOO 880300
ED03 £86601
ED06
E006 C3
E007
E007 A04100
EDOA C3
EDOB
EDOB 8046
EOOO
EOOD E88801
EDI0 B4E6
EDI, E836
ED14­
EDl4 B042
E016 EBF5
ED18
E018 800E3F0080
EOI0 B04A
EOIF E8A601
EOZZ B440
E02:4 EB24
E026
ED26 BB0700
E029 E84001
ED2C BB0900
E02F E83AOI
ED32 BeDFOO
E035 E83401
E038 BBII 00
EOlB E9ABOO
£D3E
ED3£ 800£3F0080
E043 804A
E045 E88001
E048 84C5
LINE
SOURCE
2561
STI
; REENABlE THE INTERRUPTS
2562
CAll
CHK_STAT_2
I 00 SENSE
INTERRUPT
STATUS
2563
;
FOLLOWING RESET
2564
HOV
AL,NEt_STATUS
I IGNORE ERROR RETURN AND DO OWN TEST
2565
CHP
AL,otOH
; TEST FOR DRIVE READY TRANSITION
2566
JZ
J7
I EVERYTHING OK
2:567
OR
DISKETTE_STATUS.BAD_NEC
I
SET ERROR CODE
2566
RET
2569
2570
1----- SEND SPECIFY COMMAND TO NEt
2571
2572
J7:
I
DRIVE_READY
2573
HOV
AH.03H
I SPECIFY Cott1Af«)
2574
CALL
NEC_OUTPUT
; OUTPUT THE COMI'IAtIJ
2575
HOV
ex.!
; FIRST BYTE PAR" IN BLOCK
2576
CALL
GET_PARH
,
TO THE NEe CONTROLLER
2577
MOV
BX,]
I SECON) aYTE PARH IN BLOCK
2576
CALL
GET_PARM
,
TO THE NEe CONTROLLER
2579
J8:
I RESET_RET
2580
RET
I RETURN TO CALLER
2581
DISK..RESET
ENDP
2582
2583
;----- DISKETTE STATUS ROUTINE
2584
2585
DISK_STATUS
PROC
NEAR
2586
HOV
AL .DISKETTE_STAl1IS
2587
RET
2588
DISK_STATUS
ENDP
2589
2590
;----- DISKETTE READ
2591
2592
DISK.-REAO
PROC
NEAR
2593
HOY
AL.046H
I READ Cot1t1AND FOR OMA
2594
J9:
I DISK_READ_CONT
2595
CALL
DI1A_SETUP
;. SET UP THE DMA
2596
MOV
AH,OE6H
; SET UP RO COt1I1AND FOR NEC COtfTROLLER
2597
JHP
SHORT
R~COF'H
I GO DO THE OPERATION
2598
DISK_READ
EtIlP
2599
2600
1----- DISKETTE VERIFY
2601
2602
DISK..VERF
PROC
NEAR
2603
HOV
AL,042H
I YERIFY COMHAhI) FOR OMA
2604
JHP
J9
; DO AS IF DISK READ
2605
DISK..YERF
ENDP
2606
2607
,----- DISKETTE FORMAT
2608
2609
DISK_FORMAT
PROC
NEAR
2610
OR
MOTOR_STATUS,80H
I INDICATE WRITE OPERATION
2611
HOY
AL,04AH
; WILL WRITE TO THE DISKETTE
2612
CALL
DMA_SETUP
I SET UP THE OttA
2613
MOV
AH.040H
I ESTABLISH THE FORMAT Cott"IAtI)
2614
JMP
SHORT RW_OPN
;. DO THE OPERATION
2615
JIO:
I CONTINUATION OF RI,COF'H FOR FttT
2616
HOY
BX.7
I GET THE
2617
CALL
GET_PARM
I
BYTES/SECTOR VALUE TO NEC
2618
HOY
BX,9
I GET THE
2619
CALL
GET_PARM
,
SECTORS/TRACK VALUE TO NEC
2620
HOY
BX,15
; GET THE
2621
CALL
GET_PARH
,
GAP LENGTH VALUE TO NEC
2622
MOV
BX.17
• GET THE FILLER BYTE
2623
JHP
Jl.
I
TO THE CONTROLLER
2624
DISK_FORMAT
ENDP
2625
2626
;----- DISKETTE WRITE ROUTINE
2627
2628
DISK_WRITE
""OC
NEAR
2629
OR
HOTOR_STA TUS, BOH
J
INDICATE WRITE OPERATION
2630
HOY
AL,04AH
;. DMA WRITE COMMAND
2631
CALL
DMA_SETUP
2632
MOV
AH,OC5H
I NEC CotI1AHD TO WRITE TO DISKETTE
2633
DISK_WRITE
ENDP
2634
2635
1----- ALLOIol WRITE ROUTINE TO FALL INTO RI'COPN
2636
2637
1---------------------------------------------------------------­
5-66 System BIOS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents