Emuos V2 ๐ ๐
Typical applications for EMUOS v2 include:
EMUOS v2 has been ported to:
Board support packages (BSPs) are available for STM32, NXP LPC, Raspberry Pi Pico (RP2040), and ESP32-S3.
Measured on a typical ARM Cortex-M4F @ 100 MHz:
| Metric | Value | |--------|-------| | Max interrupt latency (worst-case) | 2.1 ยตs | | Context switch (task to task) | 1.8 ยตs | | Semaphore give/take (no wait) | 1.2 ยตs | | Message queue send/receive (4-byte msg) | 2.4 ยตs | | Tick period jitter | < 0.5 ยตs (with tickless mode disabled) | emuos v2
These numbers meet hard real-time requirements for most control loops (e.g., motor control, sensor fusion at 1โ10 kHz).
Before analyzing emuOS v2, we must understand its roots. The original emuOS was a passion project by developer Emupedia (known for the "Emupedia" retro gaming archive). The goal was simple: create a "meta-OS" that runs inside a web browser, mimicking the look and feel of early Windows or Mac OS systems, but populated with free, legal, and open-source software, games, and utilities.
The first version was charming but limited. It felt like a static mockup with a few clickable icons. Users could open a calculator or a "Notepad" clone, but the experience was largely cosmetic. The file system was shallow, and the "apps" were often just iframes pointing to external sites.
emuOS v2 changes that completely.
Version 2 was built from the ground up with three pillars in mind: Functionality, Fidelity, and Freedom. It launched to critical acclaim in the retro computing community, with many calling it the "best browser-based desktop simulation" available today.
Compared to the initial EMUOS v1, version 2 introduces several enhancements:
| Feature | EMUOS v1 | EMUOS v2 | |---------|----------|----------| | Max tasks | 16 | 64 | | Interrupt nesting | Not supported | Fully nested with configurable priority | | IPC mechanisms | Message queues only | Message queues + event flags + mailboxes | | Tickless idle | No | Yes (reduces power in sleep modes) | | Hardware abstraction | Basic | Layered HAL for ARM, RISC-V, and Xtensa | | Static stack analysis | Manual | Built-in stack watermark checking | | Mutex with priority inheritance | No | Yes | | Runtime task creation | No | Limited (via preallocated control blocks) |
The first thing you notice in EmuOS v2 is the lighting. The developers have moved away from static PNG rips and implemented a CSS/Canvas hybrid renderer. The "Start Menu" animates smoothly, window dragging feels snappy (hovering around 60fps), and there is a new "CRT simulation" toggle. Typical applications for EMUOS v2 include: EMUOS v2
Under the display settings, you can now choose your era:
This level of visual fidelity makes the nostalgia hit much harder than a standard screenshot gallery.
Who is EmuOS v2 for?
Who should skip it?
While the original had the basics (Pac-Man, Commander Keen), v2 expands the library to over 300 titles, but more importantly, it adds systemic features: