Add MSVC 2005 / 2010 cores

This commit is contained in:
twinaphex 2021-02-12 03:33:30 +01:00
parent 60d4f2814c
commit 72113294d5
11 changed files with 70 additions and 22 deletions

View File

@ -21,6 +21,18 @@ include:
- project: 'libretro-infrastructure/ci-templates'
file: '/windows-i686-mingw.yml'
# Windows msvc10 64-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/windows-x64-msvc10-msys2.yml'
# Windows msvc10 32-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/windows-i686-msvc10-msys2.yml'
# Windows msvc05 32-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/windows-i686-msvc05-msys2.yml'
# Linux 64-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/linux-x64.yml'
@ -107,6 +119,24 @@ libretro-build-windows-i686:
- .libretro-windows-i686-mingw-make-default
- .core-defs
# Windows msvc10 64-bit
libretro-build-windows-msvc10-x64:
extends:
- .libretro-windows-x64-msvc10-msys2-make-default
- .core-defs
# Windows msvc10 32-bit
libretro-build-windows-msvc10-i686:
extends:
- .libretro-windows-i686-msvc10-msys2-make-default
- .core-defs
# Windows msvc05 32-bit
libretro-build-windows-msvc05-i686:
extends:
- .libretro-windows-i686-msvc05-msys2-make-default
- .core-defs
# Linux 64-bit
libretro-build-linux-x64:
extends:

View File

@ -147,7 +147,10 @@ endif
FLAGS += -DNEED_CD
ifeq ($(HAVE_CHD), 1)
FLAGS += -DHAVE_CHD -D_7ZIP_ST -DPACKAGE_VERSION=\"1.3.2\" -DFLAC_API_EXPORTS -DFLAC__HAS_OGG=0 -DHAVE_LROUND -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_SYS_PARAM_H
FLAGS += -DHAVE_CHD -D_7ZIP_ST -DPACKAGE_VERSION=\"1.3.2\" -DFLAC_API_EXPORTS -DFLAC__HAS_OGG=0 -DHAVE_LROUND -DHAVE_STDINT_H -DHAVE_STDLIB_H
ifeq (,$(findstring msvc,$(platform)))
FLAGS += -DHAVE_SYS_PARAM_H
endif
ifeq ($(platform), win)
FLAGS += -DHAVE_FSEEKO
endif

View File

@ -33,6 +33,8 @@
#ifndef FLAC__FORMAT_H
#define FLAC__FORMAT_H
#include <stdint.h>
#include "export.h"
#include "ordinals.h"

View File

@ -33,6 +33,8 @@
#ifndef FLAC__PRIVATE__BITMATH_H
#define FLAC__PRIVATE__BITMATH_H
#include <stdint.h>
#include "FLAC/ordinals.h"
#include "FLAC/assert.h"

View File

