Show HN: RetroTick – Run classic Windows EXEs in the browser

retrotick.com

97 points by lqs_ 4 hours ago


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.com

GitHub: https://github.com/lqs/retrotick

chromehearts - 4 hours ago

This is so cool & I'm really amazed by it but I couldn't help laugh at the readme

> 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

jeroenhd - 3 hours ago

Seems to run a lot faster than the previous proof-of-concept I've found (https://www.boxedwine.org/app). Then again, that website runs an entire Linux VM to support Wine.

lqs_ - an hour ago

Hidden feature: right-click any executable and select "View Resources" to browse its embedded resources like icons, bitmaps, dialogs, and version info. It even supports viewing Delphi forms (though Delphi programs can't actually run yet). Think of it as a browser-based Resource Hacker or eXeScope.

itintheory - 26 minutes ago

Seems like the .scr files trigger CrowdStrike Falcon. Not clear where the executables run here come from...

butokai - an hour ago

Just a couple of hours ago I was thinking about this project from some time ago doing the same thing: https://github.com/evmar/retrowin32

I wondered how much of this could be done with an LLM agent, and here we have the answer

Tepix - 3 hours ago

Tried it with REVERSI.EXE from Windows 3.0 from https://winworldpc.com/download/c2bbc28f-177a-c2b2-5311-c3a4... DISK02.IMG

(you have to first uncompress it, for example with 7zip).

    $ sha256sum REVERSI.EXE
    a9e319c8f479d1568beec03858fdbb27c71747b2bbed6cd7c9f5e2daa23b40e9  REVERSI.EXE
Result:

The game starts, it begins rendering the board, but then hangs.

stuaxo - an hour ago

Not sure shift is working. I tried using QBASIC but couldn't type : only ; because of that.

Then I tried running the program SHELL and it crashed.

em3rgent0rdr - an hour ago

Impressive. Noting however that double-clicking is not working in Minesweeper. :)

ale42 - 2 hours ago

Funny project...

Tried to run SHELL from QBASIC, but it crashes:

  D:\qbasic.exe has encountered a problem and needs to close.
  
  Reason:  illegal instruction
  Address: 0x00002fee
TechSquidTV - 3 hours ago

Please let me plan Sim Theme Park. I can't seem to run it on Crossover on my mac.

haonnoah - 2 hours ago

Pretty cool. The pipes program doesn't seem to have color. Thoughts on making programs launch from a URL parameter? IE Launching a screensaver or game?

LinusU - 3 hours ago

This is super cool!

Checkout retrowin32 for something similar but written in Rust and not specifically targeting the web: https://github.com/evmar/retrowin32

b3lvedere - 3 hours ago

Aww. The FreeCell cheats don't work, except for -1 and -2 :)

Dwedit - 3 hours ago

Not enough Shell32 to run Winfile or Notepad.

Also the command prompt won't list directories for some reason.

alfiedotwtf - an hour ago

Whoa, this is pretty sick!!

wertyu123 - 4 hours ago

Nice

octoclaw - 3 hours ago

[dead]