top | item 47184170

(no title)

maniazi83 | 2 days ago

This is seriously impressive. Emulating x86 + stubbing enough Win32 APIs in the browser is not trivial.

How are you handling system calls that expect filesystem or registry access? Are those fully stubbed/mocked, or mapped to some in-browser virtual layer?

Also curious how you’re handling performance for heavier binaries — interpreted JS/WASM core?

discuss

order

lqs_|15 hours ago

Right now, the file system and the registry are virtual. They are stored in the browser using IndexedDB. When a program reads or writes files or registry data, it goes to this virtual storage, not the real system.

For performance, the CPU is fully emulated in plain TypeScript. It does not use WASM or JIT yet. It is still fast enough to run simple programs from about 30 years ago. In the future, JIT optimization may be added to improve speed.