From 968d7f30d4bb14d31f809f92999d9adbd5aad116 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 22 Mar 2026 11:35:57 +0100 Subject: [FEAT] Logging infra improvements and release fixes. Signed-off-by: Amlal El Mahrouss --- src/boot/BootKit/Shared/BootImg.rsrc | 72 ++++++++++++++++++++++ src/kernel/HALKit/AMD64/HalDebugOutput.cpp | 8 +-- src/kernel/HALKit/AMD64/HalKernelMain.cpp | 9 ++- .../HALKit/ARM64/HalSchedulerCorePrimitives.cpp | 2 + src/modules/CoreGfx/CoreGfx.h | 2 +- 5 files changed, 87 insertions(+), 6 deletions(-) create mode 100644 src/boot/BootKit/Shared/BootImg.rsrc (limited to 'src') diff --git a/src/boot/BootKit/Shared/BootImg.rsrc b/src/boot/BootKit/Shared/BootImg.rsrc new file mode 100644 index 00000000..514fdf85 --- /dev/null +++ b/src/boot/BootKit/Shared/BootImg.rsrc @@ -0,0 +1,72 @@ +#pragma once + +#define BOOT_LOGO_HEIGHT 64 +#define BOOT_LOGO_WIDTH 64 + +// array size is 12288 +inline const Kernel::UInt32 kBootLogo[] = { + 0x1e3c5a, 0x22415f, 0x294967, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2c4c6a, 0x2b4c69, 0x2b4a68, 0x274865, 0x244562, 0x21415e, 0x1d3d5a, 0x1f3e57, 0x2a5555, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, + 0x1f3f5c, 0x335270, 0x416281, 0x436383, 0x436383, 0x426383, 0x426383, 0x426383, 0x426383, 0x436383, 0x426383, 0x436383, 0x426383, 0x426383, 0x426383, 0x436383, 0x426383, 0x426383, 0x436383, 0x426383, 0x436383, 0x426383, 0x426383, 0x426383, 0x426383, 0x426383, 0x426383, 0x436383, 0x426383, 0x436383, 0x426383, 0x426383, 0x426383, 0x426383, 0x436383, 0x426383, 0x426383, 0x436383, 0x436383, 0x426383, 0x426382, 0x426382, 0x406180, 0x3e5f7d, 0x395a79, 0x335472, 0x2b4d6a, 0x254462, 0x1e3f5d, 0x1e3d5b, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, + 0x244361, 0x3d5e7d, 0x436484, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x446584, 0x446584, 0x426382, 0x3d5e7c, 0x335472, 0x284865, 0x203f5d, 0x1d3a58, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, + 0x244461, 0x3e5f7e, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436483, 0x436484, 0x406180, 0x355574, 0x274765, 0x1e405c, 0x24486d, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, + 0x244461, 0x3e5e7e, 0x436483, 0x426383, 0x426383, 0x426383, 0x436383, 0x426383, 0x426383, 0x436383, 0x436383, 0x436383, 0x436383, 0x426383, 0x426383, 0x436383, 0x426383, 0x426383, 0x436383, 0x436383, 0x436383, 0x436383, 0x426383, 0x426383, 0x436383, 0x426383, 0x426383, 0x436383, 0x426383, 0x436383, 0x436383, 0x426383, 0x426383, 0x436383, 0x426383, 0x426383, 0x436383, 0x436383, 0x426383, 0x436383, 0x426383, 0x426383, 0x436383, 0x426383, 0x426383, 0x426383, 0x436383, 0x436383, 0x436383, 0x436383, 0x436483, 0x3e5f7e, 0x30506f, 0x22425f, 0x20415a, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, + 0x244461, 0x3d5e7d, 0x426383, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426383, 0x426382, 0x375876, 0x264663, 0x1f3f5b, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, + 0x244461, 0x3d5e7d, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426382, 0x426383, 0x3b5c7b, 0x284965, 0x1d3d5b, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, + 0x244461, 0x3d5e7d, 0x426382, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426282, 0x426383, 0x3d5d7d, 0x294967, 0x1e3f5a, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, + 0x244461, 0x3d5d7d, 0x426282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x416282, 0x426282, 0x3c5d7c, 0x284866, 0x1e3d5b, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, + 0x244461, 0x3c5d7c, 0x416282, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416281, 0x416282, 0x3a5a79, 0x254562, 0x1f3f5f, 0x000000, 0x000000, 0x000000, 0x000000, + 0x244461, 0x3c5d7c, 0x416281, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416282, 0x355574, 0x20415e, 0x555555, 0x000000, 0x000000, 0x000000, + 0x244461, 0x3c5c7c, 0x416181, 0x416181, 0x406181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x406181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x406181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x406181, 0x416181, 0x406181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x406181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x406181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x416181, 0x406080, 0x2d4d6b, 0x203d59, 0x000000, 0x000000, 0x000000, + 0x244461, 0x3c5c7c, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x406181, 0x3a5b7a, 0x254462, 0x24485b, 0x000000, 0x000000, + 0x244361, 0x3c5c7b, 0x406181, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x406180, 0x30506e, 0x1f3f5c, 0x000000, 0x000000, + 0x244361, 0x3b5c7b, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x406080, 0x3b5b7a, 0x244461, 0x194c66, 0x000000, + 0x244361, 0x3b5c7b, 0x406080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x2d4d6c, 0x1d3b59, 0x000000, + 0x244361, 0x3b5b7b, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x3f6080, 0x406081, 0x365676, 0x20415e, 0x000000, + 0x244361, 0x3b5b7b, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3e5f80, 0x3e5f80, 0x3e5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3c5c7d, 0x274563, 0x224455, + 0x244360, 0x3a5b7b, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3e5f80, 0x3e5f7f, 0x426182, 0x416181, 0x3e5f7f, 0x3c5d7e, 0x3d5e7f, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3e5f7f, 0x416181, 0x456484, 0x466585, 0x466584, 0x446383, 0x406080, 0x3e5e7f, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3e5f80, 0x3f5f80, 0x3f5f80, 0x3f5f80, 0x3e5f7f, 0x2b4b6a, 0x1e3c5a, + 0x234360, 0x3a5a7a, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3f5f80, 0x8c9fb2, 0xc6d0d9, 0xc1cbd6, 0xb2bfcc, 0x8b9eb2, 0x53708d, 0x3c5d7e, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3c5d7e, 0x68819a, 0xc1ccd6, 0xced6df, 0xd0d8e0, 0xcfd7df, 0xcad3dc, 0xbbc7d2, 0x6a839c, 0x3c5d7e, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3e5f7f, 0x3f5f80, 0x305170, 0x1d3d5a, + 0x234360, 0x3a5a7a, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7e, 0x8295a9, 0xf1f3f4, 0xffffff, 0xffffff, 0xffffff, 0xdae0e6, 0x7189a1, 0x3c5d7e, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3c5d7e, 0x5d7792, 0xdadfe4, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xe9ecef, 0x698199, 0x3c5c7d, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5e7f, 0x3e5f7f, 0x345574, 0x1f3f5d, + 0x234360, 0x3a5a7a, 0x3e5e7f, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3c5c7c, 0x7b8fa3, 0xf2f3f5, 0xffffff, 0xffffff, 0xffffff, 0xe6eaee, 0x69829b, 0x3b5c7d, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3c5c7d, 0x5a748e, 0xd9dee4, 0xffffff, 0xffffff, 0xe6e9ed, 0x6c8399, 0x3c5c7d, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7e, 0x3e5e7f, 0x375777, 0x21425f, + 0x234360, 0x395a79, 0x3e5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3e5e7e, 0xb7c2cd, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xd5dce3, 0x55718e, 0x3b5c7d, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x395a7b, 0x94a5b6, 0xffffff, 0xffffff, 0x99a9b9, 0x3a5b7b, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3d5e7e, 0x3e5e7e, 0x385979, 0x23425f, + 0x234360, 0x395979, 0x3d5e7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3a5a7c, 0x8c9eb1, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xb9c4d0, 0x456483, 0x3c5d7d, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3a5b7c, 0x7a90a6, 0xfdfdfd, 0xf8f9fa, 0x6e859d, 0x3a5b7c, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x395979, 0x234360, + 0x234360, 0x395979, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3a5a7c, 0x7a90a5, 0xfefefe, 0xe7eaee, 0xb3bdc8, 0xfafbfb, 0xffffff, 0xfcfdfd, 0x97a8ba, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3a5b7c, 0x71889f, 0xfafbfc, 0xf0f2f4, 0x5e7893, 0x3b5b7c, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x3d5d7e, 0x395979, 0x234360, + 0x234360, 0x395979, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3a5a7b, 0x7289a0, 0xfdfdfd, 0xd2d9e0, 0x4b6784, 0xacb8c5, 0xffffff, 0xffffff, 0xf1f3f6, 0x758ca3, 0x3a5b7c, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3a5a7b, 0x6d849d, 0xf9fafb, 0xe8ecef, 0x54708c, 0x3b5c7c, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3c5c7d, 0x3a5b7b, 0x395a7b, 0x3a5a7b, 0x395a7b, 0x395a7b, 0x3b5c7c, 0x3c5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x3d5d7d, 0x395979, 0x234360, + 0x234360, 0x385879, 0x3c5d7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x395a7b, 0x6d859d, 0xfbfcfc, 0xcbd3dc, 0x406080, 0x4b6785, 0xc9d1d9, 0xffffff, 0xffffff, 0xdce1e7, 0x587490, 0x3a5b7c, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x395a7b, 0x6b839b, 0xf9fafb, 0xe2e7eb, 0x4f6b89, 0x3b5b7c, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3b5c7c, 0x3a5a7c, 0x496785, 0x6c849d, 0x8da0b3, 0x99aabb, 0x95a7b8, 0x7e93a9, 0x55718e, 0x3c5c7d, 0x3b5c7c, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5d7d, 0x385879, 0x234360, + 0x234360, 0x385879, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x395a7b, 0x69829a, 0xfafafb, 0xc7d0d9, 0x405f7f, 0x395a7b, 0x607992, 0xe4e8ec, 0xffffff, 0xffffff, 0xbcc7d3, 0x456483, 0x3b5b7c, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x395a7b, 0x6a829b, 0xf9fafb, 0xdee3e9, 0x4c6987, 0x3b5b7c, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3a5b7c, 0x466483, 0x8a9db1, 0xd5dce3, 0xf7f8fa, 0xf6f7f8, 0xf5f6f7, 0xfefefe, 0xffffff, 0xe4e9ed, 0x96a8b9, 0x456483, 0x3b5b7c, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x385879, 0x234360, + 0x234360, 0x385878, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x395a7b, 0x678099, 0xf9f9fa, 0xc5ced8, 0x3f5f7f, 0x3c5c7d, 0x395a7b, 0x8194a7, 0xf7f8f9, 0xffffff, 0xfdfdfe, 0x97a8ba, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x395a7b, 0x69819a, 0xf9fafb, 0xdbe1e7, 0x496785, 0x3b5b7c, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3a5b7c, 0x4f6c8a, 0xbbc6d2, 0xfeffff, 0xf0f1f3, 0x9caab8, 0x667d94, 0x5f7790, 0x8193a6, 0xdadfe4, 0xffffff, 0xfefefe, 0xacbac8, 0x426181, 0x3b5b7c, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x3c5c7d, 0x385878, 0x234360, + 0x234360, 0x375878, 0x3c5c7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x39597b, 0x657e98, 0xf8f9fa, 0xc5ced7, 0x3f5e7e, 0x3b5b7c, 0x3b5b7c, 0x3e5d7d, 0xaab6c3, 0xffffff, 0xffffff, 0xf1f3f5, 0x7289a1, 0x39597b, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x39597a, 0x69829a, 0xf9fafb, 0xd9dfe5, 0x486684, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3a5b7c, 0x456383, 0xbac6d1, 0xffffff, 0xeef0f3, 0x768a9f, 0x395979, 0x38597a, 0x39597b, 0x375779, 0x5f7891, 0xe3e7eb, 0xffffff, 0xfafbfc, 0x8095aa, 0x39597b, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3c5c7c, 0x375878, 0x234360, + 0x234360, 0x375778, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x38597a, 0x647d97, 0xf7f9fa, 0xc6cfd8, 0x3f5e7e, 0x3b5b7c, 0x3b5b7c, 0x3a5a7b, 0x4d6986, 0xd1d8de, 0xffffff, 0xffffff, 0xdae0e6, 0x55718e, 0x39597b, 0x3b5b7c, 0x3b5b7c, 0x38597a, 0x6b839c, 0xfafbfb, 0xd8dee4, 0x476584, 0x3a5a7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x39597b, 0x8c9eb2, 0xfdfdfe, 0xffffff, 0x9cabba, 0x39597a, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x38587a, 0x9dacbb, 0xffffff, 0xffffff, 0xc7d0d9, 0x426180, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x375778, 0x234360, + 0x234360, 0x375778, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x38597a, 0x647d97, 0xf7f8fa, 0xc7d0d9, 0x3f5e7f, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x38597a, 0x6c8299, 0xeff1f3, 0xffffff, 0xffffff, 0xbac5d1, 0x436281, 0x3a5a7b, 0x3b5b7c, 0x38597a, 0x6c849c, 0xfafbfc, 0xd8dee4, 0x476583, 0x3a5a7b, 0x3b5b7c, 0x3b5b7c, 0x3a5a7b, 0x4c6987, 0xdae0e6, 0xffffff, 0xf0f2f4, 0x5f7892, 0x39597a, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x37587a, 0x778ca3, 0xfcfcfd, 0xffffff, 0xeaedf1, 0x56718e, 0x39597b, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x375778, 0x234360, + 0x234360, 0x375777, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x38587a, 0x647d97, 0xf7f8fa, 0xc8d1da, 0x3f5e7f, 0x3a5a7b, 0x3b5b7c, 0x3b5b7c, 0x3a5a7c, 0x3a5a7a, 0x96a5b5, 0xfdfefe, 0xffffff, 0xfcfdfd, 0x94a6b8, 0x3a5a7b, 0x3a5a7b, 0x38587a, 0x6e859d, 0xfbfcfc, 0xd8dee4, 0x466483, 0x3a5a7b, 0x3b5b7c, 0x3b5b7c, 0x38587a, 0x7a90a6, 0xfbfcfc, 0xffffff, 0xe2e6eb, 0x4b6886, 0x365779, 0x375879, 0x375879, 0x38587a, 0x39597a, 0x39597a, 0x8296ab, 0xfdfdfd, 0xffffff, 0xf1f3f6, 0x5e7893, 0x38597a, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x3b5b7c, 0x375777, 0x234360, + 0x234360, 0x365677, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x385879, 0x657e97, 0xf8f9fa, 0xc9d2da, 0x3f5e7e, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x39597b, 0x446280, 0xc2cad3, 0xffffff, 0xffffff, 0xf0f3f5, 0x7188a0, 0x38587a, 0x375879, 0x71879f, 0xfcfdfd, 0xd8dee4, 0x466483, 0x39597b, 0x3a5a7b, 0x3a5a7b, 0x39597a, 0xa7b5c4, 0xffffff, 0xffffff, 0xf1f3f5, 0x93a4b6, 0x788ea5, 0x8196ab, 0x8da0b3, 0x9aabbc, 0xa9b7c6, 0xb9c5d0, 0xe9ecf0, 0xffffff, 0xffffff, 0xd4dae1, 0x4b6785, 0x39597b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x365677, 0x234360, + 0x234360, 0x365677, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x375879, 0x677f98, 0xf9fafb, 0xcad3db, 0x405e7e, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x385879, 0x5d7690, 0xe5e8ec, 0xffffff, 0xffffff, 0xdbe1e7, 0x56728e, 0x355577, 0x768ca3, 0xfefefe, 0xd8dee4, 0x466483, 0x39597b, 0x3a5a7b, 0x3a5a7b, 0x3c5c7c, 0xbfc9d4, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xf9f9fa, 0xf4f5f7, 0xeff1f3, 0xe9ecee, 0xe1e5e9, 0xd7dce1, 0xc9d0d7, 0xb6c0ca, 0x9ba9b8, 0x5d768f, 0x39597a, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x365677, 0x234360, + 0x234360, 0x365677, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x375779, 0x6a829b, 0xfafbfc, 0xcdd4dd, 0x405f7f, 0x39597b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x385879, 0x8396a9, 0xf9fafa, 0xffffff, 0xffffff, 0xbec8d3, 0x416080, 0x8094a9, 0xffffff, 0xd8dee4, 0x466382, 0x39597a, 0x3a5a7b, 0x3a597b, 0x3e5d7d, 0xc4cdd7, 0xffffff, 0xffffff, 0xf8f9fa, 0xa7b3c0, 0x73879c, 0x647a92, 0x58718b, 0x506a86, 0x496481, 0x435f7e, 0x3e5c7b, 0x395879, 0x375678, 0x385879, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x3a5a7b, 0x365677, 0x234360, + 0x234360, 0x365676, 0x3a597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x365779, 0x6f869e, 0xfcfdfd, 0xd1d8e0, 0x426080, 0x39597a, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597a, 0x3e5c7c, 0xafbbc7, 0xffffff, 0xffffff, 0xfefefe, 0x9dadbd, 0x9babbb, 0xffffff, 0xd7dee4, 0x456382, 0x39597a, 0x39597b, 0x39597a, 0x3c5b7c, 0xbfc9d3, 0xffffff, 0xffffff, 0xd6dce2, 0x436180, 0x355678, 0x375779, 0x375779, 0x38587a, 0x38587a, 0x39597a, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x39597b, 0x3a597b, 0x365677, 0x234360, + 0x23435f, 0x365576, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x365678, 0x768ba2, 0xfefefe, 0xd8dee4, 0x456382, 0x38587a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x375879, 0x506b87, 0xd6dce2, 0xffffff, 0xffffff, 0xf7f8f9, 0xeceff2, 0xffffff, 0xd7dee4, 0x456382, 0x38587a, 0x39597a, 0x39597a, 0x385879, 0xabb8c5, 0xffffff, 0xffffff, 0xd6dce3, 0x446281, 0x38587a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x365576, 0x23435f, + 0x23435f, 0x355576, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x365678, 0x8295aa, 0xffffff, 0xe1e6eb, 0x4c6886, 0x385879, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x365678, 0x6f859b, 0xf1f3f5, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xd9dfe5, 0x466382, 0x38587a, 0x39597a, 0x39597a, 0x365678, 0x8598ac, 0xffffff, 0xffffff, 0xedf0f3, 0x5a7590, 0x375778, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x39597a, 0x355576, 0x23435f, + 0x22435f, 0x355576, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x355578, 0x95a6b7, 0xffffff, 0xeff1f4, 0x5a7490, 0x365678, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x38587a, 0x395879, 0x98a7b7, 0xfefefe, 0xffffff, 0xffffff, 0xffffff, 0xdce1e7, 0x486584, 0x385779, 0x39587a, 0x39587a, 0x375779, 0x55708b, 0xe7ebee, 0xffffff, 0xffffff, 0x9fafbf, 0x38587a, 0x385879, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x385779, 0x365678, 0x375779, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x39587a, 0x355576, 0x22435f, + 0x21415f, 0x345475, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x375779, 0x3a5a7b, 0xbbc6d1, 0xffffff, 0xfcfdfd, 0x7c91a7, 0x355577, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x375779, 0x43607f, 0xbfc8d1, 0xffffff, 0xffffff, 0xffffff, 0xdfe4e9, 0x496685, 0x375779, 0x38587a, 0x38587a, 0x38587a, 0x385879, 0x9fadbc, 0xffffff, 0xffffff, 0xf2f4f6, 0x8699ae, 0x3c5b7c, 0x355577, 0x365678, 0x375779, 0x365678, 0x365678, 0x476484, 0x8094aa, 0x8195aa, 0x39597a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x38587a, 0x355576, 0x22435f, + 0x21415d, 0x335374, 0x38587a, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x375779, 0x3c5b7c, 0x879aae, 0xf4f6f8, 0xffffff, 0xffffff, 0xc9d1da, 0x466483, 0x375779, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x365678, 0x546e89, 0xd5dbe1, 0xffffff, 0xffffff, 0xdee3e8, 0x486584, 0x375778, 0x385879, 0x385879, 0x385879, 0x375778, 0x496583, 0xc7cfd7, 0xffffff, 0xffffff, 0xf7f8f9, 0xb7c3cf, 0x758ca3, 0x58728e, 0x516d8a, 0x617a95, 0x92a4b6, 0xd5dce3, 0xfefefe, 0xa6b3c1, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x385879, 0x355475, 0x22435f, + 0x1f3e5c, 0x315171, 0x385879, 0x385779, 0x385779, 0x385779, 0x385779, 0x385779, 0x385779, 0x375779, 0x3e5d7d, 0xa8b5c4, 0xfcfcfd, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x94a4b6, 0x365678, 0x385779, 0x385779, 0x385779, 0x385779, 0x385779, 0x385779, 0x385779, 0x385779, 0x385779, 0x365577, 0x5c748e, 0xd1d7de, 0xffffff, 0xc9d1da, 0x3f5d7d, 0x375779, 0x385779, 0x385779, 0x385779, 0x385779, 0x365678, 0x516b87, 0xbdc6cf, 0xfbfcfc, 0xffffff, 0xffffff, 0xfcfcfd, 0xeef1f4, 0xe9edf0, 0xf5f6f8, 0xffffff, 0xf5f6f7, 0xa8b4c1, 0x476381, 0x375678, 0x385779, 0x385779, 0x385779, 0x385779, 0x385779, 0x385779, 0x385779, 0x385779, 0x345475, 0x22435f, + 0x1e3c58, 0x2e4e6e, 0x385779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x3e5d7d, 0x8899ab, 0xabb6c2, 0xafbac5, 0xb0bac5, 0xb0bac6, 0xa8b4c0, 0x677e96, 0x365678, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x355577, 0x4b6683, 0x7f91a4, 0x5f7790, 0x375678, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x365578, 0x405d7c, 0x7c8fa3, 0xbec7d0, 0xe1e4e8, 0xeef0f2, 0xf2f4f5, 0xeef0f2, 0xdbe0e4, 0xadb8c4, 0x677d94, 0x395878, 0x365678, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x345475, 0x22435f, + 0x1b3a56, 0x2b4a69, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375678, 0x345476, 0x355476, 0x365576, 0x365576, 0x365576, 0x355476, 0x355577, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x365678, 0x335476, 0x355577, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x365678, 0x345476, 0x3a5878, 0x496481, 0x576f89, 0x5b728c, 0x556e88, 0x45617f, 0x375677, 0x345477, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x375779, 0x345475, 0x22435f, + 0x17374f, 0x254563, 0x365577, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x365577, 0x355577, 0x355477, 0x355577, 0x365678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375778, 0x345374, 0x22435f, + 0x3f3f3f, 0x20405c, 0x325273, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x375678, 0x335374, 0x22435f, + 0x000000, 0x1d3a55, 0x2c4b6b, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x365678, 0x335374, 0x22435f, + 0x000000, 0x183952, 0x244562, 0x345476, 0x365678, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365678, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365678, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365578, 0x365678, 0x365578, 0x365578, 0x365578, 0x365578, 0x365678, 0x335274, 0x22415f, + 0x000000, 0x000000, 0x1f3d59, 0x2e4e6e, 0x365578, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x365577, 0x335273, 0x22415f, + 0x000000, 0x000000, 0x1c384f, 0x254462, 0x345475, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x365577, 0x325273, 0x22415f, + 0x000000, 0x000000, 0x000000, 0x1d3c56, 0x2c4c6c, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x355577, 0x325273, 0x22415f, + 0x000000, 0x000000, 0x000000, 0x1c2f4b, 0x22405f, 0x315172, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355476, 0x355476, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355476, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x355477, 0x325173, 0x22415f, + 0x000000, 0x000000, 0x000000, 0x000000, 0x1b3651, 0x264564, 0x335375, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x355476, 0x325173, 0x22415f, + 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x1d3955, 0x294868, 0x345376, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x345476, 0x315172, 0x22415f, + 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x193333, 0x1d3c56, 0x2a4a6a, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x315072, 0x22415f, + 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x1e2d3c, 0x1d3b57, 0x2a4969, 0x335375, 0x345376, 0x345376, 0x345376, 0x345375, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345375, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345375, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345376, 0x345375, 0x345375, 0x345376, 0x315072, 0x22415f, + 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x1f2f3f, 0x1e3a55, 0x284766, 0x325173, 0x345375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x335375, 0x345375, 0x315072, 0x22415f, + 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x1c1c38, 0x1b3750, 0x244361, 0x2f4e70, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x305072, 0x22415f, + 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x17334a, 0x1f3d5a, 0x294868, 0x315072, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x304f72, 0x22415f, + 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x19263f, 0x1b3750, 0x23405d, 0x2a4969, 0x304f71, 0x335274, 0x335275, 0x335275, 0x335275, 0x335274, 0x335275, 0x335275, 0x335275, 0x335274, 0x335274, 0x335275, 0x335275, 0x335275, 0x335274, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335274, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335274, 0x335275, 0x335275, 0x335274, 0x335275, 0x335275, 0x335275, 0x335275, 0x335274, 0x335275, 0x335275, 0x335275, 0x335274, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x304f71, 0x22415f, + 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x172f3f, 0x1b364f, 0x203e5b, 0x264564, 0x2c4b6c, 0x2f4f71, 0x315173, 0x325174, 0x325275, 0x335275, 0x335275, 0x335275, 0x325275, 0x335275, 0x335275, 0x335275, 0x335275, 0x325275, 0x325275, 0x335275, 0x335275, 0x325275, 0x335275, 0x335275, 0x335275, 0x335275, 0x325275, 0x325275, 0x335275, 0x335275, 0x325275, 0x325275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x335275, 0x325275, 0x325274, 0x335275, 0x335275, 0x335275, 0x335275, 0x325275, 0x335275, 0x335275, 0x335275, 0x2d4c6d, 0x1f3f5a, + 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x0e2a38, 0x193049, 0x1c3952, 0x203e5a, 0x234260, 0x264665, 0x294868, 0x2b4a6a, 0x2b4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2c4b6c, 0x2a496a, 0x21405e, 0x19364f, + 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x112233, 0x172941, 0x173246, 0x1a344c, 0x1b374f, 0x1b3851, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1c3852, 0x1b374f, 0x193347, 0x000000 +}; \ No newline at end of file diff --git a/src/kernel/HALKit/AMD64/HalDebugOutput.cpp b/src/kernel/HALKit/AMD64/HalDebugOutput.cpp index a63b3657..412322f4 100644 --- a/src/kernel/HALKit/AMD64/HalDebugOutput.cpp +++ b/src/kernel/HALKit/AMD64/HalDebugOutput.cpp @@ -59,7 +59,7 @@ namespace Detail { TerminalDevice::~TerminalDevice() = default; #ifdef __DEBUG__ -STATIC SizeT kX = kFontSizeX, kY = kFontSizeY; +STATIC SizeT kX = kFontSizeX, kY = kFontSizeY + 66; #endif // __DEBUG__ EXTERN_C void ke_utf_io_write(IDevice* obj, const Utf8Char* bytes) { @@ -91,7 +91,7 @@ EXTERN_C void ke_utf_io_write(IDevice* obj, const Utf8Char* byt tmp_str[0] = (bytes[index] > 127) ? '?' : bytes[index]; tmp_str[1] = 0; - cg_render_string(tmp_str, kY, kX, RGB(0x00, 0x00, 0x00)); + cg_render_string(tmp_str, kY, kX, RGB(0xFF, 0xFF, 0xFF)); if (bytes[index] == '\r') { kY += kFontSizeY; @@ -147,7 +147,7 @@ EXTERN_C void ke_io_write(IDevice* obj, const Char* bytes) { tmp_str[0] = bytes[index]; tmp_str[1] = 0; - cg_render_string(tmp_str, kY, kX, RGB(0x00, 0x00, 0x00)); + cg_render_string(tmp_str, kY, kX, RGB(0xFF, 0xFF, 0xFF)); if (bytes[index] == '\r') { kY += kFontSizeY; @@ -161,7 +161,7 @@ EXTERN_C void ke_io_write(IDevice* obj, const Char* bytes) { } if (kY > kHandoverHeader->f_GOP.f_Height) { - kY = kFontSizeY; + kY = kFontSizeY + 66; FBDrawInRegion(cg_get_clear_clr(), FB::CGAccessibilty::Height(), FB::CGAccessibilty::Width(), 0, 0); diff --git a/src/kernel/HALKit/AMD64/HalKernelMain.cpp b/src/kernel/HALKit/AMD64/HalKernelMain.cpp index fabeb077..4c527572 100644 --- a/src/kernel/HALKit/AMD64/HalKernelMain.cpp +++ b/src/kernel/HALKit/AMD64/HalKernelMain.cpp @@ -18,6 +18,9 @@ #include #include +#include +#include "NeKit/KernelPanic.h" + #ifndef __NE_MODULAR_KERNEL_COMPONENTS__ EXTERN_C Kernel::VoidPtr kInterruptVectorTable[]; @@ -154,6 +157,10 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) { NeFileSystemMgr::Mount(new NeFileSystemMgr()); #endif + cg_init(); + FBDrawBitMapInRegion(kBootLogo, BOOT_LOGO_WIDTH, BOOT_LOGO_HEIGHT, 10, 10); + cg_clear(); + UserProcessScheduler::The().SwitchTeam(kRTUserTeam); PEFLoader ldr("/system/init.out"); @@ -161,7 +168,7 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) { if (ldr.IsLoaded()) rtl_create_user_process(ldr, UserProcess::ExecutableKind::kExecutableKind); else - ke_panic(RUNTIME_CHECK_PROCESS, "RuntimeCheck: Invalid Process Data!"); + ke_panic(RUNTIME_CHECK_BAD_BEHAVIOR, "Invalid Init Process."); UserProcessScheduler::The().SwitchTeam(kMidUserTeam); diff --git a/src/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cpp b/src/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cpp index 634fc9c4..4581deb0 100644 --- a/src/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cpp +++ b/src/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cpp @@ -7,6 +7,7 @@ #include namespace Kernel { + /***********************************************************************************/ /// @brief Unimplemented function (crashes by default) /// @param process The process handle. @@ -26,4 +27,5 @@ EXTERN_C Bool hal_check_task(HAL::StackFramePtr stack_ptr) { return stack_ptr->SP != 0 && stack_ptr->IP != 0; } + } // namespace Kernel diff --git a/src/modules/CoreGfx/CoreGfx.h b/src/modules/CoreGfx/CoreGfx.h index 88787e8e..1d6966f5 100644 --- a/src/modules/CoreGfx/CoreGfx.h +++ b/src/modules/CoreGfx/CoreGfx.h @@ -12,7 +12,7 @@ #define cg_color(R, G, B) RGB(R, G, B) -#define cg_get_clear_clr() RGB(0xFF, 0xFF, 0xFF) +#define cg_get_clear_clr() RGB(0, 0, 0) #define cg_clear() kCGCursor = 0UL -- cgit v1.2.3