mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-26 01:49:19 +00:00
113 lines
3.9 KiB
Plaintext
113 lines
3.9 KiB
Plaintext
;
|
||
; File: SuperInit.a
|
||
;
|
||
; Written by: Mike Puckett, October 28, 1991.
|
||
;
|
||
; Contains: The code that determines which sRsrc directory directory
|
||
; to select.
|
||
;
|
||
; Copyright: © 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 “sRsrcZydecoDir” name to the more generic
|
||
; “sRsrcBFBasedDir” (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’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 “way out” 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’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
|