Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/vbanext/port.h
2 views
1
#ifndef PORT_H
2
#define PORT_H
3
4
#include "types.h"
5
6
/* if a >= 0 return x else y*/
7
#define isel(a, x, y) ((x & (~(a >> 31))) + (y & (a >> 31)))
8
9
#ifdef FRONTEND_SUPPORTS_RGB565
10
/* 16bit color - RGB565 */
11
#define RED_MASK 0xf800
12
#define GREEN_MASK 0x7e0
13
#define BLUE_MASK 0x1f
14
#define RED_EXPAND 3
15
#define GREEN_EXPAND 2
16
#define BLUE_EXPAND 3
17
#define RED_SHIFT 11
18
#define GREEN_SHIFT 5
19
#define BLUE_SHIFT 0
20
#define CONVERT_COLOR(color) (((color & 0x001f) << 11) | ((color & 0x03e0) << 1) | ((color & 0x0200) >> 4) | ((color & 0x7c00) >> 10))
21
#else
22
/* 16bit color - RGB555 */
23
#define RED_MASK 0x7c00
24
#define GREEN_MASK 0x3e0
25
#define BLUE_MASK 0x1f
26
#define RED_EXPAND 3
27
#define GREEN_EXPAND 3
28
#define BLUE_EXPAND 3
29
#define RED_SHIFT 10
30
#define GREEN_SHIFT 5
31
#define BLUE_SHIFT 0
32
#define CONVERT_COLOR(color) ((((color & 0x1f) << 10) | (((color & 0x3e0) >> 5) << 5) | (((color & 0x7c00) >> 10))) & 0x7fff)
33
#endif
34
35
#ifdef _MSC_VER
36
#include <stdlib.h>
37
#define strcasecmp _stricmp
38
#endif
39
40
#ifdef USE_CACHE_PREFETCH
41
#if defined(__ANDROID__)
42
#define CACHE_PREFETCH(prefetch) prefetch(&prefetch);
43
#elif defined(_XBOX)
44
#define CACHE_PREFETCH(prefetch) __dcbt(0, &prefetch);
45
#else
46
#define CACHE_PREFETCH(prefetch) __dcbt(&prefetch);
47
#endif
48
#else
49
#define CACHE_PREFETCH(prefetch)
50
#endif
51
52
#define READ16LE(x) *((u16 *)x)
53
#define READ32LE(x) *((u32 *)x)
54
#define WRITE16LE(x,v) *((u16 *)x) = (v)
55
#define WRITE32LE(x,v) *((u32 *)x) = (v)
56
57
#endif
58
59