]> Shamusworld >> Repos - virtualjaguar/blob - src/jaguar.h
Added breakpoint on memory access to Alpine mode.
[virtualjaguar] / src / jaguar.h
1 #ifndef __JAGUAR_H__
2 #define __JAGUAR_H__
3
4 #include <stdint.h>
5 #include "memory.h"                                                     // For "UNKNOWN" enum
6
7 void JaguarSetScreenBuffer(uint32_t * buffer);
8 void JaguarSetScreenPitch(uint32_t pitch);
9 void JaguarInit(void);
10 void JaguarReset(void);
11 void JaguarDone(void);
12
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);
19
20 bool JaguarInterruptHandlerIsValid(uint32_t i);
21 void JaguarDasm(uint32_t offset, uint32_t qt);
22
23 void JaguarExecuteNew(void);
24
25 // Exports from JAGUAR.CPP
26
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;
33
34 // Various clock rates
35
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
40
41 // Stuff for IRQ handling
42
43 #define ASSERT_LINE             1
44 #define CLEAR_LINE              0
45
46 //Temp debug stuff (will go away soon, so don't depend on these)
47
48 void DumpMainMemory(void);
49 uint8_t * GetRamPtr(void);
50
51 #endif  // __JAGUAR_H__