Commit Graph
110 Commits
Author SHA1 Message Date
mirkobrombin be6e825ba8 fix: report display capabilities for every device context 2026-10-29 09:57:47 +00:00
Ray Bennett 4699a741c1 feat: give console programs the terminal as their console (#31)
* feat: give console programs the terminal as their console

A standard handle that is a terminal, and CONIN$, CONOUT$ and CON, now act as a console: modes map to terminal settings,
reads and writes convert between UTF-16 and the terminal's UTF-8, terminal input becomes key events, and Ctrl+C runs the
control handlers. Files and pipes still fail the console functions, as on Windows.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the console functions over the terminal, their pty test and the guest test program from the public console API documentation.

* test: let the console client run by hand, saying which step failed

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Made the exact size and cursor checks optional and gave each step an instruction and a failure number.

* feat: follow the console cursor through the output instead of asking the terminal

Programs that redraw their command line read and move the cursor on every key; asking the terminal each time was slow, and
wrong on terminals that never answer. The terminal is now asked only when the position may be stale.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the cursor tracker, WriteConsoleOutputCharacter, ScrollConsoleScreenBuffer, the resize events and their tests.
2026-10-28 17:11:25 +01:00
mirkobrombin 7da686f352 feat: name the module and function of a failed GetProcAddress in the trace
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Added the module and function names to the failed GetProcAddress trace.
2026-10-28 10:45:26 +00:00
mirkobrombin bea2192ed6 fix: leave room for hooking libraries in front of every runtime export 2026-10-27 22:04:55 +00:00
mirkobrombin c1911963d1 fix: reserve the program's stack for threads that name only a commit size 2026-10-27 18:50:00 +00:00
mirkobrombin b387f9f6f2 feat: serve App-V package files from their virtual file system folders 2026-10-27 16:10:47 +00:00
mirkobrombin 2ee5d19e95 feat: publish the generic AVL tables of ntdll 2026-10-27 14:47:46 +00:00
mirkobrombin 7ebf58957c feat: add RegSetKeyValue and the key and value information classes of the native registry API 2026-10-27 14:46:45 +00:00
mirkobrombin c895d8e91c feat: add PathCchCanonicalize and the command line argument helpers 2026-10-27 14:32:31 +00:00
mirkobrombin 7a8f280f1f feat: add Windows Runtime strings and app package queries
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Fixed the string header layout and wrote the activation factory registry, device family and package queries from the public headers.
2026-10-27 09:20:47 +00:00
mirkobrombin 5378f9b89b feat: fetch over HTTP and HTTPS with WinINet 2026-10-27 02:55:04 +00:00
mirkobrombin 44a593867c feat: run an SSH client's terminal and file transfer windows 2026-10-26 23:13:38 +00:00
mirkobrombin bcae123e00 feat: keep the runtime's libraries as files in the system directories
Closes #22
2026-10-26 14:17:44 +00:00
mirkobrombin 4bc7845391 feat: make the native OpenGL bridge the default for 64-bit programs
Assisted-by: Claude:claude-opus-5.5
AI-Scope: wrote the default selection of the OpenGL bridge and the fallback to a program's own opengl32.dll
2026-10-26 06:09:35 +00:00
mirkobrombin 137391a0c4 perf: answer tick counts inside parallel guests
Assisted-by: Claude:claude-opus-5.5
AI-Scope: found tick count calls trapping in parallel processes while profiling and enabled their in-guest stubs
2026-10-26 02:24:41 +00:00
mirkobrombin 9815ab8f6d perf: serve handle closes and event changes 2026-10-26 02:22:37 +00:00
mirkobrombin 41f3c1ba57 perf: trim the parallel host's per-call overhead 2026-10-26 00:17:53 +00:00
mirkobrombin 72ec37d544 perf: answer decided waits inside served calls 2026-10-26 00:17:53 +00:00
mirkobrombin 3957dc46ab perf: push, pop and flush singly linked lists inside x64 guests 2026-10-25 22:04:55 +00:00
mirkobrombin 5ca60c6e94 feat: add an experimental X11 desktop backend
Refs #10

Assisted-by: Claude Code:claude-opus-5.5
AI-Scope: wrote the XCB presentation, Vulkan and EGL surface support, the --desktop=x11 option and the Xvfb tests from the issue #10 plan
2026-10-25 16:17:49 +00:00
mirkobrombin 1fc462a544 fix: preserve handles and security tokens across processes 2026-10-25 08:52:34 +01:00
mirkobrombin 61927c1cc8 fix: handle shared waits and semaphore wakeups 2026-10-25 06:09:55 +01:00
mirkobrombin acddd36586 fix: wait for matching window messages without busy polling
Assisted-by: Codex:GPT-6
AI-Scope: Implement blocking message waits and cover message filters and wakeups.
2026-10-25 04:38:33 +01:00
mirkobrombin fbbb8fcdd9 feat: add opt-in per-thread graphics queues 2026-10-25 03:36:31 +01:00
mirkobrombin 14d44fb628 feat: add a native OpenGL bridge 2026-10-25 01:39:15 +02:00
mirkobrombin 4d0e2b4be1 fix: preserve thread context during served API calls 2026-10-24 23:29:27 +02:00
mirkobrombin 5cb1d1b313 fix: reserve TLS slot zero for executable storage 2026-10-24 16:24:28 +00:00
mirkobrombin 0a0fe4be89 feat: add shared Windows process state and parallel guest execution 2026-10-24 16:24:23 +00:00
Mirko Brombin c17a04a8a6 fix: publish the shell functions installers take by number and report WOW64 through IsOS 2026-10-17 13:01:45 +00:00
Mirko Brombin 98503c2c88 feat: serve what framework setups run: unquoted program paths, read-only folders, service settings, counter names and bounded formatting 2026-10-03 10:22:11 +00:00
Mirko Brombin 93acf0d441 feat: load libraries only mapped, as data or through their own manifest, and read plain files through the LZ functions 2026-10-03 10:21:49 +00:00
Mirko Brombin c02f68dc74 feat: keep DPI awareness, tell awareness contexts apart, extract icons and serve UI Automation's reserved values for WPF 2026-10-03 10:21:06 +00:00
Mirko Brombin 85af42cba5 feat: end a process through its own handle, detach libraries as a load and add the C runtime calls Paint.NET reaches 2026-09-23 16:34:21 +00:00
Mirko Brombin 89e3e7ffcb feat: answer string comparisons and device capabilities in the guest and profile calls by count 2026-09-23 16:33:57 +00:00
Mirko Brombin f4509d0c1f feat: implement the Windows APIs that .NET programs and their installers call 2026-09-23 00:12:56 +00:00
Mirko Brombin d8f0d2af28 feat: add sfc and dsound with protected system files and DirectSound without a device, and forward kernel32's C handler 2026-09-21 23:48:03 +00:00
Mirko Brombin 5fa0e6ef66 feat: implement the ntdll string helpers and publish the 64-bit unwind functions that system libraries import 2026-09-21 23:48:03 +00:00
Mirko Brombin 0d482c302e feat: add the ANSI profile, SHFileOperationA and OpenFile calls installers use, with case-blind INI paths 2026-09-21 23:48:03 +00:00
Mirko Brombin a9fe7807dc feat: build the ReactOS setup helpers and setup API as components that INF installers run through 2026-09-21 23:47:16 +00:00
Mirko Brombin dd48b48744 feat: export from ntdll what the runtime's components import, for libraries loaded after the start 2026-09-21 19:08:53 +00:00
Mirko Brombin a0b800e98b feat: read and write RIFF files and memory through the multimedia file functions 2026-09-21 14:17:07 +00:00
Mirko Brombin cbb6ceae39 feat: add apply the visual style and runtime options the prefix registry records when a process starts 2026-09-21 11:15:42 +00:00
Mirko Brombin bb9cf43cf1 feat: create and activate side-by-side contexts from manifests and give programs the common controls 6 classes their manifests ask for 2026-09-21 10:33:51 +00:00
Mirko Brombin f5e871fd6a feat: draw visual styles, frames, menus and scroll bars in the Windows 11 look and keep the classic look behind RAVEN_THEME=classic 2026-09-21 10:33:46 +00:00
Mirko Brombin e48dcc1742 feat: open streams on files and copy property variants in the shell component 2026-09-21 09:15:03 +00:00
Mirko Brombin 93ddb6774e feat: name libraries loaded from a folder by the file they came from and let 32-bit programs open other processes 2026-09-21 09:15:03 +00:00
Mirko Brombin 9316d3d67a feat: look libraries named by a system directory path up by name and load the runtime's components dynamically in 32-bit programs 2026-09-21 07:15:16 +00:00
Mirko Brombin 3fc2448977 feat: build the Windows Installer, cabinet, side-by-side and structured storage components from ReactOS and serve them to programs 2026-09-21 06:00:50 +02:00
Mirko Brombin 19c9572005 feat: add release icons, memory contexts and free bitmaps in the guest, and publish the guest's tables only for what changed 2026-09-21 02:06:58 +02:00
Mirko Brombin 2974d4855f feat: set and read device context colors, background mode and text alignment in the guest through an attribute table the runtime applies 2026-09-21 01:11:12 +02:00