IBM PC CONVERTIBLE Technical Reference page 74

Table of Contents

Advertisement

06CD
FE 06 0093 R
INC
LOW_BALCTR
; PROCESS INTERRUPT
0601
EB 73
JMP
SHORT
LOWBEND
; NO INTERRUPTS IN SERVICE.
SIGNAL LOW BATTERY.
0603
L4:
0603
80 OE 0015 R 80
OR
BALSTATUS,LOW_BALSIG ; SET LOW BTRY SGNL FLAG ON
0608
E8 076E R
CALL
NMLCYCLE
; CYCLE NMI AND RESTORE INT FLAGS
SOUND THE 3 BEEPS
06DB
C6 06 009
R 78
MOV
LOW_BALCTR,120
SET 2 MINUTE COUNTER
3 BEEPS - LOOP COUNT
FORCE SPEAKER ON
06EO
B9 0003
06E3
E8 0759 R
06E6
BB OODF
06E9
06E9
51
06EA
B9 0090
06ED
E8 0000
06FO
2B C9
06F2
E2 FE
06F4
59
06F5
E2 F2
06F7
E8 0762
06FA
E4 61
06FC
24 F7
06FE
E6 61
MOV
CX,3
CALL
SPKR_ON
MOV
BX,223
LOW_BEEP _LOOP:
PUSH
CX
MOV
CX,144
CALL
KB_NOISE
CX,CX
SHORT BEEP (.25 SECONDS)
SAVE LOOP COUNT
1/2 CYCLE FOR 890 HZ TONE
SOUND SPEAKER
$
250 MS OELAY BETWEEN BEEPS
CX
RESTORE LOOP COUNT
LOW_BEEP _LOOP
SPKR_RESTORE
RESTORE SPEAKER ENABLE
AL,NMLCNTL
AL,NOT DISJ.LARM
RE-ENABLE ALARM NMI
NMLCNTL,AL
0700
80 OE 001
R 40
SUB
LOOP
POP
LOOP
CALL
IN
AND
OUT
OR
BALSTATUS,LOW_BALHOLD ; SET BIT FOR WAITING FOR KEY
0705
0705
B8 4104
0708
BB 4000
070B
1 E
070C
07
0700
BF 0015 R
0710
CD 15
THIS LOOP WAITS FOR A KEY TO BE PRESSED. WHILE WAITING THE SYSTEM SLEEPS.
ALSO, WHILE WAITING IN THIS LOOP, THE INTERRUPTS WILL BE PROCESSED. THE
UPDATE ENDED INTERRUPT WHICH CALLS THE LOW BATTERY ROUTINE WILL INTERRUPT
OUT EVERY SECOND. TO EXIT THIS LOOP, EITHER A KEY IS PRESSED, EXTERNAL
POWER IS APPLIED OR THE TWO MINUTE COUNTER GOES TO O. BY APPLYING EXTERNAL
POWER (SEE LOJ.) OR BY THE TWO MINUTE COUNTER GOING TO 0 (SEE L2) WILL
FORCE OFF THE WAITING FOR KEY FLAG. IF THE TWO MINUTE COUNTER GOES TO 0,
THE SYSTEM WILL SET UP TO SUSPENO.
MOV
MOV
PUSH
POP
MOV
INT
; LOOP UNTIL KEY PRESSED
AX,4104H
; FUNCTION 41H, AL=04=RETURN IF ZERO
BX, LOW_BALHOLD*100H ; BH=LOW_BALHOLD, BL=O=NO TIME OUT
OS
; MAKE ES:DI POINT TO BALSTATUS
ES
,
DI,OFFSET BALSTATUS ;
15H
; SLEEP UNTI L KEY HIT
0712
F6 06 0015 R 40
TEST
JZ
JMP
BALSTATUS,LOW_BALHOLD ; BIT IS OFF IF KEY WAS PRESSED
0717
74 02
0719
EB EA
071B
071B
80 3E 0093 R 00
0720
75 12
0722
BA 03F2
0725
2A CO
0727
EE
L5:
CMP
JNE
MOV
SUB
OUT
L5
KEY PRESSED EXIT LOOP
LOW_KB_LOOP
KEEP LOOPING
LOW_BALCTR,O
L6
DX,ORIVE_CNTL
AL,AL
DX,AL
CTR = 0 FORCE SUSPEND SET UP
NO, JUMP ON
TURN OFF DISKETTE MOTORS
THESE VARIABLES ARE INITIALIZED TO VALUES THAT CAUSES THE SYSTEM TO TURN
OFF WHEN RETURNING TO CALLER(RTCJ.LARM_NMI).
0728
072E
0734
0734
0737
073C
C7 06 0067 R 0000
C7 06 0069 R 0001
E8 0000 E
80 26 0015 R OF
073C
BO 00
073E
E6 74
0740
E4 75
0742
OC 60
MOV
MOV
L6:
CALL
AND
DSP_BLANK_CTR,O
SYS_OFF _CTR,1
KEY PRESSED OR CTR=1
DISABLE_NMI
; DISABLE NMI
BALSTATUS,NOT LOW_BALPEND ; TURN OFF LOW BAT PEND FLAG
L_PANEL_ON:
TURN PANEL ON BEFORE EXITING
MOV
AL, LCDJUNCT
OUT
LCD_INDX,AL
ACCESS LCDC CONTROL REGISTER
IN
AL,LCD_DATA
; READ LCDC CONTROL REGISTER
OR
AL,PANEL_ENABLE+SYNCENABLE ; FORCE PANEL ON
ROM BIOS 2-49

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents