blob: 54569b250232a570c59f003e35a1d7795656ac6e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#include "PACEInterfaceLib.h"
#include "ArmNative.h"
// Linker still looks for ARMlet_Main as entry point, but the
// "ARMlet" name is now officially discouraged. Compare an
// contrast to "PilotMain" for 68K applications.
#define PNO_Main ARMlet_Main
// ------------------------
extern "C"
unsigned long PNO_Main(
const void *emulStateP,
void *userData68KP,
Call68KFuncType *call68KFuncP);
unsigned long PNO_Main(const void *emulStateP, void *userData68KP, Call68KFuncType *call68KFuncP) {
unsigned long retVal = 0;
#ifdef COMPILE_PACE
// needed before making any OS calls using the
// PACEInterface library
InitPACEInterface(emulStateP, call68KFuncP);
#endif
#ifdef COMPILE_PA1SND
ARMPa1SndPtr userData = (ARMPa1SndPtr)userData68KP;
pcm2adpcm ( (Int16 *)ReadUnaligned32(&(userData->srcP)),
(UInt8 *)ReadUnaligned32(&(userData->dstP)),
ReadUnaligned32(&(userData->length))
);
#endif
#ifdef COMPILE_STREAMSND
retVal = (unsigned long)sndCallback;
#endif
#ifdef COMPILE_OWIDELS
O_WideLandscape(userData68KP);
#endif
#ifdef COMPILE_OWIDEPT
O_WidePortrait(userData68KP);
#endif
#ifdef COMPILE_OCOPYRECT
O_CopyRectToScreen(userData68KP);
#endif
return retVal;
}
|