PHPackages                             thefox/i8086emu - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. thefox/i8086emu

ActiveProject[Utility &amp; Helpers](/categories/utility)

thefox/i8086emu
===============

Intel 8086 CPU Emulator

2811[3 issues](https://github.com/TheFox/i8086emu/issues)PHPCI failing

Since Mar 23Pushed 6y ago3 watchersCompare

[ Source](https://github.com/TheFox/i8086emu)[ Packagist](https://packagist.org/packages/thefox/i8086emu)[ RSS](/packages/thefox-i8086emu/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

Intel 8086 CPU Emulator
=======================

[](#intel-8086-cpu-emulator)

An Intel 8086 CPU Emulator written in pure PHP.

Project Outlines
----------------

[](#project-outlines)

The project outlines as described in my blog post about [Open Source Software Collaboration](https://blog.fox21.at/2019/02/21/open-source-software-collaboration.html).

- The main purpose of this software is to emulate the Intel 8086 CPU using pure PHP.
- The features should not go beyond Intel's features and functions. So the features of this software are limited to those of the Intel 8086 CPU.
- This list is open. Feel free to request features.

Compile the BIOS
----------------

[](#compile-the-bios)

Run `make bios/bios`.

TTY
---

[](#tty)

In order to have a TTY for the in- and output you can specify `--tty `. This will start a `socat` subprocess to create an interface between PHP and TTY. The TTY then can be accessed using `screen`.

Optional, to use a different installation path for the `socat` binary you can specify `--socat `.

1. Install `socat`.
2. Open a shell and run `./bin/screen.sh`.
3. Open another shell and run `./bin/run.sh`.

Terms
-----

[](#terms)

- `Byte` - 8 bit, one single character.
- `Word` - 16 bit, or 2 Byte.

8086 Resources
--------------

[](#8086-resources)

- [Wikipedia: Intel 8086](https://en.wikipedia.org/wiki/Intel_8086)
- [Wikipedia: Processor Register](https://en.wikipedia.org/wiki/Processor_register)
- [Wikipedia: FLAGS Register](https://en.wikipedia.org/wiki/FLAGS_register)
- [Wikipedia: Parity Flag](https://en.wikipedia.org/wiki/Parity_flag)
- [Wikipedia: Word](https://en.wikipedia.org/wiki/Word_(computer_architecture))
- [8086 opcodes](http://www.mlsite.net/8086/)
- [StackExchange: Emulate an Intel 8086 CPU](https://codegolf.stackexchange.com/questions/4732/emulate-an-intel-8086-cpu)
- [x86 Registers](http://www.eecg.toronto.edu/~amza/www.mindsec.com/files/x86regs.html)
- [Encoding x86 Instructions](https://www-user.tu-chemnitz.de/~heha/viewchm.php/hs/x86.chm/x86.htm)
- [Encoding x86 Instruction Operands, MOD-REG-R/M Byte](http://www.c-jump.com/CIS77/CPU/x86/X77_0060_mod_reg_r_m_byte.htm)
- [X86 Assembly/X86 Architecture](https://en.wikibooks.org/wiki/X86_Assembly/X86_Architecture)
- [X86-64 Instruction Encoding](http://wiki.osdev.org/X86-64_Instruction_Encoding)
- [OUT -- Output to Port](https://pdos.csail.mit.edu/6.828/2010/readings/i386/OUT.htm)
- [MDA, CGA, HGC, EGA, VGA, SVGA, TIGA](https://www.tu-chemnitz.de/informatik/RA/news/stack/kompendium/vortraege_98/grafik/adaptertypen.html) (German)
- [8086/88 Assembler Befehlsreferenz](http://www.i8086.de/asm/8086-88-asm.html) (German)
- [X86 Opcode and Instruction Reference](http://ref.x86asm.net/coder32.html)
- [Understanding Intel Instruction Sizes](https://www.swansontec.com/sintel.html)

More Resources
--------------

[](#more-resources)

- [How To Write a Computer Emulator](https://fms.komkon.org/EMUL8/HOWTO.html)

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/b879f8d5879bc5cb3a1bc43287d0b26834ffc0f403e1b076375da977fe308c55?d=identicon)[TheFox](/maintainers/TheFox)

---

Top Contributors

[![TheFox](https://avatars.githubusercontent.com/u/353709?v=4)](https://github.com/TheFox "TheFox (221 commits)")

---

Tags

emulatorintel-8086mit-licensephpphp7x86

### Embed Badge

![Health badge](/badges/thefox-i8086emu/health.svg)

```
[![Health](https://phpackages.com/badges/thefox-i8086emu/health.svg)](https://phpackages.com/packages/thefox-i8086emu)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
