Commit Graph
88060 Commits
Author SHA1 Message Date
Dmitry Borisov c8e1772109 [BOOTVID:PC98][PC98VID] Disable the text layer when setting mode (#8539)
The previous approach was causing the contents of TVRAM to be visible after boot:
https://github.com/user-attachments/assets/df6d2782-4d54-41ab-b4c9-caeb170c4e1e

Fixes a regression introduced in 0fa49018cd.

CORE-17977
2025-12-28 14:40:17 +03:00
Timo Kreuzer b6ae4e1296 [RTL] Fix searching resource names
Resource names are sorted with '_' being higher than any alphabetic characters. This means _wcsicmp cannot be used to search, because it lowercases the characters before comparison, which would make '_' lower than lowercase alphabetic characters. Implement a custom compare function instead.

See CORE-20401, CORE-20408
2025-12-28 12:33:01 +02:00
Timo Kreuzer 89e4b6bef4 [NTDLL_APITEST] Add a test for LdrFindResource_U / CORE-20401
See CORE-20401, CORE-20408
2025-12-28 12:33:01 +02:00
Timo Kreuzer 454f25c7f3 [CRT_APITEST] Add a few more tests for _wcsicmp
These show that _wcsicmp does a lowercase comparison.
2025-12-28 12:33:01 +02:00
Eric Kohl 31b091cbd6 [DISKPART] Improve the drive letter query
And disable some debug output
2025-12-27 21:47:38 +01:00
Eric Kohl 7675b0e62a [DISKPART] Implement the remove command
The remove command does not work, because the DeleteVolumeMountPointW function is not implemented yet.
2025-12-27 19:11:06 +01:00
Copilot d6f68397cf [WINLOGON] Fix memory and handle leaks (#8514)
JIRA issue: CORE-13213
2025-12-27 22:10:44 +09:00
Eric Kohl abc2acf5a7 [DISKPART] Implement the filesystems command
Limitations with respect to available file systems and cluster sizes are not implemented yet.
2025-12-26 13:32:03 +01:00
Hermès Bélusca-Maïto 7c3d4a022d Merry Christmas time to the ReactOS Team! 2025-12-25 21:12:53 +01:00
Eric Kohl d39657cfe0 [VFATLIB] Add GPT partition support 2025-12-24 15:04:14 +01:00
Hermès Bélusca-Maïto bdf1b0ca5d [FREELDR:XBOX:PC98] Fix compilation dependencies and linking (#8512)
Addendum to commit 9e64fa837d (PR #8510)
CORE-16216, CORE-17977

pcmem.c: Surround more PC-specific routines in `!SARCH_XBOX || !SARCH_PC98`,
so that they aren't compiled for XBOX or PC98.

pcat.cmake: Inform that pcmem.c is used by pc98mem.c
2025-12-24 13:48:52 +01:00
Hermès Bélusca-Maïto cf901f3b78 [FREELDR:XBOX] Fix GCC compilation (#8512)
CORE-16216

Addendum to commit 9e64fa837d (PR #8510)

Fixes GCC complaint when compiling for XBOX (or PC98)
```
boot/freeldr/freeldr/arch/i386/pc/machpc.c:1123:1: error: 'DetectKeyboardController' defined but not used [-Werror=unused-function]
DetectKeyboardController(PCONFIGURATION_COMPONENT_DATA BusKey)
^~~~~~~~~~~~~~~~~~~~~~~~
```
2025-12-24 13:48:11 +01:00
Erdem Ersoy 66018d5e84 [BOOTDATA] Update Turkish localization timezone (#8528)
CORE-20403
2025-12-24 13:46:26 +01:00
Mark Jansen 07904ea449 [BOOTDATA] Add missed files for the vmware video driver 2025-12-24 13:45:50 +01:00
17d1c5b51a [APPHELP] Handle PE images without an import name table (#8507)
* [APPHELP] Handle PE images without an import name table

This splits the import lookup code in SeiHookImports into two helper functions - SeiPatchImportsByName and SeiPatchImportsByAddress.
Some PEs (eg. compiled with Borland toolchain or compressed with UPX) may not contain an import name table, so we use an alternative method (SeiPatchImportsByAddress) to find the imports we want to hook to by comparing the original pointers of the registered shim functions against those in IAT.

---------

Co-authored-by: Stanislav Motylkov <[email protected]>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <[email protected]>
2025-12-24 13:45:17 +01:00
Mark Jansen d6bf1637c7 [SDK] Add script to update caroots.inf
CORE-16744
2025-12-24 13:43:53 +01:00
Mark Jansen dea54fb53a [BOOTDATA] update caroots.inf
CORE-20398
2025-12-24 13:43:53 +01:00
Timo Kreuzer d267938737 [WIN32U_APITEST] Add tests for NtGdiSetPixel 2025-12-22 14:10:26 +02:00
Timo Kreuzer 9932008f8e [GDITOOLS] Add inverted and red-blue mono DIB sections 2025-12-22 14:10:26 +02:00
Timo Kreuzer 69cb5bc1ee [GDITOOLS] Add info-DC to global resources 2025-12-22 14:10:26 +02:00
Timo Kreuzer 7d6a5a50fb [GDITOOLS][GDI32_APITEST] Move resources to gditools lib
This allows to share them in win32knt_apitest.
2025-12-22 14:10:26 +02:00
Eric Kohl cb8278b5f3 [DISKPART] Add help text for the gpt command 2025-12-21 12:26:35 +01:00
Eric Kohl c4c8e5ef3f [DISKPART] Check for the noerr option first 2025-12-21 11:47:05 +01:00
Eric Kohl 86ec64b2b1 [DISKPART] Implement the automount command 2025-12-21 09:33:59 +01:00
Doug Lyons bac7d7f5cd [SETUP][INF][FONTS] Change font substitutes for "MS Sans Serif" and "MS Shell Dlg" (#8481)
Change both of these from "Tahoma" to "Microsoft Sans Serif" for Latin Fonts only.
It is possible that other language types would benefit, but I am unable to test these.

CORE-15675 and CORE-15678 (Both Fixed.)
CORE-16435 (Improvements only. Not totally fixed.)
2025-12-20 22:31:36 -06:00
Copilot be39662767 [TASKMGR] Fix a handle leak of ReleaseDC (#8513)
JIRA issue: CORE-20230

Fix a handle leak that forgot ReleaseDC(hParentWnd, hdc); on failure.
2025-12-21 08:12:57 +09:00
Eric Kohl 8e952f1510 [DISKPART] Show more disk details
- Show device description, status and bus type in the 'detail disk' command.
2025-12-20 16:26:15 +01:00
Stanislav Motylkov 7f64cd986b [FREELDR:PC98] Fix build by doing a partial revert
Partial revert of 9decadee83.
It introduced a typo in the assembler code that broke the build.
Also, "Press any key" text fits into 512 bootsector space on both GCC/MSVC.

CORE-19882 CORE-17977
2025-12-19 23:58:01 +01:00
Eric Kohl 3f96772154 [DISKPART] Use the PSDK diskguid.h instead of our own guid.h 2025-12-19 22:39:34 +01:00
Stanislav Motylkov c3f3b2b0ad [BOOTVID:XBOX] Fix MSVC build
Fix two similar warnings, that were treated as errors:
- warning C4146: unary minus operator applied to unsigned type, result still unsigned

Addendum to fa1ec0a2ed. CORE-16216 CORE-16219
2025-12-19 15:56:07 +01:00
Hermès Bélusca-Maïto ea90485339 [FREELDR:XBOX/UEFI] No need for a specific ScrollUp routine, just call the VidFb one (#8509)
And use the console `CurrentAttr` for screen filling, instead of
hardcoding it to white-on-black.
2025-12-19 13:21:49 +01:00
Hermès Bélusca-Maïto d1445c8e69 [FREELDR:XBOX/UEFI] Unify the XBOX and UEFI linear framebuffer support together (#8509)
CORE-11954, CORE-16216

Here only moving and adjusting existing code has been done.
In the future, this code will be expanded to support other bits-per-pixel
formats and pixel bitmasks, available in UEFI platforms, and be used to
handle bios-based PC VESA framebuffer.
2025-12-19 13:21:23 +01:00
Hermès Bélusca-Maïto 9e64fa837d [FREELDR:XBOX] Fix compilation dependencies and linking for the XBOX build (#8510)
CORE-16216

machpc.c:
- Surround more PC-specific routines in `#if !defined(SARCH_XBOX)`,
  so that they aren't compiled for XBOX.

- In particular since commit 246f2d29db (PR #8418), the PC-specific
  `DiskGetConfigType()` was compiled at the same time as the XBOX one.
  This is now fixed.

machxbox.c
- Add a dummy `ChainLoadBiosBootSectorCode()` to make freeldr exports working.

xboxdisk.c
- Minimal Disk I/O error support routines.
- Add a dummy `DiskResetController()`, invoked in pchw.c
- Add a dummy `DiskStopFloppyMotor()`, needed for entry.S/linux.S

miscboot.c
- Still compile `LoadAndBootSector()` (avoids lots of changes elsewhere),
  but display an error message if it's run, and directly return with an error.

pcat.cmake
- Remove unnecessary dependencies on pcdisk.c and pcvesa.c
2025-12-19 12:15:02 +01:00
Hermès Bélusca-Maïto f7aa25044e [FREELDR:PC] pcvideo.c!PcVideoSetMode(): deduplicate VESA mode setting code (#8508)
Group VESA text/graphics modes setting together.
2025-12-18 16:40:44 +01:00
Hermès Bélusca-Maïto b050a4544e [FREELDR:PC] Add a mechanism to retrieve the initial video mode on startup (#8506)
This allows FreeLoader to know which initial video mode it has been
started with (e.g. if chainloaded from another bootloader that has
set the display to something different from 80x25 text mode), and,
either update its internal state and use the video mode if supported,
or, fall back to a known supported video mode (80x25 text).
2025-12-18 16:36:05 +01:00
Hermès Bélusca-Maïto e04838086a [FREELDR:PC] pcvideo.c: Move PcVideoVesaGetSVGAModeInformation() and PcVideoSetBiosVesaMode() at the top
Will be used in the next commit.
2025-12-18 16:35:55 +01:00
Adam Słaboń afbadf5c44 [NTOS:MM][KMTESTS] MmMapViewOfSection: Handle PAGE_NOCACHE and PAGE_WRITECOMBINE flags (#8502)
- Remove the hack for PAGE_NOCACHE flag that was introduced in commits aa52dc7498 (r68611) and 33d53d44da (r68612) for CORE-9808. The test case for PAGE_NOCACHE, introduced in 7346aece52 (r68351), did not expose any additional problems without it anymore.
- Allow a PAGE_WRITECOMBINE flag. Fixes a regression introduced in 59ae6b3e15 (CORE-20298) that caused the OpenGL ICD in Nvidia 78.05 driver to not use GPU hardware to accelerate OpenGL anymore (reported and tested by winterhell on Discord).
- Add a test case for MmMapViewOfSection with PAGE_WRITECOMBINE. The test passes on Windows 2003 SP2 and Vista RTM.
- Fix ASSERTs in MI_MAKE_HARDWARE_PTE functions.
2025-12-18 12:30:40 +03:00
Timo Kreuzer c6c38551aa [LPK] Rewrite LPK_ApplyMirroring
Don't use version.dll APIs! This code runs during DLL process attach and all it can call is ntdll and kernel32.
There is still a hack, that calls GetFileVersionInfoSizeW, which is required for some reason, otherwise comctl32_winetest tooltips starts to fail.
It has possibly something to do with the initialization order of loaded DLLs.
2025-12-18 11:00:06 +02:00
Hermès Bélusca-Maïto 617f3bddfa [FREELDR:PC] Cache the type of video card installed on the system (#8505)
Cache the type when initializing the video, instead of invoking every time
`PcVideoDetectVideoCard()`. Indeed, the video card is not going to change
magically at runtime by the user :D
2025-12-17 13:08:43 +01:00
Hermès Bélusca-Maïto 0ffed7fd1e [FREELDR:PC] pccons.c, pcvesa.c, pcvideo.c: Reformatting (#8504) 2025-12-17 13:04:58 +01:00
Eric Kohl 5047e62e3d [DISKPART] Implement the gpt command keep the partition number up to date 2025-12-16 23:55:20 +01:00
Eric Kohl ccfb061a2b [DISKPART] list partition: Show a message when there are no partitions on a disk 2025-12-15 20:36:51 +01:00
Eric Kohl 182715ed50 [DISKPART] Prevent EFI- and MSR-Partitions from accidental deletion 2025-12-15 20:11:59 +01:00
Eric Kohl bf8741d208 [DISKPART] Implement the 'create partition efi' and 'create partition msr' commands 2025-12-14 20:23:03 +01:00
Eric Kohl 74999e6670 [DISKPART] Replace some magic values and enter the Terabyte era 2025-12-14 18:19:26 +01:00
Eric Kohl 48fbf273fb [DISKPART] Calculate the free disk space for the 'list disk' command 2025-12-14 13:00:53 +01:00
Hermès Bélusca-Maïto fa5cf28166 [FREELDR] Add a vgafont.h header (#8498)
It contains the symbols & macros used for the embedded VGA font.

- Adjust users to use `const UCHAR*` instead of `PUCHAR` pointer;
- pc98video.c: Capture the current `FontPtr[Line]` into an `UCHAR`,
  so as to safely modify it.
2025-12-13 20:19:05 +01:00
Hermès Bélusca-Maïto e700c2548b [FREELDR] Remove unused stuff in pccons.c and uefimem.c (#8498) 2025-12-13 19:50:59 +01:00
Hermès Bélusca-Maïto 19b9b0b995 [FREELDR:PC] pcvideo.c: Fix two regression bugs (#8498)
- `PcVideoDetectVideoCard()`: Fix the call to Int 10h AX=1A00h.
  A 23-year old regression from commit 425bbb1543 (r3782), introduced
  by a copy-pasta error when converting video code from ASM to C.

- `PcVideoSetMode80x50_80x43()`: Fix setting the 80x50 VGA text-mode,
  which _is_ based on the 80x25 text-mode BIOS 0x03, see e.g.
  https://github.com/torvalds/linux/blob/c2f2b01b74be8b40a2173372bcd770723f87e7b2/arch/x86/boot/video-vga.c
  A 18-year old regression from commit 1b3e649577 (r25751), where the
  correct mode 0x03 was replaced by a VGA graphics mode 0x12, whereas
  the intent in this commit was to only switch to mode 0x12 only in
  `PcVideoPrepareForReactOS()` -- this was because at that time, bootvid
  and hal didn't support changing the video mode to what they needed.
  This has been fixed since.
2025-12-13 19:50:58 +01:00
Hermès Bélusca-Maïto c554298b8d [FREELDR] VideoSetDisplayMode(): Make DisplayMode a PCSTR parameter (#8498) 2025-12-13 19:50:57 +01:00