![](.github/readme.png)

<p align="center">
  <a href="https://raw.githubusercontent.com/openemulator/libemulation/master/COPYING"><img alt="GitHub" src="https://img.shields.io/github/license/openemulator/libemulation.svg?label=License&style=for-the-badge"> </a> <a href="https://travis-ci.org/openemulator/libemulation"><img alt="Travis (.org)" src="https://img.shields.io/travis/openemulator/libemulation.svg?label=CI&logo=travis&logoColor=white&style=for-the-badge"></a> <a href="https://gitter.im/openemulator/community"><img alt="Gitter" src="https://img.shields.io/gitter/room/openemulator/community.svg?color=blue&logo=gitter&style=for-the-badge"></a>
</p>

---

**libemulation** is an emulation framework of legacy computer systems powering emulators such as [OpenEmulator](https://github.com/openemulator/openemulator).

  * Implemented in C++
  * Portable, accurate emulation framework
  * Large, diverse component library
  * Emulates famous legacy computers, such as the Apple II and more
  * Easy to create emulations using [EDL](doc/The%20libemulation%20Book.txt), or Emulation Description Language

## Usage
libemulation is implemented in C++ and can be linked with your emulator application as a static library. We aim to be portable, but currently the only officially supported and tested platform is macOS. Refer to [INSTALL.md](INSTALL.md) for instructions on how to build libemulation.

## Feedback and contributing
If you find a bug, or would like a specific feature, please report it at:

[https://github.com/openemulator/libemulation/issues](https://github.com/openemulator/libemulation/issues)

If you would like to contribute to the project, fork the repository on GitHub and send us your pull requests!

## License
libemulation is released under the [GNU General Public License v3](COPYING).
