retrowin32, the blog series
September 09, 2023
retrowin32 is a win32 emulator; you give
it a Windows .exe
file and it runs it on a Mac or in a browser.
I've written a few blog posts about it and this page serves as an index of them:
- 2022/10: Introductory post: the initial motivation of the project.
- 2023/01: Emulating win32: the high-level approaches one could take to emulate Windows.
- 2023/02: Progress report: WebAssembly vs native, testing, and some Rust trickery.
- 2023/05: async, DLL loading, tracing execution, and Zig: a grab bag of topics.
- 2023/08: Emulating x86 on x64 on aarch64, how to run 32-bit x86 within an x86-64 process.
- 2023/11: retrowin32's third x86 emulator, using Unicorn.
- 2024/02: Cross compiling Rust to win32.
- 2024/03: Minesweeper and the four month bug.
- 2024/04: Cross compiling C/Rust to win32, again.
- 2024/05: Threading in two ways.
- 2024/09: retrowin32, two years in.
- 2024/09: Redoing syscalls, generating real DLLs.