; ; File: backlight.a ; ; Contains: backlight driver low level glue ; ; Written by: Andy Gong ; ; Copyright: © 1990-1993 by Apple Computer, Inc. All rights reserved. ; ; This file is used in these builds: ROM ; ; Change History (most recent first): ; ; 9/8/93 ag a new set of values for the backlight table. this should ; increase the range on both the top and bottom ends. ; 8/13/93 ag changed hardwareequ.a to hardwareprivateequ.a. ; <1> 7/27/93 ag first checked in ; 3/11/93 RLE another pass at the Escher backlighting table ; 2/26/93 RLE split a new backlight table off for Escher since the displays ; are just a wee bit different ; 1/21/93 RLE add support for Escher ; 7/13/92 SWC Yet another pass at the DBLite table. Deja vu, eh? ; 6/30/92 ag Added cpu info tables for cpu dependent information. ; 5/7/92 ag Changed the structure of the backlight tables. Included in the ; tables are a header which indicates the minimun and maximum ; values. ;
4/10/92 SWC Yet another pass at the DBLite table. ;
3/4/92 SWC Next pass at the DBLite table. ;

2/12/92 SWC Changed the DB-Lite table limits to have a narrower range of ; values. ;

9/10/91 SWC Changed the DB-Lite table to have a span of 0..127 instead of ; 0..255 since the backlight values don't go that high. ;

8/26/91 SWC Added a PWM lookup table for DB-Lite. ; ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ ; Pre-HORROR ROM comments begin here. ; ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ ; <5> 7/8/91 ag added lookup table for ashai added name constant for gestalt ; lookup ; <4> 6/24/91 ag added new lookup table for PWM low voltage operation. ; <3> 6/11/91 ag added new table for low power scaling. ; <2> 4/2/91 ag added table lookup for PWM ; <1> 1/23/91 ag first checked in ;_______________________________________________________________________ BLANKS ON PRINT OFF INCLUDE 'SysEqu.a' INCLUDE 'SysErr.a' INCLUDE 'Traps.a' INCLUDE 'HardwarePrivateEqu.a' INCLUDE 'powerprivequ.a' INCLUDE 'backlightequ.a' PRINT ON STRING PASCAL BacklightPrimitiveTables Proc with backlightflags export PrattBkltPrims DC.L PrimsTypeTable ; flags DC.L (PrattBkltPrimsEnd-PrattBkltPrims) ; size of table PrattBkltPrims ; Table of Primitives tables DC.L PrattBkltProcTable-PrattBkltPrims ; offset to table of backlight routines DC.L PrattBkltInfo-PrattBkltPrims ; offset to table of backlight information PrattBkltPrimsEnd DC.L PrimsTypeInfo ; flags DC.L (PrattBkltInfoEnd-PrattBkltInfo) ; size of table PrattBkltInfo ; machine-specific constants: dc.l (0 << disableHWinput)\ ; operating flag (stops user input) +(0 << kbdactive)\ ; operating flag (kbd control inprogress) +(1 << vbl_ok)\ ; operating flag (allow vbl operations) +(1 << flyByWire)\ ; config flag (hardware input) +(1 << freeflag)\ +(0 << dualTable)\ ; config flag (use multi tables) +(0 << lowTable)\ ; operating flag (currently using low table) +(0 << slewChange) ; operating flag (table transition inprogress) dc.w 10 ; vbl count SampleRate dc.w 0 ; (n/a) lowThreshold dc.w 0 ; (n/a) hiThreshold PrattBkltInfoEnd CASE OBJECT import SetPWM,PotControl,InitPWMControls,PGE_button import PWMCloseRoutine,PWMControl,BkltGenericStatus DC.L PrimsTypePtr ; flags DC.L (PrattBkltProcTableEnd-PrattBkltProcTable) ; size of table PrattBkltProcTable ; machine specific IdleMind Routines dc.l SetPWM - PrattBkltProcTable ; set routine dc.l PotControl - PrattBkltProcTable ; get user input routine dc.l InitPWMControls - PrattBkltProcTable ; initialize routine dc.l PWMCloseRoutine - PrattBkltProcTable ; close routine dc.l PWMControl - PrattBkltProcTable ; control routine dc.l BkltGenericStatus - PrattBkltProcTable ; status routine dc.l BkltStandardExit - PrattBkltProcTable ; (n/a) charger state change routine dc.l PWMMaxTbl - PrattBkltProcTable ; table of maximum value for different power ranges dc.l dbTbl - PrattBkltProcTable ; low range table dc.l dbTbl - PrattBkltProcTable ; high range table dc.l PGE_button - PrattBkltProcTable ; hardware dependent var PrattBkltProcTableEnd export PowerBookDuoBkltPrims DC.L PrimsTypeTable ; flags DC.L (PowerBookDuoBkltPrimsEnd-PowerBookDuoBkltPrims) ; size of table PowerBookDuoBkltPrims ; Table of Primitives tables DC.L PowerBookDuoBkltProcTable-PowerBookDuoBkltPrims ; offset to table of backlight routines DC.L PowerBookDuoBkltInfo-PowerBookDuoBkltPrims ; offset to table of backlight information PowerBookDuoBkltPrimsEnd DC.L PrimsTypeInfo ; flags DC.L (PowerBookDuoBkltInfoEnd-PowerBookDuoBkltInfo) ; size of table PowerBookDuoBkltInfo ; machine-specific constants: dc.l (0 << disableHWinput)\ ; operating flag (stops user input) +(0 << kbdactive)\ ; operating flag (kbd control inprogress) +(1 << vbl_ok)\ ; operating flag (allow vbl operations) +(1 << flyByWire)\ ; config flag (hardware input) +(1 << freeflag)\ +(0 << dualTable)\ ; config flag (use multi tables) +(0 << lowTable)\ ; operating flag (currently using low table) +(0 << slewChange) ; operating flag (table transition inprogress) dc.w 10 ; vbl count SampleRate dc.w 0 ; (n/a) lowThreshold dc.w 0 ; (n/a) hiThreshold PowerBookDuoBkltInfoEnd CASE OBJECT import SetPWM,PotControl,InitPWMControls,PGE_button import PWMCloseRoutine,PWMControl,BkltGenericStatus DC.L PrimsTypePtr ; flags DC.L (PowerBookDuoBkltProcTableEnd-PowerBookDuoBkltProcTable) ; size of table PowerBookDuoBkltProcTable ; machine specific IdleMind Routines dc.l SetPWM - PowerBookDuoBkltProcTable ; set routine dc.l PotControl - PowerBookDuoBkltProcTable ; get user input routine dc.l InitPWMControls - PowerBookDuoBkltProcTable ; initialize routine dc.l PWMCloseRoutine - PowerBookDuoBkltProcTable ; close routine dc.l PWMControl - PowerBookDuoBkltProcTable ; control routine dc.l BkltGenericStatus - PowerBookDuoBkltProcTable ; status routine dc.l BkltStandardExit - PowerBookDuoBkltProcTable ; (n/a) charger state change routine dc.l PWMMaxTbl - PowerBookDuoBkltProcTable ; table of maximum value for different power ranges dc.l dbTbl - PowerBookDuoBkltProcTable ; low range table dc.l dbTbl - PowerBookDuoBkltProcTable ; high range table dc.l PGE_button - PowerBookDuoBkltProcTable ; hardware dependent var PowerBookDuoBkltProcTableEnd CASE OFF ;-------------------------------------------------------------------------------------------------------------- ; ; DBLiteinfo ;-------------------------------------------------------------------------------------------------------------- ; dbTbl ;

