mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-29 20:49:19 +00:00
340 lines
7.2 KiB
Plaintext
340 lines
7.2 KiB
Plaintext
;
|
|
; File: PowerMgrDispatchEqu.a
|
|
;
|
|
; Contains: equates for routines that access the Power Manager
|
|
;
|
|
; Written by: Steve Christensen
|
|
;
|
|
; Copyright: © 1992-1993 by Apple Computer, Inc. All rights reserved.
|
|
;
|
|
; This file is used in these builds: ROM
|
|
;
|
|
; Change History (most recent first):
|
|
;
|
|
; <SM2> 12/13/93 PN Roll in KAOs and Horror changes to support Malcom and AJ
|
|
; machines
|
|
; <1> 9/2/93 KH first checked in
|
|
; <SM1> 9/2/93 SKH Rolled in from Horror
|
|
;
|
|
; <H6> 6/21/93 SWC Cleaned up the modem info and wakeup timer stuff.
|
|
; <H5> 6/16/93 SWC Added the SetWakeupOnRing selector.
|
|
; <H4> 6/16/93 SWC Added a "can wakeup on ring" bit to the public features.
|
|
; <H3> 5/28/93 SWC Fixed a couple of bugs in the macros.
|
|
; <H2> 5/28/93 SWC Added some more selectors so they'll be in for the next Escher
|
|
; beta build.
|
|
; <H1> 5/3/93 SWC Adding the file to Horror.
|
|
;
|
|
|
|
|
|
_PowerMgrDispatch OPWORD $A09E
|
|
|
|
|
|
; selectors off of the PowerMgrDispatch trap
|
|
|
|
PwrMgrCountDisp EQU 0
|
|
PMFeaturesDisp EQU 1
|
|
GetSleepTODisp EQU 2
|
|
SetSleepTODisp EQU 3
|
|
GetHDTODisp EQU 4
|
|
SetHDTODisp EQU 5
|
|
HDPoweredDisp EQU 6
|
|
HDOffDisp EQU 7
|
|
IsHDDisableDisp EQU 8
|
|
HDDisableDisp EQU 9
|
|
HDQInstallDisp EQU 10
|
|
HDQRemoveDisp EQU 11
|
|
GetScaleBattDisp EQU 12
|
|
AutoSlpControlDisp EQU 13
|
|
SelectIntModemDisp EQU 14
|
|
ModemInfoDisp EQU 15
|
|
MaxSpeedDisp EQU 16
|
|
CurrentSpeedDisp EQU 17
|
|
FullSpeedDisp EQU 18
|
|
SetSpeedDisp EQU 19
|
|
GetDiskModeDisp EQU 20
|
|
SetDiskModeDisp EQU 21
|
|
GetWakeupDisp EQU 22
|
|
SetWakeupDisp EQU 23
|
|
GetCPUCycleDisp EQU 24
|
|
SetCPUCycleDisp EQU 25
|
|
BatteryCountDisp EQU 26
|
|
AbsoluteBatteryDisp EQU 27
|
|
BatteryTimeDisp EQU 28
|
|
GetDimmingTimeout EQU 29
|
|
SetDimmingTimeout EQU 30
|
|
DimmingControl EQU 31
|
|
|
|
|
|
|
|
; definition of bits in bitfield returned by PMFeatures
|
|
|
|
hasWakeupTimer EQU 0 ; 1=wakeup timer is supported
|
|
hasSharedModemPort EQU 1 ; 1=modem port shared by SCC and internal modem
|
|
hasProcessorCycling EQU 2 ; 1=processor cycling is supported
|
|
mustProcessorCycle EQU 3 ; 1=processor cycling should not be turned off
|
|
hasReducedSpeed EQU 4 ; 1=processor can be started up at reduced speed
|
|
dynamicSpeedChange EQU 5 ; 1=processor speed can be switched dynamically
|
|
hasSCSIDiskMode EQU 6 ; 1=SCSI Disk Mode is supported
|
|
canGetBatteryTime EQU 7 ; 1=battery time can be calculated
|
|
canWakeupOnRing EQU 8 ; 1=can wakeup when the modem detects a ring
|
|
|
|
|
|
; definition of bits in bitfield returned by GetIntModemInfo and set in SetIntModemState
|
|
|
|
hasInternalModem EQU 0 ; [r ] 1=internal modem installed
|
|
intModemRingDetect EQU 1 ; [r ] 1=internal modem has detected a ring
|
|
intModemOffHook EQU 2 ; [r ] 1=internal modem is off hook
|
|
intModemRingWakeEnb EQU 3 ; [r/w] 1=wakeup on ring is enabled
|
|
extModemSelected EQU 4 ; [r/w] 1=external modem selected
|
|
|
|
modemSetBit EQU 15 ; 1=set bit, 0=clear bit
|
|
|
|
|
|
; hard disk spindown notification queue element
|
|
|
|
HDQueueElement RECORD 0, INCREMENT
|
|
hdQLink DS.L 1 ; pointer to next queue element
|
|
hdQType DS.W 1 ; queue element type (must be HDQType)
|
|
hdFlags DS.W 1 ; miscellaneous flags
|
|
hdProc DS.L 1 ; pointer to routine to call
|
|
hdUser DS.L 1 ; user-defined (variable storage, etc.)
|
|
HDqSize EQU *-HDQueueElement
|
|
|
|
HDPwrQType EQU 'HD' ; queue element type
|
|
ENDR
|
|
|
|
|
|
; information returned by the GetScaledBatteryInfo selector
|
|
|
|
BatteryInfo RECORD 0, INCREMENT
|
|
flags DS.B 1 ; misc flags (see below)
|
|
warningLevel DS.B 1 ; scaled warning level (0-255)
|
|
reserved DS.B 1 ; reserved for internal use
|
|
batteryLevel DS.B 1 ; scaled battery level (0-255)
|
|
|
|
; bits in BatteryInfo.flags:
|
|
|
|
batteryInstalled EQU 7 ; 1=battery is currently connected
|
|
batteryCharging EQU 6 ; 1=battery is being charged
|
|
chargerConnected EQU 5 ; 1=charger is connected to the PowerBook
|
|
; (this doesn't mean the charger is plugged in)
|
|
ENDR
|
|
|
|
|
|
; information returned by the GetBatteryTime selector (times are in seconds)
|
|
|
|
BatteryTimeRec RECORD 0, INCREMENT
|
|
expectedBatteryTime DS.L 1 ; estimated battery time remaining
|
|
minimumBatteryTime DS.L 1 ; minimum battery time remaining
|
|
maximumBatteryTime DS.L 1 ; maximum battery time remaining
|
|
timeUntilCharged DS.L 1 ; time remaining until the battery is fully charged
|
|
ENDR
|
|
|
|
|
|
|
|
; PowerMgrDispatch routine macros
|
|
|
|
MACRO
|
|
_PMSelectorCount
|
|
MOVEQ #PwrMgrCountDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_PMFeatures
|
|
MOVEQ #PMFeaturesDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetSleepTimeout
|
|
MOVEQ #GetSleepTODisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_SetSleepTimeout
|
|
SWAP D0
|
|
MOVE.W #SetSleepTODisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetHardDiskTimeout
|
|
MOVEQ #GetHDTODisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_SetHardDiskTimeout
|
|
SWAP D0
|
|
MOVE.W #SetHDTODisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_HardDiskPowered
|
|
MOVEQ #HDPoweredDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_SpinDownHardDisk
|
|
MOVEQ #HDOffDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_IsSpindownDisabled
|
|
MOVEQ #IsHDDisableDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_SetSpindownDisable
|
|
SWAP D0
|
|
MOVE.W #HDDisableDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_HardDiskQInstall
|
|
MOVEQ #HDQInstallDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_HardDiskQRemove
|
|
MOVEQ #HDQRemoveDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetScaledBatteryInfo
|
|
SWAP D0
|
|
MOVE.W #GetScaleBattDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_AutoSleepControl
|
|
MOVEQ #AutoSlpControlDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_SelectIntModem
|
|
MOVEQ #SelectIntModemDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetIntModemInfo
|
|
MOVEQ #ModemInfoDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_MaximumProcessorSpeed
|
|
MOVEQ #MaxSpeedDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_CurrentProcessorSpeed
|
|
MOVEQ #CurrentSpeedDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_FullProcessorSpeed
|
|
MOVEQ #FullSpeedDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_SetProcessorSpeed
|
|
SWAP D0
|
|
MOVE.W #SetSpeedDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetSCSIDiskModeAddress
|
|
MOVEQ #GetDiskModeDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_SetSCSIDiskModeAddress
|
|
SWAP D0
|
|
MOVE.W #SetDiskModeDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetWakeupTimer
|
|
MOVEQ #GetWakeupDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_SetWakeupTimer
|
|
MOVEQ #SetWakeupDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_IsProcessorCyclingEnabled
|
|
MOVEQ #GetCPUCycleDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_EnableProcessorCycling
|
|
SWAP D0
|
|
MOVE.W #SetCPUCycleDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_BatteryCount
|
|
MOVEQ #BatteryCountDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetBatteryVoltage
|
|
SWAP D0
|
|
MOVE.W #AbsoluteBatteryDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetBatteryTimes
|
|
SWAP D0
|
|
MOVE.W #BatteryTimeDisp,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetDimmingTimeout
|
|
MOVEQ #GetDimmingTimeout,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_SetDimmingTimeout
|
|
SWAP D0
|
|
MOVE.W #SetDimmingTimeout,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_DimmingControl
|
|
MOVEQ #DimmingControl,D0
|
|
_PowerMgrDispatch
|
|
ENDM
|
|
|
|
|