Willkommen bei AEP Emulation Page - Emulation News

Hauptmenü
· Home / News
· News Kategorien
· News Archiv

· Mein Account
· Suche
· Forum (neu)
· Forum
· Weblinks
· Spiele Reviews
· Übersetzungen
· Impressum
· Datenschutz

Downloads
 


Forum
Mitglieder Online
Keine Mitglieder online.

You are an anonymous user. You can register for free by clicking here
Benutzername
Kennwort
 Angemeldet bleiben

Infos
· Museum
· Infocenter
· Das AEP Team
· Member Liste
· Top 25 Liste
· Glossar
· FAQ

Review of the moment

Sprache
Sprache auswählen:

DeutschEnglisch

News-Export
Holt Euch unsere News auf Eure Seite:
· RSS Newsfeed How-to
· RSS News-syndication Deutsch
· News-Banner (JPG)

Friends
· Emu-France
· progetto-SNAPS
· EmuBit.pl
· PDRoms


Neues Thema eröffnen   Neue Antwort erstellen  
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
Autor Nachricht
creaothceannOffline
Titel: bsnes v0.038  BeitragVerfasst am: 15.12.2008, 12:38 Uhr
Emu Author


Anmeldungsdatum: 23. Jun 2005
Beiträge: 199


Status: Offline
byuu hat eine neue Version seines SNES Emulators bsnes veröffentlicht.

Zitat:
The main change for this release is what I talked about in my last post. Because of this, I can finally time exact cycle positions for writes to take effect within the S-PPU core. So far, I´ve only added OAM reset at Y=240,H=10 and OBSEL fetching at H=1152. The latter hasn´t been verified on hardware, but it does fix the single black scanlines evident in the intros to Mega Lo Mania and Winter Olympics. Previously, I had a setting named ppu.hack.obj_cache ... this essentially cached OBSEL at H=512, and without it, at H=512+1364. The setting was needed to fix these games, but would then cause sprite flickering in other games, such as Ninja Warriors and Lord of the Rings. With the new timing, all of these games work correctly with the same timing.

I should note, this is still a scanline-based renderer at its core. I´m not aiming for, nor do I believe it is possible to, obtain 100% perfect rendering compatibility with this approach. But I will continue to expand its cycle-level capabilities, as it will no doubt be much faster than a true, fully cycle-based S-PPU renderer.

All of that said, the extra state logging, decoupling of timing code in the most critical section of the emulator, etc means that a small speed hit was inevitable. I mitigated it as much as I could, but it appears that Core processors suffer a ~6% speed hit from the previous version. Oddly enough, AMD processors seem to be largely unaffected by the change.

I know these speed hits continue to stack, but that´s the nature of the beast. I´ve added a link to tukuyomi´s SNES emulator archive. If you´re not able to get full speed, I´d strongly recommend using an older version of the emulator. v017 in particular is nearly twice as fast as the current version, while still being very close to bug-free.

On the bright side, the new synchronization model is 100% compatible between both the scanline renderer and a future cycle renderer. That will allow me to avoid a lot of timing code duplication, and it will also allow me to continue to offer a scanline renderer in future builds. And once I get the cycle renderer perfected, I would like to team up with some other people and work on a fast and accurate emulator.

Lastly, I´m changing up how the emulator is distributed. The readme and license files are now embedded inside the executabe, accessible from the help menu. As it is no longer required to include these text files, I can distribute the executable itself directly, ala uTorrent. For sites that mirror bsnes, but do not want to host it as a direct EXE file, feel free to put it inside a ZIP archive (along with a language locale file, if you wish.)



Changelog:

  • eliminated S-DD1 DMA enslavement to the S-CPU; this allows the S-DD1 to behave more like the real chip, and it also simplifies the S-CPU DMA module
  • eliminated S-PPU enslavement to the S-CPU; all processor cores now run independently of each other
  • added cycle-level S-PPU timing for OAM address reset and OBSEL; fixes scanline glitches in Mega Lo Mania and Winter Olympics
  • removed ppu.hack.* settings; as they are no longer needed due to above changes
  • corrected VRAM tiledata cache bug; fixes Super Buster Bros v1.0 reset glitch
  • added memory export and trace logging key bindings to user interface
  • removed WAV logging (to trim the emulation core)
  • embedded readme and license texts inside executable
  • simplified S-CPU, S-SMP flag register handling
  • source code cleanup for S-CPU timing module
  • GUI-Linux: added style improvements to the listbox and combo box controls
  • GUI-Linux: finally added filetype filter support to the file open dialog
  • GUI-all: shrunk configuration panel [FitzRoy]
  • GUI-all: modified paths panel descriptions for clarity [FitzRoy]

Regressions, bug reports, opinions on the new direct-executable distribution method, etc welcome.
Also, please be mindful of the rule[s] before commenting.
Related links:
[ SNES Emus ][ SNES Infos ][ Nintendo Infos ]
 
 
 
 Benutzer-Profile anzeigen Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
Beiträge vom vorherigen Thema anzeigen:     
Gehe zu:  
Alle Zeiten sind GMT + 1 Stunde
Neues Thema eröffnen   Neue Antwort erstellen  
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
PNphpBB2 © 
AEP Emulation Page 1998 - 2024