Add Rpi1 and Rpi2 support with GLES upscaling

This commit is contained in:
Chips-fr 2016-01-20 20:34:46 +01:00
parent 05eb243d03
commit 8450a2f561
3 changed files with 38 additions and 3 deletions

View file

@ -2,7 +2,7 @@ TARGET ?= PicoDrive
CFLAGS += -Wall -ggdb -falign-functions=2
CFLAGS += -I.
ifndef DEBUG
CFLAGS += -O2 -DNDEBUG -ffunction-sections
CFLAGS += -O3 -DNDEBUG -ffunction-sections
ifeq ($(findstring clang,$(CC)),)
LDFLAGS += -Wl,--gc-sections
endif
@ -73,6 +73,18 @@ OBJS += platform/opendingux/inputmap.o
# OpenDingux is a generic platform, really.
PLATFORM := generic
endif
ifeq ("$(PLATFORM)",$(filter "$(PLATFORM)","rpi1" "rpi2"))
CFLAGS += -DHAVE_GLES -DRASPBERRY
CFLAGS += -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads/ -I/opt/vc/include/interface/vmcs_host/linux/
LDFLAGS += -ldl -lbcm_host -L/opt/vc/lib -lEGL -lGLESv2
OBJS += platform/linux/emu.o platform/linux/blit.o # FIXME
OBJS += platform/common/plat_sdl.o
OBJS += platform/libpicofe/plat_sdl.o platform/libpicofe/in_sdl.o
OBJS += platform/libpicofe/plat_dummy.o
OBJS += platform/libpicofe/gl.o
OBJS += platform/libpicofe/gl_platform.o
USE_FRONTEND = 1
endif
ifeq "$(PLATFORM)" "generic"
OBJS += platform/linux/emu.o platform/linux/blit.o # FIXME
OBJS += platform/common/plat_sdl.o

6
README
View file

@ -13,3 +13,9 @@ then taken over and expanded by notaz.
PicoDrive was the first emulator ever to properly emulate Virtua Racing and
it's SVP chip.
How to compile on Raspbian Wheezy:
export CC=gcc-4.8
export CXX=g++-4.8
./configure --platform=rpi2
make

21
configure vendored
View file

@ -31,7 +31,7 @@ check_define()
# setting options to "yes" or "no" will make that choice default,
# "" means "autodetect".
platform_list="generic pandora gp2x opendingux"
platform_list="generic pandora gp2x opendingux rpi1 rpi2"
platform="generic"
sound_driver_list="oss alsa sdl"
sound_drivers=""
@ -44,6 +44,8 @@ need_sdl="no"
need_xlib="no"
# these are for known platforms
optimize_cortexa8="no"
optimize_cortexa7="no"
optimize_arm1176jzf="no"
optimize_arm926ej="no"
optimize_arm920="no"
@ -67,6 +69,13 @@ set_platform()
{
platform=$1
case "$platform" in
rpi1)
optimize_arm1176jzf="yes"
;;
rpi2)
optimize_cortexa7="yes"
have_arm_neon="yes"
;;
generic)
;;
opendingux)
@ -159,6 +168,14 @@ arm*)
CFLAGS="$CFLAGS -mcpu=cortex-a8 -mtune=cortex-a8"
ASFLAGS="$ASFLAGS -mcpu=cortex-a8"
fi
if [ "$optimize_cortexa7" = "yes" ]; then
CFLAGS="$CFLAGS -mcpu=cortex-a7"
ASFLAGS="$ASFLAGS -mcpu=cortex-a7"
fi
if [ "$optimize_arm1176jzf" = "yes" ]; then
CFLAGS="$CFLAGS -mcpu=arm1176jzf-s -mfloat-abi=hard"
ASFLAGS="$ASFLAGS -mcpu=arm1176jzf-s -mfloat-abi=hard"
fi
if [ "$optimize_arm926ej" = "yes" ]; then
CFLAGS="$CFLAGS -mcpu=arm926ej-s -mtune=arm926ej-s"
ASFLAGS="$ASFLAGS -mcpu=arm926ej-s -mfloat-abi=softfp"
@ -229,7 +246,7 @@ arm*)
esac
case "$platform" in
generic | opendingux)
rpi1 | rpi2 | generic | opendingux)
need_sdl="yes"
;;
esac