]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/jaguar.h
Stretched the virtual screen slightly.
[virtualjaguar] / src / jaguar.h
index 96d7b4c78a70c173bbcb2e4323d53b16b64c2f02..c0cc1b36db605923398b891f87a8bd4bc60e99c9 100644 (file)
@@ -2,7 +2,10 @@
 #define __JAGUAR_H__
 
 #include "types.h"
+#include "memory.h"                                                    // For "UNKNOWN" enum
 
+void JaguarSetScreenBuffer(uint32 * buffer);
+void JaguarSetScreenPitch(uint32 pitch);
 void JaguarInit(void);
 void JaguarReset(void);
 void JaguarDone(void);
@@ -23,33 +26,10 @@ void JaguarExecuteNew(void);
 
 // Exports from JAGUAR.CPP
 
-extern uint8 jaguarMainRAM[];
-extern uint8 jaguarMainROM[];
-extern uint8 jaguarBootROM[];
-extern uint8 jaguarCDBootROM[];
-extern bool BIOSLoaded;
-extern bool CDBIOSLoaded;
 extern int32 jaguarCPUInExec;
 extern uint32 jaguarMainROMCRC32, jaguarROMSize, jaguarRunAddress;
 extern char * jaguarEepromsPath;
-extern const char * whoName[9];
-
-// Some handy macros to help converting native endian to big endian (jaguar native)
-// & vice versa
-
-#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 bool jaguarCartInserted;
 
 // Various clock rates
 
@@ -63,6 +43,14 @@ extern const char * whoName[9];
 #define ASSERT_LINE            1
 #define CLEAR_LINE             0
 
+// Video stuff (should go in tom.h?)
+
+// NB: This virtual width is for PWIDTH = 4
+//#define VIRTUAL_SCREEN_WIDTH            320
+#define VIRTUAL_SCREEN_WIDTH            340
+#define VIRTUAL_SCREEN_HEIGHT_NTSC      240
+#define VIRTUAL_SCREEN_HEIGHT_PAL       256
+
 //Temp debug stuff (will go away soon, so don't depend on these)
 
 void DumpMainMemory(void);