New guide on emulation cores.

This commit is contained in:
Electric Keet 2023-07-22 16:03:18 -07:00
parent 5ba14cbfef
commit 3a9f2803d2
3 changed files with 49 additions and 30 deletions

View File

@ -181,37 +181,19 @@ settings are saved when clicking the **OK** button at the bottom of the dialog.
- **NTSC non-drop (30fps)**
# Emulation
- **Arcade/YM2151 core**
- **ymfm**
- **Nuked-OPM**
- **Genesis/YM2612 core**
- **Nuked-OPN2**
- **ymfm**
- **SN76489 core**
- **MAME**
- **Nuked-PSG Mod**
- **NES core**
- **puNES**
- **NSFplay**
- **FDS core**
- **puNES**
- **NSFplay**
- **SID core**
- **reSID**
- **reSIDfp**
- **POKEY core**
- **Atari800 (mzpokeysnd)**
- **ASAP (C++ port)**
- **OPN/OPNA/OPNB cores**
- **ymfm only**
- **Nuked-OPN2 (FM) + ymfm (SSG/ADPCM)**
- **PC Speaker strategy:**
- **evdev SND_TONE**
- **KIOCSOUND on /dev/tty1**
- **/dev/port**
- **KIOCSOUND on standard output**
- **outb()**
- **Arcade/YM2151 core**\
**Genesis/YM2612 core**\
**SN76489 core**\
**NES core**\
**FDS core**\
**SID core**\
**POKEY core**\
**OPN/OPNA/OPNB cores**: all of these are covered in the [guide to choosing emulation cores](../9-guides/emulation-cores.md).
- **PC Speaker strategy**: this is covered in the [PC speaker system doc](../7-systems/pcspkr.md).
- **Sample ROMs:**
- **OPL4 YRW801 path**

View File

@ -3,3 +3,4 @@
here is a small collection of useful tricks and techniques to really make Furnace sing.
- [using samples with limited playback rates](limited-samples.md)
- [choosing emulation cores](emulation-cores.md)

View File

@ -0,0 +1,36 @@
# choosing emulation cores
Furnace achieves the authentic sound of videogame hardware by emulating sound chips accurately as possible, using the best **emulator cores** available. in some cases there are multiple cores to choose from, each with different strengths and weaknesses. here are the major differences between them all.
- **Arcade/YM2151 core**:
- **ymfm**: default. much less CPU usage than Nuked-OPM, but less accurate. recommended for users with last-gen or earlier hardware.
- **Nuked-OPM**: much more accurate than ymfm, due to the emulator being based on an image of the die map taken from a real YM2151. very CPU heavy, only recommended for users with recent hardware.
- **Genesis/YM2612 core**:
- **Nuked-OPN2**: default. same as Nuked-OPM above.
- **ymfm**: same as ymfm above.
- **SN76489 core**:
- **MAME**: default. less accurate than Nuked, but with lower CPU usage. comes from the MAME emulator project.
- **Nuked-PSG Mod**: more accurate, but not by that much. this originally started as an emulator for the YM7101 PSG sound generator, but was modified to emulate the SN7 as the MAME core was deemed unsatisfactory by some.
- **NES core**:
- **puNES**: default. it comes from a dedicated NES emulator.
- **NSFplay**: higher CPU usage than puNES.
- **FDS core**:
- **puNES**: default. lower CPU usage and far less accurate.
- **NSFplay**: higher CPU usage and much more accurate.
- **SID core**:
- **reSID**: default. a high quality emulation core. somewhat CPU heavy.
- **reSIDfp**: improved version of reSID. the most accurate choice. _extremely_ CPU heavy.
- **dSID**: a lightweight open-source core used in DefleMask. not so accurate but it's very CPU light.
- **POKEY core**:
- **Atari800 (mzpokeysnd)**: does not emulate two-tone mode.
- **ASAP (C++ port)**: default. the sound core used in the ASAP player. most accurate option.
- **OPN/OPNA/OPNB cores**:
- **ymfm only**: lower CPU usage, less accurate FM.
- **Nuked-OPN2 (FM) + ymfm (SSG/ADPCM)**: default. more accurate FM at the cost of more CPU load.