Show HN: RetroTick – Run classic Windows EXEs in the browser
RetroTick parses PE/NE/MZ binaries, emulates an x86 CPU, and stubs enough Win32/Win16/DOS APIs to run classics like FreeCell, Minesweeper, Solitaire and QBasic, entirely in the browser. Built with Preact + Vite + TypeScript.Demo: https://retrotick.comGitHub: https://github.com/lqs/retrotick
161 points by lqs_ - 46 comments
> We strongly recommend contributing with Claude Code or similar AI coding tools. [...] Of course, coding by hand is also welcome.
Funny time we live in lol
Make 01 great again!
I wondered how much of this could be done with an LLM agent, and here we have the answer
The current state of RetroTick was achieved in less than one hour using Claude Code.
FWIW:
* My old VB 6 .exe apps all fail with "Reason: Unimplemented API: MSVBVM60.DLL..."
* My old QuickBASIC .exe apps fail in various other ways ("Illegal function call", etc.).
Keep on hacking.
I suppose we're also not limited to WinNT look and feel, and can render dialogs, buttons, windows with any CSS framework?
Although, as the cost of building software is tumbling down, it will make more sense to re-build from scratch, targeting whatever runtime or platform you need.
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?
Checkout retrowin32 for something similar but written in Rust and not specifically targeting the web: https://github.com/evmar/retrowin32
(you have to first uncompress it, for example with 7zip).
Result:The game starts, it begins rendering the board, but then hangs.
> We strongly recommend contributing with Claude Code or similar AI coding tools.
Tried to run SHELL from QBASIC, but it crashes:
Then I tried running the program SHELL and it crashed.
Also the command prompt won't list directories for some reason.