Fix bsnes compilation for GCC 5.X
This commit is contained in:
parent
918dc6db7b
commit
5ab3b133a4
25 changed files with 97 additions and 47 deletions
2
bsnes
2
bsnes
|
@ -1 +1 @@
|
|||
Subproject commit 9682df9e33c366dfe047a99c8bcefc2c8ab29620
|
||||
Subproject commit f2bbef8a4e12e05190a68dfe410cff3e4b1eb13f
|
|
@ -1,7 +1,7 @@
|
|||
From b19b3b2d1d7a522af695f4482abb28e52804326b Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Wed, 9 Nov 2011 00:30:36 +0200
|
||||
Subject: [PATCH 01/23] Make libsnes compile
|
||||
Subject: [PATCH 01/24] Make libsnes compile
|
||||
|
||||
Changes between v083 and v084 had broken libsnes. Fix it so it at least
|
||||
compiles.
|
||||
|
@ -78,5 +78,5 @@ index fbb4482..5f5ded6 100755
|
|||
}
|
||||
SNES::cartridge.load(SNES::Cartridge::Mode::SuperGameBoy, xmlrom);
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From bb2fed04fbfe62a89e4bcfe90f44b4738f7c7c1a Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Wed, 9 Nov 2011 00:31:59 +0200
|
||||
Subject: [PATCH 02/23] Fix bsnes version number in libsnes to be v085, not
|
||||
Subject: [PATCH 02/24] Fix bsnes version number in libsnes to be v085, not
|
||||
v083
|
||||
|
||||
---
|
||||
|
@ -22,5 +22,5 @@ index 5f5ded6..0e63075 100755
|
|||
|
||||
unsigned snes_library_revision_major(void) {
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 7379b4570e5755a5a1da25181ba4f5d1ca461a98 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Wed, 9 Nov 2011 00:37:44 +0200
|
||||
Subject: [PATCH 03/23] Don't use time() in emulating chips
|
||||
Subject: [PATCH 03/24] Don't use time() in emulating chips
|
||||
|
||||
Instead of using time() in chip emulation, create new interface method
|
||||
currentTime(), defaulting to time(0). This way frontend can cleanly
|
||||
|
@ -80,5 +80,5 @@ index f1a48c0..df975e8 100755
|
|||
|
||||
extern Interface *interface;
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From efe1b5884c316ce070953edd87c6c9aeffffaa94 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Wed, 9 Nov 2011 01:52:08 +0200
|
||||
Subject: [PATCH 04/23] Save controller state when savestating
|
||||
Subject: [PATCH 04/24] Save controller state when savestating
|
||||
|
||||
When savestating, save the controller state and restore it upon loadstate.
|
||||
Prevents libsnes from mixing up buttons.
|
||||
|
@ -342,5 +342,5 @@ index f7d6f3b..08e7051 100755
|
|||
if(cartridge.mode() == Cartridge::Mode::SufamiTurbo) sufamiturbo.serialize(s);
|
||||
if(cartridge.mode() == Cartridge::Mode::SuperGameBoy) icd2.serialize(s);
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From cdf2f46490f128308eb7f399d03530936ebeda0a Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Fri, 11 Nov 2011 03:05:48 +0200
|
||||
Subject: [PATCH 05/23] Fix unserialization of 64-bit signed integers
|
||||
Subject: [PATCH 05/24] Fix unserialization of 64-bit signed integers
|
||||
|
||||
---
|
||||
nall/serializer.hpp | 2 +-
|
||||
|
@ -21,5 +21,5 @@ index ff2337a..e6bc8fa 100755
|
|||
isize += size;
|
||||
}
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 4dc46334ec175e26277632fee4aea80768749af9 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Fri, 11 Nov 2011 19:49:46 +0200
|
||||
Subject: [PATCH 06/23] Allow frontend to control random number seed
|
||||
Subject: [PATCH 06/24] Allow frontend to control random number seed
|
||||
|
||||
---
|
||||
snes/interface/interface.cpp | 5 +++++
|
||||
|
@ -49,5 +49,5 @@ index c19a7c5..dbd912d 100755
|
|||
region = config.region;
|
||||
expansion = config.expansion_port;
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From eeaf6dc52d39ca9c150ff61864c11297d200d968 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Wed, 7 Mar 2012 16:57:18 +0200
|
||||
Subject: [PATCH 07/23] Fix mouse polling
|
||||
Subject: [PATCH 07/24] Fix mouse polling
|
||||
|
||||
Don't poll for mouse motion excessive number of times (no need to poll it for
|
||||
each bit!)
|
||||
|
@ -59,5 +59,5 @@ index b66ea51..b07c8ab 100755
|
|||
+ int _position_y;
|
||||
};
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 7018377c93553071fc404db872b2746d40ac3bce Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Sat, 1 Sep 2012 11:23:34 +0300
|
||||
Subject: [PATCH 08/23] Fix uninitialized variables
|
||||
Subject: [PATCH 08/24] Fix uninitialized variables
|
||||
|
||||
These uninitialized variables cause a lot of desyncs in Shadowrun.
|
||||
---
|
||||
|
@ -138,5 +138,5 @@ index 9080624..d4ccf42 100755
|
|||
|
||||
void SMP::reset() {
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 6e0364c9a86caa71623a188a720b2d68b304b89b Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Mon, 24 Sep 2012 21:46:09 +0300
|
||||
Subject: [PATCH 09/23] Add needed support for detecting true polls as opposed
|
||||
Subject: [PATCH 09/24] Add needed support for detecting true polls as opposed
|
||||
to just autopolling
|
||||
|
||||
---
|
||||
|
@ -65,5 +65,5 @@ index 8b6aaa6..c5ee930 100755
|
|||
//DMAPx
|
||||
uint8 CPU::mmio_r43x0(uint8 i) {
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From e397bd46f17d6ea00c8c96d5a8e0c5f5b4a6f642 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Sun, 14 Oct 2012 23:31:36 +0300
|
||||
Subject: [PATCH 10/23] Fix compiling on GCC 4.7
|
||||
Subject: [PATCH 10/24] Fix compiling on GCC 4.7
|
||||
|
||||
---
|
||||
nall/string.hpp | 2 +-
|
||||
|
@ -22,5 +22,5 @@ index 1b255ce..07a64df 100755
|
|||
#include <nall/string/convert.hpp>
|
||||
#include <nall/string/cstring.hpp>
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From e047aa8eb9883f60e4141effba8128a4a555d8be Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Sun, 27 Oct 2013 10:52:45 +0200
|
||||
Subject: [PATCH 11/23] Support notifying latches
|
||||
Subject: [PATCH 11/24] Support notifying latches
|
||||
|
||||
---
|
||||
snes/cpu/mmio/mmio.cpp | 1 +
|
||||
|
@ -61,5 +61,5 @@ index 30ee7fd..203f7b0 100755
|
|||
|
||||
extern Interface *interface;
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From a5b380757b086e3a00b47fe14e2a63c74683e8da Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Thu, 28 Nov 2013 22:36:29 +0200
|
||||
Subject: [PATCH 12/23] Support unlimited number of breakpoints
|
||||
Subject: [PATCH 12/24] Support unlimited number of breakpoints
|
||||
|
||||
---
|
||||
snes/alt/cpu/cpu.cpp | 22 +++++++-------
|
||||
|
@ -795,5 +795,5 @@ index dffeeee..37ed1fe 100755
|
|||
namespace SNES {
|
||||
namespace Info {
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 8bc6bb381e680616dcc843c99889799aedd43163 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Sat, 30 Nov 2013 10:27:37 +0200
|
||||
Subject: [PATCH 13/23] Support auto-detecting bsnes version
|
||||
Subject: [PATCH 13/24] Support auto-detecting bsnes version
|
||||
|
||||
---
|
||||
bsnes.mk | 3 +++
|
||||
|
@ -18,5 +18,5 @@ index 0000000..20f22f6
|
|||
+LIBSNES_DIR=ui-libsnes
|
||||
+BSNES_VERSION=085
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 40c456dadd79cb2c94379fda8b41a4d0ba051ad1 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Sat, 7 Dec 2013 23:32:44 +0200
|
||||
Subject: [PATCH 14/23] Support alternate (more accurate) poll timings
|
||||
Subject: [PATCH 14/24] Support alternate (more accurate) poll timings
|
||||
|
||||
---
|
||||
snes/config/config.cpp | 1 +
|
||||
|
@ -134,5 +134,5 @@ index 37ed1fe..4e3ba64 100755
|
|||
namespace SNES {
|
||||
namespace Info {
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 863bde899b53ae31e854096ac5258208c848a293 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Thu, 6 Mar 2014 21:07:54 +0200
|
||||
Subject: [PATCH 15/23] Fix mouse speed support
|
||||
Subject: [PATCH 15/24] Fix mouse speed support
|
||||
|
||||
---
|
||||
snes/config/config.cpp | 1 +
|
||||
|
@ -99,5 +99,5 @@ index b07c8ab..13a9313 100755
|
|||
int _position_y;
|
||||
};
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 60267d1f22fd2ff3197c6c829640f66304c89283 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Sun, 16 Mar 2014 16:40:55 +0200
|
||||
Subject: [PATCH 16/23] Fix tracelog of controller registers
|
||||
Subject: [PATCH 16/24] Fix tracelog of controller registers
|
||||
|
||||
---
|
||||
snes/cpu/core/disassembler/disassembler.cpp | 2 ++
|
||||
|
@ -21,5 +21,5 @@ index ab8dde2..624a80c 100755
|
|||
//$[00-3f|80-bf]:[2000-5fff]
|
||||
//do not read MMIO registers within debugger
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From de71f12eb59a41899a5c77d797e144e6f0919777 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Mon, 17 Mar 2014 14:22:58 +0200
|
||||
Subject: [PATCH 17/23] Fix performance problem with non-bus breakpoints
|
||||
Subject: [PATCH 17/24] Fix performance problem with non-bus breakpoints
|
||||
|
||||
---
|
||||
snes/memory/memory.cpp | 35 ++++++++++++++++++++++++++---------
|
||||
|
@ -101,5 +101,5 @@ index 4e3ba64..9589db9 100755
|
|||
|
||||
#include <gameboy/gameboy.hpp>
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 6bd069191d29ad70d38c82d59dd72cd0996fc45c Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Mon, 31 Mar 2014 20:17:46 +0300
|
||||
Subject: [PATCH 18/23] Support VRAM, OAM, CGRAM and APURAM breakpoints
|
||||
Subject: [PATCH 18/24] Support VRAM, OAM, CGRAM and APURAM breakpoints
|
||||
|
||||
---
|
||||
snes/alt/ppu-compatibility/memory/memory.cpp | 44 +++++++++++++++++++++--
|
||||
|
@ -533,5 +533,5 @@ index 9589db9..27632bf 100755
|
|||
|
||||
namespace SNES {
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From f1106d3dffd27dab526a703aa434512495fbacea Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Mon, 14 Apr 2014 21:21:36 +0300
|
||||
Subject: [PATCH 19/23] SA1 trace hook support
|
||||
Subject: [PATCH 19/24] SA1 trace hook support
|
||||
|
||||
---
|
||||
snes/chip/sa1/sa1.cpp | 2 ++
|
||||
|
@ -49,5 +49,5 @@ index 27632bf..3bdca7e 100755
|
|||
namespace SNES {
|
||||
namespace Info {
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From cf662a12578778cb50c25d5275ce58deabd7eabe Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Wed, 30 Apr 2014 00:18:58 +0300
|
||||
Subject: [PATCH 20/23] Fixes to SA1 open bus emulation
|
||||
Subject: [PATCH 20/24] Fixes to SA1 open bus emulation
|
||||
|
||||
---
|
||||
snes/chip/sa1/memory/memory.cpp | 19 +++++++++++--------
|
||||
|
@ -74,5 +74,5 @@ index 9bb4ff2..614dfb0 100755
|
|||
|
||||
uint8 SA1::mmc_read(unsigned addr) {
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 63fc77b07d517c2f9a0fd6ca3fa94f30fb0f5ec2 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Sun, 15 Jun 2014 22:01:26 +0300
|
||||
Subject: [PATCH 21/23] Call notify latch function on alternate timings mode
|
||||
Subject: [PATCH 21/24] Call notify latch function on alternate timings mode
|
||||
too
|
||||
|
||||
---
|
||||
|
@ -21,5 +21,5 @@ index ae8e94f..3fd4d23 100755
|
|||
input.port2->latch(1);
|
||||
}
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 5bc96b8aeea26729ef4399c2d8d5e562894616e1 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Tue, 20 Jan 2015 10:04:58 +0200
|
||||
Subject: [PATCH 22/23] Support DMA tracing
|
||||
Subject: [PATCH 22/24] Support DMA tracing
|
||||
|
||||
---
|
||||
snes/alt/ppu-compatibility/mmio/mmio.cpp | 18 +++++++
|
||||
|
@ -284,5 +284,5 @@ index 3bdca7e..7c48ebb 100755
|
|||
namespace SNES {
|
||||
namespace Info {
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 9682df9e33c366dfe047a99c8bcefc2c8ab29620 Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Sat, 24 Jan 2015 16:46:18 +0200
|
||||
Subject: [PATCH 23/23] Add autopoller and IRQ/NMI tracing
|
||||
Subject: [PATCH 23/24] Add autopoller and IRQ/NMI tracing
|
||||
|
||||
---
|
||||
snes/cpu/cpu.cpp | 3 +++
|
||||
|
@ -82,5 +82,5 @@ index 3fd4d23..afca750 100755
|
|||
status.auto_joypad_counter++;
|
||||
}
|
||||
--
|
||||
2.1.4
|
||||
2.5.0
|
||||
|
||||
|
|
50
bsnes-patches/v085/0024-Build-fixes-for-GCC-5.X.patch
Normal file
50
bsnes-patches/v085/0024-Build-fixes-for-GCC-5.X.patch
Normal file
|
@ -0,0 +1,50 @@
|
|||
From f2bbef8a4e12e05190a68dfe410cff3e4b1eb13f Mon Sep 17 00:00:00 2001
|
||||
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
|
||||
Date: Sat, 8 Aug 2015 11:09:41 +0300
|
||||
Subject: [PATCH 24/24] Build fixes for GCC 5.X
|
||||
|
||||
---
|
||||
nall/bit.hpp | 21 +++++++++++++++------
|
||||
1 file changed, 15 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/nall/bit.hpp b/nall/bit.hpp
|
||||
index 67a35ad..11d9d8d 100755
|
||||
--- a/nall/bit.hpp
|
||||
+++ b/nall/bit.hpp
|
||||
@@ -8,18 +8,27 @@ namespace nall {
|
||||
}
|
||||
|
||||
template<int bits> constexpr inline unsigned uclip(const unsigned x) {
|
||||
- enum { m = (1U << (bits - 1)) + ((1U << (bits - 1)) - 1) };
|
||||
- return (x & m);
|
||||
+ return x & ((1U << (bits - 1)) + ((1U << (bits - 1)) - 1));
|
||||
+ }
|
||||
+
|
||||
+ template<int bits> constexpr inline signed sclamp_b() {
|
||||
+ return 1U << (bits - 1);
|
||||
+ }
|
||||
+
|
||||
+ template<int bits> constexpr inline signed sclamp_m() {
|
||||
+ return (1U << (bits - 1)) - 1;
|
||||
}
|
||||
|
||||
template<int bits> constexpr inline signed sclamp(const signed x) {
|
||||
- enum { b = 1U << (bits - 1), m = (1U << (bits - 1)) - 1 };
|
||||
- return (x > m) ? m : (x < -b) ? -b : x;
|
||||
+ return (x > sclamp_m<bits>()) ? sclamp_m<bits>() : (x < -sclamp_b<bits>()) ? -sclamp_b<bits>() : x;
|
||||
+ }
|
||||
+
|
||||
+ template<int bits> constexpr inline signed sclip_m() {
|
||||
+ return (1U << (bits)) - 1;
|
||||
}
|
||||
|
||||
template<int bits> constexpr inline signed sclip(const signed x) {
|
||||
- enum { b = 1U << (bits - 1), m = (1U << bits) - 1 };
|
||||
- return ((x & m) ^ b) - b;
|
||||
+ return ((x & sclip_m<bits>()) ^ sclamp_b<bits>()) - sclamp_b<bits>();
|
||||
}
|
||||
|
||||
namespace bit {
|
||||
--
|
||||
2.5.0
|
||||
|
Loading…
Add table
Reference in a new issue