IBM XT 5160 Technical Reference page 186

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

CHECK FOR TRACK 0 TO SPEED UP ACKNOWLEDGE OF UNFORMATTED 0 I SKETTE
INITIALIZE START AND MAX TRACKS
(TIMES 2 FOR BOTH HEADS)
;-----
FALL THRU, READ 10 FAILED FOR AL
TRACKS
5-39
TO CONTROLLER
WAIT FOR OPERATION, GET STATUS
THROW AWAY ERROR ADDRESS
SET CARRY FOR ERROR
SETUP_DBL ERROR EX I T
LOAD RETURNED TRACK
STORE TRACK NUMBER
HALVE TRACK
I SIT THE SAME AS ASKED FOR TRACK
I F SAME THEN NO DOUBLE STEP
TURN ON DOUBLE STEP REQU I RED
SAVE HEAD
SEEK TO TRACK
RESTORE HEAD
01
=
HEAD OR'ED DRIVE
READ 10 HEAD 0
SA VE RETURN FROM READ 10
TURN OFF HEAD , BIT
-
RESTORE ERROR RETURN
RESTORE COUNT
I F OK, ASKED
=
RETURNED TRACK ?
I NC FOR NEXT TRACK
REACHED MAX I MUM YET
CONTINUE TILL ALL TRIED
SA VE TRACK, COUNT
CLEAR STATUS, EXPECT ERRORS
CLEAR AX
HAL VE TRACK, CY
=
HEAD
AX
=
HEAD I N CORRECT BIT
SET RECAL I BRATE REQU I RED ON ALL DR I VES
ENSURE MOTOR STAY ON
LOAD TRACK 0
SEEK TO TRACK 0
READ 10 FUNCT I ON
I F ERROR NO TRACK 0
; READ 10 COMMAND
; TO CONTROLLER
; DRIVE II TO AH, HEAD 0
; MOVE NEC OUTPUT ERROR ADDRESS
; CLEAR ERROR FLAG
; TEST CONTROLLER 1.0 •
; NO DOUBLE STEPP I NG REQU I RED
; ACCESS STATE
; ESTABLISHED STATE?
;
IF EST ABL I SHED THEN DOUBLE DONE
;
SET THE CARRY FLAG TO I NO I CATE
;
SUCCESS OR FAILURE
1-11
01-10-86
DISKETTE (01/10/86)
ENDP
CL,(IlNEC STATUS+3
(IlDSK_TRK[DI] ,CL
CH,'
CH,CL
NO DBL
(IlDSK_STATE[DI] ,DBL_STEP
CX
DO CHK
CH-
CH,CL
CNT_OK
CX
(IlDSKETTE STATUS, 0
AX,AX
-
CH,I
AL,I
AL,I
AL,I
AX
SEEK
AX
DI,AX
READ_ID
01,111110 liB
AH,I
(IlSEEK STATUS,O
MOTOR-ON
CH,O -
SEEK
READ 10
SO_ERR
CY
=
1 MEANS ERROR
ENDP
MOV
MOV
SHR
CMP
..JZ
OR
STC
RET
PUSH
MOV
XOR
SHR
RCL
RCL
RCL
PUSH
CALL
POP
OR
CALL
PUSHF
AND
POPF
POP
..JNC
INC
CMP
..JNZ
MOV
CALL
MOV
CALL
CALL
..JC
; ON EXIT:
CLC
RET
SETUP_DBL
01
=
BIT 2 I S RESET, BITS ',0
=
DR I VE
:
---------------~~:~::::=::~:~:~_:~-~:~~:::_:~~~~:_~~-~~:~~~~~~--
READ 10 PROC
NEAR
-
MOV
AX, OFFSET ER 3
PUSH
AX
-
MOV
AH,4AH
CALL
NEC OUTPUT
MOV
AX,DI
MOV
AH,AL
CALL
NEC OUTPUT
CALL
NEC-TERM
POP
AX -
MOV
CX, 0450H
; START, MAX TRACKS
TEST
(IlDSK_STATE[DI], TRK_CAPA ; TEST FOR 80 TRACK CAPABILITY
..JZ
CNT OK
;
I F NOT COUNT I S SETUP
MOV
CL, OAOH
; MAX I MUM TRACK 1.2MB
ATTEMPT READ 10 OF ALL TRACKS, ALL HEADS UNTIL SUCCESS; UPON SUCCESS,
MUST SEE I F ASKED FOR TRACK INS I NGLE STEP MODE
=
TRACK 10 READ;
I F NOT
THEN SET DOUBLE STEP ON.
.
-
-
--
- -
-
--
-
--
- - -
- -
---
--
-----
--
- -
- - -
---- --
- -
-
-- ------- -----
-------
; READ 10
;
-
READ 10 FUNCT ION.
; ON ENTRY:
0 I
=
BIT 2
=
HEAD; BITS 1,0
=
DR I VE
: ON EXIT :
SETUP DBL
;
-CHECK DOUBLE STEP.
; ON ENTRY:
01
=
DRIVE
;
-
-
---------
- -
-
---- -
-- -
-
-
--
-
-
--------
-
----
-- - - -
-
------------
-
----
CMOS TYPE
;
-
RETURNS 0 I SKETTE TYPE FROM CMOS
; ON ENTRY:
01
=
DRIVE II
;
; ON EX IT:
AL
=
TYPE; CY REFLECTS STATUS
~~~~
-
~;;~
-
-
-
-
-
--
;~~~
-
-
-
-
~~~~
-
----
---
--
--
-
-,.
---
----
---
-
---------
--
-
MOV
AL, BYTE PTR (IlEQU I P FLAG
LOAD EQU I PMENT FLAG FOR II DISKETTES
AND
AL, 1100000 lB
-
KEEP 01 SKETTE DR IVE BI TS
SHR
AL,I
ARE THERE ANY DRIVES INSTALLED?
..JNC
TYP_ZERO
NC-->NO DR I VES TYPE ZERO
RET
READ_ID ENDP
.
-------
-
-
-
--
- - - -
----------
-
- - -
-----
-
-
- -
-
-- --
-
----------
-- -------
SETUP DBL
PROC
NEAR
-
TEST
(IlHF CNTRL, DUAL
..JZ
NO DBL
MOV
AH:(IlDSK STATE[DI]
TEST
AH,MED DET
..JNZ
NO_DBL-
NUN ERR:
-
CMP
CMC
RET
SETUP_END
1172
1173 0841
1174 0841 80 FC 01
1175 084A F5
1176 084B C3
1171084C
1178
1179
1180
1181
1182
1183
1184
1185 084C
1186 084C F6 06 008F R 0
I
1181 0851
14 65
1188 0853 8A A5 0090 R
1189 0851 F6 C4 10
1190 085A 15 5C
1191
1192
1193
1194 085C C6 06 003E R 00
1195 0861 E8 0913 R
1196 0864 B5 00
1191 0866 E8 OA 14 R
1198 0869 E8 08BA R
1199 086C 12 35
1800
180
I
1802
1803 086E B9 0450
1804 0811 F6 85 0090 R 01
1805 0816 14 02
1806 0818 Bl
AO
1801
1808
1809
1810
1811
1812 081A
1813 081A 51
1814 081B C6 06 0041 R 00
18
I
5 0880 33 CO
1816 0882 DO ED
1811 0884 DO DO
1818 0886 DO DO
1819 0888 DO DO
1820 088A 50
182
I
088B E8 OA 14 R
1822 088E 58
1823 088F OB F8
1824 0891 E8 08BA R
1825 0894 9C
1826 0895 81 E1 OOFB
1821 0899 90
1828 089A 59
1829 089B 13 08
1830 0890 FE C5
183
I
089F 3A E9
1832 08A
I
15 01
1833
1834
1835
1836 08A3
1831 08A3 F9
1838 08A4 C3
1839
1840 08A5
1841 08A5 8A OE 0045 R
1842 08A9 88 80 0094 R
1843 08AD DO ED
1844 08AF 3A E9
1845 08BI
14 05
1846 08B3 80 80 0090 R 20
1841
1848 08B8
1849 08B8 F8
1850 08B9 C3
1851 08BA
1852
1853
1854
1855
1856
1851
1858
1859
1860 08BA
1861 08BA B8 08CE R
1862 08BD 50
1863 08BE B4 4A
1864 08CO E8 09FO R
1865 08C3 8B C1
1866 08C5 8A EO
1861 08C1 E8 09FO R
1868 08CA E8 0121 R
1869 08CD 58
1810 08CE
1811 08CE C3
1812 08CF
1813
1814
1815
1816
1817
1818
1819
1880
1881 08CF
1882 08CF AO 00 lOR
1883 0802 24 C 1
1884 0804 DO E8
1885 0806 13 20
IBM Personal Computer MACRO Assembler
Version 2.00
DSKETTE - -
0 1 / I 0/86
0 I SKETTE ADAPTER B I OS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents