mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-21 03:31:39 +00:00
113 lines
3.8 KiB
Plaintext
113 lines
3.8 KiB
Plaintext
|
;
|
|||
|
; File: SuperInit.a
|
|||
|
;
|
|||
|
; Written by: Mike Puckett, October 28, 1991.
|
|||
|
;
|
|||
|
; Contains: The code that determines which sRsrc directory directory
|
|||
|
; to select.
|
|||
|
;
|
|||
|
; Copyright: <09> 1991-1992 by Apple Computer, Inc., all rights reserved.
|
|||
|
;
|
|||
|
; This file is used in these builds: Mac32
|
|||
|
;
|
|||
|
; Change History (most recent first):
|
|||
|
;
|
|||
|
; <SM2> 10/28/92 SWC Changed VideoEqu.a->Video.a and ShutdownEqu.a->Shutdown.a.
|
|||
|
; <1> 10/6/92 GDW New location for ROMLink tool.
|
|||
|
; <SM2> 6/4/92 KW (jmp,H7) Changed the <20>sRsrcZydecoDir<69> name to the more generic
|
|||
|
; <09>sRsrcBFBasedDir<69> (BF=BoxFlag) name.
|
|||
|
; <SM1> 5/2/92 kc Roll in Horror. Comments follow:
|
|||
|
; <H6> 01/11/92 jmp Eliminated the dependencies on BoxFlag.
|
|||
|
; <H5> 12/16/91 HJR Fix header.
|
|||
|
; <H3> 12/12/91 jmp Added support for DBLiteLC.
|
|||
|
; <H2> 11/27/91 jmp Added support for Sonora-based machines.
|
|||
|
; <1> 10/29/91 jmp first checked in
|
|||
|
|
|||
|
;---------------------------------------------------------------------
|
|||
|
; Notes
|
|||
|
;---------------------------------------------------------------------
|
|||
|
; In an effort to keep things simple (yet eliminate the use of BoxFlag),
|
|||
|
; the VideoInfo data structure has been modified to contain two new
|
|||
|
; fields. One of these fields contains the particular sRsrc directory
|
|||
|
; directory (or Super sRsrc directory) to select. However, some CPUs
|
|||
|
; don<6F>t have built-in video (e.g., the IIfx), so, by definition, those
|
|||
|
; CPUs should be placed into the BoxFlag-based sRsrc directory. The other
|
|||
|
; field is a <20>way out<75> in cases where BoxFlag is necessary -- i.e., it
|
|||
|
; contains the BoardSRsrcID. For CPUs that fall into the BoxFlag-based
|
|||
|
; sRsrc directory, this field is just zero, indicating that the
|
|||
|
; board sRsrc is a derivative of BoxFlag. Where the BoardSRsrcID
|
|||
|
; field of VideoInfo is non-zero, this is the board sRsrc ID of
|
|||
|
; particular family of CPUs using the same video controller.
|
|||
|
;---------------------------------------------------------------------
|
|||
|
|
|||
|
STRING C
|
|||
|
|
|||
|
PRINT OFF
|
|||
|
LOAD 'StandardEqu.d'
|
|||
|
|
|||
|
INCLUDE 'DockingEqu.a'
|
|||
|
INCLUDE 'EgretEqu.a'
|
|||
|
INCLUDE 'GestaltEqu.a'
|
|||
|
INCLUDE 'GestaltPrivateEqu.a'
|
|||
|
INCLUDE 'HardwarePrivateEqu.a'
|
|||
|
INCLUDE 'IOPrimitiveEqu.a'
|
|||
|
INCLUDE 'PowerPrivEqu.a'
|
|||
|
INCLUDE 'ROMEqu.a'
|
|||
|
INCLUDE 'Video.a'
|
|||
|
INCLUDE 'SlotMgrEqu.a'
|
|||
|
INCLUDE 'ShutDown.a'
|
|||
|
INCLUDE 'SonicEqu.a'
|
|||
|
INCLUDE 'UniversalEqu.a'
|
|||
|
|
|||
|
INCLUDE 'DepVideoEqu.a'
|
|||
|
PRINT ON
|
|||
|
|
|||
|
SEG '_sSuperInitRec'
|
|||
|
MACHINE MC68020
|
|||
|
|
|||
|
;---------------------------------------------------------------------
|
|||
|
; Header
|
|||
|
;---------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
lSuperInit PROC
|
|||
|
|
|||
|
Dc.b sExec2 ; Header
|
|||
|
Dc.b sCPU68020
|
|||
|
Dc.w 0
|
|||
|
Dc.l BeginSuperInit-*
|
|||
|
|
|||
|
;---------------------------------------------------------------------
|
|||
|
; Local variables, definitions, etc....
|
|||
|
;---------------------------------------------------------------------
|
|||
|
|
|||
|
;---------------------------------------------------------------------
|
|||
|
; Data
|
|||
|
;---------------------------------------------------------------------
|
|||
|
|
|||
|
;---------------------------------------------------------------------
|
|||
|
; Main
|
|||
|
;---------------------------------------------------------------------
|
|||
|
|
|||
|
With SEBlock,ProductInfo,VideoInfo
|
|||
|
BeginSuperInit
|
|||
|
Clr.w seStatus(A0) ; Flag that there are no problems (zero in hi-byte of seStatus).
|
|||
|
Move.b #sRsrcBFBasedDir,D0 ; Just assume the BoxFlag-based sRsrc directory for now.
|
|||
|
|
|||
|
Move.l UnivInfoPtr,A1 ; Get a pointer to the Universal Info.
|
|||
|
Adda.l VideoInfoPtr(A1),A1 ; Point to the VideoInfo.
|
|||
|
|
|||
|
Cmpa.l #0,A1 ; If there is no VideoInfo record,
|
|||
|
Beq.s @Done ; then we<77>re done.
|
|||
|
Move.b SuperSRsrcDirID(A1),D0 ; Otherwise, use the defined Super sRsrcDir ID.
|
|||
|
|
|||
|
@Done Move.b D0,seStatus+1(A0) ; Return the super sRsrc directory id.
|
|||
|
Rts ; Go home.
|
|||
|
|
|||
|
EndWith
|
|||
|
|
|||
|
_EndsSuperInitRec
|
|||
|
ENDP
|
|||
|
|
|||
|
END
|