Low Battery Check (Low_Bat - IBM PC CONVERTIBLE Technical Reference

Table of Contents

Advertisement

0623
E8 076E R
CALL
NMLCYCLE
CYCLE NMI , RESTORE INT FLAGS
0626
B9 64C8
MOV
CX,100*MS_DELAY
0629
E2 FE
LOOP
$
062B
24 OF
AND
AL, NOT SYNCENABLE
TURN OFF SYNCS FOR POWER
0620
E6 75
OUT
LCD_DATA,AL
,
062F
80 OE 0016 R 80
OR
BIOS_STATUS,DSP_BLANKED ; SET DISPLAY BLANKED STATUS
0634
EB 11
JMP
SHORT RTCINL14
; EXIT
TURN OFF SYSTEM
0636
DEACLSYSTEM:
0636
80 OE 0016 R 40
OR
BIOS_STATUS,F_RESUME ; INDICATE FORCED RESUME MODE
063B
E4 7F
IN
AL,PWILSTAT
GET POWER STAT/CNTL REG
0630
24 F7
AND
AL, NOT HDWR_RESET
TURN OFF RESET FLAG
063F
OC 04
OR
AL, EN_SUS_NMI
ENABLE SYSTEM SUSPEND NMI
0641
E6 7F
OUT
PWILSTAT ,AL
0643
OC 02
OR
AL, REQ_POFF
REQUEST POWER OFF
0645
E6 7F
OUT
PWR_STAT ,AL
EXIT FROM RTC INTERRUPT
0647
RTCINLI4:
0647
E9 0050 R
JMP
NMIH_EXIT
RETURN TO FIRST LEVEL HANDLER
064A
RTCALARM_NMI
ENDP
Low Battery Check (LOW_BAT_CHK)
064A
064A
064F
0651
0654
0656
0658
065A
065C
065E
0660
; **************************************************************************
LOW BATTERY CHECK
THIS ROUTINE CHECKS FOR A LOW BATTERY CONDITION AND IF DETECTED WILL ISSUE
A WARNING. THE LOW BATTERY WARNING WILL OCCUR AFTER TWO CONSECUTIVE LOW
BATTERY SENSES, NO EXTERNAL POWER SUPPLIED AND THE LOW BATTERY WARNING
FLAG IS ENABLED IN SYSTEM PROFILE. THE WARNING ISSUED WILL SOUND THREE
SHORT BEEPS, FLASH THE SCREEN ON AND OFF AT AN ONE SECOND INTERVAL AND
EXECUTE A PAUSE. THE PAUSE WILL HOLD UP ALL MAIN LEVEL PROCESSING AND
LOCK OUT NON- I NTERRUPT DR I VEN PROCESS I NG. ONCE TH E USER ACKNOWLEDGES THE
WARNING, EITHER BY PRESSING A KEY OR APPLYING EXTERNAL POWER, THE SCREEN
FLASHING WILL STOP AND MAIN LEVEL PROCESSING WILL CONTINUE.
AT SUCCESSIVE TWO MINUTE INTERVALS, THE LOW BATTERY WARNING WILL BE
REISSUED IF THE LOW BATTERY CONDITION STILL EXISTS OR EXTERNAL POWER HAS
NOT BEEN APPLIED. IF TWO MINUTES HAVE ELAPSED AND THE WARNING HAS NOT BEEN
ACKNOWLEDGED, THE APPLICATION WILL BE SUSPENDED AND THE SYSTEM POWERED OFF.
THIS ROUTINE IS CALLED BY THE
RTCALAR~NMI
ROUTINE EVERY ONE SECOND TO CHECK
ON THE BATTERY CONDITION.
IF LOW BATTERY IS DETECTED, THIS ROUTINE
WILL
CALL WAIT ON EXTERNAL EVENT. THIS WILL ALLOW THE SYSTEM TO SLEEP WHILE
WAITING FOR A KEY TO BE PRESSED. WHILE WAITING, THE ONE SECOND INTERRUPT CAN
OCCUR AGAIN CAUSING THE LOW BATTERY CHECK ROUTINE TO BE CALLED AGAIN. SO
THIS ROUTINE IS RECURSIVE.
LOW BATTERY CHECK IS DISABLED DURING POST
; ******************************************************************************
LOW_BALCHK
PROC
NEAR
F6 06 0012 R 01
TEST
POSLSTATUS, POSLACTIVE ; IS POST CURRENTLY ACTIVE?
J FNZ
LOWBEND
YES, JUMP TO END
74 03
JZ
$+5
IF NOT NOT ZERO JUMP AROUND JUMP
E9 0746 R
JMP
LOWBEND
ELSE TAKE A LONG JUMP
E4 7F
IN
AL,PWR_STAT
GET POWER INTERFACE
A8 80
TEST
AL,LOW_BAT
LOW BATTERY SIGNAL ON?
74 lC
JZ
LO
NO LOW BATTERY SIGNAL - JUMP TO END
A8 40
TEST
AL, EXLPWR
I S EXTERNAL POWER SUPPLI ED?
75 18
JNZ
LO
YES EXTERNAL POWER
- JUMP TO END
B4 17
MOV
AH,RTCSYS_PROFI
E8 0747
CALL
GELRTCNMI
GET SYSTEM PROFILE
ROM BIOS 2-47

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents