vice_x64 - PS3 build fix

This commit is contained in:
unknown 2020-10-23 19:11:02 +02:00
parent 254f5b4d17
commit 9cec6d69d1
17 changed files with 123 additions and 3 deletions

View File

@ -260,6 +260,15 @@ else ifeq ($(platform), psp1)
CXXFLAGS += -std=c99
STATIC_LINKING = 1
# PS3
else ifeq ($(platform), ps3)
TARGET := $(TARGET_NAME)_libretro_$(platform).a
CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
CXX = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-g++.exe
AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
COMMONFLAGS += -D__CELLOS_LV2__ -D__POWERPC__ -D__ppc__ -DWORDS_BIGENDIAN=1 -D__unix__ -DHAVE_STRTOUL -D_NO_CPP_INLINES
STATIC_LINKING=1
# Vita
else ifeq ($(platform), vita)
TARGET := $(TARGET_NAME)_libretro_vita.a

2
deps/nibtools/lz.c vendored
View File

@ -97,7 +97,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifndef __CELLOS_LV2__
#include <signal.h>
#endif
#include <time.h>
#include <ctype.h>

58
include/PS3_include.h Normal file
View File

@ -0,0 +1,58 @@
#include <sys/sys_time.h>
#include <sys/timer.h>
#include <sys/types.h>
#include <sys/time.h>
#include <time.h>
#include <cmath>
#ifndef PS3_HEADER
#define PS3_HEADER
#define F_OK 0
#define W_OK 0
#define R_OK 0
#define X_OK 0
#ifndef S_IREAD
#define S_IREAD S_IRUSR
#endif
#ifndef S_IWRITE
#define S_IWRITE S_IWUSR
#endif
#ifndef S_ISDIR
#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
#endif
#ifndef S_IFBLK
#define S_IFBLK (-1)
#endif
#ifndef S_ISBLK
#define S_ISBLK(m) (((m)&S_IFBLK)==S_IFBLK)
#endif
#ifndef S_IFCHR
#define S_IFCHR (-1)
#endif
#ifndef S_ISCHR
#define S_ISCHR(m) (((m)&S_IFCHR)==S_IFCHR)
#endif
#define chdir(...) 0
#define isatty(...) 0
#define currentpath "/dev_hdd0/game/SSNE10000/USRDIR"
#define tmppath "/dev_hdd0/game/SSNE10000/USRDIR/cores/savefiles"
#define getwd(buffer) (strcpy(buffer, currentpath)) ? (buffer) : (NULL)
#define tmpnam(...) (tmppath)
#define getenv(...) (NULL)
#define exp(xval) std::exp(xval)
#define fabs(xval) std::fabs(xval)
#define sqrt(xval) std::sqrt(xval)
#undef log10
#define log10(xval) std::log10(xval)
#undef log
#define log(xval) std::log(xval)
#define ceil(xval) std::ceil(xval)
#undef sin
#define sin(xval) std::sin(xval)
#define pow(xval, yval) std::pow(xval, yval)
#endif

View File

