; ; File: DockingEqu.a ; ; Contains: equates for docking portable Macintoshes into desktop docking modules ; ; Written by: Steve Christensen ; ; Copyright: © 1992-1993 by Apple Computer, Inc. All rights reserved. ; ; Change History (most recent first): ; ; 12/13/93 PN Roll in KAOs and Horror changes to support Malcom and AJ ; machines ; 9/1/93 SKH Update from Horror ; 3/2/93 CSS Update from Horror: ; 1/28/93 RLE add cache control selector ; 11/20/92 SWC Rolled in the rest of the Horror changes. ; 8/13/92 SWC Added a selector to let us do any last minute pre-boot patching ; should we find a need after the ROM goes final. ; 8/10/92 SWC Added a selector to return the slot number of the docking slot. ; 7/24/92 SWC Added a new flag to signal when a user has added a "can't add ; during sleep" kind of bar so we can force the removal of its ; handler in case the user tries multiple times. ; 6/29/92 SWC Added eject/shutdown equates. ; 6/25/92 SWC More vectorizing, and added sound attributes selector. ; 6/18/92 SWC Added a new vector (jRegisterVideo) to provide a hook to let us ; notify the system that a new video device has been added (this ; currently doesn't do anything). ; 5/29/92 SWC Added a selector to install an interrupt handler for an external ; SCSI chip (if any) for use by SCSI Disk Mode. ; 5/20/92 SWC Added a selector so we can pass the CPU clock speed to the ; docking handler in case its hardware cares. ;
5/8/92 SWC Fixed the CTB macros. ;
5/7/92 SWC Updated a couple of bit names. Added some Comm Toolbox stuff for ; resolving which serial ports are available. ;

4/22/92 SWC Added a Notification Manager record which is used when sleep is ; denied because the bar doesn't want to sleep. ;

4/13/92 SWC Added some more selectors. Defined flags byte in globals so we ; can keep track of state info. ;

3/20/92 SWC Added sleep/wakeup selectors. Added some more vectors to the ; globals. ;

2/14/92 SWC First checked in. IF &TYPE('__DockingEquates__') = 'UNDEFINED' THEN __DockingEquates__ SET 1 dockDockingSlot EQU 'slot' ; returns the slot number of the docking slot ; (this doesn't call the docking handler) ; status selectors and function result values dockHardwareAttr EQU 'hdwr' ; hardware attributes dockHasADB EQU 0 ; has an ADB connector dockHasSoundIn EQU 1 ; has a sound input connector dockHasSoundOut EQU 2 ; has a sound output connector dockHasFPU EQU 3 ; FPU exists dockHasSWIM EQU 4 ; SWIM (floppy disk controller) exists dockHasSCC EQU 5 ; SCC (serial ports) exists dockHasSCSI EQU 6 ; SCSI exists dockHasVideo EQU 7 ; video exists dockHasNetStuff EQU 8 ; has network services (e.g. ethernet, token ring) dockHasModemDAA EQU 9 ; has modem DAA dockHasOther EQU 10 ; miscellaneous other devices exist dockHasExtCache EQU 11 ; has external processor cache dockWakeADB EQU 16 ; ADB available on wakeup dockWakeSoundIn EQU 17 ; sound input available on wakeup dockWakeSoundOut EQU 18 ; sound output available on wakeup dockWakeFPU EQU 19 ; FPU available on wakeup dockWakeSWIM EQU 20 ; SWIM available on wakeup dockWakeSCC EQU 21 ; SCC available on wakeup dockWakeSCSI EQU 22 ; SCSI available on wakeup dockWakeVideo EQU 23 ; video available on wakeup dockWakeNetStuff EQU 24 ; network services available on wakeup dockWakeModemDAA EQU 25 ; modem DAA available on wakeup dockWakeOther EQU 26 ; other devices available on wakeup dockWakeExtCache EQU 27 ; external processor cache available on wakeup dockDockingAttr EQU 'dock' ; docking attributes dockNoSleep EQU 0 ; going to sleep is not allowed dockNoWakeup EQU 1 ; cannot wakeup if this bar was attached during sleep dockNoPowerCycle EQU 2 ; power cycling is not allowed dockNoLCDScreen EQU 3 ; don't use built-in LCD screen (i.e., in a docking station) dockingStation EQU 4 ; bar is a docking station (desktop, AC power, etc.) dockDockReserved5 EQU 5 ; [reserved] dockDockReserved6 EQU 6 ; [reserved] dockDockReserved7 EQU 7 ; [reserved] dockEjectStatus EQU 'ejsw' ; eject attributes dockEjectExists EQU 0 ; this bar contains a CPU eject mechanism dockEjectEnabled EQU 1 ; user has pressed eject button dockEjectReserved2 EQU 2 ; [reserved] dockEjectReserved3 EQU 3 ; [reserved] dockEjectReserved4 EQU 4 ; [reserved] dockEjectReserved5 EQU 5 ; [reserved] dockEjectReserved6 EQU 6 ; [reserved] dockEjectReserved7 EQU 7 ; [reserved] dockLockAttr EQU 'lock' ; lock attributes dockLockExists EQU 0 ; this bar contains a device to lock the CPU to it dockLockEnabled EQU 1 ; CPU is currently locked to the bar dockLockReserved2 EQU 2 ; [reserved] dockLockReserved3 EQU 3 ; [reserved] dockLockReserved4 EQU 4 ; [reserved] dockLockReserved5 EQU 5 ; [reserved] dockLockReserved6 EQU 6 ; [reserved] dockLockReserved7 EQU 7 ; [reserved] dockPowerStatus EQU 'powr' ; returns information about the state of power planes dockSWIMPower EQU 0 ; SWIM chip is turned on dockSCCPower EQU 1 ; SCC is turned on dockSCSIPower EQU 2 ; SCSI chip is turned on dockPowerReserved3 EQU 3 ; [reserved] dockSerDriverPower EQU 4 ; serial driver chip is turned on dockPowerReserved5 EQU 5 ; [reserved] dockPowerReserved6 EQU 6 ; [reserved] dockPowerReserved7 EQU 7 ; [reserved] dockSCCReadAddr EQU 'sccr' ; returns SCC read base address (if any) dockSCCWriteAddr EQU 'sccw' ; returns SCC write base address (if any) dockSCCPorts EQU 'scc#' ; which SCC ports are available dockSCCModemPort EQU 0 ; modem port is available dockSCCPrinterPort EQU 1 ; printer port is available dockSCCReserved2 EQU 2 ; [reserved] dockSCCReserved3 EQU 3 ; [reserved] dockSCCReserved4 EQU 4 ; [reserved] dockSCCReserved5 EQU 5 ; [reserved] dockSCCReserved6 EQU 6 ; [reserved] dockSCCReserved7 EQU 7 ; [reserved] dockSCSIType EQU 'sctp' ; SCSI chip type dock53C80 EQU 0 ; 53C80 dock53C96 EQU 1 ; 53C96 dockSCSIReserved2 EQU 2 ; [reserved] dockSCSIReserved3 EQU 3 ; [reserved] dockSCSIReserved4 EQU 4 ; [reserved] dockSCSIReserved5 EQU 5 ; [reserved] dockSCSIReserved6 EQU 6 ; [reserved] dockSCSIReserved7 EQU 7 ; [reserved] dockSCSIAddr EQU 'scsi' ; returns SCSI registers base address (if any) dockSCSIDMAAddr EQU 'sdma' ; returns SCSI DMA base address (if any) dockSCSIHskAddr EQU 'shsk' ; returns SCSI handshake base address (if any) dockSCSIDiskMode EQU 'sdm ' ; SCSI Disk Mode info dockSDMExists EQU 0 ; SCSI Disk Mode is supported by this bar dockSDMCable EQU 1 ; special cable is attached dockNuBusConnectors EQU 'sltc' ; bitmap of external NuBus connectors on this bar dockSlot0 Equ 0 ; ÒslotÓ 0 -- used to add/remove internal video if necessary dockSlot9 EQU 9 ; slot 9 dockSlotA EQU 10 ; slot A dockSlotB EQU 11 ; slot B dockSlotC EQU 12 ; slot C dockSlotD EQU 13 ; slot D dockSlotE EQU 14 ; slot E dockSoundAttributes EQU 'snd ' ; sound attributes dockSndAttrValid EQU 0 ; sound attributes are valid dockStereoOutput EQU 1 ; hardware supports stereo output dockStereoMixing EQU 2 ; hardware mixes channels on external speaker dockHeadphoneAttached EQU 3 ; a headphone is plugged into the jack dockHasSoundInput EQU 4 ; hardware supports sound input dockSIDAttached EQU 5 ; sound input device is attached dockSoundReserved6 EQU 6 ; [reserved] dockSoundReserved7 EQU 7 ; [reserved] dockROMVersion EQU 'vers' ; ROM version, in the form: ; [major rev (BCD)][minor rev (BCD)][release stage][non-final release] ; release stage: development = 0x20, alpha = 0x40, beta = 0x60, release = 0x80 dockCacheStatus EQU 'csta' ; External cache status dockCacheCPU EQU 'ccpu' ; input parameter causes advisory CPU compatibilty information to be returned dockCache68000 EQU 1 ; the cache is compatible with MC68000 (gestalt68000) dockCache68010 EQU 2 ; the cache is compatible with MC68010 (gestalt68010) dockCache68020 EQU 3 ; the cache is compatible with MC68020 (gestalt68020) dockCache68030 EQU 4 ; the cache is compatible with MC68030 (gestalt68030) dockCache68040 EQU 5 ; the cache is compatible with MC68040 (gestalt68040) dockCacheDataSize EQU 'cdat' ; input parameter causes the cache size in bytes to be returned dockCacheLineSize EQU 'clin' ; input parameter causes the cache line size in bytes to be returned dockCacheSpace EQU 'cspc' ; input parameter causes the cacheable address space to be returned dockCacheConfig EQU 'ccfg' ; input parameter causes the current cache configuration to be returned dockCacheROM EQU 0 ; the cache supports caching of ROM accessess dockCacheRAM EQU 1 ; the cache supports caching of RAM accesses dockCacheProg EQU 2 ; the cache supports caching of instructions dockCacheData EQU 3 ; the cache supports caching of data dockCacheWriteAlloc EQU 4 ; the cache supports write allocate dockCache4Way EQU 23 ; the cache supports 4 way set associative dockCache3Way EQU 24 ; the cache supports 3 way set associative dockCache2Way EQU 25 ; the cache supports 2 way set associative dockCache1Way EQU 26 ; the cache supports 1 way set associative (direct mapped) dockCacheSplit EQU 27 ; the cache supports split dockCacheUnified EQU 28 ; the cache supports unified dockCacheWriteThru EQU 29 ; the cache supports write-thru dockCacheCopyBack EQU 30 ; the cache supports copyback dockCacheAvail EQU 31 ; the cache is available ; control selectors and parameter values ; (return zero as function result unless otherwise specified) dockBootHook EQU 'boot' ; lets docking handler do last minute pre-boot setup dockCacheControl EQU 'cctl' ; External Cache Control dockCacheOn EQU 'on ' ; input parameter enables the cache dockCacheOff EQU 'off ' ; input parameter disables the cache dockCacheFlush EQU 'flsh' ; input parameter flushes the cache dockDiagnostics EQU 'diag' ; run diagnostics: params contains pointer to test parameter block ; result = 0 if invalid/unsupported test, ; result = $8000 0000 if test passes ; result = error code, otherwise dockFloppyDriveIcon EQU 'dicn' ; return floppy disk drive icon: ; params = drive number, result = pointer to drive icon structure dockEjectCPU EQU 'ejct' ; enable ejecting the CPU when it powers off dockRemoved EQU 'gone' ; does cleanup if board was removed across sleep dockInit EQU 'init' ; does power-up board initialization dockWakeupInit EQU 0 ; initializing when board was added during sleep dockIgnoreExtCache EQU 1 ; set if external cache shouldn't be used dockWorldChanged Equ 2 ; set when the docking manager needs to know if the world changed dockCPUSpeed EQU 'mhz ' ; sends CPU's speed in MHz to the docking handler dockPowerControl EQU 'pctl' ; turn power planes on a bar on/off dockPowerOn EQU 7 ; 1=turn on, 0=turn off all "1" bits in bits 0-6 dockSWIMOff EQU (0<