diff --git a/dev/buildguide.rst b/dev/buildguide.rst index 5c8b26b..d81ce9a 100644 --- a/dev/buildguide.rst +++ b/dev/buildguide.rst @@ -140,10 +140,19 @@ Arch Fedora """""" -.. code-block:: bash +* Fedora 41 and newer (DNF5) - $ sudo dnf groupinstall "C Development Tools and Libraries" - $ sudo dnf install cmake extra-cmake-modules pkg-config ninja-build freetype-devel SDL2-devel libatomic libpng-devel libslirp-devel libXi-devel openal-soft-devel rtmidi-devel fluidsynth-devel libsndfile-devel libserialport-devel qt5-linguist qt5-qtconfiguration-devel qt5-qtbase-private-devel qt5-qtbase-static wayland-devel libevdev-devel libxkbcommon-x11-devel zlib-ng-compat-static + .. code-block:: bash + + $ sudo dnf group install c-development + $ sudo dnf install cmake extra-cmake-modules pkg-config ninja-build freetype-devel SDL2-devel libatomic libpng-devel libslirp-devel libXi-devel openal-soft-devel rtmidi-devel fluidsynth-devel libsndfile-devel libserialport-devel qt5-linguist qt5-qtconfiguration-devel qt5-qtbase-private-devel qt5-qtbase-static wayland-devel libevdev-devel libxkbcommon-x11-devel zlib-ng-compat-static + +* Fedora 40 and older (DNF4) + + .. code-block:: bash + + $ sudo dnf groupinstall "C Development Tools and Libraries" + $ sudo dnf install cmake extra-cmake-modules pkg-config ninja-build freetype-devel SDL2-devel libatomic libpng-devel libslirp-devel libXi-devel openal-soft-devel rtmidi-devel fluidsynth-devel libsndfile-devel libserialport-devel qt5-linguist qt5-qtconfiguration-devel qt5-qtbase-private-devel qt5-qtbase-static wayland-devel libevdev-devel libxkbcommon-x11-devel zlib-ng-compat-static macOS (Homebrew) diff --git a/hardware/externalopl.rst b/hardware/externalopl.rst new file mode 100644 index 0000000..19950af --- /dev/null +++ b/hardware/externalopl.rst @@ -0,0 +1,19 @@ +External OPL Audio Support +========================== + +86Box now supports the **OPL2Board** as an external audio device. +This allows users to connect a real OPL2 (YM3812) chip through the board and use it alongside the emulator for authentic FM synthesis output. + +Usage +----- + +1. Connect your OPL2Board to the host system. +2. Select the sound card **[ISA] OPL2Board [External Device]**. +3. In the **Configure** button, select the serial port to which the board is connected. + +Notes for OPL2Board +------------------- + +- You need an **Arduino Nano** and an **OPL2Board** from Cheerful Electronic. +- Follow the **instructions from the manufacturer** and upload ``SerialPassthrough.ino`` to the Arduino Nano. +- If you want **PCM audio**, you can add an **additional sound card** and disable the OPL output. \ No newline at end of file diff --git a/settings/sound.rst b/settings/sound.rst index 643b975..0bfcb28 100644 --- a/settings/sound.rst +++ b/settings/sound.rst @@ -16,6 +16,9 @@ The *Configure* button opens a new window with settings specific to the selected Emulation for the Yamaha OPL series of synthesizers (used by many of the emulated cards) is provided by a modified `Nuked OPL3 `_ or `ymfm `_ library, per the :ref:`selection below `. MOS Technology 6581 SID emulation for the Innovation SSI-2001 and The Entertainer is provided by the reSIDfp component of the `libsidplayfp `_ library. General Instrument AY-3-8913 emulation for the Mindscape Music Board is provided by the `Ayumi `_ library. +You can also select an external OPL sound card by choosing the sound cards that have **(External Device)** at the end of their name. +See more information in the :ref:`External OPL audio device documentation `. + MIDI Out Device --------------- diff --git a/usage/manager.rst b/usage/manager.rst index e1be5dd..d2c929e 100644 --- a/usage/manager.rst +++ b/usage/manager.rst @@ -6,6 +6,11 @@ Opening 86Box will start the **virtual machine manager**, which allows for creat .. note:: * This manager is currently a preview, with a limited feature set expanding upon the previous standalone `86Box Manager `_ app. Other managers with more features can still be used. * Running 86Box directly no longer creates or starts an emulated machine in the current folder like on previous versions. The ``-P``/``--vmpath`` command line option can be used to start a machine directly instead. + * The manager can be fully disabled (restoring the behavior of previous 86Box versions when launched without specifying a virtual machine path on the command line) by adding ``vmm_disabled = 1`` to the global configuration file, which is stored at one of the following locations based on the platform: + + * **Windows**: ``C:\Users\[username]\AppData\Local\86Box\86box_global.cfg`` + * **Linux**: ``~/.config/86Box/86box_global.cfg`` + * **macOS**: ``~/Library/Preferences/86Box/86box_global.cfg`` Machine list ------------ diff --git a/usage/roms.rst b/usage/roms.rst index cf838d1..7672712 100644 --- a/usage/roms.rst +++ b/usage/roms.rst @@ -18,6 +18,8 @@ The emulator utilizes a search path mechanism to locate ROMs. By default, the fo A custom location can be specified by using the ``-R`` or ``--rompath`` command line argument, which then precedes any other considered locations. +.. tip:: The list of all paths searched when loading ROMs is printed to the log and standard output when 86Box starts. + .. rubric:: Windows The following locations are searched on Windows: @@ -38,7 +40,7 @@ This usually resolves to ``~/.local/share/86Box/roms``, ``/usr/local/share/86Box The following locations are searched on macOS: -1. ``~/Library/Application Support/net.86box.86Box/roms`` -2. ``/Library/Application Support/net.86box.86Box/roms`` +1. ``~/Library/Application Support/86Box/roms`` +2. ``/Library/Application Support/86Box/roms`` -.. tip:: The list of all paths searched when loading ROMs is printed to the log and standard output when 86Box starts. +.. note:: If 86Box cannot find any ROM dumps even after you extracted the set into one of the directories listed above, please make sure that the ``roms`` folder name does not contain a hidden extension. This can be fixed by selecting the folder in Finder, choosing *Get Info* in the context menu or the *File* menu, and renaming the folder in the *Name & Extension* section of the information window.