Difference between revisions of "Higan"

From Emulation General Wiki
Jump to navigation Jump to search
(Other Forks)
(Separating this page into several for each emulator WIP)
Line 3: Line 3:
 
|logo = Icon.png
 
|logo = Icon.png
 
|logowidth = 160
 
|logowidth = 160
|developer = byuu et al.
+
|developer = Near <small>(formerly known as byuu)</small>
 
|version = {{higanVer}}
 
|version = {{higanVer}}
 
|active = Yes
 
|active = Yes
Line 15: Line 15:
 
|source = [https://github.com/byuu/higan Github]
 
|source = [https://github.com/byuu/higan Github]
 
}}
 
}}
'''higan''' (formerly '''bsnes''') is an open-source, [[Multi-system emulators|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]].
+
{{WIP}}
 +
'''higan''' is an open-source, [[Multi-system emulators|multi-system emulator]].  
  
 
==Download==
 
==Download==
Line 22: Line 23:
 
|align=center|{{Icon|Win|Lin|Mac|BSD}}
 
|align=center|{{Icon|Win|Lin|Mac|BSD}}
 
|'''[https://byuu.org/higan higan releases]'''<br/><small>Stable and dev builds</small>
 
|'''[https://byuu.org/higan higan releases]'''<br/><small>Stable and dev builds</small>
|-
 
|align=center|{{Icon|Win|Lin|Mac|BSD}}
 
|[https://byuu.org/bsnes bsnes releases]<br/><small>Stable and dev builds</small>
 
|-
 
|colspan="3"|<hr/>
 
|-
 
|align=center|{{Icon|Win-big}}
 
|[http://github.com/devinacker/bsnes-plus/releases bsnes-plus v073+3a]
 
|-
 
|align=center|{{Icon|Win-big}}
 
|[http://github.com/sharknnth/bsnes-classic/releases bsnes-classic]
 
 
|}
 
|}
  
 
==Overview==
 
==Overview==
===bsnes versions===
+
higan is a project that orginally separted from Nears provious SNES emulator [[bsnes]] when he started adding more system cores.
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===
 
===Game folders===
 
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.
 
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)===
 
'''[https://byuu.org/bsnes bsnes]'''is 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===
 
'''[https://helmet.kafuka.org/byuubackup2/viewtopic.php@f=2&t=2131.html 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==
 
==List of forks==
===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:
 
* '''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===
 
There is a fork of bsnes known as '''[https://github.com/libretro/bsnes-mercury 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 [[ZSNES#ZMZ|ZMZ]] and is also developing his own [[libretro]] frontend, [https://github.com/Alcaro/minir minir].
 
 
===bsnes-classic===
 
'''[https://github.com/awjackson/bsnes-classic 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===
 
===nSide===
 
'''[https://gitlab.com/hex-usr/nSide 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.
 
'''[https://gitlab.com/hex-usr/nSide 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===
 
* [[BizHawk]]: bsnes v087 fork with added TAS features. Multi-system. Used for tool-assisted speedruns and has a debugger.
 
* [http://www.bannister.org/software/bsnes.htm bsnes macOS]: bsnes v068 fork for macOS. Discontinued.
 
* [https://github.com/Themaister/bsnes-Qt bsnes-Qt]: bsnes v073 fork to maintain Qt GUI.
 
* [https://github.com/LuigiBlood/bsnes-sx2 bsnes-sx2]: bsnes fork with added Satellaview features. Discontinued. Merged with bsnes-plus.
 
* [https://github.com/devinacker/bsnes-plus bsnes-plus]: bsnes-classic fork with added superior debugging features.
 
* [https://github.com/libretro/bsnes-libretro-cplusplus98 bsnes-cplusplus98]: bsnes v085 port to C++98. For Win9x-compatible [[RetroArch]] versions.
 
* [https://github.com/AndreaOrru/bsnes-gilgamesh bsnes-gilgamesh]: bsnes-mercury fork with added SQL database for CPU instructions.
 
* bsnes-hle: bsnes fork with HLE regressions.
 
* [https://github.com/libretro/bsnes-libretro bsnes-libretro]: higan v094 fork for [[RetroArch]].
 
* [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.
 
* [https://github.com/grim210/defimulator/tree/master/defimulator defimulator]: bsnes v074 fork.
 
* [https://github.com/quequotion/higan-qq higan-qq]: higan v094 fork.
 
* [http://repo.or.cz/w/lsnes.git lsnes]: bsnes fork with added TAS features.
 
* [https://github.com/OpenEmu/BSNES-Core OpenEmu/BSNES-Core]: bsnes v089 fork for macOS.
 
* [https://github.com/bozalina/snesbox SnesBox]: bsnes port to C#.
 
* [https://github.com/juliangoracke/xSnes-Diverted-from-Higan-094 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==
 
==Review==
Line 104: Line 49:
  
 
==External links==
 
==External links==
* [https://higan.readthedocs.io/ higan manual] (community-maintained)
+
* [https://higan.readthedocs.io/ higan Manual] (community-maintained)
 
* [https://byuu.org/higan/user-guide higan User Guide] (official guide to using higan)
 
* [https://byuu.org/higan/user-guide higan User Guide] (official guide to using higan)
  

Revision as of 10:34, 15 February 2020

higan
Icon.png
Developer(s) Near (formerly known as byuu)
Latest version v110
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 is an open-source, multi-system emulator.

Download

Windows Linux macOS FreeBSD higan releases
Stable and dev builds

Overview

higan is a project that orginally separted from Nears provious SNES emulator bsnes when he started adding more system cores.

Game folders

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.


List of forks

nSide

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.


Review

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

External links