dc.w 0 ; minimum value dc.w @end - @start ; @start DC.B 127 ; 0 DC.B 120 ; 1 DC.B 113 ; 2 DC.B 109 ; 3 DC.B 106 ; 4 DC.B 102 ; 5 DC.B 99 ; 6 DC.B 95 ; 7 DC.B 92 ; 8 DC.B 88 ; 9 DC.B 85 ; 10 DC.B 81 ; 11 DC.B 77 ; 12 DC.B 74 ; 13 DC.B 70 ; 14 DC.B 67 ; 15 DC.B 63 ; 16 DC.B 60 ; 17 DC.B 56 ; 18 DC.B 53 ; 19 DC.B 49 ; 20 DC.B 45 ; 21 DC.B 42 ; 22 DC.B 38 ; 23 DC.B 35 ; 24 DC.B 31 ; 25 DC.B 28 ; 26 DC.B 24 ; 27 DC.B 21 ; 28 DC.B 17 ; 29 DC.B 14 ; 30 @end DC.B 10 ; 31 ;-------------------------------------------------------------------------------------------------------------- ; PWMMaxTbl dc.w 31 ; 0 dc.w 15 ; 1 dc.w 15 ; 2 dc.w 7 ; 3 dc.w 3 ; 4 ;-------------------------------------------------------------------------------------------------------------- ; CASE OBJECT export PotInputRangeShiftTblPWM PotInputRangeShiftTblPWM dc.w 0 ; 0 dc.w 1 ; 1 dc.w 1 ; 2 dc.w 2 ; 3 dc.w 3 ; 4 CASE OFF case object BkltStandardExit rts case off END