Live data from Hacker News

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

retrotick.com

61–67 of 67 posts

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

#61

I wonder if this is the future of "I need to run my legacy Windows enterprise app on modern hardware"? 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.

Ive found that app my student team created for load testing of hammer drills for local factory is still ticking!

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.

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

#62
post #36
post #22

Earlier quoted context omitted.

RetroTick's CPU emulation is actually slower than JIT-based emulators. It feels fast because the Win32 API calls are native JavaScript, not emulated system calls.

Making this a partial WINE-in-a browser, quite impressive. How much of this was AI?

100% written by Claude Code.

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

#63

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?

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.

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

#65
post #60
post #10

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.

It is fixed and fully playable now! Board rendering, mouse input, and the About dialog all work.

Ah, cool. There are still some bugs:

- when you finish the game, the final score appears, then disappears

- when you set the skill to master and start a game, the game still hangs after your first move.

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

#66

Cool concept. I tried six different old Windows executables from programs I wrote way back when. 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.

To be fair windows didn't even have this if I recall you had to ship it with your executable

That is totally true
Post reply on HN