V86: x86 virtualization in the browser, recompiling x86 to WASM on the fly

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • v86

    x86 PC emulator and x86-to-wasm JIT, running in the browser

  • > If the title is true, that would be a huge achievement.

    Fundamentally it's "just" a JIT that compiles to WASM. It's a ton of effort to build something like that, but I think fundamentally it's not an impossible undertaking.

    The JIT seems to be living there, so you can probably explore from there: https://github.com/copy/v86/blob/master/src/rust/jit.rs

    WRT speed advantage: compared to what?

  • jor1k

    Online OR1K Emulator running Linux

  • If the title is true, that would be a huge achievement. Unfortunately, the page says nothing about how it works and nothing about the speed advantage you get.

    For my emulator jor1k [1] I tried something similar years ago [2]. However I haven't continued on this topic because of priority shifts. But the potential speed advantages are astonishing. My proof of context reached more than 1 billion emulated machine instructions per second.

    [1] https://github.com/s-macke/jor1k

    [2] https://github.com/s-macke/jor1k/wiki/Breaking-the-1-billion...

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • daedalOS

    Desktop environment in the browser

  • This is an awesome project! I've integrated it into my Desktop Environment in the browser so that you can drag on `.iso` & `.img` files and run them directly in the emulator. It also automatically saves states on close into `/Users/Public/Snapshots`. For networking I am using the same WebSocket proxy that v86 uses.

    https://github.com/DustinBrett/daedalOS

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts