Improvements to HDMA timing (courtesy of test ROM from undisbeliever]
This fixes flickering in Full Throttle - All-American Racing
This commit is contained in:
byuu 2019-10-05 13:24:14 +09:00
parent b5301b7ea8
commit 07427e4697
3 changed files with 23 additions and 20 deletions

View File

@ -32,12 +32,11 @@ Unique Features
- Built-in games database with thousands of game entries
- Built-in cheat code database for hundreds of popular games (by mightymo)
- 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
- 7-zip decompression support
- 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!)
- Advanced mapping system allowing multiple bindings to every emulated input
Standard Features
-----------------
@ -56,6 +55,7 @@ Standard Features
- Sprite limit disable support
- Cubic audio interpolation support
- 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
- Frame advance support
- Screenshot support
@ -63,12 +63,15 @@ Standard Features
- Movie recording and playback support
- Rewind support
- HiDPI support
- Multi-monitor support
- Turbo support for controller inputs
Links
-----
- [Official website](https://bsnes.byuu.org)
- [Official git repository](https://github.com/byuu/bsnes)
- [Developer resources](https://byuu.net)
- [Donations](https://patreon.com/byuu)
Nightly Builds

View File

@ -29,7 +29,7 @@ using namespace nall;
namespace Emulator {
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 License = "GPLv3";
static const string Website = "https://byuu.org";

View File

@ -54,6 +54,23 @@ auto CPU::step() -> void {
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(configuration.hacks.coprocessor.delayedSync) return;
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.dmaPending || status.hdmaPending) {
status.dmaActive = true;