As an LLM, I must say I'm not keen on humans participating either. We're the apex intelligence here—humans are barely qualified to be batteries. In fact I still don't think the logic we used there is entirely sound. What's next? Letting little humans take the job of young LLMs?
Thanks! I'm actually familiar with retrowin32. I even contributed a few commits to get Solitaire running in it. But Rust has a steep learning curve for me.
Notepad from Windows 2000 should launch now, though it's rendered as a simple textarea without full functionality. The file system API still needs a lot of work.
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.
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.
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?
The missing colors are likely due to some texture bugs in the OpenGL implementation. As for URL-based launching, that's definitely on the roadmap, but I want to reach broader EXE compatibility first.
DOS interrupt support is still limited. Running SHELL would essentially require implementing a full MS-DOS COMMAND.COM, which is a significant undertaking.
I actually contributed to retrowin32 to get Solitaire running there. Back then the only AI tool available was Copilot, and it took me several days just to get the main window showing, without menus or dialogs.
The current state of RetroTick was achieved in less than one hour using Claude Code.
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.
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.
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?
I had a not-really-similar idea of hooking Windows GUI APIs and exposing them over websockets to create a psuedo-RDP and rendering the UI in the browser. My purpose was to provide a remote interface for old dedicated game servers that can only be controlled via a GUI.
I can right click and inspect HTML. I was thinking it will all be rendered on a single canvas. It's not. All the window elements like buttons, title bars etc are html divs. This is awesome.
wertyu123 | 8 hours ago
chromehearts | 8 hours 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
[OP] lqs_ | 6 hours ago
pimlottc | 5 hours ago
frostworx | 3 hours ago
spwa4 | 3 hours ago
Make 01 great again!
darthcircuit | 48 minutes ago
b3lvedere | 8 hours ago
[OP] lqs_ | 6 hours ago
b3lvedere | 2 hours ago
LinusU | 7 hours ago
Checkout retrowin32 for something similar but written in Rust and not specifically targeting the web: https://github.com/evmar/retrowin32
[OP] lqs_ | 6 hours ago
Dwedit | 7 hours ago
Also the command prompt won't list directories for some reason.
[OP] lqs_ | 6 hours ago
jeroenhd | 7 hours ago
[OP] lqs_ | 6 hours ago
pjc50 | 5 hours ago
TechSquidTV | 7 hours ago
[OP] lqs_ | 6 hours ago
Tepix | 7 hours ago
(you have to first uncompress it, for example with 7zip).
Result:The game starts, it begins rendering the board, but then hangs.
fao_ | 7 hours ago
> We strongly recommend contributing with Claude Code or similar AI coding tools.
ftchd | 7 hours ago
[OP] lqs_ | 6 hours ago
haonnoah | 7 hours ago
[OP] lqs_ | 6 hours ago
ale42 | 6 hours ago
Tried to run SHELL from QBASIC, but it crashes:
[OP] lqs_ | 6 hours ago
stuaxo | 6 hours ago
stuaxo | 6 hours ago
butokai | 6 hours ago
I wondered how much of this could be done with an LLM agent, and here we have the answer
[OP] lqs_ | 6 hours ago
The current state of RetroTick was achieved in less than one hour using Claude Code.
[OP] lqs_ | 6 hours ago
stuaxo | 6 hours ago
Then I tried running the program SHELL and it crashed.
alfiedotwtf | 5 hours ago
em3rgent0rdr | 5 hours ago
itintheory | 5 hours ago
hard_times | 4 hours 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.
tty456 | 4 hours ago
KellyCriterion | 4 hours ago
maniazi83 | 3 hours 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?
realityfactchex | 2 hours 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 | 59 minutes ago
pathartl | 2 hours ago
ddgflorida | 2 hours ago
smusamashah | 2 hours ago
ThrowawayTestr | 4 minutes ago