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...
008A
BA
03F7
008D
EC
008E
8A
D8
0090
24
10
0092
F6
C3
08
0095
74
02
0097
DC
20
0099
0099
BA
03F2
009C
EE
009D
BO
B2
009F
E6
77
00A1
OC
40
00A3
E6
77
00A5
F6
06
OOAO
OOAA
74
06
OOAC
E4
61
OOAE
24
F7
OOBO
E6
61
00B2
00B2
E8
076E
R
00B5
B9
050A
00B8
E2
FE
OOBA
FA
DSKLON:
MOV
IN
AL,DX
MOV
BL,AL
AND
AL,
DR0J.10TOR
DX,DRIVE_SENSE
READ
DRIVES
MOTOR/SEL
LINES
BL
<---
STARTING
SENSE
SAV
E
DRO
MOTOR
STATE
TEST
BL, DRLMOLSENSE
WAS
DRIVE
1
MOTOR
ON?
JZ DSKLRS01
NO
THEN
JUMP
OR
AL,
DR1J.10TOR
OTHERWISE
TURN
ON
DRIVE
1
MOTOR
DSKLRS01:
MOV
DX,
DRIVE_CNTL
SET
PORT
TO
3F2
OUT
DX,AL
TURN
OFF
DMA/lNT
LEAVE
MOTOR
ON
DISABLE
POWER
AND
ACTIVATE
DISKETTE
DEGATE
MODE
MOV
AL, DSKLNMI
+DSKLOEGATE+RD_CNTL
+CNTL_SEL
OUT
DSKLCNTL,AL ;
SEND
TO
THE
DISKETTE
CONTROL
REG
ENABLE
CONTROLLER
POWER
OR
AL,
FDCPWR
;
ENABLE
POWER
OUT
DSKLCNTL
,AL
R
01
TEST
RTCWAILFLAG, INTERVAL_WAIT;
CHECK
FOR
PERIODIC
INT
JZ
DSKLRS01A
IN
AL,NMLCNTL
AND
AL,NOT
DIS-ALARM
ALLOW
RTC
ALARM
INTERRUPTS
OUT
NMLCNTL,AL
DSKLRS01A:
CALL
NMLCYCLE
CYCLE
NMI
MASK,
RESTORE
INT
FLAGS
MOV
CX,5*MS_DELAY
DELAY
TO
WAIT
FOR
CONTROLLER
LOOP
$
CLI
CHECK
IF
NMI
CAUSED
BY
POWER
ON
DURING
MIDDLE
OF
CONTROLLER
RESET
OOBB
81
7E
OA
03F2
CMP
DXSAVE[BP]
,DRIVE_CNTL
CHECK
FOR
OX
=
RESET
PORT
JUMP
I F
NOT
OOCO
75
13
00C2
8A
46
10
00C5
A8
04
00C7
75
OC
JNE
DSKLRS02
MOV
AL,ALSAVE[BP]
TEST
AL,
FDCRUN
JNZ
DSKLRS02
GET
ORIGI
NAL
AL
REG
IS
FDC
RESET
OFF?
YES
THEN
NOT
A
RESET
POWER
ON
REQUEST
IN
THE
MIDDLE
OF
THE
CONTROLLER
RESET
00C9
DC
04
OOCB
EE
OOCC
E4
77
OOCE
24
DF
DODO
E6
77
00D2
E9
0207
OR
OUT
IN
AND
OUT
JMP
AL,
FDCRUN
DX,AL
AL,
DSKLCNTL
AL,NOT
DSKLDEGATE
DSKLCNTL,
AL
DSKLRSEXIT
SET
RESET
BACK
TO
OFF
TURN
OFF
OEGATE
EXIT
THE
NMI
TO
COMPLETE
THE
RESET
SEQUENCE
TAKE
OVER
AND
ACTIVATE
DISKETTE
INTERRUPT
0005 DSKLRS02:
00D5
AD
0040 R
0008
50
0009
C6
06
0040
R
FF
OODE
2B
CO
ODED
8E
CO
00E2
B1
06
00E4
E8
0000 E
MOV
AL,MOTOR_COUNT
PUSH
AX
MOV
MOTOILCOUNT
,OFFH
SUB
AX,AX
MOV
ES,AX
MOV
CL,6
CALL
GELVECTOR@
SAVE
CURRENT
MOTOR
COUNT
SAVE
ON
STACK
KEEP
MOTOR
FROM
GO
I
NG
OFF
GET
INT
LEVEL
6
VECTOR
LOC
SI
NOW
CONTAINS
INTERRUPT
VECTOR
ADDRESS
;
00E7
26:
8B
04
MOV
AX,ES:
lSI]
GET
VECTOR
OFFSET
OOEA
50
PUSH
AX
;
SAVE
OOEB
26:
8B
44
02
MOV
AX,ES:
[SI+2]
GET
VECTOR
SEG
OOEF
50
PUSH
AX
;
SAVE
OOFO
26:
8C
4C
02
MOV
ES:
[SI+2]
,CS
;
SET
CODE
SEGMENT
00F4 26:
C7
04
024C
R
MOV
WORD
PTR
ES:
lSI]
,OFFSET
DSKLNMIE ;
00F9
56
PUSH
SI ;
SAVE
VECTOR
ADDRESS
2-30 ROM BIOS

Related product manuals