5 #include "memory.h" // For "UNKNOWN" enum
7 void JaguarSetScreenBuffer(uint32_t * buffer);
8 void JaguarSetScreenPitch(uint32_t pitch);
10 void JaguarReset(void);
11 void JaguarDone(void);
13 uint8_t JaguarReadByte(uint32_t offset, uint32_t who = UNKNOWN);
14 uint16_t JaguarReadWord(uint32_t offset, uint32_t who = UNKNOWN);
15 uint32_t JaguarReadLong(uint32_t offset, uint32_t who = UNKNOWN);
16 void JaguarWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN);
17 void JaguarWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN);
18 void JaguarWriteLong(uint32_t offset, uint32_t data, uint32_t who = UNKNOWN);
20 bool JaguarInterruptHandlerIsValid(uint32_t i);
21 void JaguarDasm(uint32_t offset, uint32_t qt);
23 void JaguarExecuteNew(void);
25 // Exports from JAGUAR.CPP
27 extern int32_t jaguarCPUInExec;
28 extern uint32_t jaguarMainROMCRC32, jaguarROMSize, jaguarRunAddress;
29 extern char * jaguarEepromsPath;
30 extern bool jaguarCartInserted;
31 extern bool bpmActive;
32 extern uint32_t bpmAddress1;
34 // Various clock rates
36 #define M68K_CLOCK_RATE_PAL 13296950
37 #define M68K_CLOCK_RATE_NTSC 13295453
38 #define RISC_CLOCK_RATE_PAL 26593900
39 #define RISC_CLOCK_RATE_NTSC 26590906
41 // Stuff for IRQ handling
46 //Temp debug stuff (will go away soon, so don't depend on these)
48 void DumpMainMemory(void);
49 uint8_t * GetRamPtr(void);
51 #endif // __JAGUAR_H__