1 |
|
/* |
2 |
|
* main.h - Emulation core |
3 |
|
* |
4 |
< |
* SheepShaver (C) 1997-2004 Christian Bauer and Marc Hellwig |
4 |
> |
* SheepShaver (C) 1997-2008 Christian Bauer and Marc Hellwig |
5 |
|
* |
6 |
|
* This program is free software; you can redistribute it and/or modify |
7 |
|
* it under the terms of the GNU General Public License as published by |
23 |
|
|
24 |
|
// Global variables |
25 |
|
extern void *TOC; // TOC pointer |
26 |
+ |
extern void *R13; // r13 register |
27 |
|
extern uint32 KernelDataAddr; // Address of Kernel Data |
28 |
|
extern uint32 BootGlobsAddr; // Address of BootGlobs structure at top of Mac RAM |
29 |
|
extern uint32 PVR; // Theoretical PVR |
30 |
|
extern int64 CPUClockSpeed; // Processor clock speed (Hz) |
31 |
|
extern int64 BusClockSpeed; // Bus clock speed (Hz) |
32 |
+ |
extern int64 TimebaseSpeed; // Timebase clock speed (Hz) |
33 |
|
|
34 |
|
#ifdef __BEOS__ |
35 |
|
extern system_info SysInfo; // System information |
43 |
|
|
44 |
|
|
45 |
|
// Functions |
46 |
+ |
extern bool InitAll(const char *vmdir); |
47 |
+ |
extern void ExitAll(void); |
48 |
|
extern void Dump68kRegs(M68kRegisters *r); // Dump 68k registers |
49 |
< |
extern void MakeExecutable(int dummy, void *start, uint32 length); // Make code executable |
49 |
> |
extern void MakeExecutable(int dummy, uint32 start, uint32 length); // Make code executable |
50 |
|
extern void PatchAfterStartup(void); // Patches after system startup |
51 |
|
extern void QuitEmulator(void); // Quit emulator (must only be called from main thread) |
52 |
|
extern void ErrorAlert(const char *text); // Display error alert |
73 |
|
extern volatile uint32 InterruptFlags; // Currently pending interrupts |
74 |
|
extern void SetInterruptFlag(uint32); |
75 |
|
extern void ClearInterruptFlag(uint32); |
72 |
– |
#if EMULATED_PPC |
73 |
– |
extern void HandleInterrupt(void); // Handle SIGUSR1 interrupt in emulator thread |
74 |
– |
#endif |
76 |
|
extern void TriggerInterrupt(void); // Trigger SIGUSR1 interrupt in emulator thread |
77 |
|
extern void DisableInterrupt(void); // Disable SIGUSR1 interrupt (can be nested) |
78 |
|
extern void EnableInterrupt(void); // Enable SIGUSR1 interrupt (can be nested) |