]> Shamusworld >> Repos - virtualjaguar/blob - src/jaguar.h
Initial changeset to experimental branch
[virtualjaguar] / src / jaguar.h
1 #ifndef __JAGUAR_H__
2 #define __JAGUAR_H__
3
4 #include "types.h"
5 #include "memory.h"                                                     // For "UNKNOWN" enum
6
7 void JaguarInit(void);
8 void JaguarReset(void);
9 void JaguarDone(void);
10
11 uint8 JaguarReadByte(uint32 offset, uint32 who = UNKNOWN);
12 uint16 JaguarReadWord(uint32 offset, uint32 who = UNKNOWN);
13 uint32 JaguarReadLong(uint32 offset, uint32 who = UNKNOWN);
14 void JaguarWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN);
15 void JaguarWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN);
16 void JaguarWriteLong(uint32 offset, uint32 data, uint32 who = UNKNOWN);
17
18 bool JaguarInterruptHandlerIsValid(uint32 i);
19 void JaguarDasm(uint32 offset, uint32 qt);
20
21 void JaguarExecute(uint32 * backbuffer, bool render);
22 //For testing the new system...
23 void JaguarExecuteNew(void);
24
25 // Exports from JAGUAR.CPP
26
27 extern bool BIOSLoaded;
28 extern bool CDBIOSLoaded;
29 extern int32 jaguarCPUInExec;
30 extern uint32 jaguarMainROMCRC32, jaguarROMSize, jaguarRunAddress;
31 extern char * jaguarEepromsPath;
32
33 // Various clock rates
34
35 #define M68K_CLOCK_RATE_PAL             13296950
36 #define M68K_CLOCK_RATE_NTSC    13295453
37 #define RISC_CLOCK_RATE_PAL             26593900
38 #define RISC_CLOCK_RATE_NTSC    26590906
39
40 // Stuff for IRQ handling
41
42 #define ASSERT_LINE             1
43 #define CLEAR_LINE              0
44
45 //Temp debug stuff (will go away soon, so don't depend on these)
46
47 void DumpMainMemory(void);
48 uint8 * GetRamPtr(void);
49
50 #endif  // __JAGUAR_H__