@ -79,7 +79,9 @@
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the `mkstemp' function. */
#ifndef __CELLOS_LV2__
#define HAVE_MKSTEMP 1
#endif
/* Enable 1351 mouse support */
#define HAVE_MOUSE 1

View File

@ -22,6 +22,9 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#ifdef __CELLOS_LV2__
#include <unistd.h>
#endif
/* Verify if file exists */
bool file_exists(const char *filename)

View File

@ -46,7 +46,7 @@
#include <strings.h>
#endif
#if defined(PSP) || defined(VITA) || defined(__PSL1GHT__)
#if defined(PSP) || defined(VITA) || defined(__PSL1GHT__) || defined(__CELLOS_LV2__)
#include <sys/time.h>
#endif
@ -112,12 +112,26 @@ int kbd_arch_get_host_mapping(void)
}
#include <time.h>
#ifdef __CELLOS_LV2__
#include <pthread_types.h>
int gettimeofday(struct timeval* x, int unused)
{
sys_time_sec_t s;
sys_time_nsec_t ns;
int ret = sys_time_get_current_time(&s, &ns);
x->tv_sec = s;
x->tv_usec = ns / 1000;
return ret;
}
#endif
int archdep_rtc_get_centisecond(void)
{
struct timespec dtm;
int status;
#if defined(PSP) || defined(VITA) || defined(_3DS) || defined(__PSL1GHT__)
#if defined(PSP) || defined(VITA) || defined(_3DS) || defined(__PSL1GHT__) || defined(__CELLOS_LV2__)
struct timeval tm;
status = gettimeofday(&tm, NULL);
if(status==0)

View File

@ -400,7 +400,9 @@
#define HAVE_MIDI /**/
/* Define to 1 if you have the `mkstemp' function. */
#ifndef __CELLOS_LV2__
#define HAVE_MKSTEMP 1
#endif
/* Define to 1 if you have the `mmap_device_io' function. */
/* #undef HAVE_MMAP_DEVICE_IO */

View File

@ -76,7 +76,7 @@
int ioutil_access(const char *pathname, int mode)
{
#ifdef __PSL1GHT__
#if defined( __PSL1GHT__) || defined (__CELLOS_LV2__)
struct stat buf;
/* This can be improved but since ps3 os doesn't really have ACLs, who
cares? */

View File

@ -46,6 +46,10 @@
#define IOUTIL_ERRNO_ENOENT 3
#define IOUTIL_ERRNO_ERANGE 4
#ifdef __CELLOS_LV2__
#include "PS3_include.h"
#endif
extern int ioutil_access(const char *pathname, int mode);
extern int ioutil_chdir(const char *path);
extern int ioutil_errno(unsigned int check);

View File

@ -38,6 +38,10 @@
#include "montypes.h"
#include "types.h"
#ifdef __CELLOS_LV2__
#undef CLI
#endif
static const int addr_mode_size[] = {
1, /* ASM_ADDR_MODE_IMPLIED */
1, /* ASM_ADDR_MODE_ACCUMULATOR */

View File

@ -32,6 +32,10 @@
#include "monitor.h"
#include "types.h"
#ifdef __CELLOS_LV2__
#undef bool
#endif
#if 0
/* set this to enable experimental 24-bit address space support */
#define HAVE_MEMSPACE24

View File

@ -26,6 +26,9 @@
#include "sid.h"
#include <math.h>
#ifdef __CELLOS_LV2__
#include "PS3_include.h"
#endif
#ifndef round
#define round(x) (x>=0.0?floor(x+0.5):ceil(x-0.5))

View File

@ -23,6 +23,9 @@
#include "FilterModelConfig.h"
#ifdef __LIBRETRO__
#ifdef __CELLOS_LV2__
#include "PS3_include.h"
#endif
#else
#include <cmath>
#include <cassert>

View File

@ -22,6 +22,9 @@
#include "OpAmp.h"
#ifdef __LIBRETRO__
#ifdef __CELLOS_LV2__
#include "PS3_include.h"
#endif
#else
#include <cmath>
#endif

View File

@ -22,6 +22,9 @@
#include "WaveformCalculator.h"
#ifdef __LIBRETRO__
#ifdef __CELLOS_LV2__
#include "PS3_include.h"
#endif
#else
#include <cmath>
#endif

View File

@ -23,6 +23,9 @@
#include "SincResampler.h"
#ifdef __LIBRETRO__
#ifdef __CELLOS_LV2__
#include "PS3_include.h"
#endif
#else
#include <cassert>
#include <cstring>

View File

@ -24,6 +24,9 @@
#ifdef __LIBRETRO__
#include "../../../sysincludes.h"
#ifdef __CELLOS_LV2__
#include "PS3_include.h"
#endif
#else
#include <cmath>