Difference between revisions of "Higan"

From Emulation General Wiki
Jump to navigation Jump to search
m
 
(4 intermediate revisions by 3 users not shown)
Line 7: Line 7:
 
|active = Yes
 
|active = Yes
 
|platform = Windows, macOS, Linux, OpenBSD, FreeBSD, [[libretro]]
 
|platform = Windows, macOS, Linux, OpenBSD, FreeBSD, [[libretro]]
|target = [[Nintendo Entertainment System emulators|Nintendo Entertainment System (Famicom)]], [[Super Nintendo emulators|Super Nintendo Entertainment System (Super Famicom)]], [[Game Boy/Game Boy Color emulators|Nintendo Game Boy/Color]], [[Game Boy Advance emulators|Game Boy Advance]], [[WonderSwan emulators|Bandai WonderSwan/Color]], [[Master System emulators|Sega Master System]], [[Master System emulators|Game Gear]], [[Sega Genesis emulators|Genesis/Mega Drive]], [[PC Engine (TurboGrafx-16) emulators|NEC PC Engine (TurboGrafx-16)]]
+
|target = [[Nintendo Entertainment System emulators|Nintendo Entertainment System (Famicom)]], [[Super Nintendo emulators|Super Nintendo Entertainment System (Super Famicom)]], [[Game Boy/Game Boy Color emulators|Nintendo Game Boy/Color]], [[Game Boy Advance emulators|Game Boy Advance]], [[WonderSwan emulators|Bandai WonderSwan/Color]], [[Master System emulators|Sega Master System]], [[Master System emulators|Game Gear]], [[Sega Genesis emulators|Genesis/Mega Drive]], [[PC Engine (TurboGrafx-16) emulators|NEC PC Engine (TurboGrafx-16)]], [[MSX emulators|MSX]], [[ColecoVision emulators|ColecoVision]]  
 
|compatibility = <small>100% for commercial titles<br/>Some homebrew may have small defects</small>
 
|compatibility = <small>100% for commercial titles<br/>Some homebrew may have small defects</small>
 
|accuracy = System-dependent
 
|accuracy = System-dependent
 
