mirror of https://github.com/bsnes-emu/bsnes.git
v110.7
Improvements to HDMA timing (courtesy of test ROM from undisbeliever] This fixes flickering in Full Throttle - All-American Racing
This commit is contained in:
parent
b5301b7ea8
commit
07427e4697
|
@ -32,12 +32,11 @@ Unique Features
|
||||||
- Built-in games database with thousands of game entries
|
- Built-in games database with thousands of game entries
|
||||||
- Built-in cheat code database for hundreds of popular games (by mightymo)
|
- Built-in cheat code database for hundreds of popular games (by mightymo)
|
||||||
- Built-in save state manager with screenshot previews and naming capabilities
|
- Built-in save state manager with screenshot previews and naming capabilities
|
||||||
- Support for ASIO low-latency audio
|
|
||||||
- Customizable per-byte game mappings to support any cartridges, including prototype games
|
- Customizable per-byte game mappings to support any cartridges, including prototype games
|
||||||
- 7-zip decompression support
|
- 7-zip decompression support
|
||||||
- Extensive Satellaview emulation, including BS Memory flash write and wear-leveling emulation
|
- Extensive Satellaview emulation, including BS Memory flash write and wear-leveling emulation
|
||||||
- 30-bit color output support (where supported)
|
|
||||||
- Optional higan game folder support (standard game ROM files are also fully supported!)
|
- Optional higan game folder support (standard game ROM files are also fully supported!)
|
||||||
|
- Advanced mapping system allowing multiple bindings to every emulated input
|
||||||
|
|
||||||
Standard Features
|
Standard Features
|
||||||
-----------------
|
-----------------
|
||||||
|
@ -56,6 +55,7 @@ Standard Features
|
||||||
- Sprite limit disable support
|
- Sprite limit disable support
|
||||||
- Cubic audio interpolation support
|
- Cubic audio interpolation support
|
||||||
- Optional high-level emulation of most SNES coprocessors
|
- Optional high-level emulation of most SNES coprocessors
|
||||||
|
- Optional emulation of flaws in older emulators for compatibility with older unofficial software
|
||||||
- CPU, SA1, and SuperFX overclocking support
|
- CPU, SA1, and SuperFX overclocking support
|
||||||
- Frame advance support
|
- Frame advance support
|
||||||
- Screenshot support
|
- Screenshot support
|
||||||
|
@ -63,12 +63,15 @@ Standard Features
|
||||||
- Movie recording and playback support
|
- Movie recording and playback support
|
||||||
- Rewind support
|
- Rewind support
|
||||||
- HiDPI support
|
- HiDPI support
|
||||||
|
- Multi-monitor support
|
||||||
|
- Turbo support for controller inputs
|
||||||
|
|
||||||
Links
|
Links
|
||||||
-----
|
-----
|
||||||
|
|
||||||
- [Official website](https://bsnes.byuu.org)
|
- [Official website](https://bsnes.byuu.org)
|
||||||
- [Official git repository](https://github.com/byuu/bsnes)
|
- [Official git repository](https://github.com/byuu/bsnes)
|
||||||
|
- [Developer resources](https://byuu.net)
|
||||||
- [Donations](https://patreon.com/byuu)
|
- [Donations](https://patreon.com/byuu)
|
||||||
|
|
||||||
Nightly Builds
|
Nightly Builds
|
||||||
|
|
|
@ -29,7 +29,7 @@ using namespace nall;
|
||||||
|
|
||||||
namespace Emulator {
|
namespace Emulator {
|
||||||
static const string Name = "bsnes";
|
static const string Name = "bsnes";
|
||||||
static const string Version = "110.6";
|
static const string Version = "110.7";
|
||||||
static const string Author = "byuu";
|
static const string Author = "byuu";
|
||||||
static const string License = "GPLv3";
|
static const string License = "GPLv3";
|
||||||
static const string Website = "https://byuu.org";
|
static const string Website = "https://byuu.org";
|
||||||
|
|
|
@ -54,6 +54,23 @@ auto CPU::step() -> void {
|
||||||
status.dramRefresh = 1; step<6,0>(); status.dramRefresh = 2; step<2,0>(); aluEdge();
|
status.dramRefresh = 1; step<6,0>(); status.dramRefresh = 2; step<2,0>(); aluEdge();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!status.hdmaSetupTriggered && hcounter() >= status.hdmaSetupPosition) {
|
||||||
|
status.hdmaSetupTriggered = true;
|
||||||
|
hdmaReset();
|
||||||
|
if(hdmaEnable()) {
|
||||||
|
status.hdmaPending = true;
|
||||||
|
status.hdmaMode = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!status.hdmaTriggered && hcounter() >= status.hdmaPosition) {
|
||||||
|
status.hdmaTriggered = true;
|
||||||
|
if(hdmaActive()) {
|
||||||
|
status.hdmaPending = true;
|
||||||
|
status.hdmaMode = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if constexpr(Synchronize) {
|
if constexpr(Synchronize) {
|
||||||
if(configuration.hacks.coprocessor.delayedSync) return;
|
if(configuration.hacks.coprocessor.delayedSync) return;
|
||||||
synchronizeCoprocessors();
|
synchronizeCoprocessors();
|
||||||
|
@ -162,23 +179,6 @@ auto CPU::dmaEdge() -> void {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!status.hdmaSetupTriggered && hcounter() >= status.hdmaSetupPosition) {
|
|
||||||
status.hdmaSetupTriggered = true;
|
|
||||||
hdmaReset();
|
|
||||||
if(hdmaEnable()) {
|
|
||||||
status.hdmaPending = true;
|
|
||||||
status.hdmaMode = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!status.hdmaTriggered && hcounter() >= status.hdmaPosition) {
|
|
||||||
status.hdmaTriggered = true;
|
|
||||||
if(hdmaActive()) {
|
|
||||||
status.hdmaPending = true;
|
|
||||||
status.hdmaMode = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!status.dmaActive) {
|
if(!status.dmaActive) {
|
||||||
if(status.dmaPending || status.hdmaPending) {
|
if(status.dmaPending || status.hdmaPending) {
|
||||||
status.dmaActive = true;
|
status.dmaActive = true;
|
||||||
|
|
Loading…
Reference in New Issue