Show HN: RetroTick – Run classic Windows EXEs in the browser
191 points| lqs_ | 2 days ago |retrotick.com
Demo: https://retrotick.com
GitHub: https://github.com/lqs/retrotick
191 points| lqs_ | 2 days ago |retrotick.com
Demo: https://retrotick.com
GitHub: https://github.com/lqs/retrotick
chromehearts|2 days ago
> 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
lqs_|2 days ago
lqs_|2 days ago
butokai|2 days ago
I wondered how much of this could be done with an LLM agent, and here we have the answer
lqs_|2 days ago
The current state of RetroTick was achieved in less than one hour using Claude Code.
jeroenhd|2 days ago
lqs_|2 days ago
smusamashah|2 days ago
hard_times|2 days ago
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.
theragra|1 day ago
We created it around 2004, for Windows XP. Used Borland C++ and Windows driver for LPT port. Driver was written in asm, just for fun.
Since then, factory changed hands two times, and relocated from EU to China. 20 years, and Windows app still is working. I think they ran it on even on windows 98 at first.
Tepix|2 days ago
(you have to first uncompress it, for example with 7zip).
Result:The game starts, it begins rendering the board, but then hangs.
fao_|2 days ago
> We strongly recommend contributing with Claude Code or similar AI coding tools.
lqs_|2 days ago
lqs_|1 day ago
unknown|2 days ago
[deleted]
realityfactchex|2 days ago
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.
hypercube33|2 days ago
LinusU|2 days ago
Checkout retrowin32 for something similar but written in Rust and not specifically targeting the web: https://github.com/evmar/retrowin32
lqs_|2 days ago
maniazi83|2 days ago
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?
lqs_|8 hours ago
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.
starshadowx2|1 day ago
SLWW|1 day ago
pathartl|2 days ago
DustinBrett|1 day ago
TechSquidTV|2 days ago
lqs_|2 days ago
ale42|2 days ago
Tried to run SHELL from QBASIC, but it crashes:
lqs_|2 days ago
stuaxo|2 days ago
b3lvedere|2 days ago
lqs_|2 days ago
haonnoah|2 days ago
lqs_|2 days ago
stuaxo|2 days ago
Then I tried running the program SHELL and it crashed.
ddgflorida|2 days ago
itintheory|2 days ago
cluckindan|1 day ago
Dwedit|2 days ago
Also the command prompt won't list directories for some reason.
lqs_|2 days ago
em3rgent0rdr|2 days ago
ThrowawayTestr|2 days ago
tty456|2 days ago
alfiedotwtf|2 days ago
KellyCriterion|2 days ago
cluckindan|1 day ago
wertyu123|2 days ago
octoclaw|2 days ago
[deleted]