Merge pull request #7 from libretro/master

New updates to libretro port
This commit is contained in:
ekeeke 2012-10-27 07:28:01 -07:00
commit b02141b5e1
11 changed files with 572 additions and 118 deletions

View File

@ -1,6 +1,7 @@
NTSC = 0 NTSC = 0
DEBUG = 0 DEBUG = 0
LOGSOUND = 0 LOGSOUND = 0
FRONTEND_SUPPORTS_RGB565 = 1
GENPLUS_SRC_DIR := source GENPLUS_SRC_DIR := source
LIBRETRO_DIR := libretro LIBRETRO_DIR := libretro
@ -128,7 +129,7 @@ LIBRETRO_SRC := $(GENPLUS_SRC_DIR)/genesis.c \
$(GENPLUS_SRC_DIR)/cart_hw/svp/svp.c \ $(GENPLUS_SRC_DIR)/cart_hw/svp/svp.c \
$(GENPLUS_SRC_DIR)/ntsc/md_ntsc.c \ $(GENPLUS_SRC_DIR)/ntsc/md_ntsc.c \
$(GENPLUS_SRC_DIR)/ntsc/sms_ntsc.c \ $(GENPLUS_SRC_DIR)/ntsc/sms_ntsc.c \
= $(GENPLUS_SRC_DIR)/sound/eq.c \ $(GENPLUS_SRC_DIR)/sound/eq.c \
$(GENPLUS_SRC_DIR)/sound/sound.c \ $(GENPLUS_SRC_DIR)/sound/sound.c \
$(GENPLUS_SRC_DIR)/sound/ym2612.c \ $(GENPLUS_SRC_DIR)/sound/ym2612.c \
$(GENPLUS_SRC_DIR)/sound/ym2413.c \ $(GENPLUS_SRC_DIR)/sound/ym2413.c \
@ -154,6 +155,13 @@ endif
DEFINES := DEFINES :=
CFLAGS += $(fpic) $(DEFINES) $(CODE_DEFINES) CFLAGS += $(fpic) $(DEFINES) $(CODE_DEFINES)
ifeq ($(FRONTEND_SUPPORTS_RGB565), 1)
# if you have a new frontend that supports RGB565
BPP_DEFINES = -DUSE_16BPP_RENDERING -DFRONTEND_SUPPORTS_RGB565
else
BPP_DEFINES = -DUSE_15BPP_RENDERING
endif
LIBRETRO_CFLAGS += -I$(GENPLUS_SRC_DIR) \ LIBRETRO_CFLAGS += -I$(GENPLUS_SRC_DIR) \
-I$(GENPLUS_SRC_DIR)/sound \ -I$(GENPLUS_SRC_DIR)/sound \
-I$(GENPLUS_SRC_DIR)/input_hw \ -I$(GENPLUS_SRC_DIR)/input_hw \
@ -164,7 +172,7 @@ LIBRETRO_CFLAGS += -I$(GENPLUS_SRC_DIR) \
-I$(GENPLUS_SRC_DIR)/z80 \ -I$(GENPLUS_SRC_DIR)/z80 \
-I$(GENPLUS_SRC_DIR)/ntsc \ -I$(GENPLUS_SRC_DIR)/ntsc \
-I$(LIBRETRO_DIR) \ -I$(LIBRETRO_DIR) \
-DUSE_15BPP_RENDERING \ $(BPP_DEFINES) \
$(ENDIANNESS_DEFINES) \ $(ENDIANNESS_DEFINES) \
$(PLATFORM_DEFINES) \ $(PLATFORM_DEFINES) \
-DINLINE="static inline" \ -DINLINE="static inline" \

View File

@ -35,21 +35,21 @@ LOCAL_SRC_FILES := $(GENPLUS_SRC_DIR)/genesis.c \
$(GENPLUS_SRC_DIR)/cart_hw/areplay.c \ $(GENPLUS_SRC_DIR)/cart_hw/areplay.c \
$(GENPLUS_SRC_DIR)/cart_hw/md_cart.c \ $(GENPLUS_SRC_DIR)/cart_hw/md_cart.c \
$(GENPLUS_SRC_DIR)/cart_hw/sms_cart.c \ $(GENPLUS_SRC_DIR)/cart_hw/sms_cart.c \
$(GENPLUS_SRC_DIR)/cart_hw/gg_eeprom.c \ $(GENPLUS_SRC_DIR)/cart_hw/eeprom_93c.c \
$(GENPLUS_SRC_DIR)/cart_hw/md_eeprom.c \ $(GENPLUS_SRC_DIR)/cart_hw/eeprom_i2c.c \
$(GENPLUS_SRC_DIR)/cart_hw/eeprom_spi.c \
$(GENPLUS_SRC_DIR)/cart_hw/ggenie.c \ $(GENPLUS_SRC_DIR)/cart_hw/ggenie.c \
$(GENPLUS_SRC_DIR)/cart_hw/sram.c \ $(GENPLUS_SRC_DIR)/cart_hw/sram.c \
$(GENPLUS_SRC_DIR)/cart_hw/svp/ssp16.c \ $(GENPLUS_SRC_DIR)/cart_hw/svp/ssp16.c \
$(GENPLUS_SRC_DIR)/cart_hw/svp/svp.c \ $(GENPLUS_SRC_DIR)/cart_hw/svp/svp.c \
$(GENPLUS_SRC_DIR)/ntsc/md_ntsc.c \ $(GENPLUS_SRC_DIR)/ntsc/md_ntsc.c \
$(GENPLUS_SRC_DIR)/ntsc/sms_ntsc.c \ $(GENPLUS_SRC_DIR)/ntsc/sms_ntsc.c \
$(GENPLUS_SRC_DIR)/sound/Fir_Resampler.c \
$(GENPLUS_SRC_DIR)/sound/eq.c \ $(GENPLUS_SRC_DIR)/sound/eq.c \
$(GENPLUS_SRC_DIR)/sound/sound.c \ $(GENPLUS_SRC_DIR)/sound/sound.c \
$(GENPLUS_SRC_DIR)/sound/ym2612.c \ $(GENPLUS_SRC_DIR)/sound/ym2612.c \
$(GENPLUS_SRC_DIR)/sound/ym2413.c \ $(GENPLUS_SRC_DIR)/sound/ym2413.c \
$(GENPLUS_SRC_DIR)/sound/sn76489.c \ $(GENPLUS_SRC_DIR)/sound/sn76489.c \
$(GENPLUS_SRC_DIR)/sound/blip.c \ $(GENPLUS_SRC_DIR)/sound/blip_buf.c \
$(GENPLUS_SRC_DIR)/z80/z80.c \ $(GENPLUS_SRC_DIR)/z80/z80.c \
$(GENPLUS_SRC_DIR)/m68k/m68kcpu.c \ $(GENPLUS_SRC_DIR)/m68k/m68kcpu.c \
$(GENPLUS_SRC_DIR)/m68k/s68kcpu.c \ $(GENPLUS_SRC_DIR)/m68k/s68kcpu.c \
@ -67,6 +67,6 @@ LOCAL_C_INCLUDES = $(LOCAL_PATH)/$(GENPLUS_SRC_DIR) \
$(LOCAL_PATH)/$(GENPLUS_SRC_DIR)/ntsc \ $(LOCAL_PATH)/$(GENPLUS_SRC_DIR)/ntsc \
$(LOCAL_PATH)/$(LIBRETRO_DIR) $(LOCAL_PATH)/$(LIBRETRO_DIR)
LOCAL_CFLAGS = -DINLINE="static inline" -DUSE_15BPP_RENDERING -DLSB_FIRST -D__LIBRETRO__ LOCAL_CFLAGS = -ffast-math -O3 -funroll-loops -DINLINE="static inline" -DUSE_16BPP_RENDERING -DLSB_FIRST -D__LIBRETRO__ -DFRONTEND_SUPPORTS_RGB565
include $(BUILD_SHARED_LIBRARY) include $(BUILD_SHARED_LIBRARY)

View File

@ -0,0 +1 @@
APP_ABI := all

View File

