Commit Graph

37 Commits

Author SHA1 Message Date
Lauri Kenttä 683ee49110 Allow position as a fraction of resolution
UEFI recommends y=.382 (1 - 1 / (golden ratio)), make this the default.
Fractional position starts with a decimal point: x=.5 y=.382
Pixel offset relative to the center is set as before: x=123 y=456
If the coordinates were omitted, old default was: x=0 y=0
2026-03-30 19:14:31 +03:00
Lauri Kenttä 96599b1838 Try to load config.txt from the current dir
To allow multiple configurations for HackBGRT, or to allow a custom
installation path, try to load config.txt from the same directory as
the executable.
2025-04-12 23:59:35 +03:00
Lauri Kenttä a82646a822 Wipe the vendor logo as soon as possible
Loading the image might take some minimal time. Optimize experience.
Hide cursor as well but restore it in ReadKey.
2023-12-20 18:27:19 +02:00
Lauri Kenttä 294da9c069 Get rid of \EFI\HackBGRT\ in config.txt 2023-12-16 15:13:05 +02:00
Lauri Kenttä aac8a38cbb Don't print HackBGRT on every output line 2023-11-25 20:02:53 +02:00
Lauri Kenttä 77dd2bd699 If GOP is missing, use config.txt resolution or 1024x768 2023-11-25 20:02:01 +02:00
Lauri Kenttä 4379f9cbeb Add gnu-efi submodule for headers, don't link, just re-implement some functions 2023-11-20 19:42:23 +02:00
Lauri Kenttä 2a0f2a7757 Get shell arguments without gnu-efi 2023-11-20 19:31:25 +02:00
Lauri Kenttä ebbacb72bb Open ESP root dir without gnu-efi 2023-11-20 19:31:25 +02:00
Lauri Kenttä 57ce3ae33e Avoid using gnu-efi static global GUIDs 2023-11-20 19:31:25 +02:00
Lauri Kenttä 7dd048346d Use EFI BS FreePool, SetMem, CopyMem 2023-11-20 19:31:25 +02:00
Lauri Kenttä 0dfc49c800 Re-implement string formatting (%s, %d, %x) 2023-11-20 19:31:25 +02:00
Lauri Kenttä 4e50b33636 Check BMP pixel data size when loading 2023-11-20 19:31:25 +02:00
Lauri Kenttä db934099df Gather log during boot 2023-11-17 23:13:12 +02:00
Lauri Kenttä 9b3b045a21 Add SBAT section to the EFI binaries 2023-11-17 22:26:43 +02:00
Lauri Kenttä 2f572b24d4 Free BMP if it's invalid 2023-11-09 21:46:35 +02:00
Lauri Kenttä 0ce904f133 Use 999999 as the 'big' value instead of 2**31-1 2023-10-04 15:25:03 +03:00
Lauri Kenttä 62c892009a Overwrite BGRT in a more readable manner 2023-10-04 15:25:03 +03:00
Lauri Kenttä 00bbfd6d82 Add ACPI table addresses to debug output 2023-10-04 15:25:03 +03:00
Lauri Kenttä 661758ba58 Crop BMP to screen size 2023-09-14 18:07:48 +03:00
Lauri Kenttä 93eec1a250 Improve BMP handling 2023-09-14 18:05:38 +03:00
Lauri Kenttä 75e64a7ef3 Handle screen orientation 2023-09-10 15:02:58 +03:00
Lauri Kenttä e5616c6cd2 Make coordinates relative to center
Relative coordinates make it easier to center the image.
The value "auto" is now replaced with simply 0.
The value "native" is replaced with "keep" for consistency.
The value is clamped, so x=-9999 will align to the left border etc.
2023-09-10 15:02:58 +03:00
Lauri Kenttä ad0b71c49b Set EFI ReadKey timeout to 15 seconds 2023-09-10 15:02:58 +03:00
Lauri Kenttä 7dbdf33ea8 Create an own entry, don't replace MS boot loader 2023-09-10 15:02:58 +03:00
Lauri Kenttä 4cf12f26b2 Update Print function signature for gnu-efi 3.0.11 2020-03-01 06:03:17 +02:00
Lauri Kenttä f255b13027 Hard-code a fallback boot loader path
If the config is invalid, try to load the default boot loader backup.
2017-08-29 01:56:58 +03:00
Lauri Kenttä b7fd08c978 Add git version to the EFI application 2016-06-05 12:42:37 +03:00
Lauri Kenttä efdd91a6d8 Add support for changing screen resolution 2016-06-02 22:52:05 +03:00
Lauri Kenttä dae1a9abce Fix ACPI table handling and update the main logic
Apparently the BGRT must be stored in every XSDT on the system.
Also some table checksums were not updated correctly.
This patch cleans up the whole process of updating the ACPI tables.
2016-05-14 20:39:39 +03:00
Lauri Kenttä 51ccb0255e Improve SDT checksum functions 2016-05-14 20:11:54 +03:00
Lauri Kenttä a633eeb781 Use REPLACE and empty path instead of BLACK action 2016-05-14 20:11:17 +03:00
Lauri Kenttä b5006f7771 In debug mode, confirm before booting 2016-05-14 11:49:10 +03:00
Lauri Kenttä c49f0f6cbc Use ReadKey in the confirmation before exiting 2016-05-14 11:46:23 +03:00
Lauri Kenttä 31323a5111 For ACPI checksum, use header.length, not sizeof
There should be no difference between header.length and sizeof, but if
there is, the correct checksum should be based on header.length.
2016-05-14 10:57:56 +03:00
Lauri Kenttä 9891039b06 Fix a potentian null pointer reference
If GOP is not available and there's no old_bmp, the coordinates can't
be automatically calculated.
2016-05-14 10:51:29 +03:00
Lauri Kenttä cc44e6eb9b Initial release to GitHub 2016-05-11 23:01:22 +03:00