mirror of
https://github.com/elliotnunn/boot3.git
synced 2024-12-28 20:29:26 +00:00
5b0f0cc134
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
86 lines
2.5 KiB
C
86 lines
2.5 KiB
C
/*
|
|
File: MixedModePrivate.h
|
|
|
|
Contains: Private interfaces for the Mixed Mode mechanism
|
|
|
|
Written by: Bruce Jones
|
|
|
|
Copyright: © 1992 by Apple Computer, Inc., all rights reserved.
|
|
|
|
Change History (most recent first):
|
|
|
|
<1> 12/7/92 DRF first checked in
|
|
<7> 12/7/92 DRF Change inline glue for Get/SetNativeFPRs to use 16-bit inline
|
|
hex, instead of the nice 32-bit constants. The compiler was only
|
|
using the low 16-bits of each constant!
|
|
<6> 12/4/92 DRF Changed names of Get/SetFPRs to Get/SetNativeFPRs
|
|
<4> 11/9/92 JCM Fix typo in kSetFPRSelector
|
|
<3> 11/9/92 DRF Added GetFPRs() and SetFPRs() so that the Process Manager can
|
|
get and set the preserved native floating point registers
|
|
(fpr14-fpr31). NOTE: We only compile this in for the mac-based
|
|
compiler.
|
|
<2> 10/12/92 EPT Added macros OSTrapTableAddress and TBTrapTableAddress.
|
|
<3> 9/19/92 LC Add declarations of entry point names.
|
|
<2> 9/9/92 LC Moved some private definitions to MixedMode.h so that a user can
|
|
use the macro "BuildRoutineDescriptor"
|
|
<1> 9/1/92 BKJ first checked in
|
|
8/28/92 BKJ change to reflect latest ERS
|
|
6/2/92 BKJ first checked in
|
|
4/20/92 BKJ First Created
|
|
|
|
*/
|
|
|
|
|
|
#ifndef __MIXEDMODEAPPLEPRIVATE__
|
|
#define __MIXEDMODEAPPLEPRIVATE__
|
|
|
|
#ifndef __TYPES__
|
|
#include <Types.h>
|
|
#endif
|
|
|
|
#ifndef __MIXEDMODE__
|
|
#include <MixedMode.h>
|
|
#endif
|
|
|
|
enum
|
|
{
|
|
kGetNativeFPRSelector=16, /* MixedMode selector for GetNativeFPRs() */
|
|
kSetNativeFPRSelector=17 /* MixedMode selector for SetNativeFPRs() */
|
|
};
|
|
|
|
#define OSTrapTableAddress(trapNum) (((trapNum & 0x00FF) << 2) + 0x400)
|
|
#define TBTrapTableAddress(trapNum) (((trapNum & 0x03FF) << 2) + 0xE00)
|
|
|
|
#define kMM68KContextGlobalName "\pEmulated68KContext"
|
|
#define kMMEmulatorReturnGlobalName "\pEmulatorReturn"
|
|
|
|
OSErr
|
|
V0InitializeMixedMode (void);
|
|
|
|
ProcPtr
|
|
GetCustomParamProc (RoutineDescriptor theDescriptor);
|
|
|
|
OSErr
|
|
SetCustomParamProc (RoutineDescriptor theDescriptor,
|
|
ProcPtr newProc);
|
|
|
|
#pragma push
|
|
#pragma skipping on
|
|
#ifndef interface_glue
|
|
#ifdef applec
|
|
|
|
pascal OSErr
|
|
GetNativeFPRs (Ptr fprStorage, long firstReg, long lastReg)
|
|
= {0xFEED,0x0000,0x4B4F,0x4348,kGetNativeFPRSelector};
|
|
/* == {kGoMixedMode, kMixedModeMagicCookie, kGetNativeFPRSelector} */
|
|
|
|
pascal OSErr
|
|
SetNativeFPRs (Ptr fprStorage, long firstReg, long lastReg)
|
|
= {0xFEED,0x0000,0x4B4F,0x4348,kSetNativeFPRSelector};
|
|
/* == {kGoMixedMode, kMixedModeMagicCookie, kSetNativeFPRSelector} */
|
|
|
|
#endif
|
|
#endif
|
|
#pragma pop
|
|
|
|
#endif |