Hacker News new | ask | show | jobs
Show HN: A Bare-Metal Intel iAPX 86/10 Emulator Written in Pure WebAssembly (violetvillain.github.io)
3 points by VioletVillain 2193 days ago
1 comments

Hello! Author here.

First I should mention that the project is opensource, available here: https://github.com/VioletVillain/EXACT

For convenience I'll also include a basic overview here.

EXACT is an abbreviation for 'Emulating X86 iAPX CPU on NeT'.

This project was primarily done for two reasons:

In favor of RASM, which is basically a work-in-progress Game Engine written in Rust. Getting fluent in WebAssembly meant writing efficient code and eased its debugging.

Experience. an in-depth study of processor that still has alot in common with x86_64 will surely assist in writing optimized code; even though the 8086 lacked any concepts of caches (as an example).

The emulator has been thoroughly documented, except in places where doing so would have been considered extremely verbose or otherwise obivous.

All OpCodes (Even Illegal ones) have been implemented, however instructions that require physical hardware access and interrupts are not available.

This is mostly a bare-bones emulator considering that it only emulates a single 8086 without any co-processors, interrupt controllers or other Multimedia devices.

I've written a few (short) Assembly examples that can be run on the emulator too, inside the 'Examples' folder. However, EXACT supports more complicated programs as well.