|website = [http://byuu.org/emulation/higan/ byuu.org]
 
|website = [http://byuu.org/emulation/higan/ byuu.org]
 
|support = [https://www.patreon.com/byuu Patreon]
 
|support = [https://www.patreon.com/byuu Patreon]
|license = GNU GPL v3
+
|license = GNU GPLv3
 
|source = [https://github.com/byuu/higan Github]
 
|source = [https://github.com/byuu/higan Github]
 
}}
 
}}
Line 23: Line 23:
 
* [http://github.com/sharknnth/bsnes-classic/releases bsnes-classic (GitHub builds)]
 
* [http://github.com/sharknnth/bsnes-classic/releases bsnes-classic (GitHub builds)]
 
* [http://www.emucr.com/search/label/bsnes-classic bsnes-classic (EmuCR builds)]
 
* [http://www.emucr.com/search/label/bsnes-classic bsnes-classic (EmuCR builds)]
* [https://github.com/hex-usr/nSide/releases nSide v009r16]
+
* [https://gitlab.com/hex-usr/nSide nSide v009r16]
  
 
==Overview==
 
==Overview==
Line 47: Line 47:
 
===bsnes-hd===
 
===bsnes-hd===
 
[https://github.com/DerKoun/bsnes-hd bsnes-hd] (formally "HD Mode 7 mod, for bsnes") is a newer fork of bsnes (released in 2019 by DerKoun) that adds HD video features, such as:
 
[https://github.com/DerKoun/bsnes-hd bsnes-hd] (formally "HD Mode 7 mod, for bsnes") is a newer fork of bsnes (released in 2019 by DerKoun) that adds HD video features, such as:
* '''HD Mode 7''' - Rendering the rotated, scaled or pseudo perspective backgrounds at higher resolutions. This does not involve new custom imagery or upscaling algorithms. It is a higher resolution version of the process the SNES uses.
+
* '''HD Mode 7''' Rendering the rotated, scaled or pseudo perspective backgrounds at higher resolutions. This does not involve new custom imagery or upscaling algorithms. It is a higher resolution version of the process the SNES uses.
* '''Widescreen''' - Extending the scenes to the left and right, without distorting them. Works for most Mode 7 scenes, but also for some other scenes/games, after some setting tweaking.
+
* '''Widescreen''' Extending the scenes to the left and right, without distorting them. Works for most Mode 7 scenes, but also for some other scenes/games, after some setting tweaking.
* '''Some non-HD related features''' - Like the ability to disable background layers, sprites and window effects for screenshots for wallpapers or soft crop to zoom in, leaving maps or static art off the sides of the screen.
+
* '''Some non-HD related features''' Like the ability to disable background layers, sprites and window effects for screenshots for wallpapers or soft crop to zoom in, leaving maps or static art off the sides of the screen.
  
 
Some of the features of this fork are or will be included in official bsnes. The difference is that official bsnes only has slight visual improvements but with mostly perfect compatibility. bsnes-hd has more hacks that give true HD in mode 7 SNES games and widescreen in other games.
 
Some of the features of this fork are or will be included in official bsnes. The difference is that official bsnes only has slight visual improvements but with mostly perfect compatibility. bsnes-hd has more hacks that give true HD in mode 7 SNES games and widescreen in other games.
Line 74: Line 74:
 
* bsnes-hle: bsnes fork with HLE regressions.
 
* bsnes-hle: bsnes fork with HLE regressions.
 
* [https://github.com/libretro/bsnes-libretro bsnes-libretro]: higan v094 fork for [[RetroArch]].
 
* [https://github.com/libretro/bsnes-libretro bsnes-libretro]: higan v094 fork for [[RetroArch]].
* [https://board.byuu.org/viewtopic.php?f=4&t=2061&p=54005 bsnes-mcfly]: higan v106 fork with the Qt GUI from bsnes v073.
+
* [https://gitlab.com/hex-usr/bsnes-mcfly bsnes-mcfly]: higan v106 fork with the Qt GUI from bsnes v073.
 
* bsnes-rr: bsnes fork with re-recording features.
 
* bsnes-rr: bsnes fork with re-recording features.
 
* [https://github.com/grim210/defimulator/tree/master/defimulator defimulator]: bsnes v074 fork.
 
* [https://github.com/grim210/defimulator/tree/master/defimulator defimulator]: bsnes v074 fork.

Latest revision as of 14:17, 6 October 2019

higan
Icon.png
Developer(s) byuu et al.
Latest version v106
Active Yes
Platform(s) Windows, macOS, Linux, OpenBSD, FreeBSD, libretro
Emulates Nintendo Entertainment System (Famicom), Super Nintendo Entertainment System (Super Famicom), Nintendo Game Boy/Color, Game Boy Advance, Bandai WonderSwan/Color, Sega Master System, Game Gear, Genesis/Mega Drive, NEC PC Engine (TurboGrafx-16), MSX, ColecoVision
Compatibility 100% for commercial titles
Some homebrew may have small defects
Accuracy System-dependent
Website byuu.org
Support ($) Patreon
License GNU GPLv3
Source code Github

higan (formerly bsnes) is an open-source, multi-system emulator. It was created in response to inaccurate SNES emulators such as ZSNES and shoddy ROM hacks. It is also available as a libretro core for RetroArch.

Downloads[edit]

Overview[edit]

bsnes versions[edit]

higan's Super Nintendo emulator, bsnes, has 3 different profiles: Performance, Balanced, and Accuracy. The Balanced version is recommended for modern PCs. Use the Accuracy profile only for extreme cases. The Balanced profile was previously known as "Compatibility" in versions before v092.

The main concession to performance in the Balanced core is the PPU (graphics) emulation – rather than render a pixel at a time as real hardware must do, it renders an entire scanline at a time. Because Nintendo told SNES programmers not to mess with the PPU while scanline rendering was in progress, this has no effect in most games – but some programmers deliberately broke the rules and these games will have problems in the Balanced core.

There are two games known to manipulate the PPU mid-scanline; “A.S.P. – Air Strike Patrol (USA)” and “Uniracers (USA)”. Uniracers works because it’s the only game that tries to manipulate OAM mid-scanline, and bsnes just happens to behave exactly the way that Uniracers expects. Air Strike Patrol is missing the shadow beneath the plane, which makes the game harder to play.

v098 is the last release of higan which includes the Balanced and Performance profiles. Future releases will only include the Accuracy profile.

Game folders[edit]

higan is unique among emulators for introducing the concept of game folders. Game folders were about accurately representing the game cartridge and its metadata. Things like SRAM, cheats, input settings, emulator metadata get stored with the game.

bsnes (Official Release)[edit]

bsnesis a subset project of higan, and focuses on performance, features, and ease of use. It returns to the Qt GUI that it abandoned before its merger with higan and has a much faster multi-threaded PPU renderer, giving it the performance of the old bsnes-balanced core while retaining the accuracy of the bsnes-accurate core.

csnes[edit]

csnes is a separate emulator made by byuu for commercial use, specifically companies that wish to re-release SNES titles they hold the licenses to. It is made completely from scratch and aims for speed and performance while maintaining a high level of accuracy for all licensed SNES titles.

List of forks[edit]

bsnes-hd[edit]

bsnes-hd (formally "HD Mode 7 mod, for bsnes") is a newer fork of bsnes (released in 2019 by DerKoun) that adds HD video features, such as:

  • HD Mode 7 – Rendering the rotated, scaled or pseudo perspective backgrounds at higher resolutions. This does not involve new custom imagery or upscaling algorithms. It is a higher resolution version of the process the SNES uses.
  • Widescreen – Extending the scenes to the left and right, without distorting them. Works for most Mode 7 scenes, but also for some other scenes/games, after some setting tweaking.
  • Some non-HD related features – Like the ability to disable background layers, sprites and window effects for screenshots for wallpapers or soft crop to zoom in, leaving maps or static art off the sides of the screen.

Some of the features of this fork are or will be included in official bsnes. The difference is that official bsnes only has slight visual improvements but with mostly perfect compatibility. bsnes-hd has more hacks that give true HD in mode 7 SNES games and widescreen in other games.

bsnes-mercury[edit]

There is a fork of bsnes known as bsnes-mercury, which aims to restore functionality like HLE DSP chip emulation and SGB emulation using Gambatte that was removed in later versions of bsnes, as well as to have some optimizations that don't affect emulation accuracy. It also has an option to overclock SuperFX. Default options make it exactly the same as regular bsnes, with LLE DSP chip emulation enabled. This fork is only available as a libretro core, though it is possible to build it with Ethos (byuu's frontend) instead.

This fork is developed by Alcaro, who developed ZMZ and is also developing his own libretro frontend, minir.

bsnes-classic[edit]

bsnes-classic is a fork of bsnes v073 that aims to backport emulation improvements from current higan while keeping the features of the older version's Qt GUI.

nSide[edit]

nSide is a fork of higan that, among other things, adds support for more boards such as the Atari 2600 as well as peripherals and the VS. UniSystem to the NES core. It also retains the SNES Balanced core and thus makes available new improvements to higan, such as the WASAPI driver and the IIR-Biquad interpolation filter, to users whose computers cannot run the Accuracy core-only releases from higan v098 onwards with full speed.

Other Forks[edit]

  • BizHawk: bsnes v087 fork with added TAS features. Multi-system. Used for tool-assisted speedruns and has a debugger.
  • bsnes macOS: bsnes v068 fork for macOS. Discontinued.
  • bsnes-Qt: bsnes v073 fork to maintain Qt GUI.
  • bsnes-sx2: bsnes fork with added Satellaview features. Discontinued. Merged with bsnes-plus.
  • bsnes-plus: bsnes v073 fork with added superior debugging features.
  • bsnes-cplusplus98: bsnes v085 port to C++98. For Win9x-compatible RetroArch versions.
  • bsnes-gilgamesh: bsnes-mercury fork with added SQL database for CPU instructions.
  • bsnes-hle: bsnes fork with HLE regressions.
  • bsnes-libretro: higan v094 fork for RetroArch.
  • bsnes-mcfly: higan v106 fork with the Qt GUI from bsnes v073.
  • bsnes-rr: bsnes fork with re-recording features.
  • defimulator: bsnes v074 fork.
  • higan-qq: higan v094 fork.
  • lsnes: bsnes fork with added TAS features.
  • OpenEmu/BSNES-Core: bsnes v089 fork for macOS.
  • SnesBox: bsnes port to C#.
  • xSnes: higan v094 fork to remove non-SNES systems.

Discontinued forks: honou, IronSNES, SSNES (which became RetroArch). Mednafen has a bsnes v059 fork as its SNES core.

Review[edit]

higan's bsnes and bgba cores are its most developed/accurate. The Nintendo 8-bit cores are very early in development, and are inferior to other existing emulators; alternatives include Gambatte, BGB, Mesen, puNES, and Nestopia. Bgba has made amazing strides from v095 on, getting very close to mGBA accuracy. higan also features a WonderSwan/WonderSwan Color core as of v098, which yields satisfactory results. The library-based GUI is not for everyone, though, and doesn't support drag and drop like a lot of other emulators do.

byuu noticed that Higan's UI is not for everybody and made a standalone version of bsnes that is developed in parallel with Higan's SNES core and has a Qt UI that's just like the earlier versions. For those that still aren't satisfied, RetroArch has its own libretro cores of bsnes to use with its interface.

Resources[edit]

External links[edit]