]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/jaguar.h
Fix for bad window position when coming out of full screen
[virtualjaguar] / src / jaguar.h
index e1358b9c21bc03d7eb3a3860fd8a1d647da969b8..8cd1988f4da0c3143db8703cc65e8e736bd0ed64 100644 (file)
@@ -1,39 +1,14 @@
 #ifndef __JAGUAR_H__
 #define __JAGUAR_H__
 
-#include <string.h>    // Why??? (for memset, etc... Lazy!) Dunno why, but this just strikes me as wrong...
-#include <stdlib.h>    // For exit()
 #include "types.h"
-#include "log.h"
-#include "version.h"
-#include "memory.h"
-#include "m68k.h"
-#include "tom.h"
-#include "jerry.h"
-#include "gpu.h"
-#include "dsp.h"
-#include "objectp.h"
-#include "blitter.h"
-#include "clock.h"
-//#include "anajoy.h"
-#include "joystick.h"
-#include "dac.h"
-#include "jagdasm.h"
-#include "cdrom.h"
-#include "eeprom.h"
-//#include "cdi.h"
-//#include "cdbios.h"
+#include "memory.h"                                                    // For "UNKNOWN" enum
 
-// Exports from JAGUAR.CPP
-
-extern int32 jaguar_cpu_in_exec;
-extern uint32 jaguar_mainRom_crc32, jaguarRomSize, jaguarRunAddress;
-extern char * jaguar_eeproms_path;
-extern char * whoName[9];
-
-void jaguar_init(void);
-void jaguar_reset(void);
-void jaguar_done(void);
+void JaguarSetScreenBuffer(uint32 * buffer);
+void JaguarSetScreenPitch(uint32 pitch);
+void JaguarInit(void);
+void JaguarReset(void);
+void JaguarDone(void);
 
 uint8 JaguarReadByte(uint32 offset, uint32 who = UNKNOWN);
 uint16 JaguarReadWord(uint32 offset, uint32 who = UNKNOWN);
@@ -42,29 +17,17 @@ void JaguarWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN);
 void JaguarWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN);
 void JaguarWriteLong(uint32 offset, uint32 data, uint32 who = UNKNOWN);
 
-uint32 jaguar_interrupt_handler_is_valid(uint32 i);
-void jaguar_dasm(uint32 offset, uint32 qt);
+bool JaguarInterruptHandlerIsValid(uint32 i);
+void JaguarDasm(uint32 offset, uint32 qt);
 
-void JaguarExecute(uint32 * backbuffer, bool render);
-//For testing the new system...
 void JaguarExecuteNew(void);
 
-// Some handy macros to help converting native endian to big endian (jaguar native)
-// & vice versa
+// Exports from JAGUAR.CPP
 
-#define SET64(r, a, v)         r[(a)] = ((v) & 0xFF00000000000000) >> 56, r[(a)+1] = ((v) & 0x00FF000000000000) >> 48, \
-                                               r[(a)+2] = ((v) & 0x0000FF0000000000) >> 40, r[(a)+3] = ((v) & 0x000000FF00000000) >> 32, \
-                                               r[(a)+4] = ((v) & 0xFF000000) >> 24, r[(a)+5] = ((v) & 0x00FF0000) >> 16, \
-                                               r[(a)+6] = ((v) & 0x0000FF00) >> 8, r[(a)+7] = (v) & 0x000000FF
-#define GET64(r, a)            (((uint64)r[(a)] << 56) | ((uint64)r[(a)+1] << 48) | \
-                                               ((uint64)r[(a)+2] << 40) | ((uint64)r[(a)+3] << 32) | \
-                                               ((uint64)r[(a)+4] << 24) | ((uint64)r[(a)+5] << 16) | \
-                                               ((uint64)r[(a)+6] << 8) | (uint64)r[(a)+7])
-#define SET32(r, a, v) r[(a)] = ((v) & 0xFF000000) >> 24, r[(a)+1] = ((v) & 0x00FF0000) >> 16, \
-                                               r[(a)+2] = ((v) & 0x0000FF00) >> 8, r[(a)+3] = (v) & 0x000000FF
-#define GET32(r, a)            ((r[(a)] << 24) | (r[(a)+1] << 16) | (r[(a)+2] << 8) | r[(a)+3])
-#define SET16(r, a, v) r[(a)] = ((v) & 0xFF00) >> 8, r[(a)+1] = (v) & 0xFF
-#define GET16(r, a)            ((r[(a)] << 8) | r[(a)+1])
+extern int32 jaguarCPUInExec;
+extern uint32 jaguarMainROMCRC32, jaguarROMSize, jaguarRunAddress;
+extern char * jaguarEepromsPath;
+extern bool jaguarCartInserted;
 
 // Various clock rates