* Initial spindle emulation working for windows atleast * Spingle motor spin-up, spin-down implemented with smooth transitions to motor-on loop. * Moved fdd audio emulation to a separate file * Multiple drives sound emulation * Single sector movement sound emulations implemented * Rename project to Immersive86Box and update details Updated README to reflect the new project name and added details about the Immersive86Box features and future plans. * Revise contribution guidelines in CONTRIBUTING.md * Update vulnerability reporting instructions * System fan-sound next feature after basic fdd sound emulation is ready * v0.5 multitrack audio seek sfx * Removed unnecessary stuff * no .vs folder for git * Added currently used fdd sound effects and readme.txt for source of the files and intallation instructions * Add audio emulation installation instructions Added instructions for audio emulation installation. * Code and audio samples merged * Simplify audio emulation installation instructions * FDC seeking fixed, not instant anymore drive is set to busy during the operation and when it's finished at call fdc to set the appropriate fdc flags. Also added time logic to fdd to calculate seek duration and a callback function for it. * FDD sound samples volume control * Menu options to enable / disable fdd sound for all drives. DISABLE_FDD_AUDIO definition added, to disable the feature via cmake/build. * Revert readme etc. changes * Revert "Revise contribution guidelines in CONTRIBUTING.md" This reverts commit 98a0478225bbf8bf0fb0e7edfd5c00636ecc0eed. * Revert "Update vulnerability reporting instructions" This reverts commit 7d32cb659b018b26bdaa4a1e06ee9c3d09278aac. * Fixed merge issue * Removed excess files * Fixed PCJr seeking not to break the FDC implementation. Now seeking will take the "correct" amount of time for each system and the seek time is based on the track count. E.g. 40 track FDD system causes 40 track seek time to be 80/40 * 6ms * 40 tracks + 50ms = 480ms + 50ms -> 530ms. 80 track system full seek is 80/80 * 6ms * 80 + 50ms = 530ms, 40 track seek would take 240 + 50 = 290ms. * Fixed PS/1, PS/2 and PS/55 FDD issues. * FDD_AUDIO: Updating samples looked in executablePath/samples and if now found there, looks in the executable directory * Updated installation instructions * Removed samples path strcat use * fdd_audio 5.25 samples and support added * FDD audio timing/volume tunings * Timing fixes for authentity and special longer timings for PCJr * Fixed second drive motor keeps running when first drive is only accessed. * Fixed PCJr random failure issue, timings * CodeQL fix for load_wav-function. Check the filename to be proper filename * Revert "Fixed second drive motor keeps running when first drive is only accessed." This reverts commit 307b173ae7d40c9efafed8d432e01cce9808b111. * Teac 5.25" drive samples added. Added per drive audio selection to FDD settings. * Fixed mistake in samples folder recreation --------- Co-authored-by: Toni Riikonen <domppari@hotmail.com>
86Box
86Box is a low level x86 emulator that runs older operating systems and software designed for IBM PC systems and compatibles from 1981 through fairly recent system designs based on the PCI bus.
Features
- Easy to use interface inspired by mainstream hypervisor software
- Low level emulation of 8086-based processors up to the Mendocino-era Celeron with focus on accuracy
- Great range of customizability of virtual machines
- Many available systems, such as the very first IBM PC 5150 from 1981, or the more obscure IBM PS/2 line of systems based on the Micro Channel Architecture
- Lots of supported peripherals including video adapters, sound cards, network adapters, hard disk controllers, and SCSI adapters
- MIDI output to Windows built-in MIDI support, FluidSynth, or emulated Roland synthesizers
- Supports running MS-DOS, older Windows versions, OS/2, many Linux distributions, or vintage systems such as BeOS or NEXTSTEP, and applications for these systems
Minimum system requirements and recommendations
- Intel Core 2 or AMD Athlon 64 processor or newer
- Windows version: Windows 7 Service Pack 1 or later
- Linux version: Ubuntu 16.04, Debian 9.0 or other distributions from 2016 onwards
- macOS version: macOS High Sierra 10.13 or newer
- 4 GB of RAM or higher
Performance may vary depending on host and guest configuration. Most emulation logic is executed in a single thread. Therefore, systems with greater IPC (instructions per clock) capacity should be able to emulate higher clock speeds.
For easier handling of multiple virtual machines, use a manager application:
- Avalonia 86 by notBald (Windows and Linux)
- 86Box Manager by Overdoze (Windows only)
- 86Box Manager X by xafero (Cross platform Port of 86Box Manager using Avalonia)
- sl86 by DDX (Command-line 86Box machine manager written in Python)
- Linbox-qt5 by Dungeonseeker (Linux focused, should work on Windows though untested)
- MacBox for 86Box by Moonif (MacOS only)
To use 86Box on its own, use the --vmpath/-P command line option.
Getting started
See our documentation for an overview of the emulator's features and user interface.
Community
We operate an IRC channel and a Discord server for discussing 86Box, its development, and anything related to retro computing. We look forward to hearing from you!
Contributions
We welcome all contributions to the project, as long as the contribution guidelines are followed.
Building
For instructions on how to build 86Box from source, see the build guide.
Licensing
86Box is released under the GNU General Public License, version 2 or later. For more information, see the COPYING file in the root of the repository.
The emulator can also optionally make use of munt, FluidSynth, Ghostscript and Discord Game SDK, which are distributed under their respective licenses.
Donations
We do not charge you for the emulator but donations are still welcome: https://paypal.me/86Box.
You can also support the project on Patreon: https://www.patreon.com/86box.