@ -25,7 +25,8 @@ md_ntsc_t *md_ntsc;
static int vwidth; static int vwidth;
static int vheight; static int vheight;
static bool failed_init;
char rom_filename[256];
unsigned retro_api_version(void) { return RETRO_API_VERSION; } unsigned retro_api_version(void) { return RETRO_API_VERSION; }
@ -128,7 +129,7 @@ int load_archive(char *filename, unsigned char *buffer, int maxsize, char *exten
/* Mega CD BIOS are required files */ /* Mega CD BIOS are required files */
if (!strcmp(filename,CD_BIOS_US) || !strcmp(filename,CD_BIOS_EU) || !strcmp(filename,CD_BIOS_JP)) if (!strcmp(filename,CD_BIOS_US) || !strcmp(filename,CD_BIOS_EU) || !strcmp(filename,CD_BIOS_JP))
{ {
sprintf(msg,"Unable to open CD BIOS: %s", filename); snprintf(msg, sizeof(msg), "Unable to open CD BIOS: %s", filename);
} }
if (!fd) if (!fd)
@ -270,6 +271,10 @@ static void config_default(void)
config.hot_swap &= 1; config.hot_swap &= 1;
} }
/* these values are used for libretro reporting too */
static const double pal_fps = 53203424.0 / (3420.0 * 313.0);
static const double ntsc_fps = 53693175.0 / (3420.0 * 262.0);
static void init_audio(void) static void init_audio(void)
{ {
audio_init(44100, 0); audio_init(44100, 0);
@ -695,7 +700,7 @@ static struct retro_system_av_info g_av_info;
void retro_get_system_info(struct retro_system_info *info) void retro_get_system_info(struct retro_system_info *info)
{ {
info->library_name = "Genesis Plus GX"; info->library_name = "Genesis Plus GX";
info->library_version = "v1.7.0"; info->library_version = "v1.7.1";
info->valid_extensions = "md|smd|bin|cue|gen|zip|MD|SMD|bin|iso|ISO|CUE|GEN|ZIP|sms|SMS|gg|GG|sg|SG"; info->valid_extensions = "md|smd|bin|cue|gen|zip|MD|SMD|bin|iso|ISO|CUE|GEN|ZIP|sms|SMS|gg|GG|sg|SG";
info->block_extract = false; info->block_extract = false;
info->need_fullpath = true; info->need_fullpath = true;
@ -803,20 +808,53 @@ static void retro_set_viewport_dimensions(void)
g_av_info.timing = timing; g_av_info.timing = timing;
} }
static bool LoadFile(char * filename)
{
int size = 0;
/* check if virtual CD tray was open */
if ((system_hw == SYSTEM_MCD) && (cdd.status == CD_OPEN))
{
/* swap CD image file */
size = cdd_load(filename, (char *)(cdc.ram));
/* update CD header information */
if (!scd.cartridge.boot)
getrominfo((char *)(cdc.ram));
}
/* no CD image file loaded */
if (!size)
{
/* close CD tray to force system reset */
cdd.status = CD_STOP;
/* load game file */
size = load_rom(filename);
}
return size > 0;
}
bool retro_load_game(const struct retro_game_info *info) bool retro_load_game(const struct retro_game_info *info)
{ {
const char *full_path; const char *full_path;
const char *dir; const char *dir;
char slash;
extract_directory(g_rom_dir, info->path, sizeof(g_rom_dir)); extract_directory(g_rom_dir, info->path, sizeof(g_rom_dir));
if (environ_cb(RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY, &dir) && dir) if (!environ_cb(RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY, &dir) || !dir)
{ {
fprintf(stderr, "[genplus]: Defaulting system directory to %s.\n", g_rom_dir);
dir = g_rom_dir;
}
#if defined(_WIN32) && !defined(_XBOX360) #if defined(_WIN32) && !defined(_XBOX360)
const char slash[] = "\\"; snprintf(slash, sizeof(slash), "\\");
#elif defined(_WIN32) && defined(_XBOX360) #elif defined(_WIN32) && defined(_XBOX360)
const char slash[] = "\0"; snprintf(slash, sizeof(slash), "");
#else #else
const char slash[] = "/"; snprintf(slash, sizeof(slash), "/");
#endif #endif
snprintf(CD_BRAM_EU, sizeof(CD_BRAM_EU), "%s%sscd_E.brm", dir, slash); snprintf(CD_BRAM_EU, sizeof(CD_BRAM_EU), "%s%sscd_E.brm", dir, slash);
@ -847,12 +885,6 @@ bool retro_load_game(const struct retro_game_info *info)
fprintf(stderr, "S&K ROM should be located at: %s\n", SK_ROM); fprintf(stderr, "S&K ROM should be located at: %s\n", SK_ROM);
fprintf(stderr, "Game Genie ROM should be located at: %s\n", GG_ROM); fprintf(stderr, "Game Genie ROM should be located at: %s\n", GG_ROM);
fprintf(stderr, "Action Replay ROM should be located at: %s\n", AR_ROM); fprintf(stderr, "Action Replay ROM should be located at: %s\n", AR_ROM);
}
else
{
fprintf(stderr, "[genplus]: Defaulting system directory to %s.\n", g_rom_dir);
dir = g_rom_dir;
}
snprintf(DEFAULT_PATH, sizeof(DEFAULT_PATH), g_rom_dir); snprintf(DEFAULT_PATH, sizeof(DEFAULT_PATH), g_rom_dir);
#ifdef _XBOX #ifdef _XBOX
@ -868,7 +900,7 @@ bool retro_load_game(const struct retro_game_info *info)
full_path = info->path; full_path = info->path;
if (!load_rom((char*)full_path)) if (!LoadFile((char *)full_path))
return false; return false;
configure_controls(); configure_controls();
@ -934,7 +966,7 @@ size_t retro_get_memory_size(unsigned id)
void retro_init(void) void retro_init(void)
{ {
unsigned level; unsigned level, rgb565;
#if defined(USE_NTSC) #if defined(USE_NTSC)
sms_ntsc = calloc(1, sizeof(sms_ntsc_t)); sms_ntsc = calloc(1, sizeof(sms_ntsc_t));
md_ntsc = calloc(1, sizeof(md_ntsc_t)); md_ntsc = calloc(1, sizeof(md_ntsc_t));
@ -944,6 +976,12 @@ void retro_init(void)
level = 1; level = 1;
environ_cb(RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL, &level); environ_cb(RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL, &level);
#ifdef FRONTEND_SUPPORTS_RGB565
rgb565 = RETRO_PIXEL_FORMAT_RGB565;
if(environ_cb(RETRO_ENVIRONMENT_SET_PIXEL_FORMAT, &rgb565))
fprintf(stderr, "Frontend supports RGB565 - will use that instead of XRGB1555.\n");
#endif
} }
void retro_deinit(void) void retro_deinit(void)

View File

@ -3,11 +3,13 @@
#include <stdint.h> #include <stdint.h>
#include <stddef.h> #include <stddef.h>
#include <limits.h>
// Hack applied for MSVC when compiling in C89 mode as it isn't C99 compliant.
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#else #else
#if defined(_MSC_VER) && !defined(__cplusplus) #if defined(_MSC_VER) && !defined(SN_TARGET_PS3) && !defined(__cplusplus)
#define bool unsigned char #define bool unsigned char
#define true 1 #define true 1
#define false 0 #define false 0
@ -16,21 +18,51 @@ extern "C" {
#endif #endif
#endif #endif
// Used for checking API/ABI mismatches that can break libretro implementations.
// It is not incremented for compatible changes.
#define RETRO_API_VERSION 1 #define RETRO_API_VERSION 1
// Libretro's fundamental device abstractions.
#define RETRO_DEVICE_MASK 0xff #define RETRO_DEVICE_MASK 0xff
#define RETRO_DEVICE_NONE 0 #define RETRO_DEVICE_NONE 0
// The JOYPAD is called RetroPad. It is essentially a Super Nintendo controller,
// but with additional L2/R2/L3/R3 buttons, similar to a PS1 DualShock.
#define RETRO_DEVICE_JOYPAD 1 #define RETRO_DEVICE_JOYPAD 1
// The mouse is a simple mouse, similar to Super Nintendo's mouse.
// X and Y coordinates are reported relatively to last poll (poll callback).
// It is up to the libretro implementation to keep track of where the mouse pointer is supposed to be on the screen.
// The frontend must make sure not to interfere with its own hardware mouse pointer.
#define RETRO_DEVICE_MOUSE 2 #define RETRO_DEVICE_MOUSE 2
// KEYBOARD device lets one poll for raw key pressed.
// It is poll based, so input callback will return with the current pressed state.
#define RETRO_DEVICE_KEYBOARD 3 #define RETRO_DEVICE_KEYBOARD 3
// Lightgun X/Y coordinates are reported relatively to last poll, similar to mouse.
#define RETRO_DEVICE_LIGHTGUN 4 #define RETRO_DEVICE_LIGHTGUN 4
// The ANALOG device is an extension to JOYPAD (RetroPad).
// Similar to DualShock it adds two analog sticks.
// This is treated as a separate device type as it returns values in the full analog range
// of [-0x8000, 0x7fff]. Positive X axis is right. Positive Y axis is down.
// Only use ANALOG type when polling for analog values of the axes.
#define RETRO_DEVICE_ANALOG 5 #define RETRO_DEVICE_ANALOG 5
// These device types are specializations of the base types above.
// They should only be used in retro_set_controller_type() to inform libretro implementations
// about use of a very specific device type.
//
// In input state callback, however, only the base type should be used in the 'device' field.
#define RETRO_DEVICE_JOYPAD_MULTITAP ((1 << 8) | RETRO_DEVICE_JOYPAD) #define RETRO_DEVICE_JOYPAD_MULTITAP ((1 << 8) | RETRO_DEVICE_JOYPAD)
#define RETRO_DEVICE_LIGHTGUN_SUPER_SCOPE ((1 << 8) | RETRO_DEVICE_LIGHTGUN) #define RETRO_DEVICE_LIGHTGUN_SUPER_SCOPE ((1 << 8) | RETRO_DEVICE_LIGHTGUN)
#define RETRO_DEVICE_LIGHTGUN_JUSTIFIER ((2 << 8) | RETRO_DEVICE_LIGHTGUN) #define RETRO_DEVICE_LIGHTGUN_JUSTIFIER ((2 << 8) | RETRO_DEVICE_LIGHTGUN)
#define RETRO_DEVICE_LIGHTGUN_JUSTIFIERS ((3 << 8) | RETRO_DEVICE_LIGHTGUN) #define RETRO_DEVICE_LIGHTGUN_JUSTIFIERS ((3 << 8) | RETRO_DEVICE_LIGHTGUN)
// Buttons for the RetroPad (JOYPAD).
// The placement of these is equivalent to placements on the Super Nintendo controller.
// L2/R2/L3/R3 buttons correspond to the PS1 DualShock.
#define RETRO_DEVICE_ID_JOYPAD_B 0 #define RETRO_DEVICE_ID_JOYPAD_B 0
#define RETRO_DEVICE_ID_JOYPAD_Y 1 #define RETRO_DEVICE_ID_JOYPAD_Y 1
#define RETRO_DEVICE_ID_JOYPAD_SELECT 2 #define RETRO_DEVICE_ID_JOYPAD_SELECT 2
@ -48,16 +80,19 @@ extern "C" {
#define RETRO_DEVICE_ID_JOYPAD_L3 14 #define RETRO_DEVICE_ID_JOYPAD_L3 14
#define RETRO_DEVICE_ID_JOYPAD_R3 15 #define RETRO_DEVICE_ID_JOYPAD_R3 15
// Index / Id values for ANALOG device.
#define RETRO_DEVICE_INDEX_ANALOG_LEFT 0 #define RETRO_DEVICE_INDEX_ANALOG_LEFT 0
#define RETRO_DEVICE_INDEX_ANALOG_RIGHT 1 #define RETRO_DEVICE_INDEX_ANALOG_RIGHT 1
#define RETRO_DEVICE_ID_ANALOG_X 0 #define RETRO_DEVICE_ID_ANALOG_X 0
#define RETRO_DEVICE_ID_ANALOG_Y 1 #define RETRO_DEVICE_ID_ANALOG_Y 1
// Id values for MOUSE.
#define RETRO_DEVICE_ID_MOUSE_X 0 #define RETRO_DEVICE_ID_MOUSE_X 0
#define RETRO_DEVICE_ID_MOUSE_Y 1 #define RETRO_DEVICE_ID_MOUSE_Y 1
#define RETRO_DEVICE_ID_MOUSE_LEFT 2 #define RETRO_DEVICE_ID_MOUSE_LEFT 2
#define RETRO_DEVICE_ID_MOUSE_RIGHT 3 #define RETRO_DEVICE_ID_MOUSE_RIGHT 3
// Id values for LIGHTGUN types.
#define RETRO_DEVICE_ID_LIGHTGUN_X 0 #define RETRO_DEVICE_ID_LIGHTGUN_X 0
#define RETRO_DEVICE_ID_LIGHTGUN_Y 1 #define RETRO_DEVICE_ID_LIGHTGUN_Y 1
#define RETRO_DEVICE_ID_LIGHTGUN_TRIGGER 2 #define RETRO_DEVICE_ID_LIGHTGUN_TRIGGER 2
@ -66,15 +101,30 @@ extern "C" {
#define RETRO_DEVICE_ID_LIGHTGUN_PAUSE 5 #define RETRO_DEVICE_ID_LIGHTGUN_PAUSE 5
#define RETRO_DEVICE_ID_LIGHTGUN_START 6 #define RETRO_DEVICE_ID_LIGHTGUN_START 6
// Returned from retro_get_region().
#define RETRO_REGION_NTSC 0 #define RETRO_REGION_NTSC 0
#define RETRO_REGION_PAL 1 #define RETRO_REGION_PAL 1
// Passed to retro_get_memory_data/size().
// If the memory type doesn't apply to the implementation NULL/0 can be returned.
#define RETRO_MEMORY_MASK 0xff #define RETRO_MEMORY_MASK 0xff
// Regular save ram. This ram is usually found on a game cartridge, backed up by a battery.
// If save game data is too complex for a single memory buffer,
// the SYSTEM_DIRECTORY environment callback can be used.
#define RETRO_MEMORY_SAVE_RAM 0 #define RETRO_MEMORY_SAVE_RAM 0
// Some games have a built-in clock to keep track of time.
// This memory is usually just a couple of bytes to keep track of time.
#define RETRO_MEMORY_RTC 1 #define RETRO_MEMORY_RTC 1
// System ram lets a frontend peek into a game systems main RAM.
#define RETRO_MEMORY_SYSTEM_RAM 2 #define RETRO_MEMORY_SYSTEM_RAM 2
// Video ram lets a frontend peek into a game systems video RAM (VRAM).
#define RETRO_MEMORY_VIDEO_RAM 3 #define RETRO_MEMORY_VIDEO_RAM 3
// Special memory types.
#define RETRO_MEMORY_SNES_BSX_RAM ((1 << 8) | RETRO_MEMORY_SAVE_RAM) #define RETRO_MEMORY_SNES_BSX_RAM ((1 << 8) | RETRO_MEMORY_SAVE_RAM)
#define RETRO_MEMORY_SNES_BSX_PRAM ((2 << 8) | RETRO_MEMORY_SAVE_RAM) #define RETRO_MEMORY_SNES_BSX_PRAM ((2 << 8) | RETRO_MEMORY_SAVE_RAM)
#define RETRO_MEMORY_SNES_SUFAMI_TURBO_A_RAM ((3 << 8) | RETRO_MEMORY_SAVE_RAM) #define RETRO_MEMORY_SNES_SUFAMI_TURBO_A_RAM ((3 << 8) | RETRO_MEMORY_SAVE_RAM)
@ -82,11 +132,161 @@ extern "C" {
#define RETRO_MEMORY_SNES_GAME_BOY_RAM ((5 << 8) | RETRO_MEMORY_SAVE_RAM) #define RETRO_MEMORY_SNES_GAME_BOY_RAM ((5 << 8) | RETRO_MEMORY_SAVE_RAM)
#define RETRO_MEMORY_SNES_GAME_BOY_RTC ((6 << 8) | RETRO_MEMORY_RTC) #define RETRO_MEMORY_SNES_GAME_BOY_RTC ((6 << 8) | RETRO_MEMORY_RTC)
// Special game types passed into retro_load_game_special().
// Only used when multiple ROMs are required.
#define RETRO_GAME_TYPE_BSX 0x101 #define RETRO_GAME_TYPE_BSX 0x101
#define RETRO_GAME_TYPE_BSX_SLOTTED 0x102 #define RETRO_GAME_TYPE_BSX_SLOTTED 0x102
#define RETRO_GAME_TYPE_SUFAMI_TURBO 0x103 #define RETRO_GAME_TYPE_SUFAMI_TURBO 0x103
#define RETRO_GAME_TYPE_SUPER_GAME_BOY 0x104 #define RETRO_GAME_TYPE_SUPER_GAME_BOY 0x104
// Keysyms used for ID in input state callback when polling RETRO_KEYBOARD.
enum retro_key
{
RETROK_UNKNOWN = 0,
RETROK_FIRST = 0,
RETROK_BACKSPACE = 8,
RETROK_TAB = 9,
RETROK_CLEAR = 12,
RETROK_RETURN = 13,
RETROK_PAUSE = 19,
RETROK_ESCAPE = 27,
RETROK_SPACE = 32,
RETROK_EXCLAIM = 33,
RETROK_QUOTEDBL = 34,
RETROK_HASH = 35,
RETROK_DOLLAR = 36,
RETROK_AMPERSAND = 38,
RETROK_QUOTE = 39,
RETROK_LEFTPAREN = 40,
RETROK_RIGHTPAREN = 41,
RETROK_ASTERISK = 42,
RETROK_PLUS = 43,
RETROK_COMMA = 44,
RETROK_MINUS = 45,
RETROK_PERIOD = 46,
RETROK_SLASH = 47,
RETROK_0 = 48,
RETROK_1 = 49,
RETROK_2 = 50,
RETROK_3 = 51,
RETROK_4 = 52,
RETROK_5 = 53,
RETROK_6 = 54,
RETROK_7 = 55,
RETROK_8 = 56,
RETROK_9 = 57,
RETROK_COLON = 58,
RETROK_SEMICOLON = 59,
RETROK_LESS = 60,
RETROK_EQUALS = 61,
RETROK_GREATER = 62,
RETROK_QUESTION = 63,
RETROK_AT = 64,
RETROK_LEFTBRACKET = 91,
RETROK_BACKSLASH = 92,
RETROK_RIGHTBRACKET = 93,
RETROK_CARET = 94,
RETROK_UNDERSCORE = 95,
RETROK_BACKQUOTE = 96,
RETROK_a = 97,
RETROK_b = 98,
RETROK_c = 99,
RETROK_d = 100,
RETROK_e = 101,
RETROK_f = 102,
RETROK_g = 103,
RETROK_h = 104,
RETROK_i = 105,
RETROK_j = 106,
RETROK_k = 107,
RETROK_l = 108,
RETROK_m = 109,
RETROK_n = 110,
RETROK_o = 111,
RETROK_p = 112,
RETROK_q = 113,
RETROK_r = 114,
RETROK_s = 115,
RETROK_t = 116,
RETROK_u = 117,
RETROK_v = 118,
RETROK_w = 119,
RETROK_x = 120,
RETROK_y = 121,
RETROK_z = 122,
RETROK_DELETE = 127,
RETROK_KP0 = 256,
RETROK_KP1 = 257,
RETROK_KP2 = 258,
RETROK_KP3 = 259,
RETROK_KP4 = 260,
RETROK_KP5 = 261,
RETROK_KP6 = 262,
RETROK_KP7 = 263,
RETROK_KP8 = 264,
RETROK_KP9 = 265,
RETROK_KP_PERIOD = 266,
RETROK_KP_DIVIDE = 267,
RETROK_KP_MULTIPLY = 268,
RETROK_KP_MINUS = 269,
RETROK_KP_PLUS = 270,
RETROK_KP_ENTER = 271,
RETROK_KP_EQUALS = 272,
RETROK_UP = 273,
RETROK_DOWN = 274,
RETROK_RIGHT = 275,
RETROK_LEFT = 276,
RETROK_INSERT = 277,
RETROK_HOME = 278,
RETROK_END = 279,
RETROK_PAGEUP = 280,
RETROK_PAGEDOWN = 281,
RETROK_F1 = 282,
RETROK_F2 = 283,
RETROK_F3 = 284,
RETROK_F4 = 285,
RETROK_F5 = 286,
RETROK_F6 = 287,
RETROK_F7 = 288,
RETROK_F8 = 289,
RETROK_F9 = 290,
RETROK_F10 = 291,
RETROK_F11 = 292,
RETROK_F12 = 293,
RETROK_F13 = 294,
RETROK_F14 = 295,
RETROK_F15 = 296,
RETROK_NUMLOCK = 300,
RETROK_CAPSLOCK = 301,
RETROK_SCROLLOCK = 302,
RETROK_RSHIFT = 303,
RETROK_LSHIFT = 304,
RETROK_RCTRL = 305,
RETROK_LCTRL = 306,
RETROK_RALT = 307,
RETROK_LALT = 308,
RETROK_RMETA = 309,
RETROK_LMETA = 310,
RETROK_LSUPER = 311,
RETROK_RSUPER = 312,
RETROK_MODE = 313,
RETROK_COMPOSE = 314,
RETROK_HELP = 315,
RETROK_PRINT = 316,
RETROK_SYSREQ = 317,
RETROK_BREAK = 318,
RETROK_MENU = 319,
RETROK_POWER = 320,
RETROK_EURO = 321,
RETROK_UNDO = 322,
RETROK_LAST
};
// Environment commands. // Environment commands.
#define RETRO_ENVIRONMENT_SET_ROTATION 1 // const unsigned * -- #define RETRO_ENVIRONMENT_SET_ROTATION 1 // const unsigned * --
@ -99,7 +299,7 @@ extern "C" {
// Boolean value whether or not the implementation should use overscan, or crop away overscan. // Boolean value whether or not the implementation should use overscan, or crop away overscan.
// //
#define RETRO_ENVIRONMENT_GET_CAN_DUPE 3 // bool * -- #define RETRO_ENVIRONMENT_GET_CAN_DUPE 3 // bool * --
// Boolean value whether or not RetroArch supports frame duping, // Boolean value whether or not frontend supports frame duping,
// passing NULL to video frame callback. // passing NULL to video frame callback.
// //
#define RETRO_ENVIRONMENT_GET_VARIABLE 4 // struct retro_variable * -- #define RETRO_ENVIRONMENT_GET_VARIABLE 4 // struct retro_variable * --
@ -133,8 +333,9 @@ extern "C" {
// about too demanding implementations. // about too demanding implementations.
// //
// The levels are "floating", but roughly defined as: // The levels are "floating", but roughly defined as:
// 1: Low-powered devices such as Raspberry Pi, smart phones, tablets, etc. // 0: Low-powered embedded devices such as Raspberry Pi
// 2: Medium-spec consoles, such as PS3/360, with sub-par CPUs. // 1: 6th generation consoles, such as Wii/Xbox 1, and phones, tablets, etc.
// 2: 7th generation consoles, such as PS3/360, with sub-par CPUs.
// 3: Modern desktop/laptops with reasonably powerful CPUs. // 3: Modern desktop/laptops with reasonably powerful CPUs.
// 4: High-end desktops with very powerful CPUs. // 4: High-end desktops with very powerful CPUs.
// //
@ -154,14 +355,36 @@ extern "C" {
#define RETRO_ENVIRONMENT_SET_PIXEL_FORMAT 10 #define RETRO_ENVIRONMENT_SET_PIXEL_FORMAT 10
// const enum retro_pixel_format * -- // const enum retro_pixel_format * --
// Sets the internal pixel format used by the implementation. // Sets the internal pixel format used by the implementation.
// The default pixel format is RETRO_PIXEL_FORMAT_XRGB1555. // The default pixel format is RETRO_PIXEL_FORMAT_0RGB1555.
// This pixel format however, is deprecated (see enum retro_pixel_format).
// If the call returns false, the frontend does not support this pixel format. // If the call returns false, the frontend does not support this pixel format.
// This function should be called inside retro_load_game() or retro_get_system_av_info(). // This function should be called inside retro_load_game() or retro_get_system_av_info().
//
#define RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS 11
// const struct retro_input_descriptor * --
// Sets an array of retro_input_descriptors.
// It is up to the frontend to present this in a usable way.
// The array is terminated by retro_input_descriptor::description being set to NULL.
// This function can be called at any time, but it is recommended to call it as early as possible.
enum retro_pixel_format enum retro_pixel_format
{ {
RETRO_PIXEL_FORMAT_0RGB1555 = 0, // 0RGB1555, native endian. 0 bit must be set to 0. // 0RGB1555, native endian. 0 bit must be set to 0.
RETRO_PIXEL_FORMAT_XRGB8888 // XRGB8888, native endian. X bits are ignored. // This pixel format is default for compatibility concerns only.
// If a 15/16-bit pixel format is desired, consider using RGB565.
RETRO_PIXEL_FORMAT_0RGB1555 = 0,
// XRGB8888, native endian. X bits are ignored.
RETRO_PIXEL_FORMAT_XRGB8888 = 1,
// RGB565, native endian. This pixel format is the recommended format to use if a 15/16-bit format is desired
// as it is the pixel format that is typically available on a wide range of low-power devices.
// It is also natively supported in APIs like OpenGL ES.
RETRO_PIXEL_FORMAT_RGB565 = 2,
// Ensure sizeof() == sizeof(int).
RETRO_PIXEL_FORMAT_UNKNOWN = INT_MAX
}; };
struct retro_message struct retro_message
@ -170,8 +393,25 @@ struct retro_message
unsigned frames; // Duration in frames of message. unsigned frames; // Duration in frames of message.
}; };
// Describes how the libretro implementation maps a libretro input bind
// to its internal input system through a human readable string.
// This string can be used to better let a user configure input.
struct retro_input_descriptor
{
// Associates given parameters with a description.
unsigned port;
unsigned device;
unsigned index;
unsigned id;
const char *description; // Human readable description for parameters.
// The pointer must remain valid until retro_unload_game() is called.
};
struct retro_system_info struct retro_system_info
{ {
// All pointers are owned by libretro implementation, and pointers must remain valid until retro_deinit() is called.
const char *library_name; // Descriptive name of library. Should not contain any version numbers, etc. const char *library_name; // Descriptive name of library. Should not contain any version numbers, etc.
const char *library_version; // Descriptive version of core. const char *library_version; // Descriptive version of core.
@ -240,6 +480,8 @@ typedef bool (*retro_environment_t)(unsigned cmd, void *data);
// Render a frame. Pixel format is 15-bit 0RGB1555 native endian unless changed (see RETRO_ENVIRONMENT_SET_PIXEL_FORMAT). // Render a frame. Pixel format is 15-bit 0RGB1555 native endian unless changed (see RETRO_ENVIRONMENT_SET_PIXEL_FORMAT).
// Width and height specify dimensions of buffer. // Width and height specify dimensions of buffer.
// Pitch specifices length in bytes between two lines in buffer. // Pitch specifices length in bytes between two lines in buffer.
// For performance reasons, it is highly recommended to have a frame that is packed in memory, i.e. pitch == width * byte_per_pixel.
// Certain graphic APIs, such as OpenGL ES, do not like textures that are not packed in memory.
typedef void (*retro_video_refresh_t)(const void *data, unsigned width, unsigned height, size_t pitch); typedef void (*retro_video_refresh_t)(const void *data, unsigned width, unsigned height, size_t pitch);
// Renders a single audio frame. Should only be used if implementation generates a single sample at a time. // Renders a single audio frame. Should only be used if implementation generates a single sample at a time.
@ -279,6 +521,8 @@ void retro_get_system_info(struct retro_system_info *info);
// Gets information about system audio/video timings and geometry. // Gets information about system audio/video timings and geometry.
// Can be called only after retro_load_game() has successfully completed. // Can be called only after retro_load_game() has successfully completed.
// NOTE: The implementation of this function might not initialize every variable if needed.
// E.g. geom.aspect_ratio might not be initialized if core doesn't desire a particular aspect ratio.
void retro_get_system_av_info(struct retro_system_av_info *info); void retro_get_system_av_info(struct retro_system_av_info *info);
// Sets device to be used for player 'port'. // Sets device to be used for player 'port'.

View File

@ -22,7 +22,7 @@
Optimization="0" Optimization="0"
OptimizeForProcessor="2" OptimizeForProcessor="2"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\source&quot;;&quot;$(SolutionDir)\..\..\source\cd_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw&quot;;&quot;$(SolutionDir)\..\..\source\sound&quot;;&quot;$(SolutionDir)\..\..\source\z80&quot;;&quot;$(SolutionDir)\..\..\&quot;;&quot;$(SolutionDir)&quot;;&quot;$(SolutionDir)\..\..\source\m68k&quot;;&quot;$(SolutionDir)\..\..\source\input_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw\svp&quot;;&quot;$(SolutionDir)\..\..\source\ntsc&quot;;&quot;$(SolutionDir)\..\..\libretro&quot;;&quot;$(SolutionDir)\msvc-2003-xbox1&quot;" AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\source&quot;;&quot;$(SolutionDir)\..\..\source\cd_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw&quot;;&quot;$(SolutionDir)\..\..\source\sound&quot;;&quot;$(SolutionDir)\..\..\source\z80&quot;;&quot;$(SolutionDir)\..\..\&quot;;&quot;$(SolutionDir)&quot;;&quot;$(SolutionDir)\..\..\source\m68k&quot;;&quot;$(SolutionDir)\..\..\source\input_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw\svp&quot;;&quot;$(SolutionDir)\..\..\source\ntsc&quot;;&quot;$(SolutionDir)\..\..\libretro&quot;;&quot;$(SolutionDir)\msvc-2003-xbox1&quot;"
PreprocessorDefinitions="_DEBUG;_XBOX;_XBOX1;_LIB;__LIBRETRO__;LSB_FIRST;USE_15BPP_RENDERING;INLINE=static _inline;__restrict=" PreprocessorDefinitions="_DEBUG;_XBOX;_XBOX1;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565"
MinimalRebuild="TRUE" MinimalRebuild="TRUE"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
@ -56,7 +56,7 @@
OmitFramePointers="TRUE" OmitFramePointers="TRUE"
OptimizeForProcessor="2" OptimizeForProcessor="2"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\source&quot;;&quot;$(SolutionDir)\..\..\source\cd_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw&quot;;&quot;$(SolutionDir)\..\..\source\sound&quot;;&quot;$(SolutionDir)\..\..\source\z80&quot;;&quot;$(SolutionDir)\..\..\&quot;;&quot;$(SolutionDir)&quot;;&quot;$(SolutionDir)\..\..\source\m68k&quot;;&quot;$(SolutionDir)\..\..\source\input_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw\svp&quot;;&quot;$(SolutionDir)\..\..\source\ntsc&quot;;&quot;$(SolutionDir)\..\..\libretro&quot;;&quot;$(SolutionDir)\msvc-2003-xbox1&quot;" AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\source&quot;;&quot;$(SolutionDir)\..\..\source\cd_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw&quot;;&quot;$(SolutionDir)\..\..\source\sound&quot;;&quot;$(SolutionDir)\..\..\source\z80&quot;;&quot;$(SolutionDir)\..\..\&quot;;&quot;$(SolutionDir)&quot;;&quot;$(SolutionDir)\..\..\source\m68k&quot;;&quot;$(SolutionDir)\..\..\source\input_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw\svp&quot;;&quot;$(SolutionDir)\..\..\source\ntsc&quot;;&quot;$(SolutionDir)\..\..\libretro&quot;;&quot;$(SolutionDir)\msvc-2003-xbox1&quot;"
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;PROFILE;_LIB;__LIBRETRO__;LSB_FIRST;USE_15BPP_RENDERING;INLINE=static _inline;__restrict=" PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;PROFILE;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565"
StringPooling="TRUE" StringPooling="TRUE"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="TRUE" BufferSecurityCheck="TRUE"
@ -91,7 +91,7 @@
OmitFramePointers="TRUE" OmitFramePointers="TRUE"
OptimizeForProcessor="2" OptimizeForProcessor="2"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\source&quot;;&quot;$(SolutionDir)\..\..\source\cd_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw&quot;;&quot;$(SolutionDir)\..\..\source\sound&quot;;&quot;$(SolutionDir)\..\..\source\z80&quot;;&quot;$(SolutionDir)\..\..\&quot;;&quot;$(SolutionDir)&quot;;&quot;$(SolutionDir)\..\..\source\m68k&quot;;&quot;$(SolutionDir)\..\..\source\input_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw\svp&quot;;&quot;$(SolutionDir)\..\..\source\ntsc&quot;;&quot;$(SolutionDir)\..\..\libretro&quot;;&quot;$(SolutionDir)\msvc-2003-xbox1&quot;" AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\source&quot;;&quot;$(SolutionDir)\..\..\source\cd_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw&quot;;&quot;$(SolutionDir)\..\..\source\sound&quot;;&quot;$(SolutionDir)\..\..\source\z80&quot;;&quot;$(SolutionDir)\..\..\&quot;;&quot;$(SolutionDir)&quot;;&quot;$(SolutionDir)\..\..\source\m68k&quot;;&quot;$(SolutionDir)\..\..\source\input_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw\svp&quot;;&quot;$(SolutionDir)\..\..\source\ntsc&quot;;&quot;$(SolutionDir)\..\..\libretro&quot;;&quot;$(SolutionDir)\msvc-2003-xbox1&quot;"
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;PROFILE;FASTCAP;_LIB;__LIBRETRO__;LSB_FIRST;USE_15BPP_RENDERING;INLINE=static _inline;__restrict=" PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;PROFILE;FASTCAP;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565"
StringPooling="TRUE" StringPooling="TRUE"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="TRUE" BufferSecurityCheck="TRUE"
@ -127,7 +127,7 @@
OmitFramePointers="TRUE" OmitFramePointers="TRUE"
OptimizeForProcessor="2" OptimizeForProcessor="2"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\source&quot;;&quot;$(SolutionDir)\..\..\source\cd_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw&quot;;&quot;$(SolutionDir)\..\..\source\sound&quot;;&quot;$(SolutionDir)\..\..\source\z80&quot;;&quot;$(SolutionDir)\..\..\&quot;;&quot;$(SolutionDir)&quot;;&quot;$(SolutionDir)\..\..\source\m68k&quot;;&quot;$(SolutionDir)\..\..\source\input_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw\svp&quot;;&quot;$(SolutionDir)\..\..\source\ntsc&quot;;&quot;$(SolutionDir)\..\..\libretro&quot;;&quot;$(SolutionDir)\msvc-2003-xbox1&quot;" AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\source&quot;;&quot;$(SolutionDir)\..\..\source\cd_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw&quot;;&quot;$(SolutionDir)\..\..\source\sound&quot;;&quot;$(SolutionDir)\..\..\source\z80&quot;;&quot;$(SolutionDir)\..\..\&quot;;&quot;$(SolutionDir)&quot;;&quot;$(SolutionDir)\..\..\source\m68k&quot;;&quot;$(SolutionDir)\..\..\source\input_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw\svp&quot;;&quot;$(SolutionDir)\..\..\source\ntsc&quot;;&quot;$(SolutionDir)\..\..\libretro&quot;;&quot;$(SolutionDir)\msvc-2003-xbox1&quot;"
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;_LIB;__LIBRETRO__;LSB_FIRST;USE_15BPP_RENDERING;INLINE=static _inline;__restrict=" PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565"
StringPooling="TRUE" StringPooling="TRUE"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="TRUE" BufferSecurityCheck="TRUE"
@ -163,7 +163,7 @@
OmitFramePointers="TRUE" OmitFramePointers="TRUE"
OptimizeForProcessor="2" OptimizeForProcessor="2"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\source&quot;;&quot;$(SolutionDir)\..\..\source\cd_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw&quot;;&quot;$(SolutionDir)\..\..\source\sound&quot;;&quot;$(SolutionDir)\..\..\source\z80&quot;;&quot;$(SolutionDir)\..\..\&quot;;&quot;$(SolutionDir)&quot;;&quot;$(SolutionDir)\..\..\source\m68k&quot;;&quot;$(SolutionDir)\..\..\source\input_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw\svp&quot;;&quot;$(SolutionDir)\..\..\source\ntsc&quot;;&quot;$(SolutionDir)\..\..\libretro&quot;;&quot;$(SolutionDir)\msvc-2003-xbox1&quot;" AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\..\source&quot;;&quot;$(SolutionDir)\..\..\source\cd_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw&quot;;&quot;$(SolutionDir)\..\..\source\sound&quot;;&quot;$(SolutionDir)\..\..\source\z80&quot;;&quot;$(SolutionDir)\..\..\&quot;;&quot;$(SolutionDir)&quot;;&quot;$(SolutionDir)\..\..\source\m68k&quot;;&quot;$(SolutionDir)\..\..\source\input_hw&quot;;&quot;$(SolutionDir)\..\..\source\cart_hw\svp&quot;;&quot;$(SolutionDir)\..\..\source\ntsc&quot;;&quot;$(SolutionDir)\..\..\libretro&quot;;&quot;$(SolutionDir)\msvc-2003-xbox1&quot;"
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;LTCG;_LIB;__LIBRETRO__;LSB_FIRST;USE_15BPP_RENDERING;INLINE=static _inline;__restrict=" PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;LTCG;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565"
StringPooling="TRUE" StringPooling="TRUE"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="TRUE" BufferSecurityCheck="TRUE"
@ -263,7 +263,103 @@
RelativePath="..\..\..\source\cart_hw\areplay.c"> RelativePath="..\..\..\source\cart_hw\areplay.c">
</File> </File>
<File <File
RelativePath="..\..\..\source\cart_hw\gg_eeprom.c"> RelativePath="..\..\..\source\cart_hw\eeprom_93c.c">
<FileConfiguration
Name="Debug|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Profile|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Profile_FastCap|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release_LTCG|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\source\cart_hw\eeprom_i2c.c">
<FileConfiguration
Name="Debug|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Profile|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Profile_FastCap|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release_LTCG|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\source\cart_hw\eeprom_spi.c">
<FileConfiguration
Name="Debug|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Profile|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Profile_FastCap|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release_LTCG|Xbox">
<Tool
Name="VCCLCompilerTool"
CompileAs="1"/>
</FileConfiguration>
</File> </File>
<File <File
RelativePath="..\..\..\source\cart_hw\ggenie.c"> RelativePath="..\..\..\source\cart_hw\ggenie.c">
@ -271,9 +367,6 @@
<File <File
RelativePath="..\..\..\source\cart_hw\md_cart.c"> RelativePath="..\..\..\source\cart_hw\md_cart.c">
</File> </File>
<File
RelativePath="..\..\..\source\cart_hw\md_eeprom.c">
</File>
<File <File
RelativePath="..\..\..\source\cart_hw\sms_cart.c"> RelativePath="..\..\..\source\cart_hw\sms_cart.c">
</File> </File>
@ -295,14 +388,11 @@
Name="sound" Name="sound"
Filter=""> Filter="">
<File <File
RelativePath="..\..\..\source\sound\blip.c"> RelativePath="..\..\..\source\sound\blip_buf.c">
</File> </File>
<File <File
RelativePath="..\..\..\source\sound\eq.c"> RelativePath="..\..\..\source\sound\eq.c">
</File> </File>
<File
RelativePath="..\..\..\source\sound\Fir_Resampler.c">
</File>
<File <File
RelativePath="..\..\..\source\sound\sn76489.c"> RelativePath="..\..\..\source\sound\sn76489.c">
</File> </File>

View File

@ -27,13 +27,70 @@
</ProjectConfiguration> </ProjectConfiguration>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\..\source\cart_hw\areplay.c" /> <ClCompile Include="..\..\..\source\cart_hw\areplay.c">
<ClCompile Include="..\..\..\source\cart_hw\ggenie.c" /> <CompileAs Condition="'$(Configuration)|$(Platform)'=='CodeAnalysis|Xbox 360'">CompileAsC</CompileAs>
<ClCompile Include="..\..\..\source\cart_hw\gg_eeprom.c" /> <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">CompileAsC</CompileAs>
<ClCompile Include="..\..\..\source\cart_hw\md_cart.c" /> <CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile|Xbox 360'">CompileAsC</CompileAs>
<ClCompile Include="..\..\..\source\cart_hw\md_eeprom.c" /> <CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile_FastCap|Xbox 360'">CompileAsC</CompileAs>
<ClCompile Include="..\..\..\source\cart_hw\sms_cart.c" /> <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">CompileAsC</CompileAs>
<ClCompile Include="..\..\..\source\cart_hw\sram.c" /> <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release_LTCG|Xbox 360'">CompileAsC</CompileAs>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\eeprom_93c.c">
<CompileAs Condition="'$(Configuration)|$(Platform)'=='CodeAnalysis|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile_FastCap|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release_LTCG|Xbox 360'">CompileAsC</CompileAs>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\eeprom_i2c.c">
<CompileAs Condition="'$(Configuration)|$(Platform)'=='CodeAnalysis|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile_FastCap|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release_LTCG|Xbox 360'">CompileAsC</CompileAs>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\eeprom_spi.c">
<CompileAs Condition="'$(Configuration)|$(Platform)'=='CodeAnalysis|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile_FastCap|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release_LTCG|Xbox 360'">CompileAsC</CompileAs>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\ggenie.c">
<CompileAs Condition="'$(Configuration)|$(Platform)'=='CodeAnalysis|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile_FastCap|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release_LTCG|Xbox 360'">CompileAsC</CompileAs>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\md_cart.c">
<CompileAs Condition="'$(Configuration)|$(Platform)'=='CodeAnalysis|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile_FastCap|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release_LTCG|Xbox 360'">CompileAsC</CompileAs>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\sms_cart.c">
<CompileAs Condition="'$(Configuration)|$(Platform)'=='CodeAnalysis|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile_FastCap|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release_LTCG|Xbox 360'">CompileAsC</CompileAs>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\sram.c">
<CompileAs Condition="'$(Configuration)|$(Platform)'=='CodeAnalysis|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile_FastCap|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release_LTCG|Xbox 360'">CompileAsC</CompileAs>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\svp\ssp16.c" /> <ClCompile Include="..\..\..\source\cart_hw\svp\ssp16.c" />
<ClCompile Include="..\..\..\source\cart_hw\svp\svp.c" /> <ClCompile Include="..\..\..\source\cart_hw\svp\svp.c" />
<ClCompile Include="..\..\..\source\cd_hw\cdc.c" /> <ClCompile Include="..\..\..\source\cd_hw\cdc.c" />
@ -76,9 +133,15 @@
<ClCompile Include="..\..\..\source\memz80.c" /> <ClCompile Include="..\..\..\source\memz80.c" />
<ClCompile Include="..\..\..\source\ntsc\md_ntsc.c" /> <ClCompile Include="..\..\..\source\ntsc\md_ntsc.c" />
<ClCompile Include="..\..\..\source\ntsc\sms_ntsc.c" /> <ClCompile Include="..\..\..\source\ntsc\sms_ntsc.c" />
<ClCompile Include="..\..\..\source\sound\blip.c" /> <ClCompile Include="..\..\..\source\sound\blip_buf.c">
<CompileAs Condition="'$(Configuration)|$(Platform)'=='CodeAnalysis|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Profile_FastCap|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">CompileAsC</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release_LTCG|Xbox 360'">CompileAsC</CompileAs>
</ClCompile>
<ClCompile Include="..\..\..\source\sound\eq.c" /> <ClCompile Include="..\..\..\source\sound\eq.c" />
<ClCompile Include="..\..\..\source\sound\Fir_Resampler.c" />
<ClCompile Include="..\..\..\source\sound\sn76489.c" /> <ClCompile Include="..\..\..\source\sound\sn76489.c" />
<ClCompile Include="..\..\..\source\sound\sound.c" /> <ClCompile Include="..\..\..\source\sound\sound.c" />
<ClCompile Include="..\..\..\source\sound\ym2413.c" /> <ClCompile Include="..\..\..\source\sound\ym2413.c" />
@ -179,7 +242,7 @@
<BufferSecurityCheck>false</BufferSecurityCheck> <BufferSecurityCheck>false</BufferSecurityCheck>
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile> <PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PreprocessorDefinitions>_DEBUG;_XBOX;_XBOX360;_LIB;INLINE=static _inline;__attribute__=;__inline__=_inline;__extension__=;USE_15BPP_RENDERING;__LIBRETRO__;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_DEBUG;_XBOX;_XBOX360;_LIB;INLINE=static _inline;__attribute__=;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CallAttributedProfiling>Callcap</CallAttributedProfiling> <CallAttributedProfiling>Callcap</CallAttributedProfiling>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs> <CompileAs>CompileAsC</CompileAs>
@ -200,7 +263,7 @@
<BufferSecurityCheck>false</BufferSecurityCheck> <BufferSecurityCheck>false</BufferSecurityCheck>
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile> <PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PreprocessorDefinitions>_DEBUG;_XBOX;_XBOX360;_LIB;%(PreprocessorDefinitions);INLINE=static _inline;__attribute__=;__inline__=_inline;__extension__=;USE_15BPP_RENDERING;__LIBRETRO__</PreprocessorDefinitions> <PreprocessorDefinitions>_DEBUG;_XBOX;_XBOX360;_LIB;%(PreprocessorDefinitions);INLINE=static _inline;__attribute__=;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565</PreprocessorDefinitions>
<CallAttributedProfiling>Callcap</CallAttributedProfiling> <CallAttributedProfiling>Callcap</CallAttributedProfiling>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs> <CompileAs>CompileAsC</CompileAs>
@ -222,7 +285,7 @@
<BufferSecurityCheck>false</BufferSecurityCheck> <BufferSecurityCheck>false</BufferSecurityCheck>
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile> <PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;PROFILE;_LIB;__LIBRETRO__;USE_15BPP_RENDERING;INLINE=static _inline;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;PROFILE;_LIB;__LIBRETRO__;USE_16BPP_RENDERING;INLINE=static _inline;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CallAttributedProfiling>Callcap</CallAttributedProfiling> <CallAttributedProfiling>Callcap</CallAttributedProfiling>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs> <CompileAs>CompileAsC</CompileAs>
@ -248,7 +311,7 @@
<BufferSecurityCheck>false</BufferSecurityCheck> <BufferSecurityCheck>false</BufferSecurityCheck>
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile> <PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;PROFILE;FASTCAP;_LIB;__LIBRETRO__;USE_15BPP_RENDERING;INLINE=static _inline;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;PROFILE;FASTCAP;_LIB;__LIBRETRO__;USE_16BPP_RENDERING;INLINE=static _inline;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs> <CompileAs>CompileAsC</CompileAs>
</ClCompile> </ClCompile>
@ -271,7 +334,7 @@
<BufferSecurityCheck>false</BufferSecurityCheck> <BufferSecurityCheck>false</BufferSecurityCheck>
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile> <PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;_LIB;INLINE=static _inline;__inline__=_inline;__extension__=;USE_15BPP_RENDERING;__LIBRETRO__;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;_LIB;INLINE=static _inline;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs> <CompileAs>CompileAsC</CompileAs>
</ClCompile> </ClCompile>
@ -294,7 +357,7 @@
<BufferSecurityCheck>false</BufferSecurityCheck> <BufferSecurityCheck>false</BufferSecurityCheck>
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile> <PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;LTCG;_LIB;INLINE=static _inline;__inline__=_inline;__extension__=;USE_15BPP_RENDERING;__LIBRETRO__;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;LTCG;_LIB;INLINE=static _inline;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)\..\..\libretro;$(SolutionDir)\..\..\source;$(SolutionDir)\..\..\source\m68k;$(SolutionDir)\..\..\source\sound;$(SolutionDir)\..\..\source\cart_hw;$(SolutionDir)\..\..\source\cart_hw\svp;$(SolutionDir)\..\..\source\input_hw;$(SolutionDir)\..\..\source\ntsc;$(SolutionDir)\..\..\source\z80;$(SolutionDir)\..\..\source\cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs> <CompileAs>CompileAsC</CompileAs>
</ClCompile> </ClCompile>

View File

@ -74,15 +74,9 @@
<ClCompile Include="..\..\..\source\sound\ym2612.c"> <ClCompile Include="..\..\..\source\sound\ym2612.c">
<Filter>Source Files\sound</Filter> <Filter>Source Files\sound</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\sound\blip.c">
<Filter>Source Files\sound</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\sound\eq.c"> <ClCompile Include="..\..\..\source\sound\eq.c">
<Filter>Source Files\sound</Filter> <Filter>Source Files\sound</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\sound\Fir_Resampler.c">
<Filter>Source Files\sound</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\sound\sn76489.c"> <ClCompile Include="..\..\..\source\sound\sn76489.c">
<Filter>Source Files\sound</Filter> <Filter>Source Files\sound</Filter>
</ClCompile> </ClCompile>
@ -143,18 +137,12 @@
<ClCompile Include="..\..\..\source\cart_hw\areplay.c"> <ClCompile Include="..\..\..\source\cart_hw\areplay.c">
<Filter>Source Files\cart_hw</Filter> <Filter>Source Files\cart_hw</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\gg_eeprom.c">
<Filter>Source Files\cart_hw</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\ggenie.c"> <ClCompile Include="..\..\..\source\cart_hw\ggenie.c">
<Filter>Source Files\cart_hw</Filter> <Filter>Source Files\cart_hw</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\md_cart.c"> <ClCompile Include="..\..\..\source\cart_hw\md_cart.c">
<Filter>Source Files\cart_hw</Filter> <Filter>Source Files\cart_hw</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\md_eeprom.c">
<Filter>Source Files\cart_hw</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\sms_cart.c"> <ClCompile Include="..\..\..\source\cart_hw\sms_cart.c">
<Filter>Source Files\cart_hw</Filter> <Filter>Source Files\cart_hw</Filter>
</ClCompile> </ClCompile>
@ -182,5 +170,17 @@
<ClCompile Include="..\..\..\source\cd_hw\scd.c"> <ClCompile Include="..\..\..\source\cd_hw\scd.c">
<Filter>Source Files\cd_hw</Filter> <Filter>Source Files\cd_hw</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\sound\blip_buf.c">
<Filter>Source Files\sound</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\eeprom_spi.c">
<Filter>Source Files\cart_hw</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\eeprom_93c.c">
<Filter>Source Files\cart_hw</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\eeprom_i2c.c">
<Filter>Source Files\cart_hw</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -12,10 +12,20 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\..\source\cart_hw\areplay.c" /> <ClCompile Include="..\..\..\source\cart_hw\areplay.c" />
<ClCompile Include="..\..\..\source\cart_hw\eeprom_93c.c">
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\eeprom_i2c.c">
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\eeprom_spi.c">
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\ggenie.c" /> <ClCompile Include="..\..\..\source\cart_hw\ggenie.c" />
<ClCompile Include="..\..\..\source\cart_hw\gg_eeprom.c" />
<ClCompile Include="..\..\..\source\cart_hw\md_cart.c" /> <ClCompile Include="..\..\..\source\cart_hw\md_cart.c" />
<ClCompile Include="..\..\..\source\cart_hw\md_eeprom.c" />
<ClCompile Include="..\..\..\source\cart_hw\sms_cart.c" /> <ClCompile Include="..\..\..\source\cart_hw\sms_cart.c" />
<ClCompile Include="..\..\..\source\cart_hw\sram.c" /> <ClCompile Include="..\..\..\source\cart_hw\sram.c" />
<ClCompile Include="..\..\..\source\cart_hw\svp\ssp16.c" /> <ClCompile Include="..\..\..\source\cart_hw\svp\ssp16.c" />
@ -46,9 +56,8 @@
<ClCompile Include="..\..\..\source\memz80.c" /> <ClCompile Include="..\..\..\source\memz80.c" />
<ClCompile Include="..\..\..\source\ntsc\md_ntsc.c" /> <ClCompile Include="..\..\..\source\ntsc\md_ntsc.c" />
<ClCompile Include="..\..\..\source\ntsc\sms_ntsc.c" /> <ClCompile Include="..\..\..\source\ntsc\sms_ntsc.c" />
<ClCompile Include="..\..\..\source\sound\blip.c" /> <ClCompile Include="..\..\..\source\sound\blip_buf.c" />
<ClCompile Include="..\..\..\source\sound\eq.c" /> <ClCompile Include="..\..\..\source\sound\eq.c" />
<ClCompile Include="..\..\..\source\sound\Fir_Resampler.c" />
<ClCompile Include="..\..\..\source\sound\sn76489.c" /> <ClCompile Include="..\..\..\source\sound\sn76489.c" />
<ClCompile Include="..\..\..\source\sound\sound.c" /> <ClCompile Include="..\..\..\source\sound\sound.c" />
<ClCompile Include="..\..\..\source\sound\ym2413.c" /> <ClCompile Include="..\..\..\source\sound\ym2413.c" />
@ -103,7 +112,7 @@
</PrecompiledHeader> </PrecompiledHeader>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;_CRT_SECURE_NO_WARNINGS;INLINE=static _inline;__inline__=_inline;__extension__=;LSB_FIRST;__LIBRETRO__;USE_15BPP_RENDERING;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;_CRT_SECURE_NO_WARNINGS;INLINE=static _inline;__inline__=_inline;__extension__=;LSB_FIRST;__LIBRETRO__;USE_16BPP_RENDERING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)/../../source;$(SolutionDir)/../../utils/zlib;$(SolutionDir)/../../source/cart_hw/svp;$(SolutionDir)/../../libretro;$(SolutionDir)/../../source/m68k;$(SolutionDir)/../../source/z80;$(SolutionDir)/../../source/input_hw;$(SolutionDir)/../../source/cart_hw;$(SolutionDir)/../../source/sound;$(SolutionDir)/../../source/ntsc;$(SolutionDir)/../../source/cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)/../../source;$(SolutionDir)/../../utils/zlib;$(SolutionDir)/../../source/cart_hw/svp;$(SolutionDir)/../../libretro;$(SolutionDir)/../../source/m68k;$(SolutionDir)/../../source/z80;$(SolutionDir)/../../source/input_hw;$(SolutionDir)/../../source/cart_hw;$(SolutionDir)/../../source/sound;$(SolutionDir)/../../source/ntsc;$(SolutionDir)/../../source/cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
@ -120,7 +129,7 @@
<Optimization>MaxSpeed</Optimization> <Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions> <IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;_CRT_SECURE_NO_WARNINGS;INLINE=static _inline;__inline__=_inline;__extension__=;LSB_FIRST;__LIBRETRO__;USE_15BPP_RENDERING;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;_CRT_SECURE_NO_WARNINGS;INLINE=static _inline;__inline__=_inline;__extension__=;LSB_FIRST;__LIBRETRO__;USE_16BPP_RENDERING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)/../../source;$(SolutionDir)/../../utils/zlib;$(SolutionDir)/../../source/cart_hw/svp;$(SolutionDir)/../../libretro;$(SolutionDir)/../../source/m68k;$(SolutionDir)/../../source/z80;$(SolutionDir)/../../source/input_hw;$(SolutionDir)/../../source/cart_hw;$(SolutionDir)/../../source/sound;$(SolutionDir)/../../source/ntsc;$(SolutionDir)/../../source/cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)/../../source;$(SolutionDir)/../../utils/zlib;$(SolutionDir)/../../source/cart_hw/svp;$(SolutionDir)/../../libretro;$(SolutionDir)/../../source/m68k;$(SolutionDir)/../../source/z80;$(SolutionDir)/../../source/input_hw;$(SolutionDir)/../../source/cart_hw;$(SolutionDir)/../../source/sound;$(SolutionDir)/../../source/ntsc;$(SolutionDir)/../../source/cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>

View File

@ -54,18 +54,12 @@
<ClCompile Include="..\..\..\source\cart_hw\areplay.c"> <ClCompile Include="..\..\..\source\cart_hw\areplay.c">
<Filter>Source Files\cart_hw</Filter> <Filter>Source Files\cart_hw</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\gg_eeprom.c">
<Filter>Source Files\cart_hw</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\ggenie.c"> <ClCompile Include="..\..\..\source\cart_hw\ggenie.c">
<Filter>Source Files\cart_hw</Filter> <Filter>Source Files\cart_hw</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\md_cart.c"> <ClCompile Include="..\..\..\source\cart_hw\md_cart.c">
<Filter>Source Files\cart_hw</Filter> <Filter>Source Files\cart_hw</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\md_eeprom.c">
<Filter>Source Files\cart_hw</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\sms_cart.c"> <ClCompile Include="..\..\..\source\cart_hw\sms_cart.c">
<Filter>Source Files\cart_hw</Filter> <Filter>Source Files\cart_hw</Filter>
</ClCompile> </ClCompile>
@ -117,15 +111,9 @@
<ClCompile Include="..\..\..\source\sound\ym2612.c"> <ClCompile Include="..\..\..\source\sound\ym2612.c">
<Filter>Source Files\sound</Filter> <Filter>Source Files\sound</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\sound\blip.c">
<Filter>Source Files\sound</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\sound\eq.c"> <ClCompile Include="..\..\..\source\sound\eq.c">
<Filter>Source Files\sound</Filter> <Filter>Source Files\sound</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\sound\Fir_Resampler.c">
<Filter>Source Files\sound</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\sound\sn76489.c"> <ClCompile Include="..\..\..\source\sound\sn76489.c">
<Filter>Source Files\sound</Filter> <Filter>Source Files\sound</Filter>
</ClCompile> </ClCompile>
@ -189,5 +177,17 @@
<ClCompile Include="..\..\scrc32.c"> <ClCompile Include="..\..\scrc32.c">
<Filter>Source Files\libretro</Filter> <Filter>Source Files\libretro</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\eeprom_spi.c">
<Filter>Source Files\cart_hw</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\eeprom_93c.c">
<Filter>Source Files\cart_hw</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\cart_hw\eeprom_i2c.c">
<Filter>Source Files\cart_hw</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\sound\blip_buf.c">
<Filter>Source Files\sound</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -87,6 +87,7 @@ typedef struct
float bgm_volume; float bgm_volume;
float sfx_volume; float sfx_volume;
char lastdir[4][2][MAXPATHLEN]; char lastdir[4][2][MAXPATHLEN];
uint8 gg_extra;
} t_config; } t_config;
/* Global data */ /* Global data */
@ -106,7 +107,7 @@ extern char MS_BIOS_JP[256];
extern int16 soundbuffer[3068]; extern int16 soundbuffer[3068];
#define VERSION "Genesis Plus GX 1.7.0 (libretro)" #define VERSION "Genesis Plus GX 1.7.1 (libretro)"
void osd_input_update(void); void osd_input_update(void);
int load_archive(char *filename, unsigned char *buffer, int maxsize, char *extension); int load_archive(char *filename, unsigned char *buffer, int maxsize, char *extension);