mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-12-26 19:21:49 +01:00
commit
137e84588c
@ -3,6 +3,7 @@ LOGSOUND = 0
|
||||
FRONTEND_SUPPORTS_RGB565 = 1
|
||||
|
||||
GENPLUS_SRC_DIR := core
|
||||
TREMOR_SRC_DIR := $(GENPLUS_SRC_DIR)/tremor
|
||||
LIBRETRO_DIR := libretro
|
||||
|
||||
ifneq ($(EMSCRIPTEN),)
|
||||
@ -17,6 +18,10 @@ else ifneq ($(findstring MINGW,$(shell uname -a)),)
|
||||
platform = win
|
||||
else ifneq ($(findstring Darwin,$(shell uname -a)),)
|
||||
platform = osx
|
||||
arch = intel
|
||||
ifeq ($(shell uname -p),powerpc)
|
||||
arch = ppc
|
||||
endif
|
||||
else ifneq ($(findstring win,$(shell uname -a)),)
|
||||
platform = win
|
||||
endif
|
||||
@ -29,6 +34,10 @@ EXE_EXT = .exe
|
||||
system_platform = win
|
||||
else ifneq ($(findstring Darwin,$(shell uname -a)),)
|
||||
system_platform = osx
|
||||
arch = intel
|
||||
ifeq ($(shell uname -p),powerpc)
|
||||
arch = ppc
|
||||
endif
|
||||
else ifneq ($(findstring MINGW,$(shell uname -a)),)
|
||||
system_platform = win
|
||||
endif
|
||||
@ -39,27 +48,41 @@ ifeq ($(platform), unix)
|
||||
TARGET := $(TARGET_NAME)_libretro.so
|
||||
fpic := -fPIC
|
||||
SHARED := -shared -Wl,--version-script=libretro/link.T -Wl,--no-undefined -lz
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN
|
||||
PLATFORM_DEFINES := -DHAVE_ZLIB
|
||||
else ifeq ($(platform), osx)
|
||||
TARGET := $(TARGET_NAME)_libretro.dylib
|
||||
fpic := -fPIC -mmacosx-version-min=10.6
|
||||
fpic := -fPIC
|
||||
SHARED := -dynamiclib -lz
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
ifeq ($(arch),ppc)
|
||||
ENDIANNESS_DEFINES := -DBYTE_ORDER=BIG_ENDIAN
|
||||
else
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN
|
||||
endif
|
||||
PLATFORM_DEFINES := -DHAVE_ZLIB
|
||||
|
||||
OSXVER = `sw_vers -productVersion | cut -c 4`
|
||||
ifneq ($(OSXVER),9)
|
||||
fpic += -mmacosx-version-min=10.5
|
||||
endif
|
||||
else ifeq ($(platform), ios)
|
||||
TARGET := $(TARGET_NAME)_libretro_ios.dylib
|
||||
fpic := -fPIC
|
||||
SHARED := -dynamiclib -lz
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
PLATFORM_DEFINES := -DHAVE_ZLIB -miphoneos-version-min=5.0
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN
|
||||
PLATFORM_DEFINES := -DHAVE_ZLIB
|
||||
|
||||
CC = clang -arch armv7 -isysroot $(IOSSDK) -miphoneos-version-min=5.0
|
||||
CC = clang -arch armv7 -isysroot $(IOSSDK)
|
||||
OSXVER = `sw_vers -productVersion | cut -c 4`
|
||||
ifneq ($(OSXVER),9)
|
||||
CC += -miphoneos-version-min=5.0
|
||||
PLATFORM_DEFINES += -miphoneos-version-min=5.0
|
||||
endif
|
||||
else ifeq ($(platform), qnx)
|
||||
TARGET := $(TARGET_NAME)_libretro_qnx.so
|
||||
fpic := -fPIC
|
||||
SHARED := -lm -shared -Wl,--version-script=libretro/link.T -Wl,--no-undefined -lz
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN
|
||||
PLATFORM_DEFINES := -DHAVE_ZLIB
|
||||
CC = qcc -Vgcc_ntoarmv7le
|
||||
AR = qcc -Vgcc_ntoarmv7le
|
||||
@ -68,13 +91,13 @@ else ifeq ($(platform), ps3)
|
||||
TARGET := $(TARGET_NAME)_libretro_ps3.a
|
||||
CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
|
||||
AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
|
||||
PLATFORM_DEFINES := -D__CELLOS_LV2 -DALT_RENDER
|
||||
PLATFORM_DEFINES := -D__CELLOS_LV2 -DALT_RENDER -DBYTE_ORDER=BIG_ENDIAN
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), sncps3)
|
||||
TARGET := $(TARGET_NAME)_libretro_ps3.a
|
||||
CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
|
||||
AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe
|
||||
PLATFORM_DEFINES := -D__CELLOS_LV2 -DALT_RENDER
|
||||
PLATFORM_DEFINES := -D__CELLOS_LV2 -DALT_RENDER -DBYTE_ORDER=BIG_ENDIAN
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), psl1ght)
|
||||
TARGET := $(TARGET_NAME)_libretro_psl1ght.a$(EXE_EXT)
|
||||
@ -86,7 +109,7 @@ else ifeq ($(platform), psp1)
|
||||
TARGET := $(TARGET_NAME)_libretro_psp1.a$(EXE_EXT)
|
||||
CC = psp-gcc$(EXE_EXT)
|
||||
AR = psp-ar$(EXE_EXT)
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN
|
||||
PLATFORM_DEFINES := -DPSP
|
||||
CFLAGS += -G0
|
||||
STATIC_LINKING = 1
|
||||
@ -95,11 +118,13 @@ else ifeq ($(platform), xenon)
|
||||
CC = xenon-gcc$(EXE_EXT)
|
||||
AR = xenon-ar$(EXE_EXT)
|
||||
PLATFORM_DEFINES := -D__LIBXENON__ -DALT_RENDER
|
||||
ENDIANNESS_DEFINES := -DBYTE_ORDER=BIG_ENDIAN
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), ngc)
|
||||
TARGET := $(TARGET_NAME)_libretro_ngc.a
|
||||
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
|
||||
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
|
||||
ENDIANNESS_DEFINES := -DBYTE_ORDER=BIG_ENDIAN
|
||||
PLATFORM_DEFINES := -DGEKKO -DHW_DOL -mrvl -mcpu=750 -meabi -mhard-float -DALT_RENDER
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), wii)
|
||||
@ -107,12 +132,13 @@ else ifeq ($(platform), wii)
|
||||
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
|
||||
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
|
||||
PLATFORM_DEFINES := -DGEKKO -DHW_RVL -mrvl -mcpu=750 -meabi -mhard-float -DALT_RENDER
|
||||
ENDIANNESS_DEFINES := -DBYTE_ORDER=BIG_ENDIAN
|
||||
STATIC_LINKING = 1
|
||||
else ifneq (,$(findstring armv,$(platform)))
|
||||
TARGET := $(TARGET_NAME)_libretro.so
|
||||
fpic := -fPIC
|
||||
SHARED := -shared -Wl,--version-script=libretro/link.T -Wl,--no-undefined -lz
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN
|
||||
PLATFORM_DEFINES := -DHAVE_ZLIB
|
||||
CC = gcc
|
||||
ifneq (,$(findstring cortexa8,$(platform)))
|
||||
@ -133,13 +159,13 @@ endif
|
||||
PLATFORM_DEFINES += -DARM
|
||||
else ifeq ($(platform), emscripten)
|
||||
TARGET := $(TARGET_NAME)_libretro_emscripten.bc
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN
|
||||
else
|
||||
TARGET := $(TARGET_NAME)_libretro.dll
|
||||
CC = gcc
|
||||
SHARED := -shared -static-libgcc -static-libstdc++ -Wl,--version-script=libretro/link.T -Wl,--no-undefined -lz
|
||||
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN
|
||||
PLATFORM_DEFINES := -DHAVE_ZLIB
|
||||
endif
|
||||
|
||||
@ -200,6 +226,21 @@ LIBRETRO_SRC := $(GENPLUS_SRC_DIR)/genesis.c \
|
||||
$(GENPLUS_SRC_DIR)/z80/z80.c \
|
||||
$(GENPLUS_SRC_DIR)/m68k/m68kcpu.c \
|
||||
$(GENPLUS_SRC_DIR)/m68k/s68kcpu.c \
|
||||
$(TREMOR_SRC_DIR)/bitwise.c \
|
||||
$(TREMOR_SRC_DIR)/block.c \
|
||||
$(TREMOR_SRC_DIR)/codebook.c \
|
||||
$(TREMOR_SRC_DIR)/floor0.c \
|
||||
$(TREMOR_SRC_DIR)/floor1.c \
|
||||
$(TREMOR_SRC_DIR)/framing.c \
|
||||
$(TREMOR_SRC_DIR)/info.c \
|
||||
$(TREMOR_SRC_DIR)/mapping0.c \
|
||||
$(TREMOR_SRC_DIR)/mdct.c \
|
||||
$(TREMOR_SRC_DIR)/registry.c \
|
||||
$(TREMOR_SRC_DIR)/res012.c \
|
||||
$(TREMOR_SRC_DIR)/sharedbook.c \
|
||||
$(TREMOR_SRC_DIR)/synthesis.c \
|
||||
$(TREMOR_SRC_DIR)/vorbisfile.c \
|
||||
$(TREMOR_SRC_DIR)/window.c \
|
||||
$(LIBRETRO_DIR)/libretro.c
|
||||
|
||||
LIBRETRO_OBJ := $(LIBRETRO_SRC:.c=.o)
|
||||
@ -208,7 +249,7 @@ ifeq ($(LOGSOUND), 1)
|
||||
LIBRETRO_CFLAGS := -DLOGSOUND
|
||||
endif
|
||||
|
||||
DEFINES :=
|
||||
DEFINES := -DUSE_LIBTREMOR
|
||||
CFLAGS += $(fpic) $(DEFINES) $(CODE_DEFINES)
|
||||
|
||||
ifeq ($(FRONTEND_SUPPORTS_RGB565), 1)
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "asm_arm.h"
|
||||
#include <stdlib.h> /* for abs() */
|
||||
|
||||
#ifdef GEKKO
|
||||
#if defined(GEKKO) && !defined(__LIBRETRO__)
|
||||
#include <gctypes.h>
|
||||
#endif
|
||||
|
||||
@ -37,6 +37,9 @@
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#if !defined(__LIBRETRO__) && defined(GEKKO)
|
||||
#ifndef __CELLOS_LV2__
|
||||
#ifndef _XBOX360
|
||||
#if BYTE_ORDER==LITTLE_ENDIAN
|
||||
union magic {
|
||||
struct {
|
||||
@ -45,8 +48,12 @@ union magic {
|
||||
} halves;
|
||||
ogg_int64_t whole;
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef ANDROID
|
||||
#if BYTE_ORDER==BIG_ENDIAN
|
||||
union magic {
|
||||
struct {
|
||||
@ -56,6 +63,7 @@ union magic {
|
||||
ogg_int64_t whole;
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
STIN ogg_int32_t MULT32(ogg_int32_t x, ogg_int32_t y) {
|
||||
union magic magic;
|
||||
|
@ -41,9 +41,11 @@
|
||||
# define rint(x) (floor((x)+0.5f))
|
||||
# define NO_FLOAT_MATH_LIB
|
||||
# define FAST_HYPOT(a, b) sqrt((a)*(a) + (b)*(b))
|
||||
#ifndef _XBOX360
|
||||
# define LITTLE_ENDIAN 1
|
||||
# define BYTE_ORDER LITTLE_ENDIAN
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ALLOCA_H
|
||||
# include <alloca.h>
|
||||
|
@ -32,7 +32,11 @@
|
||||
#define _ogg_realloc realloc
|
||||
#define _ogg_free free
|
||||
|
||||
#if defined(_WIN32) && defined(__LIBRETRO__)
|
||||
#include <stdint.h>
|
||||
#else
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
|
||||
typedef int64_t ogg_int64_t;
|
||||
typedef int32_t ogg_int32_t;
|
||||
|
14
libretro/debian/changelog
Normal file
14
libretro/debian/changelog
Normal file
@ -0,0 +1,14 @@
|
||||
libretro-genesisplusgx (1.7.4-0ubuntu3) UNRELEASED; urgency=low
|
||||
|
||||
* Updated to latest git.
|
||||
* Debian folder from hunterk PPA to upstream
|
||||
* Updated debian package and fixed lintian errors/warnings
|
||||
|
||||
-- Sergio Benjamim <sergio_br2@yahoo.com.br> Mon, 14 Jul 2014 22:40:00 -0300
|
||||
|
||||
|
||||
libretro-genesisplusgx (1.7.4-0ubuntu2) UNRELEASED; urgency=low
|
||||
|
||||
* Updated to latest git.
|
||||
|
||||
-- Hunter Kaller (hizzlekizzle) <hunter_kaller@yahoo.com> Wed, 12 Mar 2014 13:24:59 -0500
|
1
libretro/debian/compat
Normal file
1
libretro/debian/compat
Normal file
@ -0,0 +1 @@
|
||||
9
|
16
libretro/debian/control
Normal file
16
libretro/debian/control
Normal file
@ -0,0 +1,16 @@
|
||||
Source: libretro-genesisplusgx
|
||||
Section: otherosfs
|
||||
Priority: extra
|
||||
Maintainer: Hunter Kaller (hizzlekizzle) <hunter_kaller@yahoo.com>
|
||||
Build-Depends: debhelper (>= 9), zlib1g-dev
|
||||
Standards-Version: 3.9.5
|
||||
Homepage: https://code.google.com/p/genplus-gx/
|
||||
Vcs-Git: git://github.com/libretro/Genesis-Plus-GX.git
|
||||
Vcs-Browser: https://github.com/libretro/Genesis-Plus-GX
|
||||
|
||||
Package: libretro-genesisplusgx
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: Libretro wrapper for Genesis Plus GX.
|
||||
This wrapper makes Genesis Plus GX API compatible with libretro,
|
||||
thus allowing its use with libretro frontends, such as RetroArch.
|
60
libretro/debian/copyright
Normal file
60
libretro/debian/copyright
Normal file
@ -0,0 +1,60 @@
|
||||
This package was debianized by Hunter Kaller (hizzlekizzle) <hunter_kaller@yahoo.com> on
|
||||
Tue, 14 Apr 2010 11:03:43 -0500.
|
||||
|
||||
It was downloaded from <https://github.com/libretro/Genesis-Plus-GX>
|
||||
|
||||
Upstream Authors:
|
||||
|
||||
Genesis Plus GX development team
|
||||
Hans-Kristian Arntzen (Themaister) <maister@archlinux.us>
|
||||
Daniel De Matteis (Squarepusher aka twinaphex) <libretro@gmail.com>
|
||||
|
||||
Copyright:
|
||||
|
||||
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Charles MacDonald
|
||||
Some portions copyright Nicola Salmoria and the MAME team
|
||||
All rights reserved.
|
||||
Copyright (c) 2007-2013 Eke-Eke
|
||||
All rights reserved.
|
||||
|
||||
License:
|
||||
|
||||
Unless otherwise explicitly stated, all code in Genesis Plus GX is released
|
||||
under the following license:
|
||||
.
|
||||
Redistribution and use of this code or any derivative works are permitted
|
||||
provided that the following conditions are met:
|
||||
.
|
||||
* Redistributions may not be sold, nor may they be used in a commercial
|
||||
product or activity.
|
||||
.
|
||||
* Redistributions that are modified from the original source must include the
|
||||
complete source code, including the source code for all components used by a
|
||||
binary built from the modified sources. However, as a special exception, the
|
||||
source code distributed need not include anything that is normally distributed
|
||||
(in either source or binary form) with the major components (compiler, kernel,
|
||||
and so on) of the operating system on which the executable runs, unless that
|
||||
component itself accompanies the executable.
|
||||
.
|
||||
* Redistributions must reproduce the above copyright notice, this list of
|
||||
conditions and the following disclaimer in the documentation and/or other
|
||||
materials provided with the distribution.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
The Debian packaging is:
|
||||
|
||||
Copyright (C) 2009 Hunter Kaller (hizzlekizzle) <hunter_kaller@yahoo.com>
|
||||
|
||||
and is licensed under the GPL version 3,
|
||||
see `/usr/share/common-licenses/GPL-3'.
|
1
libretro/debian/dirs
Normal file
1
libretro/debian/dirs
Normal file
@ -0,0 +1 @@
|
||||
usr/lib/libretro
|
34
libretro/debian/genesis_plus_gx_libretro.info
Normal file
34
libretro/debian/genesis_plus_gx_libretro.info
Normal file
@ -0,0 +1,34 @@
|
||||
display_name = "Sega MS/GG/MD/CD (Genesis Plus GX)"
|
||||
authors = "Charles McDonald|Eke-Eke"
|
||||
supported_extensions = "mdx|md|smd|gen|bin|cue|iso|sms|gg|sg"
|
||||
corename = "Genesis Plus GX"
|
||||
manufacturer = "Sega"
|
||||
systemname = "Sega 8/16bit (Various)"
|
||||
license = "Non-commercial"
|
||||
permissions = ""
|
||||
display:version = "v1.7.4"
|
||||
need_fullpath = "true"
|
||||
block_extract = "false"
|
||||
supports_no_game = "false"
|
||||
firmware_count = 7
|
||||
firmware0_desc = "bios_CD_E.bin (MegaCD EU BIOS)"
|
||||
firmware0_path = "bios_CD_E.bin"
|
||||
firmware0_opt = "false"
|
||||
firmware1_desc = "bios_CD_U.bin (SegaCD US BIOS)"
|
||||
firmware1_path = "bios_CD_U.bin"
|
||||
firmware1_opt = "false"
|
||||
firmware2_desc = "bios_CD_J.bin (MegaCD JP BIOS)"
|
||||
firmware2_path = "bios_CD_J.bin"
|
||||
firmware2_opt = "false"
|
||||
firmware3_desc = "bios_E.sms (MasterSystem EU BIOS)"
|
||||
firmware3_path = "bios_E.sms"
|
||||
firmware3_opt = "true"
|
||||
firmware4_desc = "bios_U.sms (MasterSystem US BIOS)"
|
||||
firmware4_path = "bios_U.sms"
|
||||
firmware4_opt = "true"
|
||||
firmware5_desc = "bios_J.sms (MasterSystem JP BIOS)"
|
||||
firmware5_path = "bios_J.sms"
|
||||
firmware5_opt = "true"
|
||||
firmware6=desc = "bios.gg (GameGear BIOS)"
|
||||
firmware6_path = "bios.gg"
|
||||
firmware6_opt = "true"
|
9
libretro/debian/libretro-genesisplusgx.postinst
Executable file
9
libretro/debian/libretro-genesisplusgx.postinst
Executable file
@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
update-alternatives --install /usr/lib/libretro.so libretro /usr/lib/libretro/genesis_plus_gx_libretro.so 10
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
90
libretro/debian/rules
Executable file
90
libretro/debian/rules
Executable file
@ -0,0 +1,90 @@
|
||||
#!/usr/bin/make -f
|
||||
# -*- makefile -*-
|
||||
# Sample debian/rules that uses debhelper.
|
||||
# This file was originally written by Joey Hess and Craig Small.
|
||||
# As a special exception, when this file is copied by dh-make into a
|
||||
# dh-make output file, you may use that output file without restriction.
|
||||
# This special exception was added by Craig Small in version 0.37 of dh-make.
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
|
||||
configure: configure-stamp
|
||||
configure-stamp:
|
||||
dh_testdir
|
||||
# Add here commands to configure the package.
|
||||
touch configure-stamp
|
||||
|
||||
build: build-arch build-indep
|
||||
|
||||
build-arch: build-stamp
|
||||
|
||||
build-indep: build-stamp
|
||||
|
||||
build-stamp: configure-stamp
|
||||
dh_testdir
|
||||
|
||||
# Add here commands to compile the package.
|
||||
$(MAKE) -f Makefile.libretro
|
||||
#docbook-to-man debian/libretro-genesisplusgx.sgml > libretro-genesisplusgx
|
||||
|
||||
touch $@
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -f build-stamp configure-stamp
|
||||
|
||||
# Add here commands to clean up after the build process.
|
||||
$(MAKE) -f Makefile.libretro clean
|
||||
|
||||
dh_clean
|
||||
|
||||
install: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_prep
|
||||
dh_installdirs
|
||||
|
||||
# Add here commands to install the package into debian/libretro-genesisplusgx.
|
||||
cp genesis_plus_gx_libretro.so $(CURDIR)/debian/libretro-genesisplusgx/usr/lib/libretro/
|
||||
cp $(CURDIR)/debian/genesis_plus_gx_libretro.info $(CURDIR)/debian/libretro-genesisplusgx/usr/lib/libretro/
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: install
|
||||
# We have nothing to do by default.
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installchangelogs
|
||||
dh_installdocs
|
||||
# dh_installexamples
|
||||
# dh_install
|
||||
# dh_installmenu
|
||||
# dh_installdebconf
|
||||
# dh_installlogrotate
|
||||
# dh_installemacsen
|
||||
# dh_installpam
|
||||
# dh_installmime
|
||||
# dh_python
|
||||
# dh_installinit
|
||||
# dh_installcron
|
||||
# dh_installinfo
|
||||
# dh_installman
|
||||
dh_link
|
||||
dh_strip
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
# dh_perl
|
||||
# dh_makeshlibs
|
||||
dh_installdeb
|
||||
dh_shlibdeps
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary install configure
|
1
libretro/debian/source/format
Normal file
1
libretro/debian/source/format
Normal file
@ -0,0 +1 @@
|
||||
3.0 (quilt)
|
@ -3,6 +3,7 @@ LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
GENPLUS_SRC_DIR := ../../core
|
||||
TREMOR_SRC_DIR := $(GENPLUS_SRC_DIR)/tremor
|
||||
LIBRETRO_DIR := ../
|
||||
|
||||
LOCAL_MODULE := retro
|
||||
@ -59,6 +60,21 @@ LOCAL_SRC_FILES := $(GENPLUS_SRC_DIR)/genesis.c \
|
||||
$(GENPLUS_SRC_DIR)/z80/z80.c \
|
||||
$(GENPLUS_SRC_DIR)/m68k/m68kcpu.c \
|
||||
$(GENPLUS_SRC_DIR)/m68k/s68kcpu.c \
|
||||
$(TREMOR_SRC_DIR)/bitwise.c \
|
||||
$(TREMOR_SRC_DIR)/block.c \
|
||||
$(TREMOR_SRC_DIR)/codebook.c \
|
||||
$(TREMOR_SRC_DIR)/floor0.c \
|
||||
$(TREMOR_SRC_DIR)/floor1.c \
|
||||
$(TREMOR_SRC_DIR)/framing.c \
|
||||
$(TREMOR_SRC_DIR)/info.c \
|
||||
$(TREMOR_SRC_DIR)/mapping0.c \
|
||||
$(TREMOR_SRC_DIR)/mdct.c \
|
||||
$(TREMOR_SRC_DIR)/registry.c \
|
||||
$(TREMOR_SRC_DIR)/res012.c \
|
||||
$(TREMOR_SRC_DIR)/sharedbook.c \
|
||||
$(TREMOR_SRC_DIR)/synthesis.c \
|
||||
$(TREMOR_SRC_DIR)/vorbisfile.c \
|
||||
$(TREMOR_SRC_DIR)/window.c \
|
||||
$(LIBRETRO_DIR)/libretro.c \
|
||||
$(LIBRETRO_DIR)/scrc32.c
|
||||
|
||||
@ -73,6 +89,6 @@ LOCAL_C_INCLUDES = $(LOCAL_PATH)/$(GENPLUS_SRC_DIR) \
|
||||
$(LOCAL_PATH)/$(GENPLUS_SRC_DIR)/ntsc \
|
||||
$(LOCAL_PATH)/$(LIBRETRO_DIR)
|
||||
|
||||
LOCAL_CFLAGS = -ffast-math -O3 -funroll-loops -DINLINE="static inline" -DUSE_16BPP_RENDERING -DLSB_FIRST -D__LIBRETRO__ -DFRONTEND_SUPPORTS_RGB565 -DALIGN_LONG -DALIGN_WORD
|
||||
LOCAL_CFLAGS = -ffast-math -O2 -funroll-loops -DINLINE="static inline" -DUSE_LIBTREMOR -DUSE_16BPP_RENDERING -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN -D__LIBRETRO__ -DFRONTEND_SUPPORTS_RGB565 -DALIGN_LONG -DALIGN_WORD
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
@ -13,6 +13,16 @@
|
||||
#include <xtl.h>
|
||||
#endif
|
||||
|
||||
#define RETRO_DEVICE_MDPAD_3B RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 0)
|
||||
#define RETRO_DEVICE_MDPAD_6B RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 1)
|
||||
#define RETRO_DEVICE_SMSPAD_2B RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 2)
|
||||
#define RETRO_DEVICE_PORT_NONE RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 3)
|
||||
#define RETRO_DEVICE_MDPAD_3B_WAYPLAY RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 4)
|
||||
#define RETRO_DEVICE_MDPAD_6B_WAYPLAY RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 5)
|
||||
#define RETRO_DEVICE_MDPAD_3B_TEAMPLAYER RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 6)
|
||||
#define RETRO_DEVICE_MDPAD_6B_TEAMPLAYER RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 7)
|
||||
#define RETRO_DEVICE_SMSPAD_4P RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 8)
|
||||
|
||||
#include "shared.h"
|
||||
#include "libretro.h"
|
||||
#include "state.h"
|
||||
@ -69,6 +79,7 @@ static retro_audio_sample_batch_t audio_cb;
|
||||
/************************************
|
||||
* Genesis Plus GX implementation
|
||||
************************************/
|
||||
#undef CHUNKSIZE
|
||||
#define CHUNKSIZE (0x10000)
|
||||
|
||||
void error(char * fmt, ...)
|
||||
@ -464,7 +475,7 @@ static bool update_viewport(void)
|
||||
vheight = vheight * 2;
|
||||
}
|
||||
|
||||
return ((ow != vwidth) || (oh != vheight));
|
||||
return (oh != vheight);
|
||||
}
|
||||
|
||||
static void check_variables(void)
|
||||
@ -712,50 +723,6 @@ static void check_variables(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void configure_controls(void)
|
||||
{
|
||||
int i;
|
||||
struct retro_variable var;
|
||||
|
||||
input.system[0] = SYSTEM_GAMEPAD;
|
||||
input.system[1] = SYSTEM_GAMEPAD;
|
||||
|
||||
var.key = "padtype";
|
||||
environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var);
|
||||
if (!strcmp(var.value, "6-buttons"))
|
||||
for(i = 0; i < MAX_INPUTS; i++)
|
||||
config.input[i].padtype = DEVICE_PAD6B;
|
||||
else if (!strcmp(var.value, "3-buttons"))
|
||||
for(i = 0; i < MAX_INPUTS; i++)
|
||||
config.input[i].padtype = DEVICE_PAD3B;
|
||||
else if (!strcmp(var.value, "2-buttons"))
|
||||
for(i = 0; i < MAX_INPUTS; i++)
|
||||
config.input[i].padtype = DEVICE_PAD2B;
|
||||
else
|
||||
for(i = 0; i < MAX_INPUTS; i++)
|
||||
config.input[i].padtype = DEVICE_PAD2B | DEVICE_PAD3B | DEVICE_PAD6B;
|
||||
|
||||
var.key = "multitap";
|
||||
environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var);
|
||||
if (!strcmp(var.value, "4-wayplay"))
|
||||
input.system[0] = input.system[1] = SYSTEM_WAYPLAY;
|
||||
else if (!strcmp(var.value, "teamplayer 1"))
|
||||
input.system[0] = SYSTEM_TEAMPLAYER;
|
||||
else if (!strcmp(var.value, "teamplayer 2"))
|
||||
input.system[1] = SYSTEM_TEAMPLAYER;
|
||||
else if (!strcmp(var.value, "teamplayer 1&2"))
|
||||
input.system[0] = input.system[1] = SYSTEM_TEAMPLAYER;
|
||||
else if (!strcmp(var.value, "mastertap"))
|
||||
input.system[0] = SYSTEM_MASTERTAP;
|
||||
|
||||
var.key = "portb";
|
||||
environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var);
|
||||
if (!strcmp(var.value, "disabled"))
|
||||
input.system[1] = NO_SYSTEM;
|
||||
|
||||
input_init();
|
||||
}
|
||||
|
||||
/************************************
|
||||
* libretro implementation
|
||||
************************************/
|
||||
@ -769,9 +736,6 @@ void retro_set_environment(retro_environment_t cb)
|
||||
{ "force_dtack", "System lockups; enabled|disabled" },
|
||||
{ "addr_error", "68k address error; enabled|disabled" },
|
||||
{ "lock_on", "Cartridge lock-on; disabled|game genie|action replay (pro)|sonic & knuckles" },
|
||||
{ "padtype", "Gamepad type; auto|6-buttons|3-buttons|2-buttons" },
|
||||
{ "multitap", "Multi Tap; disabled|4-wayplay|teamplayer (port 1)|teamplayer (port 2)|teamplayer (both)|mastertap" },
|
||||
{ "portb", "Control Port 2; enabled|disabled" },
|
||||
{ "ym2413", "Master System FM; auto|disabled|enabled" },
|
||||
{ "dac_bits", "YM2612 DAC quantization; disabled|enabled" },
|
||||
{ "blargg_ntsc_filter", "Blargg NTSC filter; disabled|monochrome|composite|svideo|rgb" },
|
||||
@ -781,8 +745,41 @@ void retro_set_environment(retro_environment_t cb)
|
||||
{ NULL, NULL },
|
||||
};
|
||||
|
||||
|
||||
static const struct retro_controller_description port_1[] = {
|
||||
{ "MD Joypad 3 Button", RETRO_DEVICE_MDPAD_3B },
|
||||
{ "MD Joypad 6 Button", RETRO_DEVICE_MDPAD_6B },
|
||||
{ "Joypad Auto", RETRO_DEVICE_JOYPAD },
|
||||
{ "Joypad Port Empty", RETRO_DEVICE_PORT_NONE },
|
||||
{ "SMS Joypad 2 Button", RETRO_DEVICE_SMSPAD_2B },
|
||||
{ "MD Joypad 3 Button + WayPlay", RETRO_DEVICE_MDPAD_3B_WAYPLAY },
|
||||
{ "MD Joypad 6 Button + WayPlay", RETRO_DEVICE_MDPAD_6B_WAYPLAY },
|
||||
{ "MD Joypad 3 Button + Teamplayer", RETRO_DEVICE_MDPAD_3B_TEAMPLAYER },
|
||||
{ "MD Joypad 6 Button + Teamplayer", RETRO_DEVICE_MDPAD_6B_TEAMPLAYER },
|
||||
{ "SMS Joypad 4 Player", RETRO_DEVICE_SMSPAD_4P },
|
||||
};
|
||||
|
||||
static const struct retro_controller_description port_2[] = {
|
||||
{ "MD Joypad 3 Button", RETRO_DEVICE_MDPAD_3B },
|
||||
{ "MD Joypad 6 Button", RETRO_DEVICE_MDPAD_6B },
|
||||
{ "Joypad Auto", RETRO_DEVICE_JOYPAD },
|
||||
{ "Joypad Port Empty", RETRO_DEVICE_PORT_NONE },
|
||||
{ "SMS Joypad 2 Button", RETRO_DEVICE_SMSPAD_2B },
|
||||
{ "MD Joypad 3 Button + WayPlay", RETRO_DEVICE_MDPAD_3B_WAYPLAY },
|
||||
{ "MD Joypad 6 Button + WayPlay", RETRO_DEVICE_MDPAD_6B_WAYPLAY },
|
||||
{ "MD Joypad 3 Button + Teamplayer", RETRO_DEVICE_MDPAD_3B_TEAMPLAYER },
|
||||
{ "MD Joypad 6 Button + Teamplayer", RETRO_DEVICE_MDPAD_6B_TEAMPLAYER },
|
||||
};
|
||||
|
||||
static const struct retro_controller_info ports[] = {
|
||||
{ port_1, 10 },
|
||||
{ port_2, 9 },
|
||||
{ 0 },
|
||||
};
|
||||
|
||||
environ_cb = cb;
|
||||
cb(RETRO_ENVIRONMENT_SET_VARIABLES, (void*)vars);
|
||||
environ_cb(RETRO_ENVIRONMENT_SET_CONTROLLER_INFO, (void*)ports);
|
||||
}
|
||||
|
||||
void retro_set_video_refresh(retro_video_refresh_t cb) { video_cb = cb; }
|
||||
@ -813,8 +810,62 @@ void retro_get_system_av_info(struct retro_system_av_info *info)
|
||||
|
||||
void retro_set_controller_port_device(unsigned port, unsigned device)
|
||||
{
|
||||
(void)port;
|
||||
(void)device;
|
||||
switch(device)
|
||||
{
|
||||
case RETRO_DEVICE_MDPAD_3B:
|
||||
config.input[port].padtype = DEVICE_PAD3B;
|
||||
input.dev[port] = DEVICE_PAD3B;
|
||||
input.system[port] = SYSTEM_GAMEPAD;
|
||||
break;
|
||||
case RETRO_DEVICE_MDPAD_6B:
|
||||
config.input[port].padtype = DEVICE_PAD6B;
|
||||
input.dev[port] = DEVICE_PAD6B;
|
||||
input.system[port] = SYSTEM_GAMEPAD;
|
||||
break;
|
||||
case RETRO_DEVICE_PORT_NONE:
|
||||
config.input[port].padtype = 0;
|
||||
input.dev[port] = 0;
|
||||
input.system[port] = NO_SYSTEM;
|
||||
break;
|
||||
case RETRO_DEVICE_SMSPAD_2B:
|
||||
config.input[port].padtype = DEVICE_PAD2B;
|
||||
input.dev[port] = DEVICE_PAD2B;
|
||||
input.system[port] = SYSTEM_GAMEPAD;
|
||||
break;
|
||||
case RETRO_DEVICE_MDPAD_3B_WAYPLAY:
|
||||
config.input[port].padtype = DEVICE_PAD3B;
|
||||
input.dev[port] = DEVICE_PAD3B;
|
||||
input.system[0] = input.system[1] = SYSTEM_WAYPLAY;
|
||||
break;
|
||||
case RETRO_DEVICE_MDPAD_6B_WAYPLAY:
|
||||
config.input[port].padtype = DEVICE_PAD6B;
|
||||
input.dev[port] = DEVICE_PAD6B;
|
||||
input.system[0] = input.system[1] = SYSTEM_WAYPLAY;
|
||||
break;
|
||||
case RETRO_DEVICE_MDPAD_3B_TEAMPLAYER:
|
||||
config.input[port].padtype = DEVICE_PAD3B;
|
||||
input.dev[port] = DEVICE_PAD3B;
|
||||
input.system[port] = SYSTEM_TEAMPLAYER;
|
||||
break;
|
||||
case RETRO_DEVICE_MDPAD_6B_TEAMPLAYER:
|
||||
config.input[port].padtype = DEVICE_PAD6B;
|
||||
input.dev[port] = DEVICE_PAD6B;
|
||||
input.system[port] = SYSTEM_TEAMPLAYER;
|
||||
break;
|
||||
case RETRO_DEVICE_SMSPAD_4P:
|
||||
config.input[port].padtype = DEVICE_PAD2B;
|
||||
input.dev[port] = DEVICE_PAD2B;
|
||||
input.system[0] = SYSTEM_MS4PLAY;
|
||||
break;
|
||||
case RETRO_DEVICE_JOYPAD:
|
||||
default:
|
||||
config.input[port].padtype = DEVICE_PAD2B | DEVICE_PAD6B | DEVICE_PAD3B;
|
||||
input.dev[port] = DEVICE_PAD2B | DEVICE_PAD6B | DEVICE_PAD3B;
|
||||
input.system[port] = SYSTEM_GAMEPAD;
|
||||
break;
|
||||
}
|
||||
|
||||
input_init();
|
||||
}
|
||||
|
||||
size_t retro_serialize_size(void) { return STATE_SIZE; }
|
||||
@ -897,8 +948,9 @@ bool retro_load_game(const struct retro_game_info *info)
|
||||
if (!load_rom((char *)info->path))
|
||||
return false;
|
||||
|
||||
configure_controls();
|
||||
|
||||
for (i = 0; i < 2; i++)
|
||||
retro_set_controller_port_device(i, input.dev[i]);
|
||||
|
||||
audio_init(44100, vdp_pal ? pal_fps : ntsc_fps);
|
||||
system_init();
|
||||
system_reset();
|
||||
@ -957,6 +1009,12 @@ size_t retro_get_memory_size(unsigned id)
|
||||
}
|
||||
}
|
||||
|
||||
static void check_system_specs(void)
|
||||
{
|
||||
unsigned level = 7;
|
||||
environ_cb(RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL, &level);
|
||||
}
|
||||
|
||||
void retro_init(void)
|
||||
{
|
||||
struct retro_log_callback log;
|
||||
@ -981,13 +1039,17 @@ void retro_init(void)
|
||||
if (log_cb)
|
||||
log_cb(RETRO_LOG_INFO, "Frontend supports RGB565 - will use that instead of XRGB1555.\n");
|
||||
#endif
|
||||
check_system_specs();
|
||||
}
|
||||
|
||||
void retro_deinit(void)
|
||||
{
|
||||
audio_shutdown();
|
||||
free(md_ntsc);
|
||||
free(sms_ntsc);
|
||||
if (md_ntsc)
|
||||
free(md_ntsc);
|
||||
if (sms_ntsc)
|
||||
free(sms_ntsc);
|
||||
|
||||
}
|
||||
|
||||
void retro_reset(void) { system_reset(); }
|
||||
@ -1019,8 +1081,7 @@ void retro_run(void)
|
||||
|
||||
environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE, &updated);
|
||||
if (updated)
|
||||
{
|
||||
check_variables();
|
||||
configure_controls();
|
||||
}
|
||||
}
|
||||
|
||||
#undef CHUNKSIZE
|
||||
|
@ -46,8 +46,22 @@ extern "C" {
|
||||
// It is not incremented for compatible changes to the API.
|
||||
#define RETRO_API_VERSION 1
|
||||
|
||||
// Libretro's fundamental device abstractions.
|
||||
#define RETRO_DEVICE_MASK 0xff
|
||||
//
|
||||
// Libretros fundamental device abstractions.
|
||||
/////////
|
||||
//
|
||||
// Libretros input system consists of some standardized device types such as a joypad (with/without analog),
|
||||
// mouse, keyboard, lightgun and a pointer. The functionality of these devices are fixed, and individual cores map
|
||||
// their own concept of a controller to libretros abstractions.
|
||||
// This makes it possible for frontends to map the abstract types to a real input device,
|
||||
// and not having to worry about binding input correctly to arbitrary controller layouts.
|
||||
|
||||
|
||||
#define RETRO_DEVICE_TYPE_SHIFT 8
|
||||
#define RETRO_DEVICE_MASK ((1 << RETRO_DEVICE_TYPE_SHIFT) - 1)
|
||||
#define RETRO_DEVICE_SUBCLASS(base, id) (((id + 1) << RETRO_DEVICE_TYPE_SHIFT) | base)
|
||||
|
||||
// Input disabled.
|
||||
#define RETRO_DEVICE_NONE 0
|
||||
|
||||
// The JOYPAD is called RetroPad. It is essentially a Super Nintendo controller,
|
||||
@ -62,6 +76,7 @@ extern "C" {
|
||||
|
||||
// KEYBOARD device lets one poll for raw key pressed.
|
||||
// It is poll based, so input callback will return with the current pressed state.
|
||||
// For event/text based keyboard input, see RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK.
|
||||
#define RETRO_DEVICE_KEYBOARD 3
|
||||
|
||||
// Lightgun X/Y coordinates are reported relatively to last poll, similar to mouse.
|
||||
@ -87,7 +102,7 @@ extern "C" {
|
||||
//
|
||||
// To check if the pointer coordinates are valid (e.g. a touch display actually being touched),
|
||||
// PRESSED returns 1 or 0.
|
||||
// If using a mouse, PRESSED will usually correspond to the left mouse button.
|
||||
// If using a mouse on a desktop, PRESSED will usually correspond to the left mouse button, but this is a frontend decision.
|
||||
// PRESSED will only return 1 if the pointer is inside the game screen.
|
||||
//
|
||||
// For multi-touch, the index variable can be used to successively query more presses.
|
||||
@ -96,16 +111,6 @@ extern "C" {
|
||||
// Eventually _PRESSED will return false for an index. No further presses are registered at this point.
|
||||
#define RETRO_DEVICE_POINTER 6
|
||||
|
||||
// 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_LIGHTGUN_SUPER_SCOPE ((1 << 8) | RETRO_DEVICE_LIGHTGUN)
|
||||
#define RETRO_DEVICE_LIGHTGUN_JUSTIFIER ((2 << 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.
|
||||
@ -133,10 +138,13 @@ extern "C" {
|
||||
#define RETRO_DEVICE_ID_ANALOG_Y 1
|
||||
|
||||
// Id values for MOUSE.
|
||||
#define RETRO_DEVICE_ID_MOUSE_X 0
|
||||
#define RETRO_DEVICE_ID_MOUSE_Y 1
|
||||
#define RETRO_DEVICE_ID_MOUSE_LEFT 2
|
||||
#define RETRO_DEVICE_ID_MOUSE_RIGHT 3
|
||||
#define RETRO_DEVICE_ID_MOUSE_X 0
|
||||
#define RETRO_DEVICE_ID_MOUSE_Y 1
|
||||
#define RETRO_DEVICE_ID_MOUSE_LEFT 2
|
||||
#define RETRO_DEVICE_ID_MOUSE_RIGHT 3
|
||||
#define RETRO_DEVICE_ID_MOUSE_WHEELUP 4
|
||||
#define RETRO_DEVICE_ID_MOUSE_WHEELDOWN 5
|
||||
#define RETRO_DEVICE_ID_MOUSE_MIDDLE 6
|
||||
|
||||
// Id values for LIGHTGUN types.
|
||||
#define RETRO_DEVICE_ID_LIGHTGUN_X 0
|
||||
@ -162,7 +170,7 @@ extern "C" {
|
||||
|
||||
// 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.
|
||||
// the SAVE_DIRECTORY (preferably) or SYSTEM_DIRECTORY environment callback can be used.
|
||||
#define RETRO_MEMORY_SAVE_RAM 0
|
||||
|
||||
// Some games have a built-in clock to keep track of time.
|
||||
@ -175,21 +183,6 @@ extern "C" {
|
||||
// Video ram lets a frontend peek into a game systems video RAM (VRAM).
|
||||
#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_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_B_RAM ((4 << 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)
|
||||
|
||||
// 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_SLOTTED 0x102
|
||||
#define RETRO_GAME_TYPE_SUFAMI_TURBO 0x103
|
||||
#define RETRO_GAME_TYPE_SUPER_GAME_BOY 0x104
|
||||
|
||||
// Keysyms used for ID in input state callback when polling RETRO_KEYBOARD.
|
||||
enum retro_key
|
||||
{
|
||||
@ -563,12 +556,12 @@ enum retro_mod
|
||||
// If this interface is not used, libretro cores should log to stderr as desired.
|
||||
#define RETRO_ENVIRONMENT_GET_PERF_INTERFACE 28
|
||||
// struct retro_perf_callback * --
|
||||
// Gets an interface for performance counters. This is useful for performance logging in a
|
||||
// Gets an interface for performance counters. This is useful for performance logging in a
|
||||
// cross-platform way and for detecting architecture-specific features, such as SIMD support.
|
||||
#define RETRO_ENVIRONMENT_GET_LOCATION_INTERFACE 29
|
||||
// struct retro_location_callback * --
|
||||
// Gets access to the location interface.
|
||||
// The purpose of this interface is to be able to retrieve location-based information from the host device,
|
||||
// The purpose of this interface is to be able to retrieve location-based information from the host device,
|
||||
// such as current latitude / longitude.
|
||||
//
|
||||
#define RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY 30
|
||||
@ -607,6 +600,116 @@ enum retro_mod
|
||||
// This call is not a free pass for not trying to provide correct values in retro_get_system_av_info().
|
||||
//
|
||||
// If this returns false, the frontend does not acknowledge a changed av_info struct.
|
||||
#define RETRO_ENVIRONMENT_SET_PROC_ADDRESS_CALLBACK 33
|
||||
// const struct retro_get_proc_address_interface * --
|
||||
// Allows a libretro core to announce support for the get_proc_address() interface.
|
||||
// This interface allows for a standard way to extend libretro where use of environment calls are too indirect,
|
||||
// e.g. for cases where the frontend wants to call directly into the core.
|
||||
//
|
||||
// If a core wants to expose this interface, SET_PROC_ADDRESS_CALLBACK **MUST** be called from within retro_set_environment().
|
||||
//
|
||||
#define RETRO_ENVIRONMENT_SET_SUBSYSTEM_INFO 34
|
||||
// const struct retro_subsystem_info * --
|
||||
// This environment call introduces the concept of libretro "subsystems".
|
||||
// A subsystem is a variant of a libretro core which supports different kinds of games.
|
||||
// The purpose of this is to support e.g. emulators which might have special needs, e.g. Super Nintendos Super GameBoy, Sufami Turbo.
|
||||
// It can also be used to pick among subsystems in an explicit way if the libretro implementation is a multi-system emulator itself.
|
||||
//
|
||||
// Loading a game via a subsystem is done with retro_load_game_special(),
|
||||
// and this environment call allows a libretro core to expose which subsystems are supported for use with retro_load_game_special().
|
||||
// A core passes an array of retro_game_special_info which is terminated with a zeroed out retro_game_special_info struct.
|
||||
//
|
||||
// If a core wants to use this functionality, SET_SUBSYSTEM_INFO **MUST** be called from within retro_set_environment().
|
||||
//
|
||||
#define RETRO_ENVIRONMENT_SET_CONTROLLER_INFO 35
|
||||
// const struct retro_controller_info * --
|
||||
// This environment call lets a libretro core tell the frontend which
|
||||
// controller types are recognized in calls to retro_set_controller_port_device().
|
||||
//
|
||||
// Some emulators such as Super Nintendo
|
||||
// support multiple lightgun types which must be specifically selected from.
|
||||
// It is therefore sometimes necessary for a frontend to be able to tell
|
||||
// the core about a special kind of input device which is not covered by the
|
||||
// libretro input API.
|
||||
//
|
||||
// In order for a frontend to understand the workings of an input device,
|
||||
// it must be a specialized type
|
||||
// of the generic device types already defined in the libretro API.
|
||||
//
|
||||
// Which devices are supported can vary per input port.
|
||||
// The core must pass an array of const struct retro_controller_info which is terminated with
|
||||
// a blanked out struct. Each element of the struct corresponds to an ascending port index to retro_set_controller_port_device().
|
||||
// Even if special device types are set in the libretro core, libretro should only poll input based on the base input device types.
|
||||
|
||||
struct retro_controller_description
|
||||
{
|
||||
// Human-readable description of the controller. Even if using a generic input device type, this can be
|
||||
// set to the particular device type the core uses.
|
||||
const char *desc;
|
||||
|
||||
// Device type passed to retro_set_controller_port_device(). If the device type is a sub-class of a generic input device type,
|
||||
// use the RETRO_DEVICE_SUBCLASS macro to create an ID. E.g. RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 1).
|
||||
unsigned id;
|
||||
};
|
||||
|
||||
struct retro_controller_info
|
||||
{
|
||||
const struct retro_controller_description *types;
|
||||
unsigned num_types;
|
||||
};
|
||||
|
||||
struct retro_subsystem_memory_info
|
||||
{
|
||||
const char *extension; // The extension associated with a memory type, e.g. "psram".
|
||||
unsigned type; // The memory type for retro_get_memory(). This should be at least 0x100 to avoid conflict with standardized libretro memory types.
|
||||
};
|
||||
|
||||
struct retro_subsystem_rom_info
|
||||
{
|
||||
const char *desc; // Describes what the ROM is (SGB bios, GB rom, etc).
|
||||
const char *valid_extensions; // Same definition as retro_get_system_info().
|
||||
bool need_fullpath; // Same definition as retro_get_system_info().
|
||||
bool block_extract; // Same definition as retro_get_system_info().
|
||||
bool required; // This is set if the ROM is required to load a game. If this is set to false, a zeroed-out retro_game_info can be passed.
|
||||
|
||||
// ROMs can have multiple associated persistent memory types (retro_get_memory()).
|
||||
const struct retro_subsystem_memory_info *memory;
|
||||
unsigned num_memory;
|
||||
};
|
||||
|
||||
struct retro_subsystem_info
|
||||
{
|
||||
const char *desc; // Human-readable string of the subsystem type, e.g. "Super GameBoy"
|
||||
// A computer friendly short string identifier for the subsystem type.
|
||||
// This name must be [a-z].
|
||||
// E.g. if desc is "Super GameBoy", this can be "sgb".
|
||||
// This identifier can be used for command-line interfaces, etc.
|
||||
const char *ident;
|
||||
|
||||
// Infos for each ROM. The first entry is assumed to be the "most significant" ROM for frontend purposes.
|
||||
// E.g. with Super GameBoy, the first ROM should be the GameBoy ROM, as it is the most "significant" ROM to a user.
|
||||
// If a frontend creates new file paths based on the ROM used (e.g. savestates), it should use the path for the first ROM to do so.
|
||||
const struct retro_subsystem_rom_info *roms;
|
||||
|
||||
unsigned num_roms; // Number of ROMs associated with a subsystem.
|
||||
unsigned id; // The type passed to retro_load_game_special().
|
||||
};
|
||||
|
||||
typedef void (*retro_proc_address_t)(void);
|
||||
// libretro API extension functions:
|
||||
// (None here so far).
|
||||
//////
|
||||
|
||||
// Get a symbol from a libretro core.
|
||||
// Cores should only return symbols which are actual extensions to the libretro API.
|
||||
// Frontends should not use this to obtain symbols to standard libretro entry points (static linking or dlsym).
|
||||
// The symbol name must be equal to the function name, e.g. if void retro_foo(void); exists, the symbol must be called "retro_foo".
|
||||
// The returned function pointer must be cast to the corresponding type.
|
||||
typedef retro_proc_address_t (*retro_get_proc_address_t)(const char *sym);
|
||||
struct retro_get_proc_address_interface
|
||||
{
|
||||
retro_get_proc_address_t get_proc_address;
|
||||
};
|
||||
|
||||
enum retro_log_level
|
||||
{
|
||||
@ -643,6 +746,7 @@ struct retro_log_callback
|
||||
#define RETRO_SIMD_SSE42 (1 << 11)
|
||||
#define RETRO_SIMD_AVX2 (1 << 12)
|
||||
#define RETRO_SIMD_VFPU (1 << 13)
|
||||
#define RETRO_SIMD_PS (1 << 14)
|
||||
|
||||
typedef uint64_t retro_perf_tick_t;
|
||||
typedef int64_t retro_time_t;
|
||||
@ -768,7 +872,7 @@ typedef void (*retro_camera_frame_raw_framebuffer_t)(const uint32_t *buffer, uns
|
||||
//
|
||||
// texture_target is the texture target for the GL texture.
|
||||
// These can include e.g. GL_TEXTURE_2D, GL_TEXTURE_RECTANGLE, and possibly more depending on extensions.
|
||||
//
|
||||
//
|
||||
// affine points to a packed 3x3 column-major matrix used to apply an affine transform to texture coordinates. (affine_matrix * vec3(coord_x, coord_y, 1.0))
|
||||
// After transform, normalized texture coord (0, 0) should be bottom-left and (1, 1) should be top-right (or (width, height) for RECTANGLE).
|
||||
//
|
||||
@ -796,7 +900,7 @@ struct retro_camera_callback
|
||||
};
|
||||
|
||||
// Sets the interval of time and/or distance at which to update/poll location-based data.
|
||||
// To ensure compatibility with all location-based implementations, values for both
|
||||
// To ensure compatibility with all location-based implementations, values for both
|
||||
// interval_ms and interval_distance should be provided.
|
||||
// interval_ms is the interval expressed in milliseconds.
|
||||
// interval_distance is the distance interval expressed in meters.
|
||||
@ -824,7 +928,7 @@ struct retro_location_callback
|
||||
retro_location_start_t start;
|
||||
retro_location_stop_t stop;
|
||||
retro_location_get_position_t get_position;
|
||||
retro_location_set_interval_t set_interval;
|
||||
retro_location_set_interval_t set_interval;
|
||||
|
||||
retro_location_lifetime_status_t initialized;
|
||||
retro_location_lifetime_status_t deinitialized;
|
||||
@ -889,7 +993,6 @@ typedef void (*retro_hw_context_reset_t)(void);
|
||||
typedef uintptr_t (*retro_hw_get_current_framebuffer_t)(void);
|
||||
|
||||
// Get a symbol from HW context.
|
||||
typedef void (*retro_proc_address_t)(void);
|
||||
typedef retro_proc_address_t (*retro_hw_get_proc_address_t)(const char *sym);
|
||||
|
||||
enum retro_hw_context_type
|
||||
@ -906,7 +1009,17 @@ enum retro_hw_context_type
|
||||
struct retro_hw_render_callback
|
||||
{
|
||||
enum retro_hw_context_type context_type; // Which API to use. Set by libretro core.
|
||||
retro_hw_context_reset_t context_reset; // Called when a context has been created or when it has been reset.
|
||||
|
||||
// Called when a context has been created or when it has been reset.
|
||||
// An OpenGL context is only valid after context_reset() has been called.
|
||||
//
|
||||
// When context_reset is called, OpenGL resources in the libretro implementation are guaranteed to be invalid.
|
||||
// It is possible that context_reset is called multiple times during an application lifecycle.
|
||||
// If context_reset is called without any notification (context_destroy),
|
||||
// the OpenGL context was lost and resources should just be recreated
|
||||
// without any attempt to "free" old resources.
|
||||
retro_hw_context_reset_t context_reset;
|
||||
|
||||
retro_hw_get_current_framebuffer_t get_current_framebuffer; // Set by frontend.
|
||||
retro_hw_get_proc_address_t get_proc_address; // Set by frontend.
|
||||
bool depth; // Set if render buffers should have depth component attached.
|
||||
@ -917,9 +1030,18 @@ struct retro_hw_render_callback
|
||||
unsigned version_minor; // Minor version number for core GL context.
|
||||
|
||||
bool cache_context; // If this is true, the frontend will go very far to avoid resetting context in scenarios like toggling fullscreen, etc.
|
||||
// The reset callback might still be called in extreme situations such as if the context is lost beyond recovery.
|
||||
// The reset callback might still be called in extreme situations such as if the context is lost beyond recovery.
|
||||
// For optimal stability, set this to false, and allow context to be reset at any time.
|
||||
retro_hw_context_reset_t context_destroy; // A callback to be called before the context is destroyed. Resources can be deinitialized at this step. This can be set to NULL, in which resources will just be destroyed without any notification.
|
||||
|
||||
retro_hw_context_reset_t context_destroy; // A callback to be called before the context is destroyed in a controlled way by the frontend.
|
||||
// OpenGL resources can be deinitialized cleanly at this step.
|
||||
// context_destroy can be set to NULL, in which resources will just be destroyed without any notification.
|
||||
//
|
||||
// Even when context_destroy is non-NULL, it is possible that context_reset is called without any destroy notification.
|
||||
// This happens if context is lost by external factors (such as notified by GL_ARB_robustness).
|
||||
// In this case, the context is assumed to be already dead,
|
||||
// and the libretro implementation must not try to free any OpenGL resources in the subsequent context_reset.
|
||||
|
||||
bool debug_context; // Creates a debug context.
|
||||
};
|
||||
|
||||
@ -1150,6 +1272,8 @@ void retro_get_system_info(struct retro_system_info *info);
|
||||
void retro_get_system_av_info(struct retro_system_av_info *info);
|
||||
|
||||
// Sets device to be used for player 'port'.
|
||||
// By default, RETRO_DEVICE_JOYPAD is assumed to be plugged into all available ports.
|
||||
// Setting a particular device type is not a guarantee that libretro cores will only poll input based on that particular device type. It is only a hint to the libretro core when a core cannot automatically detect the appropriate input device type on its own. It is also relevant when a core can change its behavior depending on device type.
|
||||
void retro_set_controller_port_device(unsigned port, unsigned device);
|
||||
|
||||
// Resets the current game.
|
||||
|
@ -22,7 +22,7 @@
|
||||
Optimization="0"
|
||||
OptimizeForProcessor="2"
|
||||
AdditionalIncludeDirectories=""$(SolutionDir)\..\..\core";"$(SolutionDir)\..\..\core\cd_hw";"$(SolutionDir)\..\..\core\cart_hw";"$(SolutionDir)\..\..\core\sound";"$(SolutionDir)\..\..\core\z80";"$(SolutionDir)\..\..\";"$(SolutionDir)";"$(SolutionDir)\..\..\core\m68k";"$(SolutionDir)\..\..\core\input_hw";"$(SolutionDir)\..\..\core\cart_hw\svp";"$(SolutionDir)\..\..\core\ntsc";"$(SolutionDir)\..\..\libretro";"$(SolutionDir)\msvc-2003-xbox1""
|
||||
PreprocessorDefinitions="_DEBUG;_XBOX;_XBOX1;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565"
|
||||
PreprocessorDefinitions="_DEBUG;_XBOX;_XBOX1;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565;USE_LIBTREMOR;BYTE_ORDER=LITTLE_ENDIAN"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
@ -36,7 +36,7 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)/genesis_plus_gx_libretro_xdk.lib"/>
|
||||
OutputFile="$(OutDir)/msvc-2003-xbox1.lib"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
@ -56,7 +56,7 @@
|
||||
OmitFramePointers="TRUE"
|
||||
OptimizeForProcessor="2"
|
||||
AdditionalIncludeDirectories=""$(SolutionDir)\..\..\core";"$(SolutionDir)\..\..\core\cd_hw";"$(SolutionDir)\..\..\core\cart_hw";"$(SolutionDir)\..\..\core\sound";"$(SolutionDir)\..\..\core\z80";"$(SolutionDir)\..\..\";"$(SolutionDir)";"$(SolutionDir)\..\..\core\m68k";"$(SolutionDir)\..\..\core\input_hw";"$(SolutionDir)\..\..\core\cart_hw\svp";"$(SolutionDir)\..\..\core\ntsc";"$(SolutionDir)\..\..\libretro";"$(SolutionDir)\msvc-2003-xbox1""
|
||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;PROFILE;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565"
|
||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;PROFILE;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565;USE_LIBTREMOR;BYTE_ORDER=LITTLE_ENDIAN"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="TRUE"
|
||||
@ -71,7 +71,7 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)/genesis_plus_gx_libretro_xdk.lib"/>
|
||||
OutputFile="$(OutDir)/msvc-2003-xbox1.lib"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
@ -91,7 +91,7 @@
|
||||
OmitFramePointers="TRUE"
|
||||
OptimizeForProcessor="2"
|
||||
AdditionalIncludeDirectories=""$(SolutionDir)\..\..\core";"$(SolutionDir)\..\..\core\cd_hw";"$(SolutionDir)\..\..\core\cart_hw";"$(SolutionDir)\..\..\core\sound";"$(SolutionDir)\..\..\core\z80";"$(SolutionDir)\..\..\";"$(SolutionDir)";"$(SolutionDir)\..\..\core\m68k";"$(SolutionDir)\..\..\core\input_hw";"$(SolutionDir)\..\..\core\cart_hw\svp";"$(SolutionDir)\..\..\core\ntsc";"$(SolutionDir)\..\..\libretro";"$(SolutionDir)\msvc-2003-xbox1""
|
||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;PROFILE;FASTCAP;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565"
|
||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;PROFILE;FASTCAP;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565;USE_LIBTREMOR;BYTE_ORDER=LITTLE_ENDIAN"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="TRUE"
|
||||
@ -107,7 +107,7 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)/genesis_plus_gx_libretro_xdk.lib"/>
|
||||
OutputFile="$(OutDir)/msvc-2003-xbox1.lib"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
@ -127,7 +127,7 @@
|
||||
OmitFramePointers="TRUE"
|
||||
OptimizeForProcessor="2"
|
||||
AdditionalIncludeDirectories=""$(SolutionDir)\..\..\core";"$(SolutionDir)\..\..\core\cd_hw";"$(SolutionDir)\..\..\core\cart_hw";"$(SolutionDir)\..\..\core\sound";"$(SolutionDir)\..\..\core\z80";"$(SolutionDir)\..\..\";"$(SolutionDir)";"$(SolutionDir)\..\..\core\m68k";"$(SolutionDir)\..\..\core\input_hw";"$(SolutionDir)\..\..\core\cart_hw\svp";"$(SolutionDir)\..\..\core\ntsc";"$(SolutionDir)\..\..\libretro";"$(SolutionDir)\msvc-2003-xbox1""
|
||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565"
|
||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565;USE_LIBTREMOR;BYTE_ORDER=LITTLE_ENDIAN"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="TRUE"
|
||||
@ -142,7 +142,7 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)/genesis_plus_gx_libretro_xdk.lib"/>
|
||||
OutputFile="$(OutDir)/msvc-2003-xbox1.lib"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
@ -163,7 +163,7 @@
|
||||
OmitFramePointers="TRUE"
|
||||
OptimizeForProcessor="2"
|
||||
AdditionalIncludeDirectories=""$(SolutionDir)\..\..\core";"$(SolutionDir)\..\..\core\cd_hw";"$(SolutionDir)\..\..\core\cart_hw";"$(SolutionDir)\..\..\core\sound";"$(SolutionDir)\..\..\core\z80";"$(SolutionDir)\..\..\";"$(SolutionDir)";"$(SolutionDir)\..\..\core\m68k";"$(SolutionDir)\..\..\core\input_hw";"$(SolutionDir)\..\..\core\cart_hw\svp";"$(SolutionDir)\..\..\core\ntsc";"$(SolutionDir)\..\..\libretro";"$(SolutionDir)\msvc-2003-xbox1""
|
||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;LTCG;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565"
|
||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;LTCG;_LIB;__LIBRETRO__;LSB_FIRST;USE_16BPP_RENDERING;INLINE=static _inline;__restrict=;FRONTEND_SUPPORTS_RGB565;USE_LIBTREMOR;BYTE_ORDER=LITTLE_ENDIAN"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="TRUE"
|
||||
@ -178,7 +178,7 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)/genesis_plus_gx_libretro_xdk.lib"/>
|
||||
OutputFile="$(OutDir)/msvc-2003-xbox1.lib"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
@ -527,6 +527,55 @@
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="libtremor"
|
||||
Filter="">
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\bitwise.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\block.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\codebook.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\floor0.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\floor1.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\framing.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\info.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\mapping0.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\mdct.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\registry.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\res012.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\sharedbook.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\synthesis.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\vorbisfile.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\core\tremor\window.c">
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<Filter
|
||||
|
@ -148,6 +148,21 @@
|
||||
<ClCompile Include="..\..\..\core\sound\ym2612.c" />
|
||||
<ClCompile Include="..\..\..\core\state.c" />
|
||||
<ClCompile Include="..\..\..\core\system.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\bitwise.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\block.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\codebook.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\floor0.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\floor1.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\framing.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\info.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\mapping0.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\mdct.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\registry.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\res012.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\sharedbook.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\synthesis.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\vorbisfile.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\window.c" />
|
||||
<ClCompile Include="..\..\..\core\vdp_ctrl.c" />
|
||||
<ClCompile Include="..\..\..\core\vdp_render.c" />
|
||||
<ClCompile Include="..\..\..\core\z80\z80.c" />
|
||||
@ -214,22 +229,22 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">
|
||||
<OutputFile>$(OutDir)genesis_plus_gx_libretro_xdk360$(TargetExt)</OutputFile>
|
||||
<OutputFile>$(OutDir)msvc-2010-360$(TargetExt)</OutputFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='CodeAnalysis|Xbox 360'">
|
||||
<OutputFile>$(OutDir)genesis_plus_gx_libretro_xdk360$(TargetExt)</OutputFile>
|
||||
<OutputFile>$(OutDir)msvc-2010-360$(TargetExt)</OutputFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Xbox 360'">
|
||||
<OutputFile>$(OutDir)genesis_plus_gx_libretro_xdk360$(TargetExt)</OutputFile>
|
||||
<OutputFile>$(OutDir)msvc-2010-360$(TargetExt)</OutputFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile_FastCap|Xbox 360'">
|
||||
<OutputFile>$(OutDir)genesis_plus_gx_libretro_xdk360$(TargetExt)</OutputFile>
|
||||
<OutputFile>$(OutDir)msvc-2010-360$(TargetExt)</OutputFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">
|
||||
<OutputFile>$(OutDir)genesis_plus_gx_libretro_xdk360$(TargetExt)</OutputFile>
|
||||
<OutputFile>$(OutDir)msvc-2010-360$(TargetExt)</OutputFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_LTCG|Xbox 360'">
|
||||
<OutputFile>$(OutDir)genesis_plus_gx_libretro_xdk360$(TargetExt)</OutputFile>
|
||||
<OutputFile>$(OutDir)msvc-2010-360$(TargetExt)</OutputFile>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">
|
||||
<ClCompile>
|
||||
@ -242,7 +257,7 @@
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PreprocessorDefinitions>_DEBUG;_XBOX;_XBOX360;_LIB;INLINE=static _inline;__attribute__=;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;_XBOX;_XBOX360;_LIB;INLINE=static _inline;__attribute__=;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions);USE_LIBTREMOR;BYTE_ORDER=BIG_ENDIAN</PreprocessorDefinitions>
|
||||
<CallAttributedProfiling>Callcap</CallAttributedProfiling>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\core;$(SolutionDir)\..\..\core\cd_hw;$(SolutionDir)\..\..\core\cart_hw;$(SolutionDir)\..\..\core\sound;$(SolutionDir)\..\..\core\z80;$(SolutionDir)\..\..\core\m68k;$(SolutionDir)\..\..\core\input_hw;$(SolutionDir)\..\..\core\cart_hw\svp;$(SolutionDir)\..\..\core\ntsc;$(SolutionDir)\..\;$(SolutionDir)\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
@ -263,7 +278,7 @@
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PreprocessorDefinitions>_DEBUG;_XBOX;_XBOX360;_LIB;%(PreprocessorDefinitions);INLINE=static _inline;__attribute__=;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;_XBOX;_XBOX360;_LIB;%(PreprocessorDefinitions);INLINE=static _inline;__attribute__=;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565;USE_LIBTREMOR;BYTE_ORDER=BIG_ENDIAN</PreprocessorDefinitions>
|
||||
<CallAttributedProfiling>Callcap</CallAttributedProfiling>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\core;$(SolutionDir)\..\..\core\cd_hw;$(SolutionDir)\..\..\core\cart_hw;$(SolutionDir)\..\..\core\sound;$(SolutionDir)\..\..\core\z80;$(SolutionDir)\..\..\core\m68k;$(SolutionDir)\..\..\core\input_hw;$(SolutionDir)\..\..\core\cart_hw\svp;$(SolutionDir)\..\..\core\ntsc;$(SolutionDir)\..\;$(SolutionDir)\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
@ -285,7 +300,7 @@
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;PROFILE;_LIB;__LIBRETRO__;USE_16BPP_RENDERING;INLINE=static _inline;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;PROFILE;_LIB;__LIBRETRO__;USE_16BPP_RENDERING;INLINE=static _inline;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions);USE_LIBTREMOR;BYTE_ORDER=BIG_ENDIAN</PreprocessorDefinitions>
|
||||
<CallAttributedProfiling>Callcap</CallAttributedProfiling>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\core;$(SolutionDir)\..\..\core\cd_hw;$(SolutionDir)\..\..\core\cart_hw;$(SolutionDir)\..\..\core\sound;$(SolutionDir)\..\..\core\z80;$(SolutionDir)\..\..\core\m68k;$(SolutionDir)\..\..\core\input_hw;$(SolutionDir)\..\..\core\cart_hw\svp;$(SolutionDir)\..\..\core\ntsc;$(SolutionDir)\..\;$(SolutionDir)\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
@ -311,7 +326,7 @@
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;PROFILE;FASTCAP;_LIB;__LIBRETRO__;USE_16BPP_RENDERING;INLINE=static _inline;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;PROFILE;FASTCAP;_LIB;__LIBRETRO__;USE_16BPP_RENDERING;INLINE=static _inline;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions);USE_LIBTREMOR;BYTE_ORDER=BIG_ENDIAN</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\core;$(SolutionDir)\..\..\core\cd_hw;$(SolutionDir)\..\..\core\cart_hw;$(SolutionDir)\..\..\core\sound;$(SolutionDir)\..\..\core\z80;$(SolutionDir)\..\..\core\m68k;$(SolutionDir)\..\..\core\input_hw;$(SolutionDir)\..\..\core\cart_hw\svp;$(SolutionDir)\..\..\core\ntsc;$(SolutionDir)\..\;$(SolutionDir)\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
@ -334,7 +349,7 @@
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;_LIB;INLINE=static _inline;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;_LIB;INLINE=static _inline;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions);USE_LIBTREMOR;BYTE_ORDER=BIG_ENDIAN</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\core;$(SolutionDir)\..\..\core\cd_hw;$(SolutionDir)\..\..\core\cart_hw;$(SolutionDir)\..\..\core\sound;$(SolutionDir)\..\..\core\z80;$(SolutionDir)\..\..\core\m68k;$(SolutionDir)\..\..\core\input_hw;$(SolutionDir)\..\..\core\cart_hw\svp;$(SolutionDir)\..\..\core\ntsc;$(SolutionDir)\..\;$(SolutionDir)\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
@ -357,7 +372,7 @@
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;LTCG;_LIB;INLINE=static _inline;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_XBOX;_XBOX360;LTCG;_LIB;INLINE=static _inline;__inline__=_inline;__extension__=;USE_16BPP_RENDERING;__LIBRETRO__;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions);USE_LIBTREMOR;BYTE_ORDER=BIG_ENDIAN</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\..\..\core;$(SolutionDir)\..\..\core\cd_hw;$(SolutionDir)\..\..\core\cart_hw;$(SolutionDir)\..\..\core\sound;$(SolutionDir)\..\..\core\z80;$(SolutionDir)\..\..\core\m68k;$(SolutionDir)\..\..\core\input_hw;$(SolutionDir)\..\..\core\cart_hw\svp;$(SolutionDir)\..\..\core\ntsc;$(SolutionDir)\..\;$(SolutionDir)\..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
@ -370,4 +385,4 @@
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
@ -36,6 +36,9 @@
|
||||
<Filter Include="Source Files\cd_hw">
|
||||
<UniqueIdentifier>{d8d4356b-c678-422e-aa12-9f52ba60fdbc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\tremor">
|
||||
<UniqueIdentifier>{d1768684-24bc-4639-8b7c-481d2281d4cf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\core\vdp_render.c">
|
||||
@ -182,5 +185,50 @@
|
||||
<ClCompile Include="..\..\..\core\cart_hw\eeprom_i2c.c">
|
||||
<Filter>Source Files\cart_hw</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\window.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\bitwise.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\block.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\codebook.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\floor0.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\floor1.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\framing.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\info.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\mapping0.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\mdct.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\registry.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\res012.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\sharedbook.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\synthesis.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\vorbisfile.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
124
libretro/msvc/msvc-2010.bat
Normal file
124
libretro/msvc/msvc-2010.bat
Normal file
@ -0,0 +1,124 @@
|
||||
@echo off
|
||||
|
||||
@echo Setting environment for using Microsoft Visual Studio 2010 x86 tools.
|
||||
|
||||
@call :GetVSCommonToolsDir
|
||||
@if "%VS100COMNTOOLS%"=="" goto error_no_VS100COMNTOOLSDIR
|
||||
|
||||
@call "%VS100COMNTOOLS%VCVarsQueryRegistry.bat" 32bit No64bit
|
||||
|
||||
@if "%VSINSTALLDIR%"=="" goto error_no_VSINSTALLDIR
|
||||
@if "%FrameworkDir32%"=="" goto error_no_FrameworkDIR32
|
||||
@if "%FrameworkVersion32%"=="" goto error_no_FrameworkVer32
|
||||
@if "%Framework35Version%"=="" goto error_no_Framework35Version
|
||||
|
||||
@set FrameworkDir=%FrameworkDir32%
|
||||
@set FrameworkVersion=%FrameworkVersion32%
|
||||
|
||||
@if not "%WindowsSdkDir%" == "" (
|
||||
@set "PATH=%WindowsSdkDir%bin\NETFX 4.0 Tools;%WindowsSdkDir%bin;%PATH%"
|
||||
@set "INCLUDE=%WindowsSdkDir%include;%INCLUDE%"
|
||||
@set "LIB=%WindowsSdkDir%lib;%LIB%"
|
||||
)
|
||||
|
||||
@rem
|
||||
@rem Root of Visual Studio IDE installed files.
|
||||
@rem
|
||||
@set DevEnvDir=%VSINSTALLDIR%Common7\IDE\
|
||||
|
||||
@rem PATH
|
||||
@rem ----
|
||||
@if exist "%VSINSTALLDIR%Team Tools\Performance Tools" (
|
||||
@set "PATH=%VSINSTALLDIR%Team Tools\Performance Tools;%PATH%"
|
||||
)
|
||||
@if exist "%ProgramFiles%\HTML Help Workshop" set PATH=%ProgramFiles%\HTML Help Workshop;%PATH%
|
||||
@if exist "%ProgramFiles(x86)%\HTML Help Workshop" set PATH=%ProgramFiles(x86)%\HTML Help Workshop;%PATH%
|
||||
@if exist "%VCINSTALLDIR%VCPackages" set PATH=%VCINSTALLDIR%VCPackages;%PATH%
|
||||
@set PATH=%FrameworkDir%%Framework35Version%;%PATH%
|
||||
@set PATH=%FrameworkDir%%FrameworkVersion%;%PATH%
|
||||
@set PATH=%VSINSTALLDIR%Common7\Tools;%PATH%
|
||||
@if exist "%VCINSTALLDIR%BIN" set PATH=%VCINSTALLDIR%BIN;%PATH%
|
||||
@set PATH=%DevEnvDir%;%PATH%
|
||||
|
||||
@if exist "%VSINSTALLDIR%VSTSDB\Deploy" (
|
||||
@set "PATH=%VSINSTALLDIR%VSTSDB\Deploy;%PATH%"
|
||||
)
|
||||
|
||||
@if not "%FSHARPINSTALLDIR%" == "" (
|
||||
@set "PATH=%FSHARPINSTALLDIR%;%PATH%"
|
||||
)
|
||||
|
||||
@rem INCLUDE
|
||||
@rem -------
|
||||
@if exist "%VCINSTALLDIR%ATLMFC\INCLUDE" set INCLUDE=%VCINSTALLDIR%ATLMFC\INCLUDE;%INCLUDE%
|
||||
@if exist "%VCINSTALLDIR%INCLUDE" set INCLUDE=%VCINSTALLDIR%INCLUDE;%INCLUDE%
|
||||
|
||||
@rem LIB
|
||||
@rem ---
|
||||
@if exist "%VCINSTALLDIR%ATLMFC\LIB" set LIB=%VCINSTALLDIR%ATLMFC\LIB;%LIB%
|
||||
@if exist "%VCINSTALLDIR%LIB" set LIB=%VCINSTALLDIR%LIB;%LIB%
|
||||
|
||||
@rem LIBPATH
|
||||
@rem -------
|
||||
@if exist "%VCINSTALLDIR%ATLMFC\LIB" set LIBPATH=%VCINSTALLDIR%ATLMFC\LIB;%LIBPATH%
|
||||
@if exist "%VCINSTALLDIR%LIB" set LIBPATH=%VCINSTALLDIR%LIB;%LIBPATH%
|
||||
@set LIBPATH=%FrameworkDir%%Framework35Version%;%LIBPATH%
|
||||
@set LIBPATH=%FrameworkDir%%FrameworkVersion%;%LIBPATH%
|
||||
|
||||
@goto end
|
||||
|
||||
@REM -----------------------------------------------------------------------
|
||||
:GetVSCommonToolsDir
|
||||
@set VS100COMNTOOLS=
|
||||
@call :GetVSCommonToolsDirHelper32 HKLM > nul 2>&1
|
||||
@if errorlevel 1 call :GetVSCommonToolsDirHelper32 HKCU > nul 2>&1
|
||||
@if errorlevel 1 call :GetVSCommonToolsDirHelper64 HKLM > nul 2>&1
|
||||
@if errorlevel 1 call :GetVSCommonToolsDirHelper64 HKCU > nul 2>&1
|
||||
@exit /B 0
|
||||
|
||||
:GetVSCommonToolsDirHelper32
|
||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v "10.0"') DO (
|
||||
@if "%%i"=="10.0" (
|
||||
@SET "VS100COMNTOOLS=%%k"
|
||||
)
|
||||
)
|
||||
@if "%VS100COMNTOOLS%"=="" exit /B 1
|
||||
@SET "VS100COMNTOOLS=%VS100COMNTOOLS%Common7\Tools\"
|
||||
@exit /B 0
|
||||
|
||||
:GetVSCommonToolsDirHelper64
|
||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7" /v "10.0"') DO (
|
||||
@if "%%i"=="10.0" (
|
||||
@SET "VS100COMNTOOLS=%%k"
|
||||
)
|
||||
)
|
||||
@if "%VS100COMNTOOLS%"=="" exit /B 1
|
||||
@SET "VS100COMNTOOLS=%VS100COMNTOOLS%Common7\Tools\"
|
||||
@exit /B 0
|
||||
|
||||
@REM -----------------------------------------------------------------------
|
||||
:error_no_VS100COMNTOOLSDIR
|
||||
@echo ERROR: Cannot determine the location of the VS Common Tools folder.
|
||||
@goto end
|
||||
|
||||
:error_no_VSINSTALLDIR
|
||||
@echo ERROR: Cannot determine the location of the VS installation.
|
||||
@goto end
|
||||
|
||||
:error_no_FrameworkDIR32
|
||||
@echo ERROR: Cannot determine the location of the .NET Framework 32bit installation.
|
||||
@goto end
|
||||
|
||||
:error_no_FrameworkVer32
|
||||
@echo ERROR: Cannot determine the version of the .NET Framework 32bit installation.
|
||||
@goto end
|
||||
|
||||
:error_no_Framework35Version
|
||||
@echo ERROR: Cannot determine the .NET Framework 3.5 version.
|
||||
@goto end
|
||||
|
||||
:end
|
||||
|
||||
msbuild msvc-2010.sln /p:Configuration=Release /target:clean
|
||||
msbuild msvc-2010.sln /p:Configuration=Release
|
||||
exit
|
@ -1,4 +1,4 @@
|
||||
LIBRARY "libretro-prboom msvc2010"
|
||||
LIBRARY "msvc-2010"
|
||||
EXPORTS
|
||||
retro_set_environment
|
||||
retro_set_video_refresh
|
||||
|
@ -55,6 +55,21 @@
|
||||
<ClCompile Include="..\..\..\core\sound\ym2612.c" />
|
||||
<ClCompile Include="..\..\..\core\state.c" />
|
||||
<ClCompile Include="..\..\..\core\system.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\bitwise.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\block.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\codebook.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\floor0.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\floor1.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\framing.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\info.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\mapping0.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\mdct.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\registry.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\res012.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\sharedbook.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\synthesis.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\vorbisfile.c" />
|
||||
<ClCompile Include="..\..\..\core\tremor\window.c" />
|
||||
<ClCompile Include="..\..\..\core\vdp_ctrl.c" />
|
||||
<ClCompile Include="..\..\..\core\vdp_render.c" />
|
||||
<ClCompile Include="..\..\..\core\z80\z80.c" />
|
||||
@ -65,7 +80,7 @@
|
||||
<ProjectGuid>{29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>msvc2010</RootNamespace>
|
||||
<ProjectName>genesis-next-msvc-2010</ProjectName>
|
||||
<ProjectName>msvc-2010</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
@ -90,12 +105,10 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetName>libretro</TargetName>
|
||||
<OutDir>$(SolutionDir)msvc-2010\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>libretro</TargetName>
|
||||
<OutDir>$(SolutionDir)msvc-2010\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
@ -103,7 +116,7 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;_CRT_SECURE_NO_WARNINGS;INLINE=static _inline;__inline__=_inline;__extension__=;LSB_FIRST;__LIBRETRO__;USE_16BPP_RENDERING;FRONTEND_SUPPORTS_RGB565;%(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;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions);USE_LIBTREMOR;BYTE_ORDER=LITTLE_ENDIAN</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)/../../core;$(SolutionDir)/../../utils/zlib;$(SolutionDir)/../../core/cart_hw/svp;$(SolutionDir)/../../libretro;$(SolutionDir)/../../core/m68k;$(SolutionDir)/../../core/z80;$(SolutionDir)/../../core/input_hw;$(SolutionDir)/../../core/cart_hw;$(SolutionDir)/../../core/sound;$(SolutionDir)/../../core/ntsc;$(SolutionDir)/../../core/cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@ -120,7 +133,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;_CRT_SECURE_NO_WARNINGS;INLINE=static _inline;__inline__=_inline;__extension__=;LSB_FIRST;__LIBRETRO__;USE_16BPP_RENDERING;FRONTEND_SUPPORTS_RGB565;%(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;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions);USE_LIBTREMOR;BYTE_ORDER=LITTLE_ENDIAN</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)/../../core;$(SolutionDir)/../../utils/zlib;$(SolutionDir)/../../core/cart_hw/svp;$(SolutionDir)/../../libretro;$(SolutionDir)/../../core/m68k;$(SolutionDir)/../../core/z80;$(SolutionDir)/../../core/input_hw;$(SolutionDir)/../../core/cart_hw;$(SolutionDir)/../../core/sound;$(SolutionDir)/../../core/ntsc;$(SolutionDir)/../../core/cd_hw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@ -134,4 +147,4 @@
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
@ -40,6 +40,9 @@
|
||||
<Filter Include="Source Files\cd_hw">
|
||||
<UniqueIdentifier>{eba4b43d-dbd8-4170-9853-e3234db6dfc0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\tremor">
|
||||
<UniqueIdentifier>{c4a5e1da-1ff3-4c81-893c-97364ed7ed4b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\core\cart_hw\svp\svp.c">
|
||||
@ -189,5 +192,50 @@
|
||||
<ClCompile Include="..\..\..\core\sound\blip_buf.c">
|
||||
<Filter>Source Files\sound</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\window.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\bitwise.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\block.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\codebook.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\floor0.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\floor1.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\framing.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\info.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\mapping0.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\mdct.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\registry.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\res012.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\sharedbook.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\synthesis.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\core\tremor\vorbisfile.c">
|
||||
<Filter>Source Files\tremor</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
Loading…
Reference in New Issue
Block a user