@ -33,6 +33,8 @@
#ifndef FLAC__PRIVATE__CRC_H
#define FLAC__PRIVATE__CRC_H
#include <stdint.h>
#include "FLAC/ordinals.h"
/* 8 bit CRC generator, MSB shifted first

View File

@ -33,6 +33,8 @@
#ifndef FLAC__PRIVATE__FORMAT_H
#define FLAC__PRIVATE__FORMAT_H
#include <stdint.h>
#include "FLAC/format.h"
uint32_t FLAC__format_get_max_rice_partition_order(uint32_t blocksize, uint32_t predictor_order);

View File

@ -26,6 +26,8 @@
* Still in the public domain, with no warranty.
*/
#include <stdint.h>
#include "FLAC/ordinals.h"
typedef union {

View File

@ -72,12 +72,12 @@ void ecc_clear(uint8_t *sector);
INLINE FUNCTIONS
***************************************************************************/
static inline uint32_t msf_to_lba(uint32_t msf)
static INLINE uint32_t msf_to_lba(uint32_t msf)
{
return ( ((msf&0x00ff0000)>>16) * 60 * 75) + (((msf&0x0000ff00)>>8) * 75) + ((msf&0x000000ff)>>0);
}
static inline uint32_t lba_to_msf(uint32_t lba)
static INLINE uint32_t lba_to_msf(uint32_t lba)
{
uint8_t m, s, f;
@ -96,7 +96,7 @@ static inline uint32_t lba_to_msf(uint32_t lba)
* Angelo also says PCE tracks often start playing at the
* wrong address.. related?
**/
static inline uint32_t lba_to_msf_alt(int lba)
static INLINE uint32_t lba_to_msf_alt(int lba)
{
uint32_t ret = 0;

View File

@ -347,7 +347,11 @@ struct _chd_verify_result
FUNCTION PROTOTYPES
***************************************************************************/
#ifdef __LIBRETRO__
#define CHD_EXPORT
#else
#define CHD_EXPORT __attribute__ ((visibility("default")))
#endif
/* ----- CHD file management ----- */

View File

@ -304,7 +304,7 @@ static const uint16_t qoffsets[ECC_Q_NUM_BYTES][ECC_Q_COMP] =
*-------------------------------------------------
*/
static inline uint8_t ecc_source_byte(const uint8_t *sector, uint32_t offset)
static INLINE uint8_t ecc_source_byte(const uint8_t *sector, uint32_t offset)
{
/* in mode 2 always treat these as 0 bytes */
return (sector[MODE_OFFSET] == 2 && offset < 4) ? 0x00 : sector[SYNC_OFFSET + SYNC_NUM_BYTES + offset];

View File

@ -430,7 +430,7 @@ static void *lzma_fast_alloc(void *p, size_t size)
addr = (uint32_t *)malloc(size + sizeof(uint32_t) + LZMA_MIN_ALIGNMENT_BYTES);
if (addr==NULL)
return NULL;
for (int scan = 0; scan < MAX_LZMA_ALLOCS; scan++)
for (scan = 0; scan < MAX_LZMA_ALLOCS; scan++)
{
if (codec->allocptr[scan] == NULL)
{
@ -945,7 +945,7 @@ static const codec_interface codec_interfaces[] =
the data stream in bigendian order
-------------------------------------------------*/
static inline UINT64 get_bigendian_uint64(const UINT8 *base)
static INLINE UINT64 get_bigendian_uint64(const UINT8 *base)
{
return ((UINT64)base[0] << 56) | ((UINT64)base[1] << 48) | ((UINT64)base[2] << 40) | ((UINT64)base[3] << 32) |
((UINT64)base[4] << 24) | ((UINT64)base[5] << 16) | ((UINT64)base[6] << 8) | (UINT64)base[7];
@ -956,7 +956,7 @@ static inline UINT64 get_bigendian_uint64(const UINT8 *base)
the data stream in bigendian order
-------------------------------------------------*/
static inline void put_bigendian_uint64(UINT8 *base, UINT64 value)
static INLINE void put_bigendian_uint64(UINT8 *base, UINT64 value)
{
base[0] = value >> 56;
base[1] = value >> 48;
@ -973,7 +973,7 @@ static inline void put_bigendian_uint64(UINT8 *base, UINT64 value)
the data stream in bigendian order
-------------------------------------------------*/
static inline UINT64 get_bigendian_uint48(const UINT8 *base)
static INLINE UINT64 get_bigendian_uint48(const UINT8 *base)
{
return ((UINT64)base[0] << 40) | ((UINT64)base[1] << 32) |
((UINT64)base[2] << 24) | ((UINT64)base[3] << 16) | ((UINT64)base[4] << 8) | (UINT64)base[5];
@ -984,7 +984,7 @@ static inline UINT64 get_bigendian_uint48(const UINT8 *base)
the data stream in bigendian order
-------------------------------------------------*/
static inline void put_bigendian_uint48(UINT8 *base, UINT64 value)
static INLINE void put_bigendian_uint48(UINT8 *base, UINT64 value)
{
value &= 0xffffffffffff;
base[0] = value >> 40;
@ -999,7 +999,7 @@ static inline void put_bigendian_uint48(UINT8 *base, UINT64 value)
the data stream in bigendian order
-------------------------------------------------*/
static inline UINT32 get_bigendian_uint32(const UINT8 *base)
static INLINE UINT32 get_bigendian_uint32(const UINT8 *base)
{
return (base[0] << 24) | (base[1] << 16) | (base[2] << 8) | base[3];
}
@ -1009,7 +1009,7 @@ static inline UINT32 get_bigendian_uint32(const UINT8 *base)
the data stream in bigendian order
-------------------------------------------------*/
static inline void put_bigendian_uint32(UINT8 *base, UINT32 value)
static INLINE void put_bigendian_uint32(UINT8 *base, UINT32 value)
{
base[0] = value >> 24;
base[1] = value >> 16;
@ -1022,7 +1022,7 @@ static inline void put_bigendian_uint32(UINT8 *base, UINT32 value)
the data stream in bigendian order
-------------------------------------------------*/
static inline void put_bigendian_uint24(UINT8 *base, UINT32 value)
static INLINE void put_bigendian_uint24(UINT8 *base, UINT32 value)
{
value &= 0xffffff;
base[0] = value >> 16;
@ -1035,7 +1035,7 @@ static inline void put_bigendian_uint24(UINT8 *base, UINT32 value)
the data stream in bigendian order
-------------------------------------------------*/
static inline UINT32 get_bigendian_uint24(const UINT8 *base)
static INLINE UINT32 get_bigendian_uint24(const UINT8 *base)
{
return (base[0] << 16) | (base[1] << 8) | base[2];
}
@ -1045,7 +1045,7 @@ static inline UINT32 get_bigendian_uint24(const UINT8 *base)
the data stream in bigendian order
-------------------------------------------------*/
static inline UINT16 get_bigendian_uint16(const UINT8 *base)
static INLINE UINT16 get_bigendian_uint16(const UINT8 *base)
{
return (base[0] << 8) | base[1];
}
@ -1055,7 +1055,7 @@ static inline UINT16 get_bigendian_uint16(const UINT8 *base)
the data stream in bigendian order
-------------------------------------------------*/
static inline void put_bigendian_uint16(UINT8 *base, UINT16 value)
static INLINE void put_bigendian_uint16(UINT8 *base, UINT16 value)
{
base[0] = value >> 8;
base[1] = value;
@ -1066,7 +1066,7 @@ static inline void put_bigendian_uint16(UINT8 *base, UINT16 value)
entry from the datastream
-------------------------------------------------*/
static inline void map_extract(const UINT8 *base, map_entry *entry)
static INLINE void map_extract(const UINT8 *base, map_entry *entry)
{
entry->offset = get_bigendian_uint64(&base[0]);
entry->crc = get_bigendian_uint32(&base[8]);
@ -1079,7 +1079,7 @@ static inline void map_extract(const UINT8 *base, map_entry *entry)
entry to the datastream
-------------------------------------------------*/
static inline void map_assemble(UINT8 *base, map_entry *entry)
static INLINE void map_assemble(UINT8 *base, map_entry *entry)
{
put_bigendian_uint64(&base[0], entry->offset);
put_bigendian_uint32(&base[8], entry->crc);
@ -1091,7 +1091,7 @@ static inline void map_assemble(UINT8 *base, map_entry *entry)
/*-------------------------------------------------
map_size_v5 - calculate CHDv5 map size
-------------------------------------------------*/
static inline int map_size_v5(chd_header* header)
static INLINE int map_size_v5(chd_header* header)
{
return header->hunkcount * header->mapentrybytes;
}
@ -1150,7 +1150,7 @@ uint16_t crc16(const void *data, uint32_t length)
/*-------------------------------------------------
compressed - test if CHD file is compressed
+-------------------------------------------------*/
static inline int chd_compressed(chd_header* header) {
static INLINE int chd_compressed(chd_header* header) {
return header->compression[0] != CHD_CODEC_NONE;
}
@ -1320,7 +1320,7 @@ static chd_error decompress_v5_map(chd_file* chd, chd_header* header)
entry in old format from the datastream
-------------------------------------------------*/
static inline void map_extract_old(const UINT8 *base, map_entry *entry, UINT32 hunkbytes)
static INLINE void map_extract_old(const UINT8 *base, map_entry *entry, UINT32 hunkbytes)
{
entry->offset = get_bigendian_uint64(&base[0]);
entry->crc = 0;
@ -2257,8 +2257,9 @@ static chd_error hunk_read_into_memory(chd_file *chd, UINT32 hunknum, UINT8 *des
{
blockoffs = (uint64_t)get_bigendian_uint32(rawmap) * (uint64_t)chd->header.hunkbytes;
if (blockoffs != 0) {
int result;
core_fseek(chd->file, blockoffs, SEEK_SET);
int result = core_fread(chd->file, dest, chd->header.hunkbytes);
result = core_fread(chd->file, dest, chd->header.hunkbytes);
/* TODO
else if (m_parent_missing)
throw CHDERR_REQUIRES_PARENT; */