IBM XT 5160 Technical Reference page 174

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

01 SK VERF
-
0 I SKETTE VER I FY •
01 SK FORMAT
-
0 I SKETTE FORMAT.
01 SK READ
-
0 I SKETTE READ.
5-27
ZF: 1 ATTEMPT RATE I S SAME AS LAST RATE
YES,
SK I P SPEC I FY COMMAND
SEND SPEC I FY COMMAND TO NEC
SEND OAT A RATE TO CONTROLLER
WILL WR I TE TO THE 0 I SKETTE
SET UP THE DMA
RETURN WITH ERROR
ESTABLI SH THE FORMAT COMMAND
INITIALIZE THE NEC
LOAD ERROR ADDRESS
PUSH NEC OUT ERROR RETURN
BYTES/SECTOR VALUE TO NEC
CHECK MED I A CHANGE AND RESET I F SO
MED I A CHANGED, SK I P
PUT BACK FOR SETUP END
VARIOUS CLEANUPS
-
GET SAVED AL TO BL
STORE STATUS
IN AL
; FILLER BYTE TO NEC
; GAP LENGTH VALUE TO NEC
;
SECTORS/TRACK VALUE TO NEC
1-5
01-10-86
DISKETTE (01/10/86)
AL,04AH
DMA SETUP
FM DON
AH-;04DH
NEC INIT
FM DON
AX-;OFFSET FM DON
AX
-
DL,3
GET PARM
NEC-OUTPUT
DL,4
GET PARM
NEC-OUTPUT
DL,1
GET PARM
NEC-OUTPUT
DL,a
CHK LASTRATE
FM
WR
SEND SPEC
SEND:RATE
('DSKETTE_STATUS, CY REFLECT STATUS OF OPERATION
01
:
DRIVE #
SI-HI
:
HEAD #
S
I -LOW :
# OF SECTORS
ES
:
BUFFER SEGMENT
[BP]
:
SECTOR #
[BP+ 1] :
TRACK #
[BP+2] :
BUFFER OFFSET
('DISK POINTER POINTS TO THE PARAMETER TABLE OF
-
THIS DRIVE
('DSKETTE_STATUS, CY REFLECT STATUS OF OPERATION
01
:
DRIVE #
S I -H I
:
HEAD #
S I-LOW :
#
OF SECTORS
ES
:
BUFFER SEGMENT
[BP]
:
SECTOR #
[BP+ 1] :
TRACK #
[BP+2i :
BUFFER OFFSET
('DSKETTE_STATUS, CY REFLECT STATUScDF OPERATION
ENDP
01
:
DRIVE #
S I -H I
:
HEAD #
S I-LOW :
# OF SECTORS
ES
:
BUFFER SEGMENT
[BP]
:
SECTOR #
[BP+ 1] :
TRACK #
[BP+2] :
BUFFER OFFSET
ENDP
('DSKETTE_STATUS, CY REFLECT STATUS OF OPERAT I ON
MOV
CALL
.JC
MOV
CALL
.JC
MOV
PUSH
MOV
CALL
CALL
MOV
CALL
CALL
MOV
CALL
CALL
MOV
ON EXIT:
ON ENTRY:
ON EXIT:
ON ENTRY:
ON EX IT:
ON ENTRY:
·
-
---- --
- -
-
- - -
-- ----- --------- ---- -- ---- -- -------- -- - --- - ---- ----
DISK FORMAT
PROC
NEAR
-
CALL
XL AT NEW
TRANSLATE STATE TO PRESENT ARCH.
CALL
FMT TN
I T
ESTABLI SH STATE IF UNESTABL I SHED
OR
('MOTOR STATUS, 10000000B
I NO I CATE WR I TE OPERAT I ON
TEST
('HF CNTRL,DUAL
TEST CONTROLLER 1.0.
.JZ
NO CHG CHECK
CALL
MED CHANGE
.JC
FM_DON
NO CHG CHECK:
-
-
CALL
.JZ
CALL
CALL
·
- - - -
--- ---
-
-------
-
- -
-
-
---- -- -- ---
-
-- -- -- --- - --- -- ----
---
---
- ---
DISK VERF
PROC
NEAR
-
AND
('MOTOR STATUS,01111111B ;
INDICATE A READ OPERATION
MOV
AX, OE642H
; AX :
NEC COMMAND, DMA COMMAND
CALL
RD_ WR_ VF
; COMMON READ / WR I TE / VER I FY
RET
01 SK_VERF
ENDP
·
-
--
- - - - - - - - - - -
--
-
----- ----
- -- -- ---
-- ------ - --- - ---- -- --- -- -
-----
DISK WR I TE
PROC
NEAR
-
MOV
AX, OC54AH
; AX :
NEC COMMAND, DMA COMMAND
OR
('MOTOR STATUS, 10000000B ;
I NO I CATE WR I TE OPERAT I ON
CALL
RD_WR_VF
; COMMON READ/WRITE/VERIFY
RET
01 SK_WR I TE
ENDP
; ON EXIT:
·
-
----
-
-
- - - - - - - - - - - -
-
- -
---- --
-
-------- -- ------ -- ----
-
-
--- --- -- ---
01 SK WR ITE
-
0 I SKETTE WR I TE •
ON ENTRY:
01
:
DRIVE #
S I -H I
:
HEAD #
S I-LOW :
# OF SECTORS
ES
:
BUFFER SEGMENT
[BP]
:
SECTOR #
;
{BP+l] :
TRACK #
[BP+2] :
BUFFER OFFSET
;
·-
~~ _:~: ~:
------
~~:~:~~:=:~~~~: ~ _:~
-
~:~:::~
-
:~~~~:- ~~
-
~~:~~~ :~~--
DISK READ
PROC
NEAR
-
AND
('MOTOR STATUS,01111111B ;
INDICATE A READ OPERATION
MOV
AX, OE646H
; AX :
NEC COMMAND, DMA COMMAND
CALL
RD_WR_VF
; COMMON READ/WRITE/VERIFY
RET
01 SK_READ
·
-
----- --
- - -- - - - - - --
- --
--- --- -----
---
-------- -------
-----
- --- -- --
DISK STATUS
PROC
NEAR
-
MOV
('DSKETTE STATUS,AH
CALL
SETUP END
MOV
BX, S 1-
MOV
AL,AH
RET
DISK_STATUS
443
444
445
446
OOEA
447
OOEA 88 26 0041 R
448
OOEE E8 0832 R
449
OOF 1 8B DE
450
00F3 8A C4
451
00F5 C3
452
00F6
453
454
455
456
457
458
459
460
461
462
463
464
465
466
00F6
467
00F6 80 26 003F R 7F
468
OOFB B8 E646
469
OOFE E8 04B3 R
470
0101
C3
471
0102
472
473
474
475
476
471
478
479
480
481
482
483
484
485
0102
486
0102 B8 C54A
487
0105 80 OE 003F R 80
488
01 OA E8 04B3 R
489
0100 C3
490
01 OE
491
492
493
494
495
496
497
498
499
500
501
502
503
504
010E
505
01 OE 80 26 003F R 7F
506
01 13 B8 E642
507
0116 E8 04B3 R
508
0119 C3
509
011A
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
011 A
526
01 1A E8 0404 R
527
01 10 E8 05AO R
528
0120 80 OE 003F R 80
529
0125 F6 06 008F R 01
530
01 2A 74 05
531
01 2C E8 05F5 R
532
012F 72 41
533
0131
534
0131 E8 0658 R
535
0134 74 06
536
0136 E8 0301
R
537
0139 E8 0637 R
538
013C
539
01 3C BO 4A
540
01 3E E8 0668 R
541
0141
72 2F
542
0143 B4 40
543
0145 E8 06CB R
544
0148 72 28
545
0 14A B8 0 172 R
546
0140 50
547
014E B2 03
548
0150 E8 08FE R
549
0153 E8 09FO R
550
0156 B2 04
551
0158 E8 08FE R
552
015B E8 09FO R
553
015E B2 07
554
0160 E8 08FE R
555
0163 E8 09FO R
556
0166 B2 08
IBM Personal Computer MACRO Assembler
Version 2.00
DSKETTE - -
01 / 10/86
0 I SKETTE ADAPTER BIOS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents