Giter Site home page Giter Site logo

86boxmanager's Introduction

86Box

Build Status License Latest release Downloads

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 both host and guest configuration. Most emulation logic is executed in a single thread; therefore, systems with better IPC (instructions per clock) generally should be able to emulate higher clock speeds.

It is also recommended to use a manager application with 86Box for easier handling of multiple virtual machines.

It is also possible to use 86Box on its own with 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!

Visit our IRC channel

Visit our Discord server

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.

86boxmanager's People

Contributors

daviunic avatar dhrdlicka avatar dl444 avatar obattler avatar ts-korhonen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

86boxmanager's Issues

"Configure" action for a stopped VM causes process related errors

Due to missing quotes around the VM path, 86Box.exe would not find the VM and close immediately, usually before the Manager could handle it. Additionally, due to lack of proper exception handling and recovery, this resulted in an unstable state.

Confirmed in 1.0.1, fixed in 1.0.2.

Existing VMs aren't relocated when the VM folder is changed in the settings

Currently, existing VMs will stay where they are and new ones will be created in the new folder. The VM folder should instead just be renamed/moved and every VM's path variable updated so that all VMs are kept in one place.

Confirmed in 1.0.3. Since I'll implement this as part of an optional action (yes-no message box…), this has been pushed back to 1.1.

Freeze after reboot or shutdown machine

1.1.0 - freeze after reboot or shutdown machine. Tested standalone 86box - its ok.
Tried: hard reset, soft reset (save BIOS and reboot), ctrl+alt+de - same thing.

[Bug] Configuration not saved when I select generic XT clone PC.

Hello!

When I select Generic XT clone, and save, the 86box does not save any data and the configuration is still the default. This bug seems to happen only when I select an XT machine. Also checked this configuration on 86box executable and there is no problem with the config.

Thanks in advance!

Allow selecting multiple VMs

This is useful for bulk starting, stopping, resetting or deleting multiple VMs. VirtualBox does support this and they disable menu items for move, clone, settings that trigger a UI when multiple VMs are selected.

Resetting a paused VM doesn't update its status to STATUS_RUNNING

If a paused VM is reset via CTRL+ALT+DEL or hard reset, it will be resumed but its status will remain STATUS_PAUSED. This causes the pause button to have the wrong label, etc. Can be fixed by pausing the VM and resetting it again.

Confirmed in 1.0.3. Fixed in 1.0.4.

Improve the behaviour of desktop shortcuts/command line arguments

The VM from the selected desktop shortcut should be started regardless of whether or not the Manager is already running. In case it is, the new process must handle this by restoring and focusing the existing window, and sending any relevant command line arguments to it, so that the selected VM can be started.

Add a tray icon

Minimizing/closing to a tray icon should be an option for those who need it.

Add the update check feature

The possibility of implementing an update check for 86box and the manager should be looked into. ETA unknown.

Use a timeout for WaitForInputIdle() when starting a VM

86Box crash or hang right on startup can bring down the Manager too, since the main thread is trying to obtain the window handle of the 86Box window that's unresponsive and potentially already gone if the process was terminated. This usually results in an error being displayed.

Will be done in version 1.4.0.

A virtual machine with an empty name ("") can be created

Add button in Add a VM dialog should be disabled when the dialog opens, but it isn't. It's thus possible to create a virtual machine with an empty name. The folder for this VM will obviously not be created, config and nvr will instead be placed into the root virtual machines folder. Same issue exists in the Edit VM dialog.

Confirmed in 1.0.4.

Prepare for a Linux port

Once 86Box gets a Linux port, the Manager should follow suit. Testing and potential modifications should be done to prepare for this eventuality. ETA unknown.

Add ability to export/import packaged virtual machines

Similar in principle to how VirtualBox does it. Initial idea is to compress all the relevant files (config, nvr, hard disk images) into a single packed file with an extension that's associated with 86Box Manager.

Probably a feature for version 2.0.

Path label can become longer than dialog width

In Add and Edit VM dialogs, the path label can become too long and extend beyond the dialog border. Can be solved either by breaking the path into two lines or shortening it and displaying the full string in a tooltip.

Improve handling of stuck VMs

At the moment, it's possible to stop a stuck virtual machine, which will set its status to stopped and thus disable the kill button. Since the stop command is sent by PostMessage, Manager doesn't wait for 86Box to process it. Using SendMessage with some timeout or check to detect stuck VMs might be a better approach.

Separate VM management code from UI code

Currently, VM managament functions are in the main form code and are directly tied into UI code. This should be split off into a separate class with only VM-related code that's UI-independent (e.g. could work with WPF instead of WinForms, etc.). ETA unknown.

Improve the UI

Most importantly, add icons to buttons, context menus, etc. Should be done soon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.