Libretro fork of bsnes. As close to upstream as possible.

bsnes is a Super Nintendo emulator that began development on 2004-10-14. It
focuses on accuracy and clean code above all else. It never uses speed or
compatibilty hacks. As a result, the minimum system requirements are greater
than with other emulators. bsnes comes in three different profiles (accuracy,
balance and performance) which contain minor differences in the PPU (graphics)
emulation.

bsnes requires the following BIOS image files under the system directory for
operation:

* dsp1.data.rom (DSP1 DATA) (CRC: c8347cbd)
* dsp1.program.rom (DSP1 PROGRAM) (CRC: db9a4c92)
* dsp1b.data.rom (DSP1B DATA) (CRC: 37a252c6)
* dsp1b.program.rom (DSP1B PROGRAM)) (CRC: 66a73998)
* dsp2.data.rom (DSP2 DATA) (CRC: b3893c70)
* dsp2.program.rom (DSP2 PROGRAM) (CRC: 0c1cf838)
* dsp3.data.rom (DSP3 DATA) (CRC: 8b41a2bd)
* dsp3.program.rom (DSP3 PROGRAM) (CRC: f29be51c)
* dsp4.data.rom (DSP4 DATA) (CRC: efa8b9b2)
* dsp4.program.rom (DSP4 PROGRAM) (CRC: 14b77ae3)
* cx4.data.rom (Cx4 DATA) (CRC: b6e76a6a)
* st010.data.rom (ST-0010 DATA) (CRC: 216081b2)
* st010.program.rom (ST-0010 PROGRAM) (CRC: 691cbb4f)
* st011.data.rom (ST-0011 DATA) (CRC: 803256a7)
* st011.program.rom (ST-0011 PROGRAM) (CRC: a741e9fb)
* st018.data.rom (ST-0018 DATA) (CRC: b5255459)
* st018.program.rom (ST-0018 PROGRAM) (CRC: f73d5e10)
* sgb.boot.rom (SGB BOOT PROGRAM) (CRC: ec8a83b9 [1])

[1] This is the boot rom only, you need the correct cart image to load SGB
games.

=====

Super Gameboy is supported via the subsystem API. In RetroArch the API is
already implemented but only available via CLI. For SGB support you need both
sgb.boot.rom and the SGB rom. To launch SGB games launch RetroArch like this:

  retroarch -L {path to bsnes core} {path to snes rom} \
            --subsystem sgb {path to gb rom}

Tested snes roms [2]:
* Super Game Boy (Japan, USA) (Rev 1).sfc (CRC: 27a03c98)[3]
* Super Game Boy (World) (Rev 2).sfc (CRC: 8a4a174f)
* Super Game Boy 2 (Japan).sfc (CRC: cb176e45)

[2] Savestates are broken in this implementation.
[3] Some games don't work with this rom, try version SGB v2 for best results.

=====

By default, this SlackBuild will build the bsnes accuracy core.
To build the balanced or performance cores, choose any desired cores:
  CORE="accuracy balanced performance" ./bsnes-libretro.SlackBuild

Or to build all three cores, "all" can be used:
  CORE="all" ./bsnes-libretro.SlackBuild

To build the debugging symbols use:
  DEBUG=1 ./bsnes-libretro.SlackBuild
