Hello community, here is the log from the commit of package libretro-nestopia for openSUSE:Factory checked in at 2020-06-23 21:06:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libretro-nestopia (Old) and /work/SRC/openSUSE:Factory/.libretro-nestopia.new.2956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libretro-nestopia" Tue Jun 23 21:06:07 2020 rev:2 rq:816504 version:1.50~git20200510 Changes: -------- --- /work/SRC/openSUSE:Factory/libretro-nestopia/libretro-nestopia.changes 2020-02-11 22:23:26.895503240 +0100 +++ /work/SRC/openSUSE:Factory/.libretro-nestopia.new.2956/libretro-nestopia.changes 2020-06-23 21:06:42.126250777 +0200 @@ -1,0 +2,11 @@ +Tue Jun 16 06:41:17 UTC 2020 - i...@guoyunhe.me + +- Update to version 1.50~git20200510: + * Fix scratchy audio in SMB3 and others + * Core options typo fix + * Fix MSVC2017 + * Added gcw0 platform target + * Update libretro Makefile + * Added support for MMC3 Big CHR-RAM Board + +------------------------------------------------------------------- Old: ---- libretro-nestopia-1.50~git20190921.tar.xz New: ---- libretro-nestopia-1.50~git20200510.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libretro-nestopia.spec ++++++ --- /var/tmp/diff_new_pack.g1Zgll/_old 2020-06-23 21:06:42.998253595 +0200 +++ /var/tmp/diff_new_pack.g1Zgll/_new 2020-06-23 21:06:43.002253607 +0200 @@ -1,7 +1,7 @@ # # spec file for package libretro-nestopia # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: libretro-nestopia -Version: 1.50~git20190921 +Version: 1.50~git20200510 Release: 0 Summary: Nintendo NES / FDS Emulator for Retro-based frontends License: GPL-2.0-only ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.g1Zgll/_old 2020-06-23 21:06:43.042253737 +0200 +++ /var/tmp/diff_new_pack.g1Zgll/_new 2020-06-23 21:06:43.042253737 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/libretro/nestopia.git</param> - <param name="changesrevision">354fa2f0f3bb9884988b05a6bc0e60dae961bec4</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">cf8f2d689abe3555a3ed6a148808c9f67fe33c54</param></service></servicedata> \ No newline at end of file ++++++ libretro-nestopia-1.50~git20190921.tar.xz -> libretro-nestopia-1.50~git20200510.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-nestopia-1.50~git20190921/libretro/Makefile new/libretro-nestopia-1.50~git20200510/libretro/Makefile --- old/libretro-nestopia-1.50~git20190921/libretro/Makefile 2019-09-21 19:49:06.000000000 +0200 +++ new/libretro-nestopia-1.50~git20200510/libretro/Makefile 2020-05-10 20:49:10.000000000 +0200 @@ -11,13 +11,17 @@ ifeq ($(platform),) platform = unix - ifeq ($(shell uname -a),) + ifeq ($(shell uname -s),) platform = win - else ifneq ($(findstring MINGW,$(shell uname -a)),) + else ifneq ($(findstring MINGW,$(shell uname -s)),) platform = win - else ifneq ($(findstring Darwin,$(shell uname -a)),) + else ifneq ($(findstring Darwin,$(shell uname -s)),) platform = osx - else ifneq ($(findstring win,$(shell uname -a)),) + arch = intel + ifeq ($(shell uname -p),powerpc) + arch = ppc + endif + else ifneq ($(findstring win,$(shell uname -s)),) platform = win endif endif @@ -29,6 +33,10 @@ 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 @@ -73,6 +81,11 @@ LDFLAGS += $(ARCHFLAGS) endif +ifeq ($(arch),ppc) + CFLAGS += -DHAVE_NO_LANGEXTRA + CXXFLAGS += -DHAVE_NO_LANGEXTRA +endif + # iOS else ifneq (,$(findstring ios,$(platform))) @@ -286,7 +299,7 @@ reg_query = $(call filter_out2,$(subst $2,,$(shell reg query "$2" -v "$1" 2>nul))) fix_path = $(subst $(SPACE),\ ,$(subst \,/,$1)) - ProgramFiles86w := $(shell cmd /c "echo %PROGRAMFILES(x86)%") + ProgramFiles86w := $(shell cmd //c "echo %PROGRAMFILES(x86)%") ProgramFiles86 := $(shell cygpath "$(ProgramFiles86w)") WindowsSdkDir ?= $(call reg_query,InstallationFolder,HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0) @@ -368,6 +381,19 @@ PLATFORM_DEFINES += -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int STATIC_LINKING = 1 +# GCW0 +else ifeq ($(platform), gcw0) + TARGET := $(TARGET_NAME)_libretro.so + CC = /opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc + CXX = /opt/gcw0-toolchain/usr/bin/mipsel-linux-g++ + AR = /opt/gcw0-toolchain/usr/bin/mipsel-linux-ar + fpic := -fPIC + PLATFORM_DEFINES += -ffast-math -march=mips32 -mtune=mips32r2 -mhard-float + PLATFORM_DEFINES += -fomit-frame-pointer + SHARED := -shared -Wl,-version-script=link.T -Wl,-no-undefined + CXXFLAGS += -fno-rtti -std=gnu++11 + CFLAGS += -std=gnu11 + # Nintendo Wii else ifeq ($(platform), wii) TARGET := $(TARGET_NAME)_libretro_$(platform).a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-nestopia-1.50~git20190921/libretro/libretro_core_options.h new/libretro-nestopia-1.50~git20200510/libretro/libretro_core_options.h --- old/libretro-nestopia-1.50~git20190921/libretro/libretro_core_options.h 2019-09-21 19:49:06.000000000 +0200 +++ new/libretro-nestopia-1.50~git20200510/libretro/libretro_core_options.h 2020-05-10 20:49:10.000000000 +0200 @@ -120,7 +120,7 @@ }, { "nestopia_fds_auto_insert", - "FDS Auto Instert", + "FDS Auto Insert", "Automatically insert first FDS disk on reset.", { { "disabled", NULL }, @@ -154,7 +154,7 @@ { "nestopia_aspect", "Preferred Aspect Ratio", - "Choose the preferred aspect ratio. RetroArch's aspect ratio must be set to Core provided in the Video seetings. 'auto' will use the NstDatabase.xml database file for aspect ratio autodetection. If there is no database present it will default to NTSC for 'auto'.", + "Choose the preferred aspect ratio. RetroArch's aspect ratio must be set to Core provided in the Video settings. 'auto' will use the NstDatabase.xml database file for aspect ratio autodetection. If there is no database present it will default to NTSC for 'auto'.", { { "auto", "Auto" }, { "ntsc", "NTSC" }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-nestopia-1.50~git20190921/source/core/NstApu.cpp new/libretro-nestopia-1.50~git20200510/source/core/NstApu.cpp --- old/libretro-nestopia-1.50~git20190921/source/core/NstApu.cpp 2019-09-21 19:49:06.000000000 +0200 +++ new/libretro-nestopia-1.50~git20200510/source/core/NstApu.cpp 2020-05-10 20:49:10.000000000 +0200 @@ -1870,7 +1870,8 @@ amp = (sum * outputVolume + rate/2) / rate * 3; } } - else if (amp < Channel::OUTPUT_DECAY) + // Disabling these blocks fixes scratchy audio in many games + /*else if (amp < Channel::OUTPUT_DECAY) { return 0; } @@ -1878,7 +1879,7 @@ { amp -= Channel::OUTPUT_DECAY; step &= STEP_CHECK; - } + }*/ return amp; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-nestopia-1.50~git20190921/source/core/NstCartridge.cpp new/libretro-nestopia-1.50~git20200510/source/core/NstCartridge.cpp --- old/libretro-nestopia-1.50~git20190921/source/core/NstCartridge.cpp 2019-09-21 19:49:06.000000000 +0200 +++ new/libretro-nestopia-1.50~git20200510/source/core/NstCartridge.cpp 2020-05-10 20:49:10.000000000 +0200 @@ -276,7 +276,7 @@ if (profile.board.type.empty() || !b.DetectBoard( profile.board.type.c_str(), profile.board.GetWram() )) { - if (profile.board.mapper == Profile::Board::NO_MAPPER || (!b.DetectBoard( profile.board.mapper, profile.board.GetWram(), profileEx.wramAuto, profile.board.subMapper ) && board)) + if (profile.board.mapper == Profile::Board::NO_MAPPER || (!b.DetectBoard( profile.board.mapper, profile.board.subMapper, profile.board.chrRam, profile.board.GetWram(), profileEx.wramAuto ) && board)) return RESULT_ERR_UNSUPPORTED_MAPPER; if (profile.board.type.empty()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-nestopia-1.50~git20190921/source/core/NstCartridgeInes.cpp new/libretro-nestopia-1.50~git20200510/source/core/NstCartridgeInes.cpp --- old/libretro-nestopia-1.50~git20190921/source/core/NstCartridgeInes.cpp 2019-09-21 19:49:06.000000000 +0200 +++ new/libretro-nestopia-1.50~git20200510/source/core/NstCartridgeInes.cpp 2020-05-10 20:49:10.000000000 +0200 @@ -233,6 +233,7 @@ { if (setup.chrRam) { + profile.board.chrRam = setup.chrRam / SIZE_1K; log << title << (setup.chrRam % SIZE_1K ? setup.chrRam : setup.chrRam / SIZE_1K) << (setup.chrRam % SIZE_1K ? " bytes" : "k") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-nestopia-1.50~git20190921/source/core/api/NstApiCartridge.hpp new/libretro-nestopia-1.50~git20200510/source/core/api/NstApiCartridge.hpp --- old/libretro-nestopia-1.50~git20190921/source/core/api/NstApiCartridge.hpp 2019-09-21 19:49:06.000000000 +0200 +++ new/libretro-nestopia-1.50~git20200510/source/core/api/NstApiCartridge.hpp 2020-05-10 20:49:10.000000000 +0200 @@ -810,6 +810,11 @@ * Submapper ID. */ uint subMapper; + + /** + * CHR RAM Size. + */ + uint chrRam; }; /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-nestopia-1.50~git20190921/source/core/board/NstBoard.cpp new/libretro-nestopia-1.50~git20200510/source/core/board/NstBoard.cpp --- old/libretro-nestopia-1.50~git20190921/source/core/board/NstBoard.cpp 2019-09-21 19:49:06.000000000 +0200 +++ new/libretro-nestopia-1.50~git20200510/source/core/board/NstBoard.cpp 2020-05-10 20:49:10.000000000 +0200 @@ -1218,7 +1218,7 @@ return true; } - bool Board::Context::DetectBoard(const byte mapper,const dword wram,bool wramAuto,const byte submapper) + bool Board::Context::DetectBoard(const byte mapper,const byte submapper,const dword chrRam,const dword wram,bool wramAuto) { Type::Id id; @@ -1446,6 +1446,13 @@ break; } + if (chrRam == 32) + { + name = "UNL-MMC3BIGCHRRAM"; + id = Type::UNL_MMC3BIGCHRRAM; + break; + } + if (nmt == Type::NMT_FOURSCREEN) { if (prg == SIZE_64K && (chr == SIZE_32K || chr == SIZE_64K) && !wram && !useWramAuto) @@ -3403,6 +3410,7 @@ case Type::STD_TR1ROM : case Type::STD_TSROM : case Type::STD_TVROM : + case Type::UNL_MMC3BIGCHRRAM : case Type::UNL_TRXROM : return new TxRom (c); case Type::STD_TLSROM : return new TlsRom (c); case Type::STD_TKSROM : return new TksRom (c); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libretro-nestopia-1.50~git20190921/source/core/board/NstBoard.hpp new/libretro-nestopia-1.50~git20200510/source/core/board/NstBoard.hpp --- old/libretro-nestopia-1.50~git20190921/source/core/board/NstBoard.hpp 2019-09-21 19:49:06.000000000 +0200 +++ new/libretro-nestopia-1.50~git20200510/source/core/board/NstBoard.hpp 2020-05-10 20:49:10.000000000 +0200 @@ -557,6 +557,7 @@ UNL_UXROM_M5 = MakeId< 180, 4096, 8, 8, 0, CRM_0, NMT_X, 0 >::ID, UNL_TRXROM = MakeId< 4, 512, 256, 8, 0, CRM_0, NMT_4, 0 >::ID, UNL_XZY = MakeId< 176, 1024, 256, 8, 0, CRM_0, NMT_X, 0 >::ID, + UNL_MMC3BIGCHRRAM = MakeId< 4, 512, 0, 0, 0, CRM_32, NMT_X, 0 >::ID, // Waixing WAIXING_PS2_0 = MakeId< 15, 1024, 0, 0, 0, CRM_8, NMT_V, 0 >::ID, WAIXING_PS2_1 = MakeId< 15, 1024, 0, 8, 0, CRM_8, NMT_V, 0 >::ID, @@ -652,7 +653,7 @@ Context(Cpu*,Apu*,Ppu*,Ram&,Ram&,const Ram&,Type::Nmt,bool,bool,Chips&); bool DetectBoard(wcstring,dword); - bool DetectBoard(byte,dword,bool,byte); + bool DetectBoard(byte,byte,dword,dword,bool); cstring name; Type type;