EasyManua.ls Logo

IBM PC CONVERTIBLE

IBM PC CONVERTIBLE
275 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
041B
MOTOILSTARTUP
FUNCTION:
TO
CHECK
FOR
MOTOR
STATE,
TURN
ON
MOTOR
OF
REQUESTED
DRIVE
AND
WAIT
THE
NECESSARY
STARTUP
TIME
BEFORE
RETURNING
TO
CALLER.
I
NPUT
PARAMETERS:
DL
= 0-3
(DISKETTE
DRIVE
NUMBER)
OUTPUT
PARAMETERS:
MOTOILSTATUS
FLAGS
UPDATED
MOTOR
OF
DRIVE
IS
TURNED
ON
REGISTERS
MODIFIED:
AX,BX,CX,DH
MOTOILSTARTUP
PROC
NEAR
;-----
TURN
ON
THE
MOTOR
AND
SELECT
THE
DRIVE
041B
B6
00
041D
MOV
MOL01:
DH,O
;
SET
FIRST
TIME
THROUGH
FLAG
GET
MOTOR
STARTUP
TI
ME
0410
BB
0014
MOV
BX,20
GET
THE
MOTOR
WAIT
0420
E8
0259
R
CALL
GELPARM
CH
HAS
MOTOR
START
UP
DELAY
0423
80
FC
04
CMP
AH,04
MUST
BE
MINIMUM
OF
500
MSECS
0426
73
02
JAE
MOLOn
JUMP
IF
OKAY
0428
B4
04
MOV
AH,04
DEFAULT
TIME
TO
500
MSECS
042A
MOLOll:
042A
8A
EC
MOV
CH,AH
SAVE
MOTOR
START
UP
DELAY
042C
8A
CA
MOV
CL,DL
GET
DRIVE
NUMBER
AS
SHIFT
COUNT
042E
BO
01
MOV
AL,l
MASK
FOR
DETERMINING
MOTOR
BIT
0430
D2
EO
SAL
AL,CL
SHI
FT
THE
MASK
BIT
0432
FA
CLI
NO
INTERRUPTS
WHILE
DETERMINING
MOTOR
STATUS
0433
84
06
003F
R
TEST
AL
,MOTOR_STATUS
TEST
THAT
MOTOR
FOR
OPERATING
0437
75
IB
JNZ
MOL02
IF
RUNNING
GO
CHECK
TIME
;
TURN
ON
MOTOR
0439
80
26
003F
R
FO
AND
MOTOR_STATUS,OFOH
TURN
OFF
ALL
MOTOR
BITS
043E
08 06
003F
R
OR
MOTOILSTATUS,
AL
TURN
ON
THE
CURRENT
MOTOR
0442
BO
10
MOV
AL,10H
MASK
BIT
0.4.44
8A
CA
MOV
CL,DL
GET
DRIVE
NUMBER
AS
SHI
FT
COUNT
0446
D2
EO
SAL
AL,CL
DEVELOP
BIT
MASK
FOR
MOTOR
ENABLE
0448
OA
C2
OR
AL,DL
;
GET
DRIVE
SELECT
BITS
IN
044A
OC
OC
OR
AL,FDCDMILENAB+FDCRUN
;
NO
RESET,
ENABLE
DMA/INT
044C
52
PUSH
DX
SAVE
REG
044D
BA
03F2
MOV
DX,DRIVE_CNTL
CONTROL
PORT
ADDRESS
0450
EE
OUT
DX,AL
0451
5A
POP
DX
RECOVER
REGISTERS
0452
EB
07
JMP
SHORT
MOL04
GO
DELAY
FOR
STARTUP
CHECK
TO
SEE
I F
MOTOR
ON
LONG
ENOUGH
0454
MOL02:
0454
F6
06
003F
R
20
0459
75
24
TEST
JNZ
MOTOILSTATUS,MOTOILOK
;
CHECK
FOR
MOTOR
RUNNING
LONG
ENOUGH
MOL08
IF
MOTOR
OKAY
THEN
EXIT
,
;
CH
HAS
TIME
TO
WAIT
IN
1/8
SECONDS
045B
MOL04:
045B
C6
06
0040
R
FF
MOV
MOTOILCOUNT,OFFH
SET
LONG
MOTOR
DELAY
0460
FB
STI
I
NTERRUPTS
BACK
ON
0461
OA
ED
OR
CH,CH
DON'T
WAIT
IF
NO
WAIT
SET
0463
74
1A
JZ
MOL08
0465
OA
F6
OR
DH,DH
CHECK
FOR
FIRST
TIME
THROUGH
WAIT
0467
75
08
JNZ
MOL06
I F
NOT
FIRST
TIME
BYPASS
OP
_SYS
HOOK
NOTIFY
OPERATING
SYSTEM
OF
WAIT
FOR
MOTOR
STARTUP
0469
F8
CLC
;
RESET
TIMEOUT
INDICATOR
ROM BIOS 2-135

Related product manuals