finds.dev← search

// the find

nseversky/uemu51

★ 5 · C · updated Apr 2017

8051 emulator inside Unity game engine

A Unity3D plugin that embeds a C-based 8051 microcontroller emulator (emu2051, forked from sol.gfxile.net's 8051 project) so you can simulate microcontroller programs with a visual terminal and debugger inside a game scene. It's for people learning embedded/8051 assembly who want to see I/O (LEDs, 7-segment displays) react in a 3D scene instead of a flat simulator.

The emulator core itself (emu2051/core.c, opcodes.c, disasm.c) is a real, separately compilable CPU emulator with its own disassembler, not just a toy wrapped around someone else's binary — only the Unity integration is new work here. The demo scenes map directly to the C code: hello.txt/7seg.txt/mctrl.txt programs each have a matching Unity scene (Hello, 7seg, Machine) and matching C# driver script, so you can trace input .asm/.hex through core.c to a scene object. The IOutputDevice/TextGUI/UTermCore split gives a real terminal abstraction instead of hardcoding text rendering into the emulator wrapper.

Dead since 2017 — Unity's scripting runtime, Standard Assets, and C# version have all moved on since this was last touched, so expect import errors and obsolete API warnings on any current Unity version. The compiled emu8051.dll is checked into the repo (Assets/Uemu/Wrapper/Plugins) with no visible build script for it, so if you're not on the exact platform it was built for you're reverse-engineering the P/Invoke signatures yourself. No README section on which 8051 instructions/peripherals are actually emulated or how accurate the timing is, which matters a lot for anything beyond toy programs. 5 stars and a single contributor with no issues/PRs history means there's no evidence anyone has exercised this beyond the three bundled demos.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →