Commit Graph
25 Commits
Author SHA1 Message Date
mirkobrombin 3ec88b9e6b fix: start the console on the OEM code page and show WriteFile text in it 2026-10-28 16:23:32 +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 6eba6ce686 feat: accept short names on file systems that keep none 2026-10-27 19:42:09 +00:00
mirkobrombin 5d7fd5b471 feat: add CreateFile2, host symbolic links and inheritable file handles 2026-10-27 13:42:09 +00:00
mirkobrombin d4adc44e8d feat: give an SSH client's dialogs double clicks, split buttons and drop-down lists 2026-10-27 01:17:41 +00:00
mirkobrombin 44a593867c feat: run an SSH client's terminal and file transfer windows 2026-10-26 23:13:38 +00:00
mirkobrombin 3bfea32812 feat: fold strings and describe the volume of an open file 2026-10-26 14:17:44 +00:00
mirkobrombin 0a0fe4be89 feat: add shared Windows process state and parallel guest execution 2026-10-24 16:24:23 +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 f4509d0c1f feat: implement the Windows APIs that .NET programs and their installers call 2026-09-23 00:12:56 +00:00
Mirko Brombin 1074a7e5be feat: add snapshot the prefix before installations, restore it with one command, and carry out what installers leave for a restart 2026-09-21 19:09:11 +00:00
Mirko Brombin f1171c6e0c feat: report the drive that shows the host's files as a remote one 2026-09-21 14:17:07 +00:00
Mirko Brombin 192cb89e53 feat: answer DecryptFile for files that are never encrypted and keep the inherit and close-source flags of 32-bit handle copies 2026-09-21 07:18:00 +00:00
Mirko Brombin 8cdec79f0e feat: answer NtReadFile, NtWriteFile, FSCTL_PIPE_LISTEN and NtCancelIoFile on pipes with the caller's event and IO_STATUS_BLOCK 2026-09-21 06:06:44 +00:00
Mirko Brombin 45a72d4974 feat: add lock ranges of files opened only for reading through a writable description, as Windows allows exclusive locks there 2026-09-21 06:00:50 +02:00
Mirko Brombin eda064950b feat: add place 32-bit allocations in free low gaps and serve completion-routine file I/O, PathCch calls and dependencies beside a library loaded by path 2026-09-20 07:03:09 +00:00
Mirko Brombin ead54d6b10 feat: run Google Chrome with NT object queries, COM apartments, file completion ports and SDDL descriptors 2026-09-03 21:44:05 +02:00
Mirko Brombin 26fbeabc78 feat: run Steam's web UI with cross-process handles, per-thread message queues, socket events and process identity 2026-09-03 16:48:12 +02:00
Mirko Brombin 66087052d8 feat: run Chromium's helper processes with DirectWrite, named pipes, jobs, inherited handles and shared sections 2026-09-03 06:06:54 +02:00
Mirko Brombin a7256dafac feat: run the Steam installer to Finish with child processes, shell links and sockets 2026-09-03 01:15:07 +02:00
Mirko Brombin f5cd92f4c8 feat: give 32-bit programs the registry, shell folder, INI write, token and file services an installer needs 2026-09-02 23:23:20 +02:00
Mirko Brombin 9aa1a31984 feat: honour append-only file access and measure input latency 2026-08-01 23:08:29 +02:00
Mirko Brombin 7cbba82228 feat: resolve C runtime contracts for dependency DLLs and grow the C runtime for DXVK 2026-08-01 09:39:19 +02:00
Mirko Brombin aa5cbc8f90 feat: add standard input reads, byte range locks, file size query and offset transfers for synchronous handles 2026-08-01 03:28:17 +02:00
Mirko Brombin efc6104b5b feat: add kernel32 services, guest threads and structured exceptions for PE64 processes 2026-07-31 21:45:18 +02:00