higan v101 released -- back to basics 2016-08-08
Not a large changelog this time, sorry. This release is mostly to fix the SA-1 issue, and to get some real-world testing of the new scheduler model. Most of the work in the past month has gone into writing a 68000 CPU core; yet it's still only about half-way finished.
- fixed SNES SA-1 IRQ regression (fixes Super Mario RPG level-up screen)
- new scheduler for all emulator cores (precision of 2^-127)
- icarus database adds nine new SNES games
- added Input/Frequency to settings file (allows simulation of latency)
Also, I've added a new tutorial page for higan, concerning firmware and its usage. This is made needlessly difficult right now due to the distribution methods used today. I implore the No-Intro team to please reconsider their position on firmware for the sake of making preservation more complete, and accurate SNES emulation easier for everyone.
higan v100 released 2016-07-08
I feel it's important to stress right away that this is not "version 1.00", nor is it a major milestone release. Rather than arbitrary version numbers, all of my software simply bumps version numbers by one for each official release. As such, higan v100 is simply higan's 100th release.
That said, the primary focus of this release has been code clean-ups. These are always somewhat dangerous in that regressions are possible. We've tested through sixteen WIP revisions, one of which was open to the public, to try and minimize any regressions. But all the same, please report any regressions if you discover any.
- FC: render during pixels 1-256 instead of 0-255 [hex_usr]
- FC: rewrote controller emulation code
- SFC: 8% speedup over the previous release thanks to PPU optimizations
- SFC: fixed nasty DB address wrapping regression from v099
- SFC: USART developer controller removed; superseded by 21fx
- SFC: Super Multitap option removed from controller port 1; ports renamed 2-5
- SFC: hidden option to experiment with 128KB VRAM (strictly for novelty)
- higan: audio volume no longer divided by number of audio streams
- higan: updated controller polling code to fix possible future mapping issues
- higan: replaced nall/stream with nall/vfs for file-loading subsystem
- tomoko: can now load multi-slotted games via command-line
- tomoko: synchronize video removed from UI; still available in the settings file
- tomoko, icarus: can navigate to root drive selection on Windows
- all: major code cleanups and refactoring (~1MB diff against v099)
Note 1: the audio volume change means that SGB and MSU1 games won't lose half the volume on the SNES sounds anymore. However, if one goes overboard and drives the sound all the way to max volume with the MSU1, clamping may occur. The obvious solution is not to drive volume that high (it will vastly overpower the SNES audio, which usually never exceeds 25% volume.) Another option is to lower the volume in the audio settings panel to 50%. In general, neither is likely to ever be necessary.
Note 2: the synchronize video option was hidden from the UI because it is no longer useful. With the advent of compositors, the loss of the complicated timing settings panel, support for the WonderSwan and its 75hz display, the need to emulate variable refresh rate behaviors in the Game Boy, the unfortunate latency spike and audio distortion caused by long Vsync pauses, and the arrival of adaptive sync technology ... it no longer makes sense to present this option. However, as stated, you can edit settings.bml to enable this option anyway if you insist and understand the aforementioned risks.