Index: branches/zenith432/version =================================================================== --- branches/zenith432/version (revision 2876) +++ branches/zenith432/version (revision 2877) @@ -1 +1 @@ -2.3svn +2.4svn Index: branches/zenith432/Chameleon.xcodeproj/project.pbxproj =================================================================== --- branches/zenith432/Chameleon.xcodeproj/project.pbxproj (revision 2876) +++ branches/zenith432/Chameleon.xcodeproj/project.pbxproj (revision 2877) @@ -261,6 +261,7 @@ 36EBBF3A1A5D704000E30561 /* text_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_prev.png; sourceTree = ""; }; 36EBBF3B1A5D704000E30561 /* theme.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = ""; }; 36EBBF3C1A5D704000E30561 /* thumb.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = thumb.png; sourceTree = ""; }; + 547C2FA41E8593810051CFCF /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; 6DBAFD1313B0D21E0047ED33 /* modules_support.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = modules_support.s; sourceTree = ""; }; 6DBAFD1413B0D21E0047ED33 /* modules.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = modules.c; sourceTree = ""; }; 6DBAFD1513B0D21E0047ED33 /* modules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = modules.h; sourceTree = ""; }; @@ -3161,6 +3162,7 @@ B0056CF711F3868000754B65 /* boot.h */, B0056CF811F3868000754B65 /* boot2.s */, B4189A0214BFBE9E00ED5B0B /* Cconfig */, + 547C2FA41E8593810051CFCF /* config.h */, B0056CF911F3868000754B65 /* drivers.c */, B0056CFA11F3868000754B65 /* graphic_utils.c */, B0056CFB11F3868000754B65 /* graphic_utils.h */, Index: branches/zenith432/i386/libsaio/smbios_getters.h =================================================================== --- branches/zenith432/i386/libsaio/smbios_getters.h (revision 2876) +++ branches/zenith432/i386/libsaio/smbios_getters.h (revision 2877) @@ -33,7 +33,8 @@ extern bool getProcessorInformationExternalClock(returnType *value); extern bool getProcessorInformationMaximumClock(returnType *value); extern bool getSMBOemProcessorBusSpeed(returnType *value); -//extern bool getSMBOemPlatformFeature(returnType *value); +extern bool getSMBOemPlatformFeature(returnType *value); +//external bool getSMBOemSMCVersion(returnType *value); extern bool getSMBOemProcessorType(returnType *value); extern bool getSMBMemoryDeviceMemoryType(returnType *value); extern bool getSMBMemoryDeviceMemoryErrorHandle(returnType *value); Index: branches/zenith432/i386/libsaio/xml.c =================================================================== --- branches/zenith432/i386/libsaio/xml.c (revision 2876) +++ branches/zenith432/i386/libsaio/xml.c (revision 2877) @@ -22,15 +22,12 @@ * @APPLE_LICENSE_HEADER_END@ */ +#include "config.h" #include "bootstruct.h" #include "libsaio.h" #include "sl.h" #include "xml.h" -#ifndef DEBUG_XML - #define DEBUG_XML 0 -#endif - #if DEBUG_XML #define DBG(x...) printf(x) #else @@ -912,7 +909,7 @@ //========================================================================== // ParseTagData -static long ParseTagData( char *buffer, TagPtr *tag ) +static long ParseTagData( char *buffer, TagPtr *tag) { int actuallen = 0; long length = 0; Index: branches/zenith432/i386/libsaio/console.c =================================================================== --- branches/zenith432/i386/libsaio/console.c (revision 2876) +++ branches/zenith432/i386/libsaio/console.c (revision 2877) @@ -207,11 +207,6 @@ int getchar() { register int c = getc(); - -// if ( c == '\r' ) c = '\n'; - -// if ( c >= ' ' && c < 0x7f) putchar(c); - return (c); } @@ -228,24 +223,6 @@ { vprf(fmt, ap); } -/* - { - // Kabyl: BooterLog - struct putc_info pi; - - if (!msgbuf) { - return 0; - } - - if (((cursor - msgbuf) > (BOOTER_LOG_SIZE - SAFE_LOG_SIZE))) { - return 0; - } - pi.str = cursor; - pi.last_str = 0; - prf(fmt, ap, sputc, &pi); - cursor += strlen((char *)cursor); - } -*/ va_end(ap); return 0; } Index: branches/zenith432/i386/libsaio/xml.h =================================================================== --- branches/zenith432/i386/libsaio/xml.h (revision 2876) +++ branches/zenith432/i386/libsaio/xml.h (revision 2877) @@ -115,5 +115,4 @@ // ParseTag* long ParseTagBoolean( char *buffer, TagPtr *tag, long type ); - #endif /* __LIBSAIO_XML_H */ Index: branches/zenith432/i386/libsaio/exfat.c =================================================================== --- branches/zenith432/i386/libsaio/exfat.c (revision 2876) +++ branches/zenith432/i386/libsaio/exfat.c (revision 2877) @@ -35,6 +35,7 @@ * from similar ntfs.c funcs as fallback (if not NTFS, maybe it's EXFAT). */ +#include "config.h" #include "libsaio.h" #include "sl.h" @@ -42,16 +43,13 @@ #pragma mark Preprocessor Definitions #pragma mark - -#ifndef DEBUG_EXFAT -#define DEBUG_EXFAT 0 -#endif #if DEBUG_EXFAT -#define DBG(x...) printf(x) -#define PAUSE() getchar() + #define DBG(x...) printf(x) + #define PAUSE() getchar() #else -#define DBG(x...) -#define PAUSE() + #define DBG(x...) + #define PAUSE() #endif #define EXFAT_BBID &gExfatID[0] Index: branches/zenith432/i386/libsaio/bootstruct.c =================================================================== --- branches/zenith432/i386/libsaio/bootstruct.c (revision 2876) +++ branches/zenith432/i386/libsaio/bootstruct.c (revision 2877) @@ -26,14 +26,11 @@ * All rights reserved. */ +#include "config.h" #include "libsaio.h" #include "boot.h" #include "bootstruct.h" -#ifndef DEBUG_BOOTSTRUCT - #define DEBUG_BOOTSTRUCT 0 -#endif - #if DEBUG_BOOTSTRUCT #define DBG(x...) printf(x) #else Index: branches/zenith432/i386/libsaio/bootstruct.h =================================================================== --- branches/zenith432/i386/libsaio/bootstruct.h (revision 2876) +++ branches/zenith432/i386/libsaio/bootstruct.h (revision 2877) @@ -135,8 +135,8 @@ config_file_t smbiosConfig; // smbios.plist config_file_t helperConfig; // boot helper partition's boot.plist config_file_t ramdiskConfig; // RAMDisk.plist - config_file_t kernelConfig; // kernel.plist + bool memDetect; } PrivateBootInfo_t; Index: branches/zenith432/i386/libsaio/acpi_patcher.c =================================================================== --- branches/zenith432/i386/libsaio/acpi_patcher.c (revision 2876) +++ branches/zenith432/i386/libsaio/acpi_patcher.c (revision 2877) @@ -3,6 +3,7 @@ * 2010 mojodojo, 2012 slice */ +#include "config.h" #include "libsaio.h" #include "boot.h" #include "bootstruct.h" @@ -15,10 +16,6 @@ #include "aml_generator.h" #include "state_generator.h" -#ifndef DEBUG_ACPI - #define DEBUG_ACPI 0 -#endif - #if DEBUG_ACPI==2 #define DBG(x...) {printf(x); sleep(1);} #elif DEBUG_ACPI==1 Index: branches/zenith432/i386/libsaio/bootargs.h =================================================================== --- branches/zenith432/i386/libsaio/bootargs.h (revision 2876) +++ branches/zenith432/i386/libsaio/bootargs.h (revision 2877) @@ -140,14 +140,15 @@ /* Rootless configuration flags */ // http://www.idelta.info/archives/kext-to-check-sip-rootless-status-on-el-capitan/ -#define CSR_ALLOW_UNTRUSTED_KEXTS (1 << 0) /* Allow untrusted kexts */ -#define CSR_ALLOW_UNRESTRICTED_FS (1 << 1) /* Allow unrestricted file system. */ -#define CSR_ALLOW_TASK_FOR_PID (1 << 2) /* Allow test_for_pid() */ -#define CSR_ALLOW_KERNEL_DEBUGGER (1 << 3) -#define CSR_ALLOW_APPLE_INTERNAL (1 << 4) -#define CSR_ALLOW_UNRESTRICTED_DTRACE (1 << 5) /* Allow unrestricted dtrace */ -#define CSR_ALLOW_UNRESTRICTED_NVRAM (1 << 6) /* Allow unrestricted NVRAM */ -#define CSR_ALLOW_DEVICE_CONFIGURATION (1 << 7) /* Allow device configuration */ +#define CSR_ALLOW_UNTRUSTED_KEXTS (1 << 0) /* Allow untrusted kexts */ +#define CSR_ALLOW_UNRESTRICTED_FS (1 << 1) /* Allow unrestricted file system. */ +#define CSR_ALLOW_TASK_FOR_PID (1 << 2) /* Allow test_for_pid() */ +#define CSR_ALLOW_KERNEL_DEBUGGER (1 << 3) +#define CSR_ALLOW_APPLE_INTERNAL (1 << 4) +#define CSR_ALLOW_UNRESTRICTED_DTRACE (1 << 5) /* Allow unrestricted dtrace */ +#define CSR_ALLOW_UNRESTRICTED_NVRAM (1 << 6) /* Allow unrestricted NVRAM */ +#define CSR_ALLOW_DEVICE_CONFIGURATION (1 << 7) /* Allow device configuration */ +#define CSR_DISABLE_BASESYSTEM_VERIFICATION (1 << 8) #define CSR_VALID_FLAGS (CSR_ALLOW_UNTRUSTED_KEXTS | \ CSR_ALLOW_UNRESTRICTED_FS | \ @@ -155,8 +156,9 @@ CSR_ALLOW_KERNEL_DEBUGGER | \ CSR_ALLOW_APPLE_INTERNAL | \ CSR_ALLOW_UNRESTRICTED_DTRACE | \ - CSR_ALLOW_UNRESTRICTED_NVRAM | \ - CSR_ALLOW_DEVICE_CONFIGURATION) + CSR_ALLOW_UNRESTRICTED_NVRAM | \ + CSR_ALLOW_DEVICE_CONFIGURATION | \ + CSR_DISABLE_BASESYSTEM_VERIFICATION) typedef struct boot_args { Index: branches/zenith432/i386/libsaio/spd.c =================================================================== --- branches/zenith432/i386/libsaio/spd.c (revision 2876) +++ branches/zenith432/i386/libsaio/spd.c (revision 2877) @@ -6,6 +6,7 @@ * System profiler fix and other fixes by Mozodojo. */ +#include "config.h" #include "libsaio.h" #include "pci.h" #include "platform.h" @@ -15,10 +16,6 @@ #include "bootstruct.h" #include "memvendors.h" -#ifndef DEBUG_SPD - #define DEBUG_SPD 0 -#endif - #if DEBUG_SPD #define DBG(x...) printf(x) #else @@ -64,11 +61,13 @@ #define rdtsc(low,high) \ __asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high)) +// Intel SMB reg offsets #define SMBHSTSTS 0 #define SMBHSTCNT 2 #define SMBHSTCMD 3 #define SMBHSTADD 4 #define SMBHSTDAT 5 +#define SMBHSTDAT1 6 #define SBMBLKDAT 7 int spd_indexes[] = { @@ -86,7 +85,7 @@ /** Read one byte from the intel i2c, used for reading SPD on intel chipsets only. */ -unsigned char smb_read_byte_intel(uint32_t base, uint8_t adr, uint8_t cmd) +static unsigned char smb_read_byte_intel(uint32_t base, uint8_t adr, uint8_t cmd) { int l1, h1, l2, h2; unsigned long long t; @@ -138,7 +137,7 @@ // Get Vendor Name from spd, 2 cases handled DDR3 and DDR2, // have different formats, always return a valid ptr. -const char *getVendorName(RamSlotInfo_t *slot, uint32_t base, int slot_num) +static const char *getVendorName(RamSlotInfo_t *slot, uint32_t base, int slot_num) { uint8_t bank = 0; uint8_t code = 0; @@ -191,7 +190,7 @@ } /* Get Default Memory Module Speed (no overclocking handled) */ -int getDDRspeedMhz(const char * spd) +static int getDDRspeedMhz(const char * spd) { if ((spd[SPD_MEMORY_TYPE] == SPD_MEMORY_TYPE_SDRAM_DDR2) || (spd[SPD_MEMORY_TYPE] == SPD_MEMORY_TYPE_SDRAM_DDR)) @@ -233,7 +232,7 @@ #define SLST(a) ((uint8_t)(spd[a] & 0x0f)) /* Get DDR3 or DDR2 serial number, 0 most of the times, always return a valid ptr */ -const char *getDDRSerial(const char *spd) +static const char *getDDRSerial(const char *spd) { static char asciiSerial[17]; @@ -254,7 +253,7 @@ } /* Get DDR3 or DDR2 Part Number, always return a valid ptr */ -const char *getDDRPartNum(char *spd, uint32_t base, int slot) +static const char *getDDRPartNum(char *spd, uint32_t base, int slot) { int i, start = 0, index = 0; char c; Index: branches/zenith432/i386/libsaio/gma.c =================================================================== --- branches/zenith432/i386/libsaio/gma.c (revision 2876) +++ branches/zenith432/i386/libsaio/gma.c (revision 2877) @@ -33,6 +33,7 @@ - http://www.insanelymac.com/forum/topic/288241-intel-hd4000-inject-aaplig-platform-id/ */ +#include "config.h" #include "libsa.h" #include "saio_internal.h" #include "bootstruct.h" @@ -44,14 +45,6 @@ #include "vbe.h" #include "graphics.h" -#ifndef DEBUG_GMA - #define DEBUG_GMA 0 -#endif - -#ifndef REPLACE_DEVICE_ID - #define REPLACE_DEVICE_ID 0 -#endif - #if DEBUG_GMA #define DBG(x...) printf(x) #else @@ -443,7 +436,7 @@ {GMA_SKYLAKE_ULX_GT1, HD_GRAPHICS }, /* 190E */ {GMA_SKYLAKE_ULX_GT2, HD_GRAPHICS_515 }, /* 191E */ {GMA_SKYLAKE_DT_GT2, HD_GRAPHICS_530 }, /* 1912 */ - {GMA_SKYLAKE_1921, HD_GRAPHICS_520 }, /* 1921 */ + {GMA_SKYLAKE_1921, HD_GRAPHICS_520 }, /* 1921 */ {GMA_SKYLAKE_ULT_GT3_E, IRIS_540 }, /* 1926 */ {GMA_SKYLAKE_ULT_GT3, HD_GRAPHICS_535 }, /* 1923 */ {GMA_SKYLAKE_ULT_GT3_28W, HD_GRAPHICS_550 }, /* 1927 */ Index: branches/zenith432/i386/libsaio/pci_root.c =================================================================== --- branches/zenith432/i386/libsaio/pci_root.c (revision 2876) +++ branches/zenith432/i386/libsaio/pci_root.c (revision 2877) @@ -2,18 +2,15 @@ * Copyright 2009 netkas */ +#include "config.h" #include "libsaio.h" #include "boot.h" #include "bootstruct.h" -#ifndef DEBUG_PCIROOT -#define DEBUG_PCIROOT 1 -#endif - #if DEBUG_PCIROOT -#define DBG(x...) printf(x) + #define DBG(x...) printf(x) #else -#define DBG(x...) + #define DBG(x...) #endif static int rootuid = 10; //value means function wasnt ran yet Index: branches/zenith432/i386/libsaio/memvendors.h =================================================================== --- branches/zenith432/i386/libsaio/memvendors.h (revision 2876) +++ branches/zenith432/i386/libsaio/memvendors.h (revision 2877) @@ -887,6 +887,7 @@ { 6, 0xf2, "Muscle Power"}, { 6, 0x73, "Energy Micro"}, { 6, 0xf4, "Innofidei"}, + { 0x85, 0x9B, "Crucial Technology"}, { 9, 0xff, ""} }; Index: branches/zenith432/i386/libsaio/usb.c =================================================================== --- branches/zenith432/i386/libsaio/usb.c (revision 2876) +++ branches/zenith432/i386/libsaio/usb.c (revision 2877) @@ -7,15 +7,12 @@ * */ +#include "config.h" #include "libsaio.h" #include "boot.h" #include "bootstruct.h" #include "pci.h" -#ifndef DEBUG_USB - #define DEBUG_USB 0 -#endif - #if DEBUG_USB #define DBG(x...) printf(x) #else Index: branches/zenith432/i386/libsaio/device_inject.c =================================================================== --- branches/zenith432/i386/libsaio/device_inject.c (revision 2876) +++ branches/zenith432/i386/libsaio/device_inject.c (revision 2877) @@ -5,6 +5,7 @@ * Cleaned and merged by iNDi */ +#include "config.h" #include "libsaio.h" #include "boot.h" #include "bootstruct.h" @@ -13,10 +14,6 @@ #include "device_inject.h" #include "convert.h" -#ifndef DEBUG_INJECT - #define DEBUG_INJECT 0 -#endif - #if DEBUG_INJECT #define DBG(x...) printf(x) #else @@ -170,30 +167,30 @@ free(device); return NULL; } - + device->numentries = 0x00; - + device->acpi_dev_path.length = 0x0c; device->acpi_dev_path.type = 0x02; device->acpi_dev_path.subtype = 0x01; device->acpi_dev_path._HID = 0xd041030a; // 0x0a0341d0 - + device->num_pci_devpaths = numpaths; device->length = 24 + (6*numpaths); - + int i; - + for(i = 0; i < numpaths; i++) { device->pci_dev_path[i].length = 0x06; device->pci_dev_path[i].type = 0x01; device->pci_dev_path[i].subtype = 0x01; } - + device->path_end.length = 0x04; device->path_end.type = 0x7f; device->path_end.subtype = 0xff; - + device->string = string; device->data = NULL; Index: branches/zenith432/i386/libsaio/hda.c =================================================================== --- branches/zenith432/i386/libsaio/hda.c (revision 2876) +++ branches/zenith432/i386/libsaio/hda.c (revision 2877) @@ -60,6 +60,7 @@ * ******************************************************************************/ +#include "config.h" #include "boot.h" #include "bootstruct.h" #include "cpu.h" @@ -75,20 +76,12 @@ #define HEADER __FILE__ " [" TOSTRING(__LINE__) "]: " -#ifndef DEBUG_HDA - #define DEBUG_HDA 0 -#endif - #if DEBUG_HDA #define DBG(x...) verbose(x) #else #define DBG(x...) #endif -#ifndef DEBUG_CODEC - #define DEBUG_CODEC 0 -#endif - #if DEBUG_CODEC #define CDBG(x...) verbose(x) #else @@ -120,6 +113,7 @@ { HDA_INTEL_HSW2, "Haswell" /*, 0, 0 */ }, { HDA_INTEL_HSW3, "Haswell" /*, 0, 0 */ }, { HDA_INTEL_BDW, "Broadwell" /*, 0, 0 */ }, + { HDA_INTEL_BROXTON_T, "Broxton-T" /*, 0, 0 */ }, { HDA_INTEL_CPT, "Cougar Point" /*, 0, 0 */ }, { HDA_INTEL_PATSBURG, "Patsburg" /*, 0, 0 */ }, { HDA_INTEL_PPT1, "Panther Point" /*, 0, 0 */ }, @@ -134,6 +128,7 @@ { HDA_INTEL_82801JD, "82801JD" /*, 0, 0 */ }, { HDA_INTEL_PCH, "5 Series/3400 Series" /*, 0, 0 */ }, { HDA_INTEL_PCH2, "5 Series/3400 Series" /*, 0, 0 */ }, + { HDA_INTEL_BROXTON_P, "Apollolake" /*, 0, 0 */ }, // Broxton-P { HDA_INTEL_SCH, "SCH" /*, 0, 0 */ }, { HDA_INTEL_LPT1, "Lynx Point" /*, 0, 0 */ }, { HDA_INTEL_LPT2, "Lynx Point" /*, 0, 0 */ }, @@ -144,7 +139,12 @@ { HDA_INTEL_LPTLP1, "Lynx Point-LP" /*, 0, 0 */ }, { HDA_INTEL_LPTLP2, "Lynx Point-LP" /*, 0, 0 */ }, { HDA_INTEL_SRSPLP, "Sunrise Point-LP" /*, 0, 0 */ }, + { HDA_INTEL_KABYLAKE_LP, "Kabylake-LP" /*, 0, 0 */ }, // Kabylake-LP { HDA_INTEL_SRSP, "Sunrise Point" /*, 0, 0 */ }, + { HDA_INTEL_KABYLAKE, "Kabylake" /*, 0, 0 */ }, // Kabylake + { HDA_INTEL_LEWISBURG1, "Lewisburg" /*, 0, 0 */ }, // Lewisburg + { HDA_INTEL_LEWISBURG2, "Lewisburg" /*, 0, 0 */ }, // Lewisburg + { HDA_INTEL_UNPT, "Union Point" /*, 0, 0 */ }, // Kabylake-H //10de NVIDIA Corporation { HDA_NVIDIA_MCP51, "MCP51" /*, 0, HDAC_QUIRK_MSI */ }, @@ -335,6 +335,7 @@ { HDA_CODEC_ALC898, 0, "ALC898" }, // { HDA_CODEC_ALC899, 0, "ALC899" }, { HDA_CODEC_ALC900, 0, "ALC1150" }, + { HDA_CODEC_ALCS1220A, 0, "ALCS1220A" }, { HDA_CODEC_ALC1220, 0, "ALC1220" }, { HDA_CODEC_AD1882, 0, "AD1882" }, @@ -356,12 +357,12 @@ { HDA_CODEC_AD1989B, 0x0300, "AD2000B" }, // Revision Id: 0x100300 { HDA_CODEC_AD1989B, 0, "AD1989B" }, - { HDA_CODEC_XFIEA, 0, "Creative X-Fi Extreme A" }, - { HDA_CODEC_XFIED, 0, "Creative X-Fi Extreme D" }, - { HDA_CODEC_CA0132, 0, "Creative CA0132" }, - { HDA_CODEC_SB0880, 0, "Creative SB0880 X-Fi" }, - { HDA_CODEC_CMI9880, 0, "CMedia CMI9880" }, - { HDA_CODEC_CMI98802, 0, "CMedia CMI9880" }, + { HDA_CODEC_XFIEA, 0, "X-Fi Extreme A" }, + { HDA_CODEC_XFIED, 0, "X-Fi Extreme D" }, + { HDA_CODEC_CA0132, 0, "CA0132" }, + { HDA_CODEC_SB0880, 0, "SB0880 X-Fi" }, + { HDA_CODEC_CMI9880, 0, "CMI9880" }, + { HDA_CODEC_CMI98802, 0, "CMI9880" }, { HDA_CODEC_CXD9872RDK, 0, "CXD9872RD/K" }, { HDA_CODEC_CXD9872AKD, 0, "CXD9872AKD" }, @@ -578,6 +579,8 @@ { HDA_CODEC_INTELLLP, 0, "Haswell" }, { HDA_CODEC_INTELBRW, 0, "Broadwell" }, { HDA_CODEC_INTELSKL, 0, "Skylake" }, + { HDA_CODEC_INTELBRO, 0, "Broxton" }, + { HDA_CODEC_INTELKAB, 0, "Kabylake" }, { HDA_CODEC_INTELCDT, 0, "CedarTrail" }, { HDA_CODEC_INTELVLV, 0, "Valleyview2" }, { HDA_CODEC_INTELBSW, 0, "Braswell" }, @@ -597,6 +600,9 @@ { HDA_CODEC_CSXXXX, 0, "Cirrus Logic" }, { HDA_CODEC_CXXXXX, 0, "Conexant" }, { HDA_CODEC_CHXXXX, 0, "Chrontel" }, +// { HDA_CODEC_LGXXXX, 0, "LG" }, +// { HDA_CODEC_WMXXXX, 0, "Wolfson Microelectronics" }, +// { HDA_CODEC_QEMUXXXX, 0, "QEMU" }, { HDA_CODEC_IDTXXXX, 0, "IDT" }, { HDA_CODEC_INTELXXXX, 0, "Intel" }, { HDA_CODEC_MOTOXXXX, 0, "Motorola" }, Index: branches/zenith432/i386/libsaio/hda.h =================================================================== --- branches/zenith432/i386/libsaio/hda.h (revision 2876) +++ branches/zenith432/i386/libsaio/hda.h (revision 2877) @@ -96,44 +96,49 @@ /* Intel */ #define INTEL_VENDORID PCI_VENDOR_ID_INTEL -#define HDA_INTEL_OAK HDA_MODEL_CONSTRUCT(INTEL, 0x080a) -#define HDA_INTEL_BAY HDA_MODEL_CONSTRUCT(INTEL, 0x0f04) -#define HDA_INTEL_HSW1 HDA_MODEL_CONSTRUCT(INTEL, 0x0a0c) -#define HDA_INTEL_HSW2 HDA_MODEL_CONSTRUCT(INTEL, 0x0c0c) -#define HDA_INTEL_HSW3 HDA_MODEL_CONSTRUCT(INTEL, 0x0d0c) -#define HDA_INTEL_BDW HDA_MODEL_CONSTRUCT(INTEL, 0x160c) -#define HDA_INTEL_CPT HDA_MODEL_CONSTRUCT(INTEL, 0x1c20) -#define HDA_INTEL_PATSBURG HDA_MODEL_CONSTRUCT(INTEL, 0x1d20) -#define HDA_INTEL_PPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x1e20) // Macmini6,2 -#define HDA_INTEL_BRASWELL HDA_MODEL_CONSTRUCT(INTEL, 0x2284) -#define HDA_INTEL_82801F HDA_MODEL_CONSTRUCT(INTEL, 0x2668) -#define HDA_INTEL_63XXESB HDA_MODEL_CONSTRUCT(INTEL, 0x269a) -#define HDA_INTEL_82801G HDA_MODEL_CONSTRUCT(INTEL, 0x27d8) -#define HDA_INTEL_82801H HDA_MODEL_CONSTRUCT(INTEL, 0x284b) -#define HDA_INTEL_82801I HDA_MODEL_CONSTRUCT(INTEL, 0x293e) -#define HDA_INTEL_ICH9 HDA_MODEL_CONSTRUCT(INTEL, 0x293f) -#define HDA_INTEL_82801JI HDA_MODEL_CONSTRUCT(INTEL, 0x3a3e) -#define HDA_INTEL_82801JD HDA_MODEL_CONSTRUCT(INTEL, 0x3a6e) -#define HDA_INTEL_PCH HDA_MODEL_CONSTRUCT(INTEL, 0x3b56) -#define HDA_INTEL_PCH2 HDA_MODEL_CONSTRUCT(INTEL, 0x3b57) +#define HDA_INTEL_OAK HDA_MODEL_CONSTRUCT(INTEL, 0x080a) /* Oaktrail */ +#define HDA_INTEL_BAY HDA_MODEL_CONSTRUCT(INTEL, 0x0f04) /* BayTrail */ +#define HDA_INTEL_HSW1 HDA_MODEL_CONSTRUCT(INTEL, 0x0a0c) /* Haswell */ +#define HDA_INTEL_HSW2 HDA_MODEL_CONSTRUCT(INTEL, 0x0c0c) /* Haswell */ +#define HDA_INTEL_HSW3 HDA_MODEL_CONSTRUCT(INTEL, 0x0d0c) /* Haswell */ +#define HDA_INTEL_BDW HDA_MODEL_CONSTRUCT(INTEL, 0x160c) /* Broadwell */ +#define HDA_INTEL_BROXTON_T HDA_MODEL_CONSTRUCT(INTEL, 0x1a98) /* Broxton-T */ +#define HDA_INTEL_CPT HDA_MODEL_CONSTRUCT(INTEL, 0x1c20) /* CPT */ +#define HDA_INTEL_PATSBURG HDA_MODEL_CONSTRUCT(INTEL, 0x1d20) /* PBG */ +#define HDA_INTEL_PPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x1e20) /* Panther Point */ +#define HDA_INTEL_BRASWELL HDA_MODEL_CONSTRUCT(INTEL, 0x2284) /* Braswell */ +#define HDA_INTEL_82801F HDA_MODEL_CONSTRUCT(INTEL, 0x2668) /* ICH6 */ +#define HDA_INTEL_63XXESB HDA_MODEL_CONSTRUCT(INTEL, 0x269a) /* ESB2 */ +#define HDA_INTEL_82801G HDA_MODEL_CONSTRUCT(INTEL, 0x27d8) /* ICH7 */ +#define HDA_INTEL_82801H HDA_MODEL_CONSTRUCT(INTEL, 0x284b) /* ICH8 */ +#define HDA_INTEL_82801I HDA_MODEL_CONSTRUCT(INTEL, 0x293e) /* ICH9 */ +#define HDA_INTEL_ICH9 HDA_MODEL_CONSTRUCT(INTEL, 0x293f) /* ICH9 */ +#define HDA_INTEL_82801JI HDA_MODEL_CONSTRUCT(INTEL, 0x3a3e) /* ICH10 */ +#define HDA_INTEL_82801JD HDA_MODEL_CONSTRUCT(INTEL, 0x3a6e) /* ICH10 */ +#define HDA_INTEL_PCH HDA_MODEL_CONSTRUCT(INTEL, 0x3b56) /* 5 Series/3400 */ +#define HDA_INTEL_PCH2 HDA_MODEL_CONSTRUCT(INTEL, 0x3b57) /* 5 Series/3400 */ +#define HDA_INTEL_BROXTON_P HDA_MODEL_CONSTRUCT(INTEL, 0x5a98) /* Broxton-P(Apollolake) */ #define HDA_INTEL_MACBOOKPRO92 HDA_MODEL_CONSTRUCT(INTEL, 0x7270) -#define HDA_INTEL_SCH HDA_MODEL_CONSTRUCT(INTEL, 0x811b) -#define HDA_INTEL_LPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x8c20) -#define HDA_INTEL_LPT2 HDA_MODEL_CONSTRUCT(INTEL, 0x8c21) -#define HDA_INTEL_WCPT HDA_MODEL_CONSTRUCT(INTEL, 0x8ca0) -#define HDA_INTEL_WELLS1 HDA_MODEL_CONSTRUCT(INTEL, 0x8d20) -#define HDA_INTEL_WELLS2 HDA_MODEL_CONSTRUCT(INTEL, 0x8d21) -#define HDA_INTEL_WCPTLP HDA_MODEL_CONSTRUCT(INTEL, 0x9ca0) -#define HDA_INTEL_LPTLP1 HDA_MODEL_CONSTRUCT(INTEL, 0x9c20) -#define HDA_INTEL_LPTLP2 HDA_MODEL_CONSTRUCT(INTEL, 0x9c21) -#define HDA_INTEL_SRSPLP HDA_MODEL_CONSTRUCT(INTEL, 0x9d70) -#define HDA_INTEL_SRSP HDA_MODEL_CONSTRUCT(INTEL, 0xa170) +#define HDA_INTEL_SCH HDA_MODEL_CONSTRUCT(INTEL, 0x811b) /* Poulsbo */ +#define HDA_INTEL_LPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x8c20) /* Lynx Point */ +#define HDA_INTEL_LPT2 HDA_MODEL_CONSTRUCT(INTEL, 0x8c21) /* Lynx Point */ +#define HDA_INTEL_WCPT HDA_MODEL_CONSTRUCT(INTEL, 0x8ca0) /* 9 Series */ +#define HDA_INTEL_WELLS1 HDA_MODEL_CONSTRUCT(INTEL, 0x8d20) /* Wellsburg */ +#define HDA_INTEL_WELLS2 HDA_MODEL_CONSTRUCT(INTEL, 0x8d21) /* Wellsburg */ +#define HDA_INTEL_WCPTLP HDA_MODEL_CONSTRUCT(INTEL, 0x9ca0) /* Wildcat Point-LP */ +#define HDA_INTEL_LPTLP1 HDA_MODEL_CONSTRUCT(INTEL, 0x9c20) /* Lynx Point-LP */ +#define HDA_INTEL_LPTLP2 HDA_MODEL_CONSTRUCT(INTEL, 0x9c21) /* Lynx Point-LP */ +#define HDA_INTEL_SRSPLP HDA_MODEL_CONSTRUCT(INTEL, 0x9d70) /* Sunrise Point-LP */ +#define HDA_INTEL_KABYLAKE_LP HDA_MODEL_CONSTRUCT(INTEL, 0x9d71) /* Kabylake-LP */ +#define HDA_INTEL_SRSP HDA_MODEL_CONSTRUCT(INTEL, 0xa170) /* Sunrise Point */ +#define HDA_INTEL_KABYLAKE HDA_MODEL_CONSTRUCT(INTEL, 0xa171) /* Kabylake */ +#define HDA_INTEL_LEWISBURG1 HDA_MODEL_CONSTRUCT(INTEL, 0xa1f0) /* Lewisburg */ +#define HDA_INTEL_LEWISBURG2 HDA_MODEL_CONSTRUCT(INTEL, 0xa270) /* Lewisburg */ +#define HDA_INTEL_UNPT HDA_MODEL_CONSTRUCT(INTEL, 0xa2f0) /* Kabylake-H */ #define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0xffff) /* Nvidia */ #define NVIDIA_VENDORID PCI_VENDOR_ID_NVIDIA -// AppleHDA binary contain 0a00de10 (10de000a) -// AppleHDAController binary contain de10ea0b (10de0bea) #define HDA_NVIDIA_MCP51 HDA_MODEL_CONSTRUCT(NVIDIA, 0x026c) #define HDA_NVIDIA_MCP55 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0371) #define HDA_NVIDIA_MCP61_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x03e4) @@ -157,7 +162,7 @@ #define HDA_NVIDIA_0BE4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be4) // [GeForge GT 240] HDACodec 10de000d (0d00de10) #define HDA_NVIDIA_GT100 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be5) // [GeForge GTX 470] HDACodec 10de0010 (1000de10) #define HDA_NVIDIA_GT106 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be9) -#define HDA_NVIDIA_GT108 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bea) // HDACodec +#define HDA_NVIDIA_GT108 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bea) // HDACodec #define HDA_NVIDIA_GT104 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0beb) #define HDA_NVIDIA_GT116 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bee) #define HDA_NVIDIA_MCP89_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d94) @@ -177,213 +182,86 @@ /* ATI */ #define ATI_VENDORID PCI_VENDOR_ID_ATI -#define HDA_ATI_SB450 HDA_MODEL_CONSTRUCT(ATI, 0x437b) -#define HDA_ATI_SB600 HDA_MODEL_CONSTRUCT(ATI, 0x4383) -#define HDA_ATI_HUDSON HDA_MODEL_CONSTRUCT(ATI, 0x780d) -#define HDA_ATI_RS600 HDA_MODEL_CONSTRUCT(ATI, 0x793b) -#define HDA_ATI_RS690 HDA_MODEL_CONSTRUCT(ATI, 0x7919) +//#define HDA_ATI_0002 HDA_MODEL_CONSTRUCT(ATI, 0x0002) /* ATI HDMI */ +//#define HDA_ATI_1308 HDA_MODEL_CONSTRUCT(ATI, 0x1308) /* ATI HDMI */ +//#define HDA_ATI_177A HDA_MODEL_CONSTRUCT(ATI, 0x157a) /* ATI HDMI */ +//#define HDA_ATI_15B3 HDA_MODEL_CONSTRUCT(ATI, 0x15b3) /* ATI HDMI */ +#define HDA_ATI_SB450 HDA_MODEL_CONSTRUCT(ATI, 0x437b) /* ATI SB 450/600/700/800/900 */ +#define HDA_ATI_SB600 HDA_MODEL_CONSTRUCT(ATI, 0x4383) /* ATI SB 450/600/700/800/900 */ +#define HDA_ATI_HUDSON HDA_MODEL_CONSTRUCT(ATI, 0x780d) /* PCI_DEVICE(0x1022, 0x780d) */ +#define HDA_ATI_RS600 HDA_MODEL_CONSTRUCT(ATI, 0x793b) /* ATI HDMI */ +#define HDA_ATI_RS690 HDA_MODEL_CONSTRUCT(ATI, 0x7919) /* ATI HDMI */ #define HDA_ATI_RS780 HDA_MODEL_CONSTRUCT(ATI, 0x960f) -#define HDA_ATI_RS880 HDA_MODEL_CONSTRUCT(ATI, 0x970f) -#define HDA_ATI_TRINITY HDA_MODEL_CONSTRUCT(ATI, 0x9902) -#define HDA_ATI_R600 HDA_MODEL_CONSTRUCT(ATI, 0xaa00) -#define HDA_ATI_RV630 HDA_MODEL_CONSTRUCT(ATI, 0xaa08) -#define HDA_ATI_RV610 HDA_MODEL_CONSTRUCT(ATI, 0xaa10) -#define HDA_ATI_RV670 HDA_MODEL_CONSTRUCT(ATI, 0xaa18) -#define HDA_ATI_RV635 HDA_MODEL_CONSTRUCT(ATI, 0xaa20) -#define HDA_ATI_RV620 HDA_MODEL_CONSTRUCT(ATI, 0xaa28) -#define HDA_ATI_RV770 HDA_MODEL_CONSTRUCT(ATI, 0xaa30) -#define HDA_ATI_RV730 HDA_MODEL_CONSTRUCT(ATI, 0xaa38) -#define HDA_ATI_RV710 HDA_MODEL_CONSTRUCT(ATI, 0xaa40) -#define HDA_ATI_RV740 HDA_MODEL_CONSTRUCT(ATI, 0xaa48) -#define HDA_ATI_RV870 HDA_MODEL_CONSTRUCT(ATI, 0xaa50) -#define HDA_ATI_RV840 HDA_MODEL_CONSTRUCT(ATI, 0xaa58) // Codec 021001aa (1002aa01) -#define HDA_ATI_RV830 HDA_MODEL_CONSTRUCT(ATI, 0xaa60) -#define HDA_ATI_RV810 HDA_MODEL_CONSTRUCT(ATI, 0xaa68) -#define HDA_ATI_RV970 HDA_MODEL_CONSTRUCT(ATI, 0xaa80) -#define HDA_ATI_RV940 HDA_MODEL_CONSTRUCT(ATI, 0xaa88) -#define HDA_ATI_RV930 HDA_MODEL_CONSTRUCT(ATI, 0xaa90) -#define HDA_ATI_RV910 HDA_MODEL_CONSTRUCT(ATI, 0xaa98) -#define HDA_ATI_R1000 HDA_MODEL_CONSTRUCT(ATI, 0xaaa0) -#define HDA_ATI_SI HDA_MODEL_CONSTRUCT(ATI, 0xaaa8) -#define HDA_ATI_VERDE HDA_MODEL_CONSTRUCT(ATI, 0xaab0) +#define HDA_ATI_RS880 HDA_MODEL_CONSTRUCT(ATI, 0x970f) /* ATI HDMI */ +//#define HDA_ATI_9840 HDA_MODEL_CONSTRUCT(ATI, 0x9840) /* ATI HDMI */ +#define HDA_ATI_TRINITY HDA_MODEL_CONSTRUCT(ATI, 0x9902) /* ATI HDMI */ +#define HDA_ATI_R600 HDA_MODEL_CONSTRUCT(ATI, 0xaa00) /* ATI HDMI */ +#define HDA_ATI_RV630 HDA_MODEL_CONSTRUCT(ATI, 0xaa08) /* ATI HDMI */ +#define HDA_ATI_RV610 HDA_MODEL_CONSTRUCT(ATI, 0xaa10) /* ATI HDMI */ +#define HDA_ATI_RV670 HDA_MODEL_CONSTRUCT(ATI, 0xaa18) /* ATI HDMI */ +#define HDA_ATI_RV635 HDA_MODEL_CONSTRUCT(ATI, 0xaa20) /* ATI HDMI */ +#define HDA_ATI_RV620 HDA_MODEL_CONSTRUCT(ATI, 0xaa28) /* ATI HDMI */ +#define HDA_ATI_RV770 HDA_MODEL_CONSTRUCT(ATI, 0xaa30) /* ATI HDMI */ +#define HDA_ATI_RV730 HDA_MODEL_CONSTRUCT(ATI, 0xaa38) /* ATI HDMI */ +#define HDA_ATI_RV710 HDA_MODEL_CONSTRUCT(ATI, 0xaa40) /* ATI HDMI */ +#define HDA_ATI_RV740 HDA_MODEL_CONSTRUCT(ATI, 0xaa48) /* ATI HDMI */ +#define HDA_ATI_RV870 HDA_MODEL_CONSTRUCT(ATI, 0xaa50) /* ATI HDMI */ +#define HDA_ATI_RV840 HDA_MODEL_CONSTRUCT(ATI, 0xaa58) /* ATI HDMI */ +#define HDA_ATI_RV830 HDA_MODEL_CONSTRUCT(ATI, 0xaa60) /* ATI HDMI */ +#define HDA_ATI_RV810 HDA_MODEL_CONSTRUCT(ATI, 0xaa68) /* ATI HDMI */ +#define HDA_ATI_RV970 HDA_MODEL_CONSTRUCT(ATI, 0xaa80) /* ATI HDMI */ +#define HDA_ATI_RV940 HDA_MODEL_CONSTRUCT(ATI, 0xaa88) /* ATI HDMI */ +#define HDA_ATI_RV930 HDA_MODEL_CONSTRUCT(ATI, 0xaa90) /* ATI HDMI */ +#define HDA_ATI_RV910 HDA_MODEL_CONSTRUCT(ATI, 0xaa98) /* ATI HDMI */ +#define HDA_ATI_R1000 HDA_MODEL_CONSTRUCT(ATI, 0xaaa0) /* ATI HDMI */ +#define HDA_ATI_SI HDA_MODEL_CONSTRUCT(ATI, 0xaaa8) /* ATI HDMI */ +#define HDA_ATI_VERDE HDA_MODEL_CONSTRUCT(ATI, 0xaab0) /* ATI HDMI */ +//#define HDA_ATI_AAC0 HDA_MODEL_CONSTRUCT(ATI, 0xaac0) /* ATI HDMI */ +//#define HDA_ATI_AAC8 HDA_MODEL_CONSTRUCT(ATI, 0xaac8) /* ATI HDMI */ +//#define HDA_ATI_AAD8 HDA_MODEL_CONSTRUCT(ATI, 0xaad8) /* ATI HDMI */ +//#define HDA_ATI_AAE8 HDA_MODEL_CONSTRUCT(ATI, 0xaae8) /* ATI HDMI */ +//#define HDA_ATI_AAE0 HDA_MODEL_CONSTRUCT(ATI, 0xaae0) /* ATI HDMI */ +//#define HDA_ATI_AAF0 HDA_MODEL_CONSTRUCT(ATI, 0xaaf0) /* ATI HDMI */ #define HDA_ATI_ALL HDA_MODEL_CONSTRUCT(ATI, 0xffff) /* RDC */ #define RDC_VENDORID 0x17f3 -#define HDA_RDC_M3010 HDA_MODEL_CONSTRUCT(RDC, 0x3010) +#define HDA_RDC_M3010 HDA_MODEL_CONSTRUCT(RDC, 0x3010) /* Vortex86MX */ /* VIA */ #define VIA_VENDORID 0x1106 -#define HDA_VIA_VT82XX HDA_MODEL_CONSTRUCT(VIA, 0x3288) +#define HDA_VIA_VT82XX HDA_MODEL_CONSTRUCT(VIA, 0x3288) /* VIA VT8251/VT8237A */ +//#define HDA_VIA_VT71XX HDA_MODEL_CONSTRUCT(VIA, 0x9170) /* VIA GFX VT7122/VX900 */ +//#define HDA_VIA_VT61XX HDA_MODEL_CONSTRUCT(VIA, 0x9140) /* VIA GFX VT6122/VX11 */ #define HDA_VIA_ALL HDA_MODEL_CONSTRUCT(VIA, 0xffff) /* SiS */ #define SIS_VENDORID 0x1039 -#define HDA_SIS_966 HDA_MODEL_CONSTRUCT(SIS, 0x7502) +#define HDA_SIS_966 HDA_MODEL_CONSTRUCT(SIS, 0x7502) /* SIS966 */ #define HDA_SIS_ALL HDA_MODEL_CONSTRUCT(SIS, 0xffff) /* ULI */ #define ULI_VENDORID 0x10b9 -#define HDA_ULI_M5461 HDA_MODEL_CONSTRUCT(ULI, 0x5461) +#define HDA_ULI_M5461 HDA_MODEL_CONSTRUCT(ULI, 0x5461) /* ULI M5461 */ #define HDA_ULI_ALL HDA_MODEL_CONSTRUCT(ULI, 0xffff) -/* OEM/subvendors */ +/* Teradici */ +//{ PCI_DEVICE(0x6549, 0x1200), +//{ PCI_DEVICE(0x6549, 0x2200} -/* Intel */ -#define INTEL_D101GGC_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xd600) +/* CTHDA chips */ +//{ PCI_DEVICE(0x1102, 0x0010), +//{ PCI_DEVICE(0x1102, 0x0012), -/* HP/Compaq */ -#define HP_VENDORID 0x103c -#define HP_V3000_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30b5) -#define HP_NX7400_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30a2) -#define HP_NX6310_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30aa) -#define HP_NX6325_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30b0) -#define HP_XW4300_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x3013) -#define HP_3010_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x3010) -#define HP_DV5000_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30a5) -#define HP_DC7700S_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2801) -#define HP_DC7700_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2802) -#define HP_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0xffff) -/* What is wrong with XN 2563 anyway? (Got the picture ?) */ -#define HP_NX6325_SUBVENDORX 0x103c30b0 +/* this entry seems still valid -- i.e. without emu20kx chip */ +//{ PCI_DEVICE(0x1102, 0x0009 -/* Dell */ -#define DELL_VENDORID 0x1028 -#define DELL_D630_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01f9) -#define DELL_D820_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01cc) -#define DELL_V1400_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0227) -#define DELL_V1500_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0228) -#define DELL_I1300_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01c9) -#define DELL_XPSM1210_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01d7) -#define DELL_OPLX745_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01da) -#define DELL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0xffff) +/* CM8888 */ +//{ PCI_DEVICE(0x13f6, 0x5011), -/* Clevo */ -#define CLEVO_VENDORID 0x1558 -#define CLEVO_D900T_SUBVENDOR HDA_MODEL_CONSTRUCT(CLEVO, 0x0900) -#define CLEVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(CLEVO, 0xffff) +/* VMware HDAudio */ +//{ PCI_DEVICE(0x15ad, 0x1977), -/* Acer */ -#define ACER_VENDORID 0x1025 -#define ACER_A5050_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x010f) -#define ACER_A4520_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0127) -#define ACER_A4710_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x012f) -#define ACER_A4715_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0133) -#define ACER_3681WXM_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0110) -#define ACER_T6292_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x011b) -#define ACER_T5320_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x011f) -#define ACER_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xffff) - -/* Asus */ -#define ASUS_VENDORID 0x1043 -#define ASUS_A8X_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1153) -#define ASUS_U5F_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1263) -#define ASUS_W6F_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1263) -#define ASUS_A7M_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1323) -#define ASUS_F3JC_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1338) -#define ASUS_G2K_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1339) -#define ASUS_A7T_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x13c2) -#define ASUS_W2J_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1971) -#define ASUS_M5200_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1993) -#define ASUS_P5PL2_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x817f) -#define ASUS_P1AH2_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81cb) -#define ASUS_M2NPVMX_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81cb) -#define ASUS_M2V_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81e7) -#define ASUS_P5BWD_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81ec) -#define ASUS_M2N_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x8234) -#define ASUS_A8NVMCSM_SUBVENDOR HDA_MODEL_CONSTRUCT(NVIDIA, 0xcb84) -#define ASUS_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0xffff) - -/* IBM / Lenovo */ -#define IBM_VENDORID 0x1014 -#define IBM_M52_SUBVENDOR HDA_MODEL_CONSTRUCT(IBM, 0x02f6) -#define IBM_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(IBM, 0xffff) - -/* Lenovo */ -#define LENOVO_VENDORID 0x17aa -#define LENOVO_3KN100_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2066) -#define LENOVO_3KN200_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x384e) -#define LENOVO_B450_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3a0d) -#define LENOVO_TCA55_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x1015) -#define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac) -#define LENOVO_X1_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21e8) -#define LENOVO_X1CRBN_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f9) -#define LENOVO_X220_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21da) -#define LENOVO_T420_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21ce) -#define LENOVO_T430_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f3) -#define LENOVO_T430S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21fb) -#define LENOVO_T520_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21cf) -#define LENOVO_T530_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f6) -#define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff) - -/* Samsung */ -#define SAMSUNG_VENDORID 0x144d -#define SAMSUNG_Q1_SUBVENDOR HDA_MODEL_CONSTRUCT(SAMSUNG, 0xc027) -#define SAMSUNG_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(SAMSUNG, 0xffff) - -/* Medion ? */ -#define MEDION_VENDORID 0x161f -#define MEDION_MD95257_SUBVENDOR HDA_MODEL_CONSTRUCT(MEDION, 0x203d) -#define MEDION_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(MEDION, 0xffff) - -/* Apple Computer Inc. */ -#define APPLE_VENDORID PCI_VENDOR_ID_APPLE -#define APPLE_MB3_SUBVENDOR HDA_MODEL_CONSTRUCT(APPLE, 0x00a1) - -/* Sony */ -#define SONY_VENDORID 0x104d -#define SONY_S5_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x81cc) -#define SONY_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0xffff) - -/* - * Apple Intel MacXXXX seems using Sigmatel codec/vendor id - * instead of their own, which is beyond my comprehension - * (see HDA_CODEC_STAC9221 below). - */ -#define APPLE_INTEL_MAC 0x76808384 -#define APPLE_MACBOOKAIR31 0x0d9410de -#define APPLE_MACBOOKPRO55 0xcb7910de -#define APPLE_MACBOOKPRO71 0xcb8910de - -/* LG Electronics */ -#define LG_VENDORID 0x1854 -#define LG_LW20_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0x0018) -#define LG_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0xffff) - -/* Fujitsu Siemens */ -#define FS_VENDORID 0x1734 -#define FS_PA1510_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10b8) -#define FS_SI1848_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10cd) -#define FS_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0xffff) - -/* Fujitsu Limited */ -#define FL_VENDORID 0x10cf -#define FL_S7020D_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x1326) -#define FL_U1010_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x142d) -#define FL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0xffff) - -/* Toshiba */ -#define TOSHIBA_VENDORID 0x1179 -#define TOSHIBA_U200_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0x0001) -#define TOSHIBA_A135_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0xff01) -#define TOSHIBA_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0xffff) - -/* Micro-Star International (MSI) */ -#define MSI_VENDORID 0x1462 -#define MSI_MS1034_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0x0349) -#define MSI_MS034A_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0x034a) -#define MSI_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0xffff) - -/* Giga-Byte Technology */ -#define GB_VENDORID 0x1458 -#define GB_G33S2H_SUBVENDOR HDA_MODEL_CONSTRUCT(GB, 0xa022) -#define GP_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(GB, 0xffff) - -/* Uniwill ? */ -#define UNIWILL_VENDORID 0x1584 -#define UNIWILL_9075_SUBVENDOR HDA_MODEL_CONSTRUCT(UNIWILL, 0x9075) -#define UNIWILL_9080_SUBVENDOR HDA_MODEL_CONSTRUCT(UNIWILL, 0x9080) - //#define HDEF_PATH "PciRoot(0x0)/Pci(0x1b,0x0)" //#define PINCONF_LEN ( sizeof(default_PinConfiguration) / sizeof(uint8_t) ) #define HDA0_LEN ( sizeof(default_HDEF_layout_id) / sizeof(uint8_t) ) @@ -456,6 +334,7 @@ //#define HDA_CODEC_ALC898 HDA_CODEC_CONSTRUCT(REALTEK, 0x0898) //#define HDA_CODEC_ALC899 HDA_CODEC_CONSTRUCT(REALTEK, 0x0899) #define HDA_CODEC_ALC900 HDA_CODEC_CONSTRUCT(REALTEK, 0x0900) +#define HDA_CODEC_ALCS1220A HDA_CODEC_CONSTRUCT(REALTEK, 0x1168) #define HDA_CODEC_ALC1220 HDA_CODEC_CONSTRUCT(REALTEK, 0x1220) #define HDA_CODEC_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff) @@ -497,6 +376,7 @@ #define HDA_CODEC_CMI9880 HDA_CODEC_CONSTRUCT(CMEDIA, 0x9880) #define HDA_CODEC_CMIXXXX HDA_CODEC_CONSTRUCT(CMEDIA, 0xffff) +/* CMedia */ #define CMEDIA2_VENDORID 0x434d #define HDA_CODEC_CMI98802 HDA_CODEC_CONSTRUCT(CMEDIA2, 0x4980) #define HDA_CODEC_CMIXXXX2 HDA_CODEC_CONSTRUCT(CMEDIA2, 0xffff) @@ -620,7 +500,7 @@ #define HDA_CODEC_SII1392 HDA_CODEC_CONSTRUCT(SII, 0x1392) #define HDA_CODEC_SIIXXXX HDA_CODEC_CONSTRUCT(SII, 0xffff) -/* Lucent/Agere */ +/* LSI - Lucent/Agere */ #define AGERE_VENDORID 0x11c1 #define HDA_CODEC_AGEREXXXX HDA_CODEC_CONSTRUCT(AGERE, 0xffff) @@ -734,6 +614,18 @@ #define CHRONTEL_VENDORID 0x17e8 #define HDA_CODEC_CHXXXX HDA_CODEC_CONSTRUCT(CHRONTEL, 0xffff) +/* LG */ +#define LG_VENDORID 0x1854 +#define HDA_CODEC_LGXXXX HDA_CODEC_CONSTRUCT(LG, 0xffff) + +/* Wolfson Microelectronics */ +#define WOLFSON_VENDORID 0x14ec +#define HDA_CODEC_WMXXXX HDA_CODEC_CONSTRUCT(WOLFSON, 0xffff) + +/* QEMU */ +#define QEMU_VENDORID 0x1af4 +#define HDA_CODEC_QEMUXXXX HDA_CODEC_CONSTRUCT(QEMU, 0xffff) + /* INTEL */ #define HDA_CODEC_INTELIP HDA_CODEC_CONSTRUCT(INTEL, 0x0054) #define HDA_CODEC_INTELBL HDA_CODEC_CONSTRUCT(INTEL, 0x2801) @@ -745,6 +637,8 @@ #define HDA_CODEC_INTELLLP HDA_CODEC_CONSTRUCT(INTEL, 0x2807) // Haswell HDMI #define HDA_CODEC_INTELBRW HDA_CODEC_CONSTRUCT(INTEL, 0x2808) // Broadwell HDMI #define HDA_CODEC_INTELSKL HDA_CODEC_CONSTRUCT(INTEL, 0x2809) // Skylake HDMI +#define HDA_CODEC_INTELBRO HDA_CODEC_CONSTRUCT(INTEL, 0x280a) // Broxton HDMI +#define HDA_CODEC_INTELKAB HDA_CODEC_CONSTRUCT(INTEL, 0x280b) // Kabylake HDMI #define HDA_CODEC_INTELCDT HDA_CODEC_CONSTRUCT(INTEL, 0x2880) // CedarTrail HDMI #define HDA_CODEC_INTELVLV HDA_CODEC_CONSTRUCT(INTEL, 0x2882) // Valleyview2 HDMI #define HDA_CODEC_INTELBSW HDA_CODEC_CONSTRUCT(INTEL, 0x2883) // Braswell HDMI Index: branches/zenith432/i386/libsaio/dram_controllers.c =================================================================== --- branches/zenith432/i386/libsaio/dram_controllers.c (revision 2876) +++ branches/zenith432/i386/libsaio/dram_controllers.c (revision 2877) @@ -13,16 +13,13 @@ * http://www.canardpc.com - http://www.memtest.org */ +#include "config.h" #include "libsaio.h" #include "bootstruct.h" #include "pci.h" #include "platform.h" #include "dram_controllers.h" -#ifndef DEBUG_DRAM - #define DEBUG_DRAM 0 -#endif - #if DEBUG_DRAM #define DBG(x...) printf(x) #else Index: branches/zenith432/i386/libsaio/nvidia.c =================================================================== --- branches/zenith432/i386/libsaio/nvidia.c (revision 2876) +++ branches/zenith432/i386/libsaio/nvidia.c (revision 2877) @@ -47,6 +47,7 @@ * SOFTWARE. */ +#include "config.h" #include "boot.h" #include "bootstruct.h" #include "pci.h" @@ -56,10 +57,6 @@ #include "nvidia.h" #include "nvidia_helper.h" -#ifndef DEBUG_NVIDIA - #define DEBUG_NVIDIA 0 -#endif - #if DEBUG_NVIDIA #define DBG(x...) printf(x) #else @@ -172,7 +169,7 @@ }; static nvidia_pci_info_t nvidia_card_generic[] = { - // 0000 - 0040 + // 0000 - 0040 { 0x10DE0000, "Unknown" }, // 0040 - 004F /* @@ -1927,10 +1924,10 @@ { if (nvidia_card_generic[i].device == device_id) { - return nvidia_card_generic[i].name; + return nvidia_card_generic[i].name_model; } } - return nvidia_card_generic[0].name; + return nvidia_card_generic[0].name_model; } // Then check the exceptions table @@ -1940,7 +1937,7 @@ { if ((nvidia_card_exceptions[i].device == device_id) && (nvidia_card_exceptions[i].subdev == subsys_id)) { - return nvidia_card_exceptions[i].name; + return nvidia_card_exceptions[i].name_model; } } } @@ -1957,15 +1954,15 @@ if (nvidia_card_vendors[j].device == (subsys_id & 0xffff0000)) { snprintf(generic_name, 128, "%s %s", // sizeof(generic_name), "%s %s", - nvidia_card_vendors[j].name, nvidia_card_generic[i].name); + nvidia_card_vendors[j].name_model, nvidia_card_generic[i].name_model); return &generic_name[0]; } } } - return nvidia_card_generic[i].name; + return nvidia_card_generic[i].name_model; } } - return nvidia_card_generic[0].name; + return nvidia_card_generic[0].name_model; } static int devprop_add_nvidia_template(DevPropDevice *device) @@ -2146,7 +2143,7 @@ break; } - DBG("mem_detected %ld\n", vram_size); + DBG("mem_detected %ldMb\n", (vram_size >> 20)); return vram_size; } Index: branches/zenith432/i386/libsaio/ati.c =================================================================== --- branches/zenith432/i386/libsaio/ati.c (revision 2876) +++ branches/zenith432/i386/libsaio/ati.c (revision 2877) @@ -5,10 +5,8 @@ * */ +#include "config.h" #include "ati.h" -#ifndef DEBUG_ATI - #define DEBUG_ATI 0 -#endif #if DEBUG_ATI #define DBG(x...) printf(x) @@ -1234,7 +1232,7 @@ { 0x67CA, 0x00000000, CHIP_FAMILY_ELLESMERE, "AMD Radeon Polaris 10", kNull }, { 0x67CC, 0x00000000, CHIP_FAMILY_ELLESMERE, "AMD Radeon Polaris 10", kNull }, { 0x67CF, 0x00000000, CHIP_FAMILY_ELLESMERE, "AMD Radeon Polaris 10", kNull }, - { 0x67DF, 0x00000000, CHIP_FAMILY_ELLESMERE, "AMD Radeon RX480", kDayman }, + { 0x67DF, 0x00000000, CHIP_FAMILY_ELLESMERE, "AMD Radeon RX480", kBaladi }, // Polaris 11 { 0x67E0, 0x00000000, CHIP_FAMILY_BAFFIN, "AMD Radeon RX460", kAcre }, @@ -1246,6 +1244,15 @@ { 0x67EB, 0x00000000, CHIP_FAMILY_BAFFIN, "AMD Radeon Polaris 11", kNull }, { 0x67EF, 0x00000000, CHIP_FAMILY_BAFFIN, "AMD Radeon RX460", kAcre }, { 0x67FF, 0x00000000, CHIP_FAMILY_BAFFIN, "AMD Radeon Polaris 11", kNull }, + + // Polaris 12 + { 0x6980, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull }, + { 0x6981, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull }, + { 0x6985, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull }, + { 0x6986, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull }, + { 0x6987, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull }, + { 0x699F, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull }, + // PITCAIRN { 0x6800, 0x00000000, CHIP_FAMILY_PITCAIRN, "AMD Radeon HD 7970M", kBuri }, // Mobile { 0x6801, 0x00000000, CHIP_FAMILY_PITCAIRN, "AMD Radeon HD 8970M Series", kFutomaki }, // Mobile @@ -1834,6 +1841,7 @@ "Tobago", "Ellesmere", "Baffin", + "Greenland", "" }; @@ -2323,57 +2331,54 @@ RegWrite32(AVIVO_D2VGA_CONTROL, d2vga_control); RegWrite32(AVIVO_VGA_RENDER_CONTROL, vga_render_control); RegWrite32(R600_ROM_CNTL, rom_cntl); + } else if (chip_family >= CHIP_FAMILY_R600) { + uint32_t viph_control = RegRead32(RADEON_VIPH_CONTROL); + uint32_t bus_cntl = RegRead32(RADEON_BUS_CNTL); + uint32_t d1vga_control = RegRead32(AVIVO_D1VGA_CONTROL); + uint32_t d2vga_control = RegRead32(AVIVO_D2VGA_CONTROL); + uint32_t vga_render_control = RegRead32(AVIVO_VGA_RENDER_CONTROL); + uint32_t rom_cntl = RegRead32(R600_ROM_CNTL); + uint32_t general_pwrmgt = RegRead32(R600_GENERAL_PWRMGT); + uint32_t low_vid_lower_gpio_cntl = RegRead32(R600_LOW_VID_LOWER_GPIO_CNTL); + uint32_t medium_vid_lower_gpio_cntl = RegRead32(R600_MEDIUM_VID_LOWER_GPIO_CNTL); + uint32_t high_vid_lower_gpio_cntl = RegRead32(R600_HIGH_VID_LOWER_GPIO_CNTL); + uint32_t ctxsw_vid_lower_gpio_cntl = RegRead32(R600_CTXSW_VID_LOWER_GPIO_CNTL); + uint32_t lower_gpio_enable = RegRead32(R600_LOWER_GPIO_ENABLE); + + // disable VIP + RegWrite32(RADEON_VIPH_CONTROL, (viph_control & ~RADEON_VIPH_EN)); + + // enable the rom + RegWrite32(RADEON_BUS_CNTL, (bus_cntl & ~RADEON_BUS_BIOS_DIS_ROM)); + + // Disable VGA mode + RegWrite32(AVIVO_D1VGA_CONTROL, (d1vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE | AVIVO_DVGA_CONTROL_TIMING_SELECT))); + RegWrite32(AVIVO_D2VGA_CONTROL, (d2vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE | AVIVO_DVGA_CONTROL_TIMING_SELECT))); + RegWrite32(AVIVO_VGA_RENDER_CONTROL, (vga_render_control & ~AVIVO_VGA_VSTATUS_CNTL_MASK)); + RegWrite32(R600_ROM_CNTL, ((rom_cntl & ~R600_SCK_PRESCALE_CRYSTAL_CLK_MASK) | (1 << R600_SCK_PRESCALE_CRYSTAL_CLK_SHIFT) | R600_SCK_OVERWRITE)); + RegWrite32(R600_GENERAL_PWRMGT, (general_pwrmgt & ~R600_OPEN_DRAIN_PADS)); + RegWrite32(R600_LOW_VID_LOWER_GPIO_CNTL, (low_vid_lower_gpio_cntl & ~0x400)); + RegWrite32(R600_MEDIUM_VID_LOWER_GPIO_CNTL, (medium_vid_lower_gpio_cntl & ~0x400)); + RegWrite32(R600_HIGH_VID_LOWER_GPIO_CNTL, (high_vid_lower_gpio_cntl & ~0x400)); + RegWrite32(R600_CTXSW_VID_LOWER_GPIO_CNTL, (ctxsw_vid_lower_gpio_cntl & ~0x400)); + RegWrite32(R600_LOWER_GPIO_ENABLE, (lower_gpio_enable | 0x400)); + + ret = read_vbios(true); + + // restore regs + RegWrite32(RADEON_VIPH_CONTROL, viph_control); + RegWrite32(RADEON_BUS_CNTL, bus_cntl); + RegWrite32(AVIVO_D1VGA_CONTROL, d1vga_control); + RegWrite32(AVIVO_D2VGA_CONTROL, d2vga_control); + RegWrite32(AVIVO_VGA_RENDER_CONTROL, vga_render_control); + RegWrite32(R600_ROM_CNTL, rom_cntl); + RegWrite32(R600_GENERAL_PWRMGT, general_pwrmgt); + RegWrite32(R600_LOW_VID_LOWER_GPIO_CNTL, low_vid_lower_gpio_cntl); + RegWrite32(R600_MEDIUM_VID_LOWER_GPIO_CNTL, medium_vid_lower_gpio_cntl); + RegWrite32(R600_HIGH_VID_LOWER_GPIO_CNTL, high_vid_lower_gpio_cntl); + RegWrite32(R600_CTXSW_VID_LOWER_GPIO_CNTL, ctxsw_vid_lower_gpio_cntl); + RegWrite32(R600_LOWER_GPIO_ENABLE, lower_gpio_enable); } - else - if (chip_family >= CHIP_FAMILY_R600) - { - uint32_t viph_control = RegRead32(RADEON_VIPH_CONTROL); - uint32_t bus_cntl = RegRead32(RADEON_BUS_CNTL); - uint32_t d1vga_control = RegRead32(AVIVO_D1VGA_CONTROL); - uint32_t d2vga_control = RegRead32(AVIVO_D2VGA_CONTROL); - uint32_t vga_render_control = RegRead32(AVIVO_VGA_RENDER_CONTROL); - uint32_t rom_cntl = RegRead32(R600_ROM_CNTL); - uint32_t general_pwrmgt = RegRead32(R600_GENERAL_PWRMGT); - uint32_t low_vid_lower_gpio_cntl = RegRead32(R600_LOW_VID_LOWER_GPIO_CNTL); - uint32_t medium_vid_lower_gpio_cntl = RegRead32(R600_MEDIUM_VID_LOWER_GPIO_CNTL); - uint32_t high_vid_lower_gpio_cntl = RegRead32(R600_HIGH_VID_LOWER_GPIO_CNTL); - uint32_t ctxsw_vid_lower_gpio_cntl = RegRead32(R600_CTXSW_VID_LOWER_GPIO_CNTL); - uint32_t lower_gpio_enable = RegRead32(R600_LOWER_GPIO_ENABLE); - - // disable VIP - RegWrite32(RADEON_VIPH_CONTROL, (viph_control & ~RADEON_VIPH_EN)); - - // enable the rom - RegWrite32(RADEON_BUS_CNTL, (bus_cntl & ~RADEON_BUS_BIOS_DIS_ROM)); - - // Disable VGA mode - RegWrite32(AVIVO_D1VGA_CONTROL, (d1vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE | AVIVO_DVGA_CONTROL_TIMING_SELECT))); - RegWrite32(AVIVO_D2VGA_CONTROL, (d2vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE | AVIVO_DVGA_CONTROL_TIMING_SELECT))); - RegWrite32(AVIVO_VGA_RENDER_CONTROL, (vga_render_control & ~AVIVO_VGA_VSTATUS_CNTL_MASK)); - RegWrite32(R600_ROM_CNTL, ((rom_cntl & ~R600_SCK_PRESCALE_CRYSTAL_CLK_MASK) | (1 << R600_SCK_PRESCALE_CRYSTAL_CLK_SHIFT) | R600_SCK_OVERWRITE)); - RegWrite32(R600_GENERAL_PWRMGT, (general_pwrmgt & ~R600_OPEN_DRAIN_PADS)); - RegWrite32(R600_LOW_VID_LOWER_GPIO_CNTL, (low_vid_lower_gpio_cntl & ~0x400)); - RegWrite32(R600_MEDIUM_VID_LOWER_GPIO_CNTL, (medium_vid_lower_gpio_cntl & ~0x400)); - RegWrite32(R600_HIGH_VID_LOWER_GPIO_CNTL, (high_vid_lower_gpio_cntl & ~0x400)); - RegWrite32(R600_CTXSW_VID_LOWER_GPIO_CNTL, (ctxsw_vid_lower_gpio_cntl & ~0x400)); - RegWrite32(R600_LOWER_GPIO_ENABLE, (lower_gpio_enable | 0x400)); - - ret = read_vbios(true); - - // restore regs - RegWrite32(RADEON_VIPH_CONTROL, viph_control); - RegWrite32(RADEON_BUS_CNTL, bus_cntl); - RegWrite32(AVIVO_D1VGA_CONTROL, d1vga_control); - RegWrite32(AVIVO_D2VGA_CONTROL, d2vga_control); - RegWrite32(AVIVO_VGA_RENDER_CONTROL, vga_render_control); - RegWrite32(R600_ROM_CNTL, rom_cntl); - RegWrite32(R600_GENERAL_PWRMGT, general_pwrmgt); - RegWrite32(R600_LOW_VID_LOWER_GPIO_CNTL, low_vid_lower_gpio_cntl); - RegWrite32(R600_MEDIUM_VID_LOWER_GPIO_CNTL, medium_vid_lower_gpio_cntl); - RegWrite32(R600_HIGH_VID_LOWER_GPIO_CNTL, high_vid_lower_gpio_cntl); - RegWrite32(R600_CTXSW_VID_LOWER_GPIO_CNTL, ctxsw_vid_lower_gpio_cntl); - RegWrite32(R600_LOWER_GPIO_ENABLE, lower_gpio_enable); - } return ret; } @@ -2381,7 +2386,7 @@ bool radeon_card_posted(void) { uint32_t reg; - + // first check CRTCs reg = RegRead32(RADEON_CRTC_GEN_CNTL) | RegRead32(RADEON_CRTC2_GEN_CNTL); if (reg & RADEON_CRTC_EN) @@ -2428,8 +2433,8 @@ static bool init_card(pci_dt_t *pci_dev) { bool add_vbios = true; - int i; - int n_ports = 0; + int i; + int n_ports = 0; card = malloc(sizeof(card_t)); if (!card) @@ -2467,12 +2472,12 @@ DBG("Framebuffer @0x%08X MMIO @0x%08X I/O Port @0x%08X ROM Addr @0x%08X\n", (unsigned) card->fb, (unsigned) card->mmio, (unsigned) card->io, pci_config_read32(pci_dev->dev.addr, PCI_ROM_ADDRESS)); - + card->posted = radeon_card_posted(); DBG("ATI card %s, ", card->posted ? "POSTed" : "non-POSTed"); DBG("\n"); get_vram_size(); - + getBoolForKey(kATYbinimage, &add_vbios, &bootInfo->chameleonConfig); if (add_vbios) @@ -2511,9 +2516,7 @@ // which means one of the fb's or kNull DBG("Framebuffer set to device's default: %s\n", card->cfg_name); - } - else - { + } else { // else, use the fb name returned by AtiConfig. verbose("(AtiConfig) Framebuffer set to: %s\n", card->cfg_name); } @@ -2525,9 +2528,7 @@ { card->ports = (uint8_t)n_ports; // use it. DBG("(AtiPorts) Nr of ports set to: %d\n", card->ports); - } - else - { + } else { // else, match cfg_name with card_configs list and retrive default nr of ports. for (i = 0; i < kCfgEnd; i++) { Index: branches/zenith432/i386/libsaio/sys.c =================================================================== --- branches/zenith432/i386/libsaio/sys.c (revision 2876) +++ branches/zenith432/i386/libsaio/sys.c (revision 2877) @@ -102,6 +102,7 @@ // Device entries must be ordered by bios device numbers. static struct devsw devsw[] = { +// { "sd", 0x80, kBIOSDevTypeHardDrive }, /* DEV_SD */ { "hd", 0x80, kBIOSDevTypeHardDrive }, /* DEV_HD */ { "en", 0xE0, kBIOSDevTypeNetwork }, /* DEV_EN */ { "rd", 0x100, kBIOSDevTypeHardDrive }, Index: branches/zenith432/i386/libsaio/load.c =================================================================== --- branches/zenith432/i386/libsaio/load.c (revision 2876) +++ branches/zenith432/i386/libsaio/load.c (revision 2877) @@ -37,6 +37,7 @@ #define DBG(x...) msglog(x) #endif +// Private functions. static long DecodeSegment(long cmdBase, unsigned int*load_addr, unsigned int *load_size); static long DecodeUnixThread(long cmdBase, unsigned int *entry); static long DecodeSymbolTable(long cmdBase); Index: branches/zenith432/i386/libsaio/nvidia.h =================================================================== --- branches/zenith432/i386/libsaio/nvidia.h (revision 2876) +++ branches/zenith432/i386/libsaio/nvidia.h (revision 2877) @@ -55,14 +55,14 @@ struct nvidia_pci_info_t; typedef struct { uint32_t device; // VendorID + DeviceID - char *name; + char *name_model; } nvidia_pci_info_t; struct nvidia_card_info_t; typedef struct { uint32_t device; // VendorID + DeviceID uint32_t subdev; // SubdeviceID + SubvendorID - char *name; + char *name_model; //bool kEnableHDMIAudio // HDMi //VRAM } nvidia_card_info_t; Index: branches/zenith432/i386/libsaio/ati.h =================================================================== --- branches/zenith432/i386/libsaio/ati.h (revision 2876) +++ branches/zenith432/i386/libsaio/ati.h (revision 2877) @@ -107,6 +107,7 @@ CHIP_FAMILY_TOBAGO, CHIP_FAMILY_ELLESMERE, /* Polaris 10 */ CHIP_FAMILY_BAFFIN, /* Polaris 11 */ + CHIP_FAMILY_GREENLAND, /* Polaris 12 */ CHIP_FAMILY_LAST } ati_chip_family_t; @@ -243,6 +244,7 @@ uint32_t flags; bool posted; } card_t; +card_t *card; /* Flags */ Index: branches/zenith432/i386/libsaio/cpu.c =================================================================== --- branches/zenith432/i386/libsaio/cpu.c (revision 2876) +++ branches/zenith432/i386/libsaio/cpu.c (revision 2877) @@ -4,16 +4,13 @@ * Bronya: 2015 Improve AMD support, cleanup and bugfix */ +#include "config.h" #include "libsaio.h" #include "platform.h" #include "cpu.h" #include "bootstruct.h" #include "boot.h" -#ifndef DEBUG_CPU - #define DEBUG_CPU 0 -#endif - #if DEBUG_CPU #define DBG(x...) printf(x) #else @@ -284,7 +281,7 @@ * * -- zenith432, May 22nd, 2016 */ -void* memcpy_interruptible(void* dst, const void* src, size_t len) +void *memcpy_interruptible(void *dst, const void *src, size_t len) { uint64_t tscFreq, lastTsc; uint32_t eflags, threshold; @@ -408,11 +405,13 @@ * The BrandString 48 bytes (max), guaranteed to * be NULL terminated. */ - do_cpuid(0x80000002, reg); + do_cpuid(0x80000002, reg); // Processor Brand String memcpy(&str[0], (char *)reg, 16); - do_cpuid(0x80000003, reg); + + + do_cpuid(0x80000003, reg); // Processor Brand String memcpy(&str[16], (char *)reg, 16); - do_cpuid(0x80000004, reg); + do_cpuid(0x80000004, reg); // Processor Brand String memcpy(&str[32], (char *)reg, 16); for (s = str; *s != '\0'; s++) { @@ -469,6 +468,7 @@ break; } } + void scan_cpu(PlatformInfo_t *p) { verbose("[ CPU INFO ]\n"); @@ -1236,6 +1236,7 @@ DBG("\tCores: %d\n", p->CPU.NoCores); // Cores DBG("\tLogical processor: %d\n", p->CPU.NoThreads); // Logical procesor DBG("\tFeatures: 0x%08x\n", p->CPU.Features); +// DBG("\tMicrocode version: %d\n", p->CPU.MCodeVersion); // CPU microcode version verbose("\n"); #if DEBUG_CPU Index: branches/zenith432/i386/libsaio/disk.c =================================================================== --- branches/zenith432/i386/libsaio/disk.c (revision 2876) +++ branches/zenith432/i386/libsaio/disk.c (revision 2877) @@ -2229,25 +2229,19 @@ val = XMLDecode(raw); } - /* - * Traverse gDISKBVmap to get references for - * individual bvr chains of each drive. - */ + // Traverse gDISKBVmap to get references for + // individual bvr chains of each drive. for (map = gDiskBVMap; map; map = map->next) { for (bvr = map->bvr; bvr; bvr = bvr->next) { - /* - * Save the last bvr. - */ + // Save the last bvr. if (newBVR) { prevBVR = newBVR; } - /* - * Allocate and copy the matched bvr entry into a new one. - */ + // Allocate and copy the matched bvr entry into a new one. newBVR = (BVRef) malloc(sizeof(*newBVR)); if (!newBVR) { @@ -2257,9 +2251,7 @@ bcopy(bvr, newBVR, sizeof(*newBVR)); - /* - * Adjust the new bvr's fields. - */ + // Adjust the new bvr's fields. newBVR->next = NULL; newBVR->filtered = true; @@ -2271,11 +2263,8 @@ newBVR->visible = true; } - /* - * Looking for "Hide Partition" entries in 'hd(x,y)|uuid|"label" hd(m,n)|uuid|"label"' format, - * to be able to hide foreign partitions from the boot menu. - * - */ + // Looking for "Hide Partition" entries in 'hd(x,y)|uuid|"label" hd(m,n)|uuid|"label"' format, + // to be able to hide foreign partitions from the boot menu. if ( (newBVR->flags & kBVFlagForeignBoot) ) { char *start, *next = val; @@ -2291,17 +2280,13 @@ while ( next && *next ); } - /* - * Use the first bvr entry as the starting chain pointer. - */ + // Use the first bvr entry as the starting chain pointer. if (!chain) { chain = newBVR; } - /* - * Update the previous bvr's link pointer to use the new memory area. - */ + // Update the previous bvr's link pointer to use the new memory area. if (prevBVR) { prevBVR->next = newBVR; Index: branches/zenith432/i386/libsaio/pci_setup.c =================================================================== --- branches/zenith432/i386/libsaio/pci_setup.c (revision 2876) +++ branches/zenith432/i386/libsaio/pci_setup.c (revision 2877) @@ -1,3 +1,4 @@ +#include "config.h" #include "libsaio.h" #include "boot.h" #include "bootstruct.h" @@ -4,10 +5,6 @@ #include "pci.h" #include "modules.h" -#ifndef DEBUG_PCI_SETUP - #define DEBUG_PCI_SETUP 0 -#endif - #if DEBUG_PCI_SETUP #define DBG(x...) printf(x) #else Index: branches/zenith432/i386/libsaio/smbios.c =================================================================== --- branches/zenith432/i386/libsaio/smbios.c (revision 2876) +++ branches/zenith432/i386/libsaio/smbios.c (revision 2877) @@ -5,21 +5,17 @@ * */ - +#include "config.h" #include "boot.h" #include "bootstruct.h" #include "smbios_getters.h" // Bungo #include "convert.h" -#ifndef DEBUG_SMBIOS -#define DEBUG_SMBIOS 0 -#endif - #if DEBUG_SMBIOS -#define DBG(x...) printf(x) + #define DBG(x...) printf(x) #else -#define DBG(x...) msglog(x) + #define DBG(x...) msglog(x) #endif #define SMBPlist &bootInfo->smbiosConfig @@ -108,10 +104,14 @@ // Bungo: #define kSMBMemoryDeviceAssetTagKey "SMmemassettag" // -/* =========================================== - Memory SPD Data (Apple Specific - Type 130) - ============================================= */ +/* ===================================================== + Firmware Volume Description (Apple Specific - Type 128) + ======================================================= */ +/* ========================================= + Memory SPD Data (Apple Specific - Type 130) + =========================================== */ + /* ============================================ OEM Processor Type (Apple Specific - Type 131) ============================================== */ @@ -127,6 +127,12 @@ ================================================ */ //#define kSMBOemPlatformFeatureKey "SMoemplatformfeature" +/* ========================================== + OEM Platform SMC (Apple Specific - Type 134) + ============================================ */ +//#define kSMBOemSMCKey "SMoemsmc" + + /* ==================================================*/ #define getFieldOffset(struct, field) ((uint8_t)(uint32_t)&(((struct *)0)->field)) @@ -372,6 +378,12 @@ Apple Specific ============== */ + // Firmware Volume Description (Apple Specific - Type 128) + // kSMBTypeFirmwareVolume + + // Memory SPD Data (Apple Specific - Type 130) + // kSMBTypeMemorySPD + // OEM Processor Type (Apple Specific - Type 131) {kSMBTypeOemProcessorType, kSMBWord, getFieldOffset(SMBOemProcessorType, ProcessorType), kSMBOemProcessorTypeKey, getSMBOemProcessorType, NULL}, @@ -384,7 +396,13 @@ /* {kSMBTypeOemPlatformFeature, kSMBWord, getFieldOffset(SMBOemPlatformFeature, PlatformFeature), kSMBOemPlatformFeatureKey, getSMBOemPlatformFeature, NULL} + + // OEM Platform Feature (Apple Specific - Type 134) + + {kSMBTypeOemSMCVersion, kSMBWord, getFieldOffset(SMBOemSMCVersion, SMCVersion), kSMBOemSMCVersionKey, + getSMBOemSMCVersion, NULL} */ + }; int numOfSetters = sizeof(SMBSetters) / sizeof(SMBValueSetter); @@ -418,40 +436,16 @@ //#define kDefaultBoardProcessorType "11" // 0xB #define kDefaultSystemVersion "1.0" #define kDefaultBIOSRelease 256 // 256 = 0x0100 -> swap bytes: 0x0001 -> Release: 0.1 (see SMBIOS spec. table Type 0) -//#define kDefaultLocatioInChassis "Part Component" -//#define KDefaultBoardSerialNumber "C02140302D5DMT31M" // new C07019501PLDCVHAD - C02032101R5DC771H //=========== Mac mini =========== #define kDefaultMacMiniFamily "Napa Mac" // Macmini2,1 family = "Napa Mac" not "Mac mini" -//#define kDefaultMacMiniBoardAssetTagNumber "Mini-Aluminum" - #define kDefaultMacMini "Macmini2,1" #define kDefaultMacMiniBIOSVersion " MM21.88Z.009A.B00.0706281359" #define kDefaultMacMiniBIOSReleaseDate "06/28/07" #define kDefaultMacMiniBoardProduct "Mac-F4208EAA" -// MacMini5,1 Mac-8ED6AF5B48C039E1 - MM51.88Z.0077.B0F.1110201309 - -// MacMini5,2 Mac-4BC72D62AD45599E - -// MacMini5,3 -// Bios: MM51.88Z.0077.B10.1201241549 -// Board: Mac-F65AE981FFA204ED -// Data: 01/24/2012 - -// MacMini 6,1 -// Bios: MM61.88Z.0106.B03.1211161202 -// Board: Mac-F65AE981FFA204ED -// Data: 10/14/2012 - -// MacMini 6,2 -// Bios: MM61.88Z.0106.B03.1211161202 -// Board: Mac-FC02E91DDD3FA6A4 -// Data: 10/14/2012 - //=========== MacBook =========== #define kDefaultMacBookFamily "MacBook" -//#define kDefaultMacBookBoardAssetTagNumber "MacBook-Black" #define kDefaultMacBook "MacBook4,1" #define kDefaultMacBookBIOSVersion " MB41.88Z.00C1.B00.0802091535" @@ -461,60 +455,22 @@ //=========== MacBookAir =========== #define kDefaultMacBookAirFamily "MacBook Air" -// MacBookAir4,1 - Mac-C08A6BB70A942AC2 -// MacBookAir4,2 - Mac-742912EFDBEE19B3 - // MacBookAir5,2 #define kDefaultMacBookAir "MacBookAir5,2" #define kDefaultMacBookAirBIOSVersion " MBA51.88Z.00EF.B00.1205221442" #define kDefaultMacBookAirBIOSReleaseDate "05/10/12" #define kDefaultMacBookBoardAirProduct "Mac-2E6FAB96566FE58C" -// MacBookAir6,1 -// Bios: MBA61.88Z.0099.B04.1309271229 -// Board: Mac-35C1E88140C3E6CF -// Data: 24/06/13 - -// MacBookAir6,2 -// Bios: MBA62.88Z.00EF.B00.1205221442 -// Board: Mac-7DF21CB3ED6977E5 -// Data: 24/06/13 - //=========== MacBookPro =========== #define kDefaultMacBookProFamily "MacBook Pro" -//#define kDefaultMacBookProBoardAssetTagNumber "MacBook-Aluminum" #define kDefaultMacBookPro "MacBookPro4,1" #define kDefaultMacBookProBIOSVersion " MBP41.88Z.00C1.B03.0802271651" #define kDefaultMacBookProBIOSReleaseDate "02/27/08" #define kDefaultMacBookProBoardProduct "Mac-F42C89C8" -// MacBookPro8,1 -// Bios: MBP81.88Z.0047.B24.1110141131 -// Board: Mac-94245B3640C91C81 -// Data: 10/14/11 - -// MacBookPro8,2 -// Bios: -// Board: Mac_94245A3940C91C80 -// Data: 10/14/11 - -// MacBookPro8,3 -// Bios: -// Board: Mac-942459F5819B171B -// Data: 10/31/11 - -// MacBookPro10,2 -// Bios: MBP102.88Z.0106.B01.1208311637 -// Board: Mac-AFD8A9D944EA4843 -// Data: 10/02/2012 - -// MacBookPro11,2 - Mac-3CBD00234E554E41 - MBP112.88Z.0138.B03.1310291227 -// MacBookPro11,3 - Mac-2BD1B31983FE1663 - MBP112.88Z.0138.B02.1310181745 - //=========== iMac =========== #define kDefaultiMacFamily "iMac" -//#define kDefaultiMacBoardAssetTagNumber "iMac-Aluminum" #define kDefaultiMac "iMac8,1" #define kDefaultiMacBIOSVersion " IM81.88Z.00C1.B00.0903051113" @@ -528,8 +484,6 @@ #define kDefaultiMacNehalemBIOSVersion " IM111.88Z.0034.B02.1003171314" #define kDefaultiMacNehalemBIOSReleaseDate "03/17/10" #define kDefaultiMacNehalemBoardProduct "Mac-F2268DAE" -// iMac11,2 -// iMac11,3 // iMac12,1 #define kDefaultiMacSandy "iMac12,1" @@ -537,40 +491,13 @@ #define kDefaultiMacSandyBIOSReleaseDate "04/22/11" #define kDefaultiMacSandyBoardProduct "Mac-942B5BF58194151B" -// iMac12,2 -// Bios: IM121.88Z.0047.B1D.1110171110" -// Data: 10/17/11 -// Board: Mac-942B59F58194171B" - -// iMac13,1 -// Bios: IM131.88Z.010A.B05.1211151146 -// Data: 11/15/2012 -// Board: Mac-00BE6ED71E35EB86 - -// iMac13,2 -// Bios: IM131.88Z.00CE.B00.1203281326 -// Data: 03/28/2012 -// Board: Mac-FC02E91DDD3FA6A4 - -// iMac14,1 -// iMac14,2 -// iMac14,3 -// iMac14,4 -// Bios: IM144.88Z.0179.B03.1405241029 -// Data: 05/20/2014 -// Board: Mac-81E3E92DD6088272 - //=========== MacPro =========== #define kDefaultMacProFamily "MacPro" // MacPro's family = "MacPro" not "Mac Pro" -//#define KDefauktMacProBoardAssetTagNumber "Pro-Enclosure" -//#define kDefaultMacProBoardType "0x0B" // 11 #define kDefaultMacPro "MacPro3,1" #define kDefaultMacProBIOSVersion " MP31.88Z.006C.B05.0903051113" #define kDefaultMacProBIOSReleaseDate "08/03/2010" -//#define kDefaultMacProSystemVersion "1.3" #define kDefaultMacProBoardProduct "Mac-F42C88C8" -//#define KDefaultMacProBoardSerialNumber "J593902RA4MFE" // Mac Pro 4,1 core i7/Xeon #define kDefaultMacProNahWestSystemVersion "0.0" @@ -578,43 +505,20 @@ #define kDefaultMacProNehalem "MacPro4,1" #define kDefaultMacProNehalemBIOSVersion " MP41.88Z.0081.B07.0910130729" #define kDefaultMacProNehalemBIOSReleaseDate "10/13/09" -//#define kDefaultMacProNehalemSystemVersion "1.4" #define kDefaultMacProNehalemBoardProduct "Mac-F221BEC8" -//#define KDefaultMacProNehalemBoardSerialNumber "J593004RB1LUE" -// "J591302R61LUC " // 2-cpu board -// "J591002JV4MFB " // 1-cpu board // Mac Pro 5,1 core i7/Xeon #define kDefaultMacProWestmere "MacPro5,1" #define kDefaultMacProWestmereBIOSVersion " MP51.88Z.007F.B03.1010071432" #define kDefaultMacProWestmereBIOSReleaseDate "10/07/10" -//#define kDefaultMacProWestmereSystemVersion "1.2" #define kDefaultMacProWestmereBoardProduct "Mac-F221BEC8" -//#define KDefaultMacProWestmereBoardSerialNumber "J522700H7BH8C" -// "J503104H1BH8A " // 2-cpu board // Mac Pro 6,1 #define kDefaultMacProHaswell "MacPro6,1" #define kDefaultMacProHaswellBIOSVersion "MP61.88Z.0116.B04.1312061508" #define kDefaultMacProHaswellBIOSReleaseDate "12/06/2013" -//#define kDefaultMacProHaswellSystemVersion "1.?" #define kDefaultMacProHaswellBoardProduct "Mac-F60DEB81FF30ACF6" -//#define KDefaultMacProHaswellBoardSerialNumber "F5K3474008JFNN215" -//#define KDefaultBoardSerialNumber "C02140302D5DMT31M" -// "C07019501PLDCVHAD" -// "C02032101R5DC771H" - -// J593902RA4MFE 3,1 -// J5031046RCZJA 5,1 -// J521101A5CZJC 3,1 -// J593004RB1LUE MacPro4,1 -// J513401PZBH8C 5,1 -// J590802LC4ACB 3,1 -// J594900AH1LUE 4,1 -// J512500HZBH8C 5,1 -// J522700H7BH8C MacPro5,1 - /* ============================================ */ bool useSMBIOSdefaults = true; // Bungo @@ -1021,7 +925,7 @@ p->header.length = sizeof(SMBOemProcessorType); p->header.handle = handle++; - setSMBValue(structPtr, numOfSetters - 2 , (returnType *)&(p->ProcessorType)); + setSMBValue(structPtr, numOfSetters - 2 , (returnType *)(void *)&(p->ProcessorType)); structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemProcessorType) + 2); tableLength += sizeof(SMBOemProcessorType) + 2; @@ -1070,7 +974,7 @@ p->header.length = sizeof(SMBOemProcessorBusSpeed); p->header.handle = handle++; - setSMBValue(structPtr, numOfSetters -1, (returnType *)&(p->ProcessorBusSpeed)); + setSMBValue(structPtr, numOfSetters -1, (returnType *)(void *)&(p->ProcessorBusSpeed)); structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemProcessorBusSpeed) + 2); tableLength += sizeof(SMBOemProcessorBusSpeed) + 2; @@ -1091,13 +995,31 @@ setSMBValue(structPtr, numOfSetters - 2 , (returnType *)&(p->PlatformFeature)); - structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemPPlatformFeature) + 2); + structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemPlatformFeature) + 2); tableLength += sizeof(SMBOemPlatformFeature) + 2; structureCount++; } */ +/* ========================================= + OEM SMC Version (Apple Specific - Type 134) + =========================================== */ +/* +void addSMBOemSMCVersion(SMBStructPtrs *structPtr) +{ + SMBOemSMCVersion *p = (SMBOemSMCVersion *)structPtr->new; + + p->header.type = kSMBTypeOemSMCVersion; + p->header.length = sizeof(SMBOemSMCVersion); + p->header.handle = handle++; + + setSMBValue(structPtr, numOfSetters - 2 , (returnType *)&(p->SMCVersion)); + + structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemSMCVersion) + 2); + tableLength += sizeof(SMBOemSMCVersion) + 2; + structureCount++; +} +*/ - /* ============================================== EndOfTable ================================================ */ @@ -1241,7 +1163,8 @@ case kSMBTypeOemProcessorType: case kSMBTypeOemProcessorBusSpeed: // case kSMBTypeOemPlatformFeature: - /* And this one too, to be added at the end */ +// case kSMBTypeOemSMCVersion: + /* And this one too, to be added at the end */ case kSMBTypeEndOfTable: break; @@ -1269,6 +1192,7 @@ addSMBOemProcessorType(structPtr); addSMBOemProcessorBusSpeed(structPtr); // addSMBOemPlatformFeature(structPtr); +// addSMBOemSMCVersion(structPtr); addSMBEndOfTable(structPtr); } Index: branches/zenith432/i386/libsaio/smbios_decode.c =================================================================== --- branches/zenith432/i386/libsaio/smbios_decode.c (revision 2876) +++ branches/zenith432/i386/libsaio/smbios_decode.c (revision 2877) @@ -5,20 +5,17 @@ * */ +#include "config.h" #include "libsaio.h" #include "smbios.h" // Bungo: #include "boot.h" #include "bootstruct.h" -#ifndef DEBUG_SMBIOS -#define DEBUG_SMBIOS 0 -#endif - #if DEBUG_SMBIOS -#define DBG(x...) printf(x) + #define DBG(x...) printf(x) #else -#define DBG(x...) msglog(x) + #define DBG(x...) msglog(x) #endif extern char *getSMBStringForField(SMBStructHeader *structHeader, uint8_t field); @@ -91,7 +88,7 @@ "Sub Notebook", /* 0Eh */ "Space-saving", /* 0Fh */ "Lunch Box", /* 10h */ - "Main Server Chassis", /* 11h */ + "Main Server Chassis", /* 11h */ /* CIM_Chassis.ChassisPackageType says "Main System Chassis" */ "Expansion Chassis", /* 12h */ "SubChassis", /* 13h */ "Bus Expansion Chassis",/* 14h */ @@ -103,7 +100,10 @@ "Compact PCI", /* 1Ah */ "Advanced TCA", /* 1Bh */ "Blade", /* 1Ch */ // An SMBIOS implementation for a Blade would contain a Type 3 Chassis structure - "Blade Enclosing" /* 1Dh */ // A Blade Enclosure is a specialized chassis that contains a set of Blades. + "Blade Enclosing", /* 1Dh */ // A Blade Enclosure is a specialized chassis that contains a set of Blades. + "Tablet", /* 1Eh */ + "Convertible", /* 1Fh */ + "Detachable" /* 0x20h */ }; /*==== @@ -167,7 +167,11 @@ "Socket FM1", "Socket FM2", "Socket LGA2011-3", - "Socket LGA1356-3" /* 2Ch */ + "Socket LGA1356-3", /* 2Ch */ + "Socket LGA1150", + "Socket BGA1168", + "Socket BGA1234", + "Socket BGA1364" /* 0x30h */ }; static const char *SMBMemoryDeviceFormFactors[] = // Bungo: strings for form factor (Table Type 17 - Memory Device) @@ -220,7 +224,11 @@ "RAM", /* 17h unused */ "DDR3", /* 18h DDR3, chosen in [5776134] */ "FBD2", /* 19h FBD2 */ - "DDR4" /* 1Ah DDR4 */ + "DDR4", /* 1Ah DDR4 */ + "LPDDR", /* 1Bh LPDDR */ + "LPDDR2", /* 1Ch LPDDR2 */ + "LPDDR3", /* 1Dh LPDDR3 */ + "LPDDR4" /* 1Eh LPDDR5 */ }; static const int kSMBMemoryDeviceTypeCount = sizeof(SMBMemoryDeviceTypes) / sizeof(SMBMemoryDeviceTypes[0]); Index: branches/zenith432/i386/libsaio/hpet.c =================================================================== --- branches/zenith432/i386/libsaio/hpet.c (revision 2876) +++ branches/zenith432/i386/libsaio/hpet.c (revision 2877) @@ -6,14 +6,11 @@ * High Precision Event Timer (HPET) */ +#include "config.h" #include "libsaio.h" #include "pci.h" #include "hpet.h" -#ifndef DEBUG_HPET - #define DEBUG_HPET 0 -#endif - #if DEBUG_HPET #define DBG(x...) printf(x) #else Index: branches/zenith432/i386/libsaio/smbios.h =================================================================== --- branches/zenith432/i386/libsaio/smbios.h (revision 2876) +++ branches/zenith432/i386/libsaio/smbios.h (revision 2877) @@ -135,6 +135,7 @@ kSMBTypeOemProcessorType = 131, // Processor Type (Type 131) kSMBTypeOemProcessorBusSpeed = 132, // Processor Bus Speed (Type 132) kSMBTypeOemPlatformFeature = 133 // Platform Feature (Type 133) +// kSMBTypeOemSMCVersion = 134 // SMC Version (Type 134) }; //---------------------------------------------------------------------------------------------------------- @@ -841,7 +842,7 @@ /* ============================================== OEM Platform Feature (Apple Specific - Type 133) ================================================ */ -struct SMBOemPlatformFeature +typedef struct SMBOemPlatformFeature { SMB_STRUCT_HEADER // Type 133 SMBWord PlatformFeature; @@ -849,6 +850,17 @@ //---------------------------------------------------------------------------------------------------------- +/* ========================================= + OEM SMC Version (Apple Specific - Type 134) + =========================================== */ +typedef struct SMBOemSMCVersion +{ + SMB_STRUCT_HEADER // Type 134 + SMBWord SMCVersion; +} __attribute__((packed)) SMBOemSMCVersion; + +//---------------------------------------------------------------------------------------------------------- + #define SMBIOS_ORIGINAL 0 #define SMBIOS_PATCHED 1 Index: branches/zenith432/i386/libsaio/stringTable.c =================================================================== --- branches/zenith432/i386/libsaio/stringTable.c (revision 2876) +++ branches/zenith432/i386/libsaio/stringTable.c (revision 2877) @@ -361,8 +361,8 @@ */ bool getBoolForKey(const char *key, bool *result_val, config_file_t *config) { - const char *key_val; - int size; + const char *key_val; + int size; if (getValueForKey(key, &key_val, &size, config)) { @@ -703,7 +703,7 @@ { char *dirspec[] = { "/Extra/org.chameleon.Boot.plist", - "/Extra/com.apple.Boot.plist", /* DEPRECIATED */ + "/Extra/com.apple.Boot.plist", /* DEPRECATED */ }; int i; @@ -755,7 +755,7 @@ { // Check for depreciated file names and annoy the user about it. if(strstr(full_path, "com.apple.Boot.plist")) { - printf("%s is depreciated.\n", full_path); + printf("%s is deprecated.\n", full_path); full_path[strlen(full_path) - strlen("com.apple.Boot.plist")] = 0; printf("Please use the file %sorg.chameleon.Boot.plist instead.\n", full_path); pause(); @@ -849,7 +849,7 @@ else { // use rfd - fixedsize = MIN(file_size(rfd), IO_CONFIG_DATA_SIZE); + fixedsize = MIN(file_size(rfd), IO_CONFIG_DATA_SIZE); count = read(rfd, config->plist, fixedsize); close(rfd); if (count != fixedsize) return -1; Index: branches/zenith432/i386/libsaio/biosfn.c =================================================================== --- branches/zenith432/i386/libsaio/biosfn.c (revision 2876) +++ branches/zenith432/i386/libsaio/biosfn.c (revision 2877) @@ -40,14 +40,11 @@ - Added ebiosEjectMedia */ +#include "config.h" #include "bootstruct.h" #include "libsaio.h" -#ifndef MEMRANGE - #define MEMRANGE 0 -#endif - #if MEMRANGE #define DBG(x...) printf(x) #else Index: branches/zenith432/i386/libsaio/saio_types.h =================================================================== --- branches/zenith432/i386/libsaio/saio_types.h (revision 2876) +++ branches/zenith432/i386/libsaio/saio_types.h (revision 2877) @@ -60,7 +60,7 @@ typedef struct Tag { long type; - char *string; + char *string; long offset; struct Tag *tag; struct Tag *tagNext; Index: branches/zenith432/i386/libsaio/msdos.c =================================================================== --- branches/zenith432/i386/libsaio/msdos.c (revision 2876) +++ branches/zenith432/i386/libsaio/msdos.c (revision 2877) @@ -807,7 +807,7 @@ } // Calculate a fake timestamp using modification date and time values. - *time = ((dirp->deMDate & 0x7FFF) << 16) + dirp->deMTime; + *time = (dirp->deMDate & 0x7FFF) << (16 + dirp->deMTime); if (infoValid) { Index: branches/zenith432/i386/libsaio/state_generator.c =================================================================== --- branches/zenith432/i386/libsaio/state_generator.c (revision 2876) +++ branches/zenith432/i386/libsaio/state_generator.c (revision 2877) @@ -9,6 +9,7 @@ * */ +#include "config.h" #include "libsaio.h" #include "boot.h" #include "bootstruct.h" @@ -21,16 +22,12 @@ #include "aml_generator.h" #include "state_generator.h" -#ifndef DEBUG_STATE -#define DEBUG_STATE 0 -#endif - #if DEBUG_STATE==2 #define DBG(x...) {printf(x); sleep(1);} #elif DEBUG_STATE==1 -#define DBG(x...) printf(x) + #define DBG(x...) printf(x) #else -#define DBG(x...) msglog(x) + #define DBG(x...) msglog(x) #endif uint8_t acpi_cpu_count = 0; Index: branches/zenith432/i386/libsaio/fake_efi.c =================================================================== --- branches/zenith432/i386/libsaio/fake_efi.c (revision 2876) +++ branches/zenith432/i386/libsaio/fake_efi.c (revision 2877) @@ -2,6 +2,8 @@ /* * Copyright 2007 David F. Elliott. All rights reserved. */ + +#include "config.h" #include "saio_types.h" #include "libsaio.h" #include "boot.h" @@ -19,14 +21,6 @@ #include "sl.h" #include "vers.h" -#ifndef DEBUG_EFI - #define DEBUG_EFI 0 -#endif - -#ifndef RANDOMSEED - #define RANDOMSEED 0 -#endif - #if DEBUG_EFI #define DBG(x...) printf(x) #else @@ -479,6 +473,26 @@ static EFI_UINT8 const STARTUP_POWER_EVENTS[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static EFI_UINT8 const COMPAT_MODE[] = { 0x01, 0x00, 0x00, 0x00 }; +// Pike R. Alpha +static EFI_UINT8 const BOOT_DEVICE_PATH[] = +{ + 0x02, 0x01, 0x0C, 0x00, 0xD0, 0x41, 0x08, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x06, 0x00, + 0x02, 0x1F, 0x03, 0x12, 0x0A, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x2A, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x28, 0x40, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0B, 0x63, 0x34, + 0x00, 0x00, 0x00, 0x00, 0x65, 0x8C, 0x53, 0x3F, 0x1B, 0xCA, 0x83, 0x38, 0xA9, 0xD0, 0xF0, 0x46, + 0x19, 0x14, 0x8E, 0x31, 0x02, 0x02, 0x7F, 0xFF, 0x04, 0x00 +}; +// Pike R. Alpha +static EFI_UINT8 const BOOT_FILE_PATH[] = +{ + 0x04, 0x04, 0x50, 0x00, 0x5c, 0x00, 0x53, 0x00, 0x79, 0x00, 0x73, 0x00, 0x74, 0x00, 0x65, 0x00, + 0x6d, 0x00, 0x5c, 0x00, 0x4c, 0x00, 0x69, 0x00, 0x62, 0x00, 0x72, 0x00, 0x61, 0x00, 0x72, 0x00, + 0x79, 0x00, 0x5c, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x65, 0x00, 0x53, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x76, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x5c, 0x00, 0x62, 0x00, + 0x6f, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x65, 0x00, 0x66, 0x00, 0x69, 0x00, 0x00, 0x00, + 0x7f, 0xff, 0x04, 0x00 +}; + /* * Get an smbios option string option to convert to EFI_CHAR16 string */ @@ -617,14 +631,6 @@ DT__AddProperty(efiPlatformNode,DEV_PATH_SUP, sizeof(DEVICE_PATHS_SUPPORTED), (EFI_UINT8 *) &DEVICE_PATHS_SUPPORTED); - // Bungo - /* Export system-id. Can be disabled with SystemId=No in com.apple.Boot.plist - if ((ret=getSystemID())) - { - DT__AddProperty(efiPlatformNode, SYSTEM_ID_PROP, UUID_LEN, (EFI_UINT32 *) ret); - } - */ - DT__AddProperty(efiPlatformNode, SYSTEM_ID_PROP, UUID_LEN, (EFI_UINT32 *)Platform.UUID); // Export SystemSerialNumber if present @@ -686,9 +692,10 @@ // Adding the default kernel name (mach_kernel) for kextcache. DT__AddProperty(chosenNode, "boot-file", sizeof(bootInfo->bootFile), bootInfo->bootFile); -// DT__AddProperty(chosenNode, "boot-device-path", bootDPsize, gBootDP); + DT__AddProperty(chosenNode, "boot-file-path", sizeof(BOOT_FILE_PATH), (EFI_UINT8 *) &BOOT_FILE_PATH); -// DT__AddProperty(chosenNode, "boot-file-path", bootFPsize, gBootFP); + // Adding the root path for kextcache. + DT__AddProperty(chosenNode, "boot-device-path", sizeof(BOOT_DEVICE_PATH), (EFI_UINT8 *) &BOOT_DEVICE_PATH); DT__AddProperty(chosenNode, "boot-kernelcache-adler32", sizeof(unsigned long), &adler32); Index: branches/zenith432/i386/libsaio/smbios_getters.c =================================================================== --- branches/zenith432/i386/libsaio/smbios_getters.c (revision 2876) +++ branches/zenith432/i386/libsaio/smbios_getters.c (revision 2877) @@ -5,13 +5,10 @@ * */ +#include "config.h" #include "smbios_getters.h" #include "bootstruct.h" -#ifndef DEBUG_SMBIOS - #define DEBUG_SMBIOS 0 -#endif - #if DEBUG_SMBIOS #define DBG(x...) printf(x) #else @@ -110,16 +107,15 @@ int nhm_bus = 0x3F; static long possible_nhm_bus[] = {0xFF, 0x7F, 0x3F}; unsigned long did, vid; - unsigned int i; + unsigned long qpimult, qpibusspeed = 0; + int i; // Nehalem supports Scrubbing // First, locate the PCI bus where the MCH is located for(i = 0; i < (sizeof(possible_nhm_bus)/sizeof(possible_nhm_bus[0])); i++) { - vid = pci_config_read16(PCIADDR(possible_nhm_bus[i], 3, 4), 0x00); - did = pci_config_read16(PCIADDR(possible_nhm_bus[i], 3, 4), 0x02); - vid &= 0xFFFF; - did &= 0xFF00; + vid = (pci_config_read16(PCIADDR(possible_nhm_bus[i], 3, 4), 0x00) & 0xFFFF); + did = (pci_config_read16(PCIADDR(possible_nhm_bus[i], 3, 4), 0x02) & 0xFF00); if(vid == 0x8086 && did >= 0x2C00) { @@ -127,15 +123,13 @@ } } - unsigned long qpimult, qpibusspeed; - qpimult = pci_config_read32(PCIADDR(nhm_bus, 2, 1), 0x50); - qpimult &= 0x7F; + qpimult = (pci_config_read32(PCIADDR(nhm_bus, 2, 1), 0x50) & 0x7F); DBG("qpimult %d\n", qpimult); qpibusspeed = (qpimult * 2 * (Platform.CPU.FSBFrequency/1000000LL)); // Rek: rounding decimals to match original mac profile info - if (qpibusspeed%100 != 0) + if (qpibusspeed % 100 != 0) { - qpibusspeed = ((qpibusspeed+50)/100)*100; + qpibusspeed = ((qpibusspeed + 50) / 100) * 100; } DBG("qpibusspeed %d\n", qpibusspeed); value->word = qpibusspeed; @@ -651,11 +645,11 @@ return true; } - // getting smbios addr with fast compare ops, late checksum testing ... #define COMPARE_DWORD(a,b) ( *((uint32_t *) a) == *((uint32_t *) b) ) -static const char * const SMTAG = "_SM_"; -static const char* const DMITAG = "_DMI_"; +static const char *const SMTAG = "_SM_"; +//static const char *const SM3TAG = "_SM3_"; // smbios3_decode +static const char *const DMITAG = "_DMI_"; SMBEntryPoint *getAddressOfSmbiosTable(void) { @@ -680,4 +674,3 @@ pause(); return NULL; } - Index: branches/zenith432/i386/boot2/graphics.c =================================================================== --- branches/zenith432/i386/boot2/graphics.c (revision 2876) +++ branches/zenith432/i386/boot2/graphics.c (revision 2877) @@ -410,62 +410,21 @@ static int setVESAGraphicsMode( unsigned short width, unsigned short height, unsigned char bitsPerPixel, unsigned short refreshRate ) { VBEModeInfoBlock minfo; - unsigned short mode; + unsigned short mode = 280; // Default to 1024 * 768 * 32 (1920 * 1200 * 32 would be 330) unsigned short vesaVersion; int err = errFuncNotSupported; do { mode = getVESAModeWithProperties( width, height, bitsPerPixel, - maColorModeBit | - maModeIsSupportedBit | - maGraphicsModeBit | - maLinearFrameBufferAvailBit, - 0, - &minfo, &vesaVersion ); + maColorModeBit | maModeIsSupportedBit | maGraphicsModeBit | maLinearFrameBufferAvailBit, + 0, &minfo, &vesaVersion ); if ( mode == modeEndOfList ) { break; } -// -// FIXME : generateCRTCTiming() causes crash. -// + // Set the mode with default refresh rate. -// if ( (vesaVersion >> 8) >= 3 && refreshRate >= 60 && -// (gBootMode & kBootModeSafe) == 0 ) -// { -// VBECRTCInfoBlock timing; -// -// // Generate CRTC timing for given refresh rate. -// -// generateCRTCTiming( minfo.XResolution, minfo.YResolution, -// refreshRate, kCRTCParamRefreshRate, -// &timing ); -// -// // Find the actual pixel clock supported by the hardware. -// -// getVBEPixelClock( mode, &timing.PixelClock ); -// -// // Re-compute CRTC timing based on actual pixel clock. -// -// generateCRTCTiming( minfo.XResolution, minfo.YResolution, -// timing.PixelClock, kCRTCParamPixelClock, -// &timing ); -// -// // Set the video mode and use specified CRTC timing. -// -// err = setVBEMode( mode | kLinearFrameBufferBit | -// kCustomRefreshRateBit, &timing ); -// } -// else -// { -// // Set the mode with default refresh rate. -// -// err = setVBEMode( mode | kLinearFrameBufferBit, NULL ); -// } - - // Set the mode with default refresh rate. - err = setVBEMode(mode | kLinearFrameBufferBit, NULL); if (err != errSuccess) @@ -473,18 +432,28 @@ break; } - // Set 8-bit color palette. + // Is this required for buggy Video BIOS implementations? If so for which adapter? - if ( minfo.BitsPerPixel == 8 ) - { - VBEPalette palette; - setupPalette( &palette, appleClut8 ); - if ((err = setVBEPalette(palette)) != errSuccess) - { - break; - } - } + if ( minfo.BitsPerPixel == 8 ) + { + VBEPalette palette; + // A switch is needed for the two clut way... + if ( ( MacOSVerCurrent >= MacOSVer2Int("10.10") ) && ( FlagBlackOption ) ) // Yosemite and Up! + { + setupPalette( &palette, AppleLogoBlackClut ); + } + else + { + setupPalette( &palette, AppleLogoClut ); + } + + if ((err = setVBEPalette(palette)) != errSuccess) + { + break; + } + } + // Is this required for buggy Video BIOS implementations? // On which adapter? @@ -512,35 +481,35 @@ int convertImage( unsigned short width, unsigned short height, const unsigned char *imageData, unsigned char **newImageData ) { - int cnt; - unsigned char *img = 0; - unsigned short *img16; - unsigned long *img32; + int index = 0; + int size = (width * height); // 16384 + int depth = VIDEO(depth); - switch ( VIDEO(depth) ) { - case 16 : - img16 = malloc(width * height * 2); - if ( !img16 ) break; - for (cnt = 0; cnt < (width * height); cnt++) - img16[cnt] = lookUpCLUTIndex(imageData[cnt], 16); - img = (unsigned char *)img16; - break; + unsigned char *img = 0; + unsigned long *img32; - case 32 : - img32 = malloc(width * height * 4); - if ( !img32 ) break; - for (cnt = 0; cnt < (width * height); cnt++) - img32[cnt] = lookUpCLUTIndex(imageData[cnt], 32); - img = (unsigned char *)img32; - break; + switch (depth) + { + case 32: + img32 = malloc(size * 4); - default : - img = malloc(width * height); - bcopy(imageData, img, width * height); - break; - } - *newImageData = img; - return 0; + if (!img32) + { + break; + } + + for (; index < size; index++) + { + img32[index] = lookUpCLUTIndex(imageData[index]); + } + + img = (unsigned char *)img32; + break; + } + + *newImageData = img; + + return 0; } //============================================================================== @@ -741,7 +710,7 @@ } //============================================================================== - +// ProgressBar void drawCheckerBoard() { uint32_t *vram = (uint32_t *) VIDEO(baseAddr); @@ -759,39 +728,31 @@ //========================================================================== // LookUpCLUTIndex -unsigned long lookUpCLUTIndex( unsigned char index, unsigned char depth ) +unsigned long lookUpCLUTIndex( unsigned char index ) { - long result; - long colorIndex = (index * 3); - long red = appleClut8[ colorIndex ]; - long green = appleClut8[ colorIndex++ ]; - long blue = appleClut8[ colorIndex++ ]; + long red; + long green; + long blue; - switch (depth) + if ( ( MacOSVerCurrent >= MacOSVer2Int("10.10") ) && ( FlagBlackOption ) ) // Yosemite and Up! { - case 16 : - result = ((red & 0xF8) << 7) | - ((green & 0xF8) << 2) | - ((blue & 0xF8) >> 3); - result |= (result << 16); - break; - - case 32 : - result = (red << 16) | (green << 8) | blue; - break; - - default : - result = index | (index << 8); - result |= (result << 16); - break; + // BlackMode + red = AppleLogoBlackClut[ colorIndex ]; + green = AppleLogoBlackClut[ colorIndex++ ]; + blue = AppleLogoBlackClut[ colorIndex++ ]; } + else + { + red = AppleLogoClut[ colorIndex ]; + green = AppleLogoClut[ colorIndex++ ]; + blue = AppleLogoClut[ colorIndex++ ]; + } - return result; + return (red << 16) | (green << 8) | blue; } //========================================================================== -// drawColorRectangle void *stosl(void *dst, long val, long len) { @@ -805,31 +766,22 @@ //============================================================================== -void drawColorRectangle( unsigned short x, - unsigned short y, - unsigned short width, - unsigned short height, - unsigned char colorIndex ) +void setBackgroundColor( uint32_t color ) { - long pixelBytes; - long color = lookUpCLUTIndex( colorIndex, VIDEO(depth) ); - char *vram; + long pixelBytes = VIDEO(depth) / 8; + char *vram = (char *) VIDEO(baseAddr) + VIDEO(rowBytes) + pixelBytes; - pixelBytes = VIDEO(depth) / 8; - vram = (char *) VIDEO(baseAddr) + VIDEO(rowBytes) * y + pixelBytes * x; + int width = VIDEO(width); + int height = VIDEO(height); - width = MIN(width, VIDEO(width) - x); - height = MIN(height, VIDEO(height) - y); + int rem = ( pixelBytes * width ) % 4; + int length = pixelBytes * width / 4; + bcopy( &color, vram, rem ); + while ( height-- ) { - int rem = ( pixelBytes * width ) % 4; - if ( rem ) - { - bcopy( &color, vram, rem ); - } - - stosl( vram + rem, color, pixelBytes * width / 4 ); + stosl( vram + rem, color, length ); vram += VIDEO(rowBytes); } } @@ -850,7 +802,7 @@ while ( height-- ) { - bcopy( data, vram, drawWidth * pixelBytes ); + bcopy( data, vram, width * pixelBytes ); vram += VIDEO(rowBytes); data += width * pixelBytes; } @@ -940,8 +892,16 @@ screen = (uint8_t *) VIDEO (baseAddr); rowBytes = VIDEO (rowBytes); - // Set the screen to 75% grey. - drawColorRectangle(0, 0, VIDEO(width), VIDEO(height), 0x01 /* color index */); + if ( ( MacOSVerCurrent >= MacOSVer2Int("10.10") ) && ( FlagBlackOption ) ) // Yosemite and Up! + { + // BlackMode + setBackgroundColor(0xff000000); + } + else + { + // Set the screen to 75% grey. + setBackgroundColor(0xffbfbfbf); + } } pixelShift = VIDEO (depth) >> 4; @@ -1175,42 +1135,28 @@ // // Set the video mode to VGA_TEXT_MODE or GRAPHICS_MODE. -void setVideoMode( int mode, int drawgraphics) +void setVideoMode( int mode ) { unsigned long params[4]; - int count; int err = errSuccess; if ( mode == GRAPHICS_MODE ) { if ( (err = initGraphicsMode()) == errSuccess ) { - if (gVerboseMode) - { - // Tell the kernel to use text mode on a linear frame buffer display - bootArgs->Video.v_display = FB_TEXT_MODE; - } - else - { - bootArgs->Video.v_display = GRAPHICS_MODE; - } + // Tell the kernel to use text mode on a linear frame buffer display + bootArgs->Video.v_display = (gVerboseMode) ? /* 2 */ FB_TEXT_MODE : /* 1 */ GRAPHICS_MODE; } } if ( (mode == VGA_TEXT_MODE) || (err != errSuccess) ) { - count = getNumberArrayFromProperty(kTextModeKey, params, 2); - if ( count < 2 ) - { - params[0] = 80; // Default text mode is 80x25. - params[1] = 25; - } + params[0] = 80; // Default text mode is 80x25. + params[1] = 25; setVESATextMode(params[0], params[1], 4); bootArgs->Video.v_display = VGA_TEXT_MODE; } - - currentIndicator = 0; } //============================================================================== Index: branches/zenith432/i386/boot2/graphics.h =================================================================== --- branches/zenith432/i386/boot2/graphics.h (revision 2876) +++ branches/zenith432/i386/boot2/graphics.h (revision 2877) @@ -20,9 +20,9 @@ int loadPngImage(const char *filename, uint16_t *width, uint16_t *height, uint8_t **imageData); -unsigned long lookUpCLUTIndex( unsigned char index, unsigned char depth ); +unsigned long lookUpCLUTIndex( unsigned char index ); -void drawColorRectangle( unsigned short x, unsigned short y, unsigned short width, unsigned short height, unsigned char colorIndex ); +void setBackgroundColor( uint32_t color ); void drawDataRectangle( unsigned short x, unsigned short y, unsigned short width, unsigned short height, unsigned char * data ); int convertImage( unsigned short width, unsigned short height, const unsigned char *imageData, unsigned char **newImageData ); Index: branches/zenith432/i386/boot2/config.h =================================================================== --- branches/zenith432/i386/boot2/config.h (revision 0) +++ branches/zenith432/i386/boot2/config.h (revision 2877) @@ -0,0 +1,88 @@ +// +// config.h +// Chameleon +// +// Created by ErmaC on 20/06/16. +// +// + +#ifndef config_h +#define config_h + +////////////////////////////////// boot.c +#define DEBUG_BOOT2 0 +#define DEBUG_INTERRUPTS 0 + +////////////////////////////////// hpet.c +#define DEBUG_HPET 0 + +////////////////////////////////// modules.c +#define CONFIG_MODULE_DEBUG 0 + +////////////////////////////////// acpi_patcher.c 0 - 1 - 2 +#define DEBUG_ACPI 0 + +////////////////////////////////// ati.c +#define DEBUG_ATI 0 + +////////////////////////////////// nvidia.c +#define DEBUG_NVIDIA 0 + +////////////////////////////////// gma.c +#define DEBUG_GMA 0 +#define REPLACE_DEVICE_ID 0 + +////////////////////////////////// usb.c +#define DEBUG_USB 0 + +////////////////////////////////// gui.c +#define DEBUG_GUI 0 + +////////////////////////////////// pci_root.c +#define DEBUG_PCIROOT 1 + +////////////////////////////////// pci_setup.c +#define DEBUG_PCI_SETUP 0 + +////////////////////////////////// smbios.c +////////////////////////////////// smbios_decode.c +////////////////////////////////// smbios_getters.c +#define DEBUG_SMBIOS 0 + +////////////////////////////////// spd.c +#define DEBUG_SPD 0 + +////////////////////////////////// state_generator.c +#define DEBUG_STATE 0 + +////////////////////////////////// biosfn.c +#define MEMRANGE 1 + +////////////////////////////////// bootstruct.c +#define DEBUG_BOOTSTRUCT 0 + +////////////////////////////////// cpu.c +#define DEBUG_CPU 0 + +////////////////////////////////// device_inject.c +#define DEBUG_INJECT 0 + +////////////////////////////////// dram_controllers.c +#define DEBUG_DRAM 0 + +////////////////////////////////// exfat.c +#define DEBUG_EXFAT 0 + +////////////////////////////////// fake_efi.c +#define DEBUG_EFI 0 +#define RANDOMSEED 0 + +////////////////////////////////// hda.c +#define DEBUG_HDA 0 +#define DEBUG_CODEC 0 + +////////////////////////////////// xml.c +#define DEBUG_XML 0 + + +#endif /* config_h */ Property changes on: branches/zenith432/i386/boot2/config.h ___________________________________________________________________ Added: svn:executable + * Index: branches/zenith432/i386/boot2/drivers.c =================================================================== --- branches/zenith432/i386/boot2/drivers.c (revision 2876) +++ branches/zenith432/i386/boot2/drivers.c (revision 2877) @@ -46,8 +46,6 @@ #define DBG(x...) msglog(x) #endif -// extern char gMacOSVersion[8]; - struct Module { struct Module *nextModule; long willLoad; @@ -226,6 +224,7 @@ } } } + if(!gHaveKernelCache) { // Don't load main driver (from /System/Library/Extentions) if gHaveKernelCache is set. @@ -259,7 +258,7 @@ } else { - verbose("Attempting to loading drivers from standard repositories:\n"); + verbose("Attempting to load drivers from standard repositories:\n"); if ( (gMacOSVersion[3] == '9') || ((gMacOSVersion[3] == '1') && ((gMacOSVersion[4] == '0') || (gMacOSVersion[4] == '1') || (gMacOSVersion[4] == '2') ) )) // issue 352 { @@ -496,13 +495,13 @@ // LoadDriverPList long LoadDriverPList( char *dirSpec, char *name, long bundleType ) { - long length, executablePathLength, bundlePathLength; - ModulePtr module; - TagPtr personalities; - char * buffer = 0; - char * tmpExecutablePath = 0; - char * tmpBundlePath = 0; - long ret = -1; + long length, executablePathLength, bundlePathLength; + ModulePtr module; + TagPtr personalities; + char *buffer = 0; + char *tmpExecutablePath = 0; + char *tmpBundlePath = 0; + long ret = -1; do{ // Save the driver path. @@ -686,12 +685,6 @@ if ((length != -1) && executableAddr) { -// driverModuleAddr = (void *)kLoadAddr; -// if (length != 0) -// { -// ThinFatFile(&driverModuleAddr, &length); -// } - // Make make in the image area. execute_hook("LoadMatchedModules", module, &length, executableAddr, NULL); @@ -1138,7 +1131,7 @@ default:kernelOSVer = 0xA0A0500; break; //Last known kernel } break; - case 15: + case 15: /* El Capitan */ switch (gDarwinMinor) { case 0: kernelOSVer = 0xA0B0000; break; @@ -1151,7 +1144,7 @@ default:kernelOSVer = 0xA0B0600; break; //Last known kernel (add here updates) } break; - case 16: + case 16: /* Sierra */ switch (gDarwinMinor) { case 0: kernelOSVer = 0xA0C0000; break; @@ -1165,7 +1158,7 @@ break; default: kernelOSVer = 0xA0C0400; - break; + break; //Last known kernel is Sierra 10.12.4 } } else Index: branches/zenith432/i386/boot2/boot.c =================================================================== --- branches/zenith432/i386/boot2/boot.c (revision 2876) +++ branches/zenith432/i386/boot2/boot.c (revision 2877) @@ -45,6 +45,7 @@ * Reworked again by Curtis Galloway (galloway@NeXT.com) */ +#include "config.h" #include "boot.h" #include "bootstruct.h" #include "fake_efi.h" @@ -56,14 +57,7 @@ #include "modules.h" #include "device_tree.h" -#ifndef DEBUG_BOOT2 - #define DEBUG_BOOT2 0 -#endif -#ifndef DEBUG_INTERRUPTS - #define DEBUG_INTERRUPTS 0 -#endif - #if DEBUG_BOOT2 #define DBG(x...) printf(x) #else @@ -239,7 +233,7 @@ // verbose mode. if (gVerboseMode) { - setVideoMode(GRAPHICS_MODE, 0); + setVideoMode( GRAPHICS_MODE ); } else { @@ -770,7 +764,9 @@ freeFilteredBVChain(bvChain); if (gEnableCDROMRescan) + { rescanBIOSDevice(gBIOSDev); + } bvChain = newFilteredBVChain(0x80, 0xFF, allowBVFlags, denyBVFlags, &gDeviceCount); setBootGlobals(bvChain); @@ -1061,7 +1057,7 @@ // if we are already in graphics-mode, if (getVideoMode() == GRAPHICS_MODE) { - setVideoMode(VGA_TEXT_MODE, 0); // switch back to text mode. + setVideoMode( VGA_TEXT_MODE ); // switch back to text mode. } } Index: branches/zenith432/i386/boot2/boot.h =================================================================== --- branches/zenith432/i386/boot2/boot.h (revision 2876) +++ branches/zenith432/i386/boot2/boot.h (revision 2877) @@ -206,7 +206,6 @@ /* Bungo: added this key */ #define kPrivateData "PrivateData" /* smbios_decode.c */ - /* * Flags to the booter or kernel */ @@ -263,17 +262,11 @@ * graphics.c */ extern void printVBEModeInfo(); -extern void setVideoMode(int mode, int drawgraphics); +extern void setVideoMode(int mode); extern int getVideoMode(); extern void spinActivityIndicator(); extern void clearActivityIndicator(); -extern void drawColorRectangle( - unsigned short x, - unsigned short y, - unsigned short width, - unsigned short height, - unsigned char colorIndex - ); +extern void setBackgroundColor( uint32_t color ); extern void drawDataRectangle( unsigned short x, unsigned short y, Index: branches/zenith432/i386/boot2/modules.c =================================================================== --- branches/zenith432/i386/boot2/modules.c (revision 2876) +++ branches/zenith432/i386/boot2/modules.c (revision 2877) @@ -2,6 +2,8 @@ * Copyright 2010-2015 Evan Lojewski. All rights reserved. * */ + +#include "config.h" #include "boot.h" #include "bootstruct.h" #include "modules.h" @@ -12,17 +14,13 @@ #include #ifdef CONFIG_MODULES -#ifndef CONFIG_MODULE_DEBUG -#define CONFIG_MODULE_DEBUG 0 -#endif - #if CONFIG_MODULE_DEBUG -#define DBG(x...) printf(x) -#define DBGPAUSE() getchar() + #define DBG(x...) printf(x) + #define DBGPAUSE() getchar() #else -#define DBG(x...) -#define DBGPAUSE() + #define DBG(x...) + #define DBGPAUSE() #endif static inline void rebase_location(UInt32 *location, char *base, int type); Index: branches/zenith432/i386/boot2/gui.c =================================================================== --- branches/zenith432/i386/boot2/gui.c (revision 2876) +++ branches/zenith432/i386/boot2/gui.c (revision 2877) @@ -8,15 +8,12 @@ * */ +#include "config.h" #include "gui.h" #include "term.h" #include "appleboot.h" #include "vers.h" -#ifndef DEBUG_GUI - #define DEBUG_GUI 0 -#endif - #if DEBUG_GUI #define DBG(x...) printf(x) #else @@ -1040,7 +1037,7 @@ // lets copy the screen into the back buffer memcpy( gui.backbuffer->pixels, gui.screen.pixmap->pixels, gui.backbuffer->width * gui.backbuffer->height * 4 ); - setVideoMode( GRAPHICS_MODE, 0 ); + setVideoMode( GRAPHICS_MODE ); gui.initialised = true; return 0; @@ -2420,7 +2417,7 @@ // Set graphics mode if the booter was in text mode or the screen resolution has changed. if (bootArgs->Video.v_display == VGA_TEXT_MODE || (screen_params[0] != oldScreenWidth && screen_params[1] != oldScreenHeight) ) { - setVideoMode(GRAPHICS_MODE, 0); + setVideoMode(GRAPHICS_MODE ); } if (getValueForKey("-checkers", &dummyVal, &length, &bootInfo->chameleonConfig)) @@ -2429,8 +2426,16 @@ } else { - // Fill the background to 75% grey (same as BootX). - drawColorRectangle(0, 0, screen_params[0], screen_params[1], 0x01); + if ( ( MacOSVerCurrent >= MacOSVer2Int("10.10") ) && ( FlagBlackOption ) ) // Yosemite and Up! + { + // BlackMode + setBackgroundColor(0xff030000); + } + else + { + // Fill the background to 75% grey (same as BootX). + setBackgroundColor(0xffbfbfbf); + } } if ((bootImageData) && (usePngImage)) @@ -2443,25 +2448,34 @@ } else { - uint8_t *appleBootPict; - bootImageData = NULL; - bootImageWidth = kAppleBootWidth; - bootImageHeight = kAppleBootHeight; + // Standard size (Width 84 Height 103) + // TODO HiDPI size (Width 168 Height 206) + // So still need to probe and assign HiDPIOption properly + chooseLogoMode(); + } +} +// ==================================================================== +void chooseLogoMode() +{ + int logoWith = HiDPIOption ? (APPLE_LOGO_WIDTH * 2) : APPLE_LOGO_WIDTH; + int logoHeight = HiDPIOption ? (APPLE_LOGO_HEIGHT * 2) : APPLE_LOGO_HEIGHT; + int logoX = HiDPIOption ? APPLE_LOGO_2X_X : APPLE_LOGO_X; + int logoY = HiDPIOption ? APPLE_LOGO_2X_Y : APPLE_LOGO_Y; + int logoSize = ( logoWith * logoHeight ); - // Prepare the data for the default Apple boot image. - appleBootPict = (uint8_t *) decodeRLE(gAppleBootPictRLE, kAppleBootRLEBlocks, bootImageWidth * bootImageHeight); - if (appleBootPict) + void *dst = malloc(logoSize); + + void *logoData = ( FlagBlackOption ? (void *)AppleLogoBlackPacked : (void *)AppleLogoPacked ); + uint32_t src_size = ( FlagBlackOption ? sizeof(AppleLogoBlackPacked) : sizeof(AppleLogoPacked) ); + + if (dst) + { + if (lzvn_decode(dst, logoSize, logoData, src_size) == logoSize) { - convertImage(bootImageWidth, bootImageHeight, appleBootPict, &bootImageData); - if (bootImageData) - { - x = (screen_params[0] - MIN(kAppleBootWidth, screen_params[0])) / 2; - y = (screen_params[1] - MIN(kAppleBootHeight, screen_params[1])) / 2; - drawDataRectangle(x, y, kAppleBootWidth, kAppleBootHeight, bootImageData); - free(bootImageData); - } - free(appleBootPict); + uint8_t *bootImageData = NULL; + convertImage(logoWith, logoHeight, dst, &bootImageData); + drawDataRectangle(logoX, logoY, logoWith, logoHeight, bootImageData); } + free(dst); } } -// ==================================================================== Index: branches/zenith432/i386/boot2/appleClut8.h =================================================================== --- branches/zenith432/i386/boot2/appleClut8.h (revision 2876) +++ branches/zenith432/i386/boot2/appleClut8.h (revision 2877) @@ -25,87 +25,85 @@ #ifndef __BOOT2_APPLECLUT8_H #define __BOOT2_APPLECLUT8_H -static const unsigned char appleClut8[ 256 * 3 ] = +// +// CLUT (Color LookUp Table) for grey Apple logo. +// +static UInt8 AppleLogoClut[ 304 ] = { - 0xff,0xff,0xff, 0xbf,0xbf,0xbf, 0xbe,0xbe,0xbe, 0xbd,0xbd,0xbd, - 0xbc,0xbc,0xbc, 0xff,0xff,0x00, 0xba,0xba,0xba, 0xb9,0xb9,0xb9, - 0xb8,0xb8,0xb8, 0xb7,0xb7,0xb7, 0xb6,0xb6,0xb6, 0xb5,0xb5,0xb5, - 0xb4,0xb4,0xb4, 0xb3,0xb3,0xb3, 0xb2,0xb2,0xb2, 0x00,0x00,0x00, + 0xBF, 0xBF, 0xBF, 0xB3, 0xB3, 0xB3, 0xA6, 0xA6, 0xA6, 0xB2, 0xB2, 0xB2, 0xA0, 0xA0, 0xA0, 0x83, + 0x83, 0x83, 0x67, 0x67, 0x67, 0x61, 0x61, 0x61, 0x90, 0x90, 0x90, 0xB9, 0xB9, 0xB9, 0x8F, 0x8F, + 0x8F, 0x64, 0x64, 0x64, 0x66, 0x66, 0x66, 0x68, 0x68, 0x68, 0x97, 0x97, 0x97, 0x95, 0x95, 0x95, + 0x65, 0x65, 0x65, 0x6A, 0x6A, 0x6A, 0x6C, 0x6C, 0x6C, 0x6D, 0x6D, 0x6D, 0x73, 0x73, 0x73, 0x6B, + 0x6B, 0x6B, 0x6E, 0x6E, 0x6E, 0x70, 0x70, 0x70, 0x6F, 0x6F, 0x6F, 0x98, 0x98, 0x98, 0xA1, 0xA1, + 0xA1, 0x9B, 0x9B, 0x9B, 0x69, 0x69, 0x69, 0x76, 0x76, 0x76, 0xC2, 0xC2, 0xC2, 0xAD, 0xAD, 0xAD, + 0x8B, 0x8B, 0x8B, 0x7E, 0x7E, 0x7E, 0xC3, 0xC3, 0xC3, 0xAA, 0xAA, 0xAA, 0x87, 0x87, 0x87, 0x85, + 0x85, 0x85, 0xC8, 0xC8, 0xC8, 0xBD, 0xBD, 0xBD, 0x8C, 0x8C, 0x8C, 0x72, 0x72, 0x72, 0xCB, 0xCB, + 0xCB, 0x7F, 0x7F, 0x7F, 0xCA, 0xCA, 0xCA, 0xA4, 0xA4, 0xA4, 0xCC, 0xCC, 0xCC, 0xC0, 0xC0, 0xC0, + 0x94, 0x94, 0x94, 0xB5, 0xB5, 0xB5, 0xCE, 0xCE, 0xCE, 0x74, 0x74, 0x74, 0xCF, 0xCF, 0xCF, 0xC6, + 0xC6, 0xC6, 0x8E, 0x8E, 0x8E, 0xAE, 0xAE, 0xAE, 0xBE, 0xBE, 0xBE, 0xBB, 0xBB, 0xBB, 0xD0, 0xD0, + 0xD0, 0xD5, 0xD5, 0xD5, 0x78, 0x78, 0x78, 0x7D, 0x7D, 0x7D, 0xC5, 0xC5, 0xC5, 0x9A, 0x9A, 0x9A, + 0x63, 0x63, 0x63, 0x62, 0x62, 0x62, 0x89, 0x89, 0x89, 0x84, 0x84, 0x84, 0x79, 0x79, 0x79, 0x93, + 0x93, 0x93, 0xCD, 0xCD, 0xCD, 0xA7, 0xA7, 0xA7, 0x7B, 0x7B, 0x7B, 0xC9, 0xC9, 0xC9, 0x82, 0x82, + 0x82, 0x77, 0x77, 0x77, 0xC1, 0xC1, 0xC1, 0xA3, 0xA3, 0xA3, 0x9C, 0x9C, 0x9C, 0xAC, 0xAC, 0xAC, + 0xA5, 0xA5, 0xA5, 0x71, 0x71, 0x71, 0xB7, 0xB7, 0xB7, 0x91, 0x91, 0x91, 0xA9, 0xA9, 0xA9, 0xAF, + 0xAF, 0xAF, 0xAB, 0xAB, 0xAB, 0xC7, 0xC7, 0xC7, 0x86, 0x86, 0x86, 0x88, 0x88, 0x88, 0xA8, 0xA8, + 0xA8, 0xBC, 0xBC, 0xBC, 0x80, 0x80, 0x80, 0xD1, 0xD1, 0xD1, 0xD7, 0xD7, 0xD7, 0x8D, 0x8D, 0x8D, + 0x7A, 0x7A, 0x7A, 0xD4, 0xD4, 0xD4, 0x81, 0x81, 0x81, 0xD2, 0xD2, 0xD2, 0x00, 0x00, 0x00, 0x00 +}; - 0xb1,0xb1,0xb1, 0xb0,0xb0,0xb0, 0xaf,0xaf,0xaf, 0xae,0xae,0xae, - 0xad,0xad,0xad, 0xac,0xac,0xac, 0xab,0xab,0xab, 0xaa,0xaa,0xaa, - 0xff,0x00,0xff, 0xa9,0xa9,0xa9, 0xa8,0xa8,0xa8, 0xa7,0xa7,0xa7, - 0xa6,0xa6,0xa6, 0xa5,0xa5,0xa5, 0xa4,0xa4,0xa4, 0xa3,0xa3,0xa3, - 0xa2,0xa2,0xa2, 0xa1,0xa1,0xa1, 0xa0,0xa0,0xa0, 0xff,0x00,0x00, - 0x9f,0x9f,0x9f, 0x9e,0x9e,0x9e, 0x9d,0x9d,0x9d, 0x9c,0x9c,0x9c, - 0x9b,0x9b,0x9b, 0x9a,0x9a,0x9a, 0xcc,0xcc,0xff, 0xcc,0xcc,0xcc, - 0x99,0x99,0x99, 0x98,0x98,0x98, 0x97,0x97,0x97, 0x96,0x96,0x96, +// +// CLUT (Color LookUp Table) for grey HiDPI Apple logo. +// - 0x95,0x95,0x95, 0x94,0x94,0x94, 0x93,0x93,0x93, 0x92,0x92,0x92, - 0x91,0x91,0x91, 0x90,0x90,0x90, 0x8f,0x8f,0x8f, 0x8e,0x8e,0x8e, - 0x8d,0x8d,0x8d, 0x8c,0x8c,0x8c, 0x8b,0x8b,0x8b, 0x8a,0x8a,0x8a, - 0x89,0x89,0x89, 0x88,0x88,0x88, 0x86,0x86,0x86, 0x85,0x85,0x85, +static UInt8 AppleLogo2XClut[ 354 ] = +{ + 0xBF, 0xBF, 0xBF, 0xAD, 0xAD, 0xAD, 0xA6, 0xA6, 0xA6, 0x9A, 0x9A, 0x9A, 0xA1, 0xA1, 0xA1, 0x89, + 0x89, 0x89, 0x77, 0x77, 0x77, 0x60, 0x60, 0x60, 0x5F, 0x5F, 0x5F, 0x5E, 0x5E, 0x5E, 0x76, 0x76, + 0x76, 0x83, 0x83, 0x83, 0x66, 0x66, 0x66, 0x61, 0x61, 0x61, 0x62, 0x62, 0x62, 0x63, 0x63, 0x63, + 0xB9, 0xB9, 0xB9, 0x8F, 0x8F, 0x8F, 0x6C, 0x6C, 0x6C, 0x64, 0x64, 0x64, 0x65, 0x65, 0x65, 0xB3, + 0xB3, 0xB3, 0x67, 0x67, 0x67, 0x68, 0x68, 0x68, 0x69, 0x69, 0x69, 0x6A, 0x6A, 0x6A, 0x6B, 0x6B, + 0x6B, 0x9B, 0x9B, 0x9B, 0x6D, 0x6D, 0x6D, 0x6E, 0x6E, 0x6E, 0x73, 0x73, 0x73, 0x78, 0x78, 0x78, + 0x6F, 0x6F, 0x6F, 0x81, 0x81, 0x81, 0x70, 0x70, 0x70, 0x80, 0x80, 0x80, 0x84, 0x84, 0x84, 0x99, + 0x99, 0x99, 0xA4, 0xA4, 0xA4, 0xAF, 0xAF, 0xAF, 0xC5, 0xC5, 0xC5, 0x82, 0x82, 0x82, 0xC3, 0xC3, + 0xC3, 0xC0, 0xC0, 0xC0, 0x79, 0x79, 0x79, 0xBE, 0xBE, 0xBE, 0x90, 0x90, 0x90, 0xC6, 0xC6, 0xC6, + 0xA7, 0xA7, 0xA7, 0xA3, 0xA3, 0xA3, 0xC2, 0xC2, 0xC2, 0x85, 0x85, 0x85, 0xB5, 0xB5, 0xB5, 0xC1, + 0xC1, 0xC1, 0xC9, 0xC9, 0xC9, 0x9C, 0x9C, 0x9C, 0xB6, 0xB6, 0xB6, 0x8B, 0x8B, 0x8B, 0xCB, 0xCB, + 0xCB, 0x9E, 0x9E, 0x9E, 0xA8, 0xA8, 0xA8, 0x7E, 0x7E, 0x7E, 0xCF, 0xCF, 0xCF, 0xC7, 0xC7, 0xC7, + 0xCC, 0xCC, 0xCC, 0x93, 0x93, 0x93, 0x7F, 0x7F, 0x7F, 0xCA, 0xCA, 0xCA, 0xAE, 0xAE, 0xAE, 0xCD, + 0xCD, 0xCD, 0x97, 0x97, 0x97, 0x8D, 0x8D, 0x8D, 0x7D, 0x7D, 0x7D, 0x94, 0x94, 0x94, 0xD3, 0xD3, + 0xD3, 0xD1, 0xD1, 0xD1, 0xD5, 0xD5, 0xD5, 0xD2, 0xD2, 0xD2, 0xCE, 0xCE, 0xCE, 0x8E, 0x8E, 0x8E, + 0xC8, 0xC8, 0xC8, 0xBA, 0xBA, 0xBA, 0xBB, 0xBB, 0xBB, 0xD7, 0xD7, 0xD7, 0xD4, 0xD4, 0xD4, 0xD0, + 0xD0, 0xD0, 0x72, 0x72, 0x72, 0x71, 0x71, 0x71, 0x95, 0x95, 0x95, 0x8A, 0x8A, 0x8A, 0x74, 0x74, + 0x74, 0xB2, 0xB2, 0xB2, 0xC4, 0xC4, 0xC4, 0x91, 0x91, 0x91, 0xAC, 0xAC, 0xAC, 0x9F, 0x9F, 0x9F, + 0xB8, 0xB8, 0xB8, 0xB7, 0xB7, 0xB7, 0xA2, 0xA2, 0xA2, 0xA9, 0xA9, 0xA9, 0x8C, 0x8C, 0x8C, 0x7C, + 0x7C, 0x7C, 0x88, 0x88, 0x88, 0xB1, 0xB1, 0xB1, 0x87, 0x87, 0x87, 0xAA, 0xAA, 0xAA, 0x96, 0x96, + 0x96, 0x92, 0x92, 0x92, 0x86, 0x86, 0x86, 0x98, 0x98, 0x98, 0xB4, 0xB4, 0xB4, 0x7B, 0x7B, 0x7B, + 0x7A, 0x7A, 0x7A, 0xBD, 0xBD, 0xBD, 0x75, 0x75, 0x75, 0xBC, 0xBC, 0xBC, 0xD6, 0xD6, 0xD6, 0xA0, + 0xA0, 0xA0 +}; - 0x84,0x84,0x84, 0x83,0x83,0x83, 0x82,0x82,0x82, 0x81,0x81,0x81, - 0x80,0x80,0x80, 0x7f,0x7f,0x7f, 0x7e,0x7e,0x7e, 0x7d,0x7d,0x7d, - 0x7c,0x7c,0x7c, 0x7b,0x7b,0x7b, 0x7a,0x7a,0x7a, 0x79,0x79,0x79, - 0x78,0x78,0x78, 0x76,0x76,0x76, 0x75,0x75,0x75, 0x74,0x74,0x74, +// +// CLUT (Color LookUp Table) for white Apple logo. +// +static UInt8 AppleLogoBlackClut[ 64 ] = +{ + 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x50, 0x50, 0x50, 0x9F, 0x9F, 0x9F, 0xEF, + 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x10, 0x10, 0x10, 0x70, 0x70, 0x70, 0xCF, 0xCF, + 0xCF, 0x60, 0x60, 0x60, 0xDF, 0xDF, 0xDF, 0x30, 0x30, 0x30, 0x8F, 0x8F, 0x8F, 0xBF, 0xBF, 0xBF, + 0xAF, 0xAF, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; - 0x73,0x73,0x73, 0x72,0x72,0x72, 0x71,0x71,0x71, 0x70,0x70,0x70, - 0x6f,0x6f,0x6f, 0x6e,0x6e,0x6e, 0x6d,0x6d,0x6d, 0x6c,0x6c,0x6c, - 0x6b,0x6b,0x6b, 0x6a,0x6a,0x6a, 0x69,0x69,0x69, 0x68,0x68,0x68, - 0x67,0x67,0x67, 0x66,0x66,0x66, 0x64,0x64,0x64, 0x63,0x63,0x63, +// +// CLUT (Color LookUp Table) for white HiDPI Apple logo. +// - 0x62,0x62,0x62, 0x61,0x61,0x61, 0x60,0x60,0x60, 0x5f,0x5f,0x5f, - 0x5e,0x5e,0x5e, 0x5d,0x5d,0x5d, 0x5c,0x5c,0x5c, 0x5b,0x5b,0x5b, - 0x5a,0x5a,0x5a, 0x59,0x59,0x59, 0x58,0x58,0x58, 0x57,0x57,0x57, - 0x56,0x56,0x56, 0x54,0x54,0x54, 0x53,0x53,0x53, 0x52,0x52,0x52, - - 0x51,0x51,0x51, 0x50,0x50,0x50, 0x4f,0x4f,0x4f, 0x4e,0x4e,0x4e, - 0x4d,0x4d,0x4d, 0x4c,0x4c,0x4c, 0x4b,0x4b,0x4b, 0x4a,0x4a,0x4a, - 0x49,0x49,0x49, 0x48,0x48,0x48, 0x47,0x47,0x47, 0x46,0x46,0x46, - 0x45,0x45,0x45, 0x43,0x43,0x43, 0x42,0x42,0x42, 0x41,0x41,0x41, - - 0x40,0x40,0x40, 0x3f,0x3f,0x3f, 0x3e,0x3e,0x3e, 0x3d,0x3d,0x3d, - 0x3c,0x3c,0x3c, 0x3b,0x3b,0x3b, 0x3a,0x3a,0x3a, 0x39,0x39,0x39, - 0x38,0x38,0x38, 0x37,0x37,0x37, 0x36,0x36,0x36, 0x35,0x35,0x35, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x00,0xff,0xff, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x00,0xff,0x00, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x00,0x00,0xff, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0xd0,0x00,0x00, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x00,0xbb,0x00, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, - 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0xbb,0xbb,0xbb, - 0x65,0x65,0x65, 0x88,0x88,0x88, 0x77,0x77,0x77, 0x55,0x55,0x55, - 0x44,0x44,0x44, 0x22,0x22,0x22, 0x65,0x65,0x65, 0x00,0x00,0x00 +static UInt8 AppleLogoBlack2XClut[ 64 ] = +{ + 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x40, 0x40, 0x40, 0x60, 0x60, 0x60, 0x50, 0x50, 0x50, 0x8F, + 0x8F, 0x8F, 0xBF, 0xBF, 0xBF, 0xFF, 0xFF, 0xFF, 0x9F, 0x9F, 0x9F, 0xEF, 0xEF, 0xEF, 0x10, 0x10, + 0x10, 0x80, 0x80, 0x80, 0xDF, 0xDF, 0xDF, 0x20, 0x20, 0x20, 0xCF, 0xCF, 0xCF, 0x70, 0x70, 0x70, + 0xAF, 0xAF, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; #endif /* !__BOOT2_APPLECLUT8_H */ Index: branches/zenith432/i386/boot2/gui.h =================================================================== --- branches/zenith432/i386/boot2/gui.h (revision 2876) +++ branches/zenith432/i386/boot2/gui.h (revision 2877) @@ -33,6 +33,15 @@ #define MENU_SHOW_VIDEO_INFO 5 #define MENU_SHOW_HELP 6 +#define APPLE_LOGO_WIDTH 84 +#define APPLE_LOGO_HEIGHT 103 + +#define APPLE_LOGO_X ((VIDEO(width) - APPLE_LOGO_WIDTH) / 2) +#define APPLE_LOGO_Y ((VIDEO(height) - APPLE_LOGO_HEIGHT) / 2) + +#define APPLE_LOGO_2X_X ((VIDEO(width) - (APPLE_LOGO_WIDTH * 2)) / 2) +#define APPLE_LOGO_2X_Y ((VIDEO(height) - (APPLE_LOGO_HEIGHT * 2)) / 2) + // ==================================================================== enum { @@ -161,4 +170,6 @@ void drawStr(char *ch, font_t *font, pixmap_t *blendInto, position_t p); void drawStrCenteredAt(char *ch, font_t *font, pixmap_t *blendInto, position_t p); +void chooseLogoMode(); + #endif /* !__BOOT2_GUI_H */ Index: branches/zenith432/i386/boot2/appleboot.h =================================================================== --- branches/zenith432/i386/boot2/appleboot.h (revision 2876) +++ branches/zenith432/i386/boot2/appleboot.h (revision 2877) @@ -2,7 +2,7 @@ * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * + * * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights * Reserved. This file contains Original Code and/or Modifications of * Original Code as defined in and that are subject to the Apple Public @@ -10,7 +10,7 @@ * except in compliance with the License. Please obtain a copy of the * License at http://www.apple.com/publicsource and read it before using * this file. - * + * * The Original Code and all software distributed under the License are * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, @@ -18,7 +18,7 @@ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the * License for the specific language governing rights and limitations * under the License. - * + * * @APPLE_LICENSE_HEADER_END@ */ /* @@ -36,126 +36,515 @@ #define kAppleBootFPS (0) #define kAppleBootRLEBlocks (686) -// The original data was 16K in size (128x128) and would make the booter -// cross a 64K segment boundary. boot0 cannot load more than 127 sectors -// without changes. To eliminate that complexity, the data was run length -// encoded to save space. The reduced size is 1372 bytes. +// +// LZVN packed data for grey Apple logo. +// +static UInt8 AppleLogoPacked[ 1392 ] = +{ + 0x68, 0x01, 0x00, 0xF0, 0xFF, 0xF0, 0xB7, 0xE4, 0x01, 0x02, 0x03, 0x00, 0xFA, 0xF0, 0x33, 0xE7, + 0x04, 0x05, 0x06, 0x07, 0x07, 0x08, 0x00, 0xFA, 0xF0, 0x30, 0xEA, 0x09, 0x0A, 0x06, 0x0B, 0x0C, + 0x0D, 0x0D, 0x06, 0x0E, 0x00, 0xFA, 0xF0, 0x2F, 0xE9, 0x0F, 0x06, 0x10, 0x0D, 0x11, 0x12, 0x13, + 0x13, 0x11, 0x38, 0x54, 0xF0, 0x2F, 0xEC, 0x01, 0x14, 0x0B, 0x0D, 0x15, 0x13, 0x16, 0x17, 0x17, + 0x18, 0x15, 0x19, 0xFA, 0xF0, 0x2D, 0xE8, 0x1A, 0x0D, 0x06, 0x11, 0x13, 0x18, 0x17, 0x17, 0xF4, + 0x39, 0xA4, 0xF0, 0x2D, 0xE5, 0x1B, 0x0B, 0x0D, 0x12, 0x16, 0x08, 0x52, 0x00, 0x54, 0x9E, 0x11, + 0x09, 0xF0, 0x2F, 0xC8, 0xA5, 0x1B, 0x0B, 0x1C, 0xF2, 0x00, 0x01, 0xC8, 0xA5, 0x16, 0x1D, 0x1E, + 0xF0, 0x2F, 0xE6, 0x00, 0x1F, 0x0B, 0x11, 0x13, 0x17, 0x28, 0x01, 0x69, 0xA3, 0x13, 0xF0, 0x2D, + 0xC8, 0x53, 0x09, 0x18, 0x1C, 0xF6, 0x98, 0xFB, 0x18, 0x15, 0xF0, 0x2F, 0x98, 0xF9, 0x20, 0x06, + 0xF3, 0x00, 0xFB, 0x9E, 0x21, 0x22, 0xF0, 0x2D, 0xC8, 0x53, 0x01, 0x10, 0x15, 0xF6, 0xCE, 0x17, + 0x13, 0x23, 0xF0, 0x2F, 0x98, 0xFA, 0x00, 0x24, 0xF5, 0xE4, 0x17, 0x16, 0x25, 0x26, 0xFA, 0xF0, + 0x29, 0xCE, 0x01, 0x0C, 0x12, 0xF6, 0xCE, 0x18, 0x12, 0x27, 0xF0, 0x2F, 0x98, 0xA7, 0x00, 0x28, + 0xF6, 0x99, 0x4E, 0x13, 0x04, 0xF0, 0x2E, 0x9E, 0x00, 0x29, 0xF5, 0xCE, 0x16, 0x25, 0x2A, 0xF0, + 0x30, 0x9A, 0x48, 0x01, 0x06, 0xF5, 0x9E, 0x2B, 0x2C, 0xF0, 0x2E, 0xE4, 0x00, 0x2D, 0x1C, 0x16, + 0xF8, 0xE4, 0x16, 0x2B, 0x2E, 0x2F, 0xFA, 0xF0, 0x29, 0x04, 0xE2, 0x68, 0xFB, 0x11, 0x98, 0x53, + 0x16, 0x30, 0xF0, 0x31, 0x99, 0x4F, 0x00, 0x0E, 0xF1, 0xE4, 0x18, 0x14, 0x31, 0x32, 0x38, 0x53, + 0xF0, 0x2D, 0x90, 0x54, 0x00, 0x19, 0xE6, 0x18, 0x33, 0x1A, 0x34, 0x35, 0x00, 0x38, 0x01, 0xF0, + 0x2E, 0xE9, 0x0E, 0x11, 0x13, 0x16, 0x33, 0x36, 0x37, 0x34, 0x2A, 0x38, 0xA5, 0xF0, 0x2E, 0x00, + 0x01, 0xE7, 0x38, 0x39, 0x39, 0x3A, 0x3B, 0x34, 0x26, 0x38, 0x52, 0xF0, 0x20, 0xE4, 0x02, 0x36, + 0x05, 0x3C, 0x00, 0x01, 0xE4, 0x3D, 0x36, 0x02, 0x00, 0xF8, 0xC8, 0x50, 0x1E, 0x3E, 0x3E, 0xF4, + 0xE5, 0x09, 0x3F, 0x05, 0x3C, 0x07, 0x10, 0x01, 0xE5, 0x3C, 0x05, 0x30, 0x1F, 0x00, 0xFA, 0xF0, + 0x0A, 0xE7, 0x3F, 0x21, 0x07, 0x40, 0x0B, 0x0C, 0x06, 0xF3, 0xE7, 0x0C, 0x0B, 0x40, 0x06, 0x05, + 0x04, 0x00, 0xFA, 0xF3, 0xE4, 0x09, 0x3F, 0x29, 0x41, 0x00, 0x1E, 0x80, 0x01, 0x0D, 0x1C, 0x48, + 0x22, 0x0D, 0xE4, 0x13, 0x42, 0x01, 0x00, 0x38, 0x01, 0xF0, 0x04, 0x0F, 0x68, 0x07, 0xE6, 0x06, + 0x1C, 0x11, 0x15, 0x12, 0x13, 0x00, 0x01, 0xE7, 0x12, 0x15, 0x11, 0x0D, 0x0C, 0x0B, 0x06, 0x38, + 0x35, 0xF1, 0xC8, 0x1F, 0x02, 0x43, 0x41, 0x00, 0x1E, 0x40, 0x01, 0x16, 0x10, 0x22, 0xE4, 0x06, + 0x10, 0x41, 0x43, 0x38, 0x56, 0xF0, 0x03, 0x5F, 0x68, 0x07, 0x1A, 0x62, 0x8C, 0x16, 0xEA, 0x18, + 0x16, 0x13, 0x12, 0x11, 0x0D, 0x10, 0x40, 0x14, 0x3F, 0x08, 0x36, 0xE7, 0x1F, 0x42, 0x13, 0x0B, + 0x0C, 0x1C, 0x15, 0x30, 0x1E, 0x08, 0x01, 0x00, 0x22, 0xE6, 0x15, 0x1C, 0x0C, 0x41, 0x0A, 0x00, + 0x38, 0x01, 0xFE, 0x8F, 0x68, 0x07, 0x09, 0x21, 0x38, 0x32, 0xF1, 0x08, 0x01, 0x00, 0x35, 0x80, + 0xE3, 0x11, 0x06, 0xC8, 0x70, 0x44, 0x06, 0x40, 0xF1, 0x38, 0x1F, 0xF5, 0x00, 0x57, 0xE5, 0x13, + 0x12, 0x1C, 0x10, 0x14, 0x39, 0x58, 0xFD, 0xE4, 0x1F, 0x13, 0x0C, 0x11, 0x38, 0x33, 0xF8, 0x18, + 0x8C, 0xC8, 0xF3, 0x11, 0x1C, 0x0D, 0x33, 0xA0, 0x38, 0x01, 0xF3, 0xE5, 0x18, 0x13, 0x11, 0x06, + 0x0D, 0x38, 0x55, 0xFB, 0xE4, 0x1F, 0x1C, 0x06, 0x15, 0x38, 0x34, 0xFC, 0x10, 0x57, 0x68, 0xF4, + 0x13, 0xF5, 0x38, 0x01, 0xF5, 0xE4, 0x16, 0x12, 0x0D, 0x1C, 0x38, 0x55, 0xF9, 0xE4, 0x1F, 0x1C, + 0x0D, 0x12, 0x38, 0x35, 0xF0, 0x00, 0x38, 0x01, 0xF0, 0x06, 0x98, 0x55, 0x18, 0x13, 0xFD, 0xE4, + 0x01, 0x1C, 0x0D, 0x13, 0x38, 0x53, 0xF0, 0x20, 0x10, 0x55, 0x9E, 0x33, 0x09, 0xF9, 0x68, 0x53, + 0x33, 0xF0, 0x26, 0x00, 0xFF, 0xC8, 0x53, 0x11, 0x29, 0x31, 0xFA, 0xCE, 0x08, 0x06, 0x12, 0xF0, + 0x2A, 0xE5, 0x17, 0x13, 0x45, 0x46, 0x1E, 0xFA, 0xF3, 0xE4, 0x01, 0x10, 0x11, 0x16, 0xFA, 0xF0, + 0x25, 0x6D, 0x03, 0x47, 0xF8, 0xAA, 0x05, 0x1B, 0x48, 0x38, 0x01, 0xF0, 0x1A, 0xE4, 0x13, 0x37, + 0x49, 0x00, 0xFA, 0xF4, 0x68, 0xFA, 0x47, 0xF0, 0x28, 0xB3, 0xBE, 0x1F, 0x13, 0x37, 0x68, 0xFA, + 0x4A, 0xF0, 0x27, 0x98, 0x53, 0x16, 0x30, 0xFB, 0xCE, 0x01, 0x06, 0x12, 0xF0, 0x29, 0xCE, 0x18, + 0x2B, 0x32, 0xFC, 0x99, 0x4E, 0x00, 0x19, 0xF0, 0x29, 0xC8, 0x01, 0x13, 0x38, 0x00, 0xFD, 0x99, + 0x4E, 0x4B, 0x15, 0xF0, 0x27, 0xB3, 0x57, 0x22, 0x16, 0x45, 0x98, 0xA7, 0x09, 0x06, 0xF0, 0x27, + 0xCE, 0x18, 0x12, 0x4C, 0xFE, 0x99, 0xA2, 0x4D, 0x1C, 0xF0, 0x27, 0xB4, 0x14, 0x2E, 0x16, 0x45, + 0x3F, 0x0F, 0x08, 0x38, 0x01, 0xF0, 0x1B, 0xCE, 0x12, 0x37, 0x00, 0xFE, 0x69, 0x4F, 0x2B, 0xF0, + 0x25, 0xB4, 0xC5, 0x1F, 0x18, 0x11, 0x69, 0x4F, 0x48, 0xF0, 0x25, 0xC8, 0x01, 0x13, 0x25, 0x00, + 0xFF, 0x39, 0xA3, 0xF0, 0x24, 0xC8, 0x01, 0x13, 0x4E, 0x00, 0xFF, 0x3A, 0x9E, 0xF0, 0x24, 0xAC, + 0x8D, 0x38, 0x12, 0x69, 0xF7, 0x01, 0xF0, 0x25, 0xA4, 0x8F, 0x38, 0x6B, 0xED, 0x23, 0xF0, 0x25, + 0xE4, 0x18, 0x11, 0x4F, 0x00, 0x38, 0x01, 0xF8, 0x68, 0x54, 0x4F, 0xF0, 0x7B, 0x6E, 0x3F, 0xF0, + 0x3A, 0x9E, 0x15, 0x0E, 0xFD, 0x6E, 0x3E, 0xF0, 0x26, 0x6A, 0xA0, 0x12, 0xFD, 0x38, 0x54, 0xF0, + 0x23, 0xCE, 0x17, 0x13, 0x33, 0xF0, 0x00, 0x6E, 0x1C, 0xF0, 0x26, 0x9E, 0x0D, 0x01, 0xFD, 0x6A, + 0xF4, 0x43, 0xF0, 0x25, 0x9A, 0xF5, 0x16, 0x11, 0xFE, 0x68, 0x54, 0x4A, 0xF0, 0x25, 0xCE, 0x18, + 0x15, 0x29, 0xFF, 0x6E, 0x4E, 0xF0, 0x25, 0x00, 0xFD, 0x3B, 0xF2, 0xF9, 0x6F, 0x89, 0x07, 0x50, + 0xF0, 0x26, 0xE4, 0x18, 0x11, 0x51, 0x00, 0x38, 0x01, 0xF7, 0x6D, 0x94, 0x31, 0xF0, 0x26, 0x00, + 0xA9, 0x6E, 0x08, 0xF9, 0x99, 0xF9, 0x22, 0x17, 0xF0, 0x27, 0x01, 0x52, 0x9E, 0x10, 0x1F, 0xFB, + 0x39, 0xF9, 0xF0, 0x24, 0x00, 0xA9, 0xCE, 0x11, 0x17, 0x09, 0xFC, 0x68, 0x54, 0x4D, 0xF0, 0x27, + 0xA4, 0xF1, 0x29, 0x99, 0x51, 0x52, 0x15, 0xF0, 0x28, 0x03, 0xA1, 0x68, 0x55, 0x06, 0xF8, 0x99, + 0x51, 0x22, 0x4B, 0xF0, 0x28, 0x10, 0x55, 0x69, 0x54, 0x16, 0xF7, 0x68, 0xFD, 0x53, 0xF0, 0x27, + 0x08, 0x55, 0xCE, 0x0D, 0x0B, 0x0A, 0xF9, 0x6F, 0x84, 0x09, 0x1F, 0xF0, 0x26, 0x08, 0x01, 0x07, + 0xD0, 0x0C, 0x9D, 0x4B, 0x10, 0x13, 0xF6, 0x98, 0xFD, 0x35, 0x51, 0xF0, 0x2A, 0x08, 0x55, 0xE4, + 0x15, 0x06, 0x0B, 0x3D, 0xFA, 0xF1, 0x68, 0xFD, 0x19, 0xF0, 0x29, 0x19, 0x00, 0xA2, 0xC5, 0x3B, + 0x69, 0xFA, 0x2F, 0xF0, 0x28, 0x10, 0x01, 0xB2, 0x29, 0x4B, 0x16, 0x11, 0x98, 0xFD, 0x1E, 0x25, + 0xF0, 0x2C, 0x00, 0x54, 0xAA, 0x3A, 0x26, 0x20, 0x68, 0xFD, 0x54, 0xF0, 0x2C, 0xC8, 0x01, 0x12, + 0x55, 0x00, 0xF8, 0x98, 0xA9, 0x26, 0x3C, 0xF0, 0x2C, 0xB3, 0x38, 0x26, 0x16, 0x3C, 0x68, 0xA9, + 0x56, 0xF0, 0x2A, 0xC8, 0x01, 0x13, 0x56, 0x00, 0xFA, 0x38, 0xA9, 0xF0, 0x28, 0xB3, 0xF6, 0x31, + 0x16, 0x3C, 0x38, 0xA9, 0xF0, 0x27, 0x38, 0xA7, 0xF7, 0x38, 0xA9, 0xF0, 0x28, 0x38, 0xA7, 0xF9, + 0x07, 0x2B, 0x0C, 0x38, 0xA9, 0xF0, 0x24, 0xAC, 0x81, 0x27, 0x13, 0x9E, 0x3E, 0x28, 0xF0, 0x26, + 0xB4, 0xD2, 0x4D, 0x16, 0x25, 0x9B, 0x4D, 0x49, 0x29, 0xF0, 0x24, 0xB4, 0xE7, 0x56, 0x18, 0x14, + 0x98, 0xFE, 0x2F, 0x01, 0xF0, 0x24, 0xB4, 0x44, 0x33, 0x13, 0x02, 0x08, 0x01, 0x98, 0xFE, 0x35, + 0x45, 0xF0, 0x22, 0xB3, 0xAD, 0x3D, 0x16, 0x25, 0x30, 0x01, 0x98, 0xFE, 0x57, 0x44, 0xF0, 0x20, + 0xB5, 0x37, 0x58, 0x18, 0x14, 0x9F, 0x15, 0x11, 0x2F, 0x2F, 0xF0, 0x20, 0xB6, 0xC0, 0x51, 0x13, + 0x01, 0x99, 0x53, 0x22, 0x37, 0xF0, 0x1E, 0xB6, 0xA2, 0x55, 0x13, 0x3F, 0x99, 0x53, 0x26, 0x30, + 0xF0, 0x1C, 0xE4, 0x16, 0x25, 0x2E, 0x00, 0x38, 0x01, 0xF0, 0x03, 0x98, 0x55, 0x32, 0x58, 0xF0, + 0x1A, 0x3F, 0x5A, 0x17, 0xF0, 0x09, 0x98, 0x55, 0x2C, 0x2B, 0xFF, 0x50, 0x01, 0x18, 0x6E, 0x17, + 0xFA, 0xB7, 0x1F, 0x5C, 0x18, 0x14, 0x98, 0xAA, 0x2F, 0x2E, 0xFB, 0xEB, 0x18, 0x16, 0x59, 0x1B, + 0x5A, 0x5B, 0x5B, 0x5B, 0x55, 0x1A, 0x59, 0xA3, 0xD2, 0x4E, 0x9F, 0x10, 0x16, 0x18, 0x5C, 0xF0, + 0x0E, 0xC9, 0xA9, 0x2F, 0x5D, 0x3F, 0xF8, 0x00, 0x51, 0xED, 0x55, 0x3A, 0x5D, 0x2E, 0x49, 0x3E, + 0x3E, 0x3E, 0x26, 0x2A, 0x5D, 0x5E, 0x55, 0x38, 0x57, 0xF4, 0xCA, 0xED, 0x16, 0x5F, 0x2E, 0xF0, + 0x03, 0x38, 0x01, 0xF5, 0xC8, 0xAB, 0x2E, 0x31, 0x60, 0xF3, 0xE6, 0x18, 0x16, 0x33, 0x30, 0x49, + 0x5D, 0x38, 0x8A, 0xF2, 0xE5, 0x26, 0x5D, 0x49, 0x3F, 0x33, 0x20, 0x57, 0xE5, 0x18, 0x16, 0x60, + 0x31, 0x34, 0x38, 0xA6, 0xF0, 0x09, 0x10, 0x01, 0xED, 0x35, 0x61, 0x37, 0x36, 0x33, 0x13, 0x16, + 0x13, 0x62, 0x30, 0x31, 0x3B, 0x32, 0x38, 0x88, 0xF6, 0xED, 0x1E, 0x2E, 0x3B, 0x31, 0x3F, 0x59, + 0x33, 0x13, 0x13, 0x59, 0x30, 0x31, 0x61, 0x3A, 0x45, 0xF0, 0x03, 0x38, 0x01, 0xF5, 0xE8, 0x26, + 0x34, 0x3B, 0x5E, 0x5E, 0x5E, 0x63, 0x32, 0x38, 0x34, 0xFC, 0xC0, 0x1F, 0x35, 0x2E, 0x5D, 0x98, + 0x52, 0x5D, 0x32, 0xF0, 0x16, 0x38, 0x01, 0xF0, 0xFF, 0xF0, 0x0F, 0xE1, 0x00, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; -const unsigned char gAppleBootPictRLE[] = +// +// LZVN packed data for grey HiDPI Apple logo. +// + +static UInt8 AppleLogo2XPacked[ 3416 ] = { - 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0x50, 0x01, 0x01, 0x02, 0x01, 0x17, - 0x01, 0x34, 0x01, 0x47, 0x03, 0x50, 0x01, 0x13, 0x76, 0x01, 0x01, 0x03, - 0x01, 0x20, 0x01, 0x40, 0x06, 0x50, 0x01, 0x13, 0x75, 0x01, 0x01, 0x1a, - 0x01, 0x42, 0x07, 0x50, 0x01, 0xfa, 0x01, 0x0a, 0x73, 0x01, 0x01, 0x07, - 0x01, 0x34, 0x09, 0x50, 0x01, 0x43, 0x01, 0x02, 0x72, 0x01, 0x01, 0x0e, - 0x01, 0x43, 0x0a, 0x50, 0x01, 0x36, 0x72, 0x01, 0x01, 0x14, 0x01, 0x4a, - 0x0b, 0x50, 0x01, 0x20, 0x71, 0x01, 0x01, 0x12, 0x01, 0x4b, 0x0b, 0x50, - 0x01, 0x4d, 0x01, 0x0b, 0x70, 0x01, 0x01, 0x0b, 0x01, 0x48, 0x0c, 0x50, - 0x01, 0xf9, 0x70, 0x01, 0x01, 0x03, 0x01, 0x3e, 0x0d, 0x50, 0x01, 0x1f, - 0x70, 0x01, 0x01, 0x2f, 0x0d, 0x50, 0x01, 0x48, 0x01, 0x06, 0x6f, 0x01, - 0x01, 0x15, 0x01, 0x4f, 0x0d, 0x50, 0x01, 0x27, 0x6f, 0x01, 0x01, 0x02, - 0x01, 0x3f, 0x0d, 0x50, 0x01, 0x45, 0x01, 0xf7, 0x6f, 0x01, 0x01, 0x1d, - 0x0e, 0x50, 0x01, 0x19, 0x6f, 0x01, 0x01, 0x02, 0x01, 0x40, 0x0d, 0x50, - 0x01, 0x2f, 0x70, 0x01, 0x01, 0x15, 0x0d, 0x50, 0x01, 0x3b, 0x01, 0x03, - 0x70, 0x01, 0x01, 0x34, 0x0c, 0x50, 0x01, 0x3f, 0x01, 0x07, 0x70, 0x01, - 0x01, 0xf7, 0x01, 0x47, 0x0b, 0x50, 0x01, 0xf9, 0x01, 0x07, 0x71, 0x01, - 0x01, 0x14, 0x0b, 0x50, 0x01, 0x36, 0x01, 0xf7, 0x72, 0x01, 0x01, 0x24, - 0x09, 0x50, 0x01, 0x4d, 0x01, 0x28, 0x74, 0x01, 0x01, 0x33, 0x08, 0x50, - 0x01, 0x3f, 0x01, 0x14, 0x75, 0x01, 0x01, 0x3a, 0x06, 0x50, 0x01, 0x41, - 0x01, 0x1f, 0x01, 0x02, 0x76, 0x01, 0x01, 0x3a, 0x03, 0x50, 0x01, 0x48, - 0x01, 0x35, 0x01, 0x17, 0x01, 0x02, 0x78, 0x01, 0x01, 0x15, 0x01, 0x33, - 0x01, 0x27, 0x01, 0x15, 0x01, 0xf7, 0x67, 0x01, 0x01, 0x02, 0x01, 0x08, - 0x01, 0x0e, 0x01, 0x13, 0x01, 0x14, 0x01, 0x12, 0x01, 0x0d, 0x01, 0x06, - 0x01, 0x02, 0x1c, 0x01, 0x01, 0x04, 0x01, 0x0b, 0x01, 0x12, 0x01, 0x17, - 0x01, 0x19, 0x01, 0x15, 0x01, 0x11, 0x01, 0x08, 0x01, 0x02, 0x4e, 0x01, - 0x01, 0x02, 0x01, 0x11, 0x01, 0x26, 0x01, 0x39, 0x01, 0x44, 0x01, 0x4c, - 0x01, 0x4f, 0x02, 0x50, 0x01, 0x4f, 0x01, 0x4d, 0x01, 0x4a, 0x01, 0x3f, - 0x01, 0x31, 0x01, 0x19, 0x01, 0xf7, 0x15, 0x01, 0x01, 0x0b, 0x01, 0x1c, - 0x01, 0x2e, 0x01, 0xf9, 0x01, 0x46, 0x01, 0x4d, 0x04, 0x50, 0x01, 0x4f, - 0x01, 0x4b, 0x01, 0x42, 0x01, 0x34, 0x01, 0x1f, 0x01, 0x0a, 0x49, 0x01, - 0x01, 0xf7, 0x01, 0x21, 0x01, 0x3f, 0x01, 0x4f, 0x0d, 0x50, 0x01, 0x47, - 0x01, 0x2d, 0x01, 0x0d, 0x10, 0x01, 0x01, 0x0d, 0x01, 0x25, 0x01, 0x3d, - 0x01, 0xfa, 0x0e, 0x50, 0x01, 0x4c, 0x01, 0x37, 0x01, 0x15, 0x45, 0x01, - 0x01, 0x04, 0x01, 0x25, 0x01, 0x45, 0x12, 0x50, 0x01, 0x4d, 0x01, 0x39, - 0x01, 0x19, 0x01, 0x02, 0x0a, 0x01, 0x01, 0x09, 0x01, 0x21, 0x01, 0xf9, - 0x01, 0x4d, 0x14, 0x50, 0x01, 0xf9, 0x01, 0x15, 0x42, 0x01, 0x01, 0x17, - 0x01, 0x42, 0x17, 0x50, 0x01, 0x42, 0x01, 0x27, 0x01, 0x0e, 0x01, 0x02, - 0x03, 0x01, 0x01, 0x02, 0x01, 0x0b, 0x01, 0x1f, 0x01, 0x38, 0x01, 0x4b, - 0x19, 0x50, 0x01, 0x33, 0x01, 0x06, 0x3e, 0x01, 0x01, 0x03, 0x01, 0x2e, - 0x1b, 0x50, 0x01, 0x4d, 0x01, 0x43, 0x01, 0x3a, 0x01, 0x37, 0x01, 0x3a, - 0x01, 0x42, 0x01, 0x4d, 0x1d, 0x50, 0x01, 0x42, 0x01, 0x0e, 0x3c, 0x01, - 0x01, 0x0a, 0x01, 0xf9, 0x41, 0x50, 0x01, 0x48, 0x01, 0x13, 0x3a, 0x01, - 0x01, 0x0d, 0x01, 0x45, 0x43, 0x50, 0x01, 0x4b, 0x01, 0x12, 0x38, 0x01, - 0x01, 0x10, 0x01, 0x48, 0x45, 0x50, 0x01, 0x48, 0x01, 0x0b, 0x36, 0x01, - 0x01, 0x0c, 0x01, 0x48, 0x47, 0x50, 0x01, 0x3d, 0x01, 0x03, 0x34, 0x01, - 0x01, 0x07, 0x01, 0x42, 0x49, 0x50, 0x01, 0x21, 0x34, 0x01, 0x01, 0x37, - 0x49, 0x50, 0x01, 0x42, 0x01, 0x12, 0x33, 0x01, 0x01, 0x22, 0x49, 0x50, - 0x01, 0x34, 0x01, 0xf7, 0x33, 0x01, 0x01, 0x0b, 0x01, 0x4b, 0x48, 0x50, - 0x01, 0x2c, 0x35, 0x01, 0x01, 0x36, 0x48, 0x50, 0x01, 0x29, 0x35, 0x01, - 0x01, 0x11, 0x01, 0x4f, 0x47, 0x50, 0x01, 0x2e, 0x36, 0x01, 0x01, 0x36, - 0x47, 0x50, 0x01, 0x3a, 0x01, 0x02, 0x35, 0x01, 0x01, 0x0b, 0x01, 0xfa, - 0x46, 0x50, 0x01, 0x46, 0x01, 0x08, 0x36, 0x01, 0x01, 0x26, 0x46, 0x50, - 0x01, 0x4e, 0x01, 0x15, 0x36, 0x01, 0x01, 0x02, 0x01, 0x40, 0x46, 0x50, - 0x01, 0x31, 0x37, 0x01, 0x01, 0x0e, 0x01, 0x4e, 0x45, 0x50, 0x01, 0x49, - 0x01, 0x08, 0x37, 0x01, 0x01, 0x25, 0x46, 0x50, 0x01, 0x29, 0x38, 0x01, - 0x01, 0x39, 0x45, 0x50, 0x01, 0x4c, 0x01, 0x0a, 0x37, 0x01, 0x01, 0xf7, - 0x01, 0x47, 0x45, 0x50, 0x01, 0x3a, 0x38, 0x01, 0x01, 0x10, 0x01, 0x4f, - 0x45, 0x50, 0x01, 0x22, 0x38, 0x01, 0x01, 0x1d, 0x46, 0x50, 0x01, 0x12, - 0x38, 0x01, 0x01, 0x29, 0x45, 0x50, 0x01, 0x4b, 0x01, 0x07, 0x38, 0x01, - 0x01, 0x36, 0x45, 0x50, 0x01, 0x42, 0x01, 0x02, 0x38, 0x01, 0x01, 0xf9, - 0x45, 0x50, 0x01, 0x3e, 0x39, 0x01, 0x01, 0x42, 0x45, 0x50, 0x01, 0x3c, - 0x39, 0x01, 0x01, 0x46, 0x45, 0x50, 0x01, 0x3b, 0x39, 0x01, 0x01, 0x48, - 0x45, 0x50, 0x01, 0xf9, 0x39, 0x01, 0x01, 0x48, 0x45, 0x50, 0x01, 0x3f, - 0x01, 0x02, 0x38, 0x01, 0x01, 0x46, 0x45, 0x50, 0x01, 0x48, 0x01, 0xf7, - 0x38, 0x01, 0x01, 0x43, 0x45, 0x50, 0x01, 0x4e, 0x01, 0x0e, 0x38, 0x01, - 0x01, 0x3f, 0x46, 0x50, 0x01, 0x1c, 0x38, 0x01, 0x01, 0x3a, 0x46, 0x50, - 0x01, 0x33, 0x38, 0x01, 0x01, 0x34, 0x46, 0x50, 0x01, 0x46, 0x01, 0x04, - 0x37, 0x01, 0x01, 0x2c, 0x47, 0x50, 0x01, 0x19, 0x37, 0x01, 0x01, 0x1f, - 0x47, 0x50, 0x01, 0x3a, 0x37, 0x01, 0x01, 0x15, 0x47, 0x50, 0x01, 0x4e, - 0x01, 0x11, 0x36, 0x01, 0x01, 0x0a, 0x01, 0xfa, 0x47, 0x50, 0x01, 0x37, - 0x36, 0x01, 0x01, 0x02, 0x01, 0x42, 0x47, 0x50, 0x01, 0x4f, 0x01, 0x15, - 0x36, 0x01, 0x01, 0x37, 0x48, 0x50, 0x01, 0x42, 0x01, 0x04, 0x35, 0x01, - 0x01, 0x25, 0x49, 0x50, 0x01, 0x2c, 0x35, 0x01, 0x01, 0x13, 0x49, 0x50, - 0x01, 0x4e, 0x01, 0x15, 0x34, 0x01, 0x01, 0xf7, 0x01, 0x47, 0x49, 0x50, - 0x01, 0x48, 0x01, 0x0b, 0x34, 0x01, 0x01, 0x37, 0x4a, 0x50, 0x01, 0x44, - 0x01, 0x0a, 0x33, 0x01, 0x01, 0x1f, 0x4b, 0x50, 0x01, 0x44, 0x01, 0x0d, - 0x32, 0x01, 0x01, 0x0a, 0x01, 0xfa, 0x4b, 0x50, 0x01, 0x48, 0x01, 0x17, - 0x32, 0x01, 0x01, 0x3a, 0x4c, 0x50, 0x01, 0x4f, 0x01, 0x2c, 0x01, 0x04, - 0x30, 0x01, 0x01, 0x1f, 0x4e, 0x50, 0x01, 0x41, 0x01, 0x19, 0x2f, 0x01, - 0x01, 0x07, 0x01, 0x4a, 0x4e, 0x50, 0x01, 0x44, 0x30, 0x01, 0x01, 0x33, - 0x4e, 0x50, 0x01, 0x36, 0x30, 0x01, 0x01, 0x14, 0x4e, 0x50, 0x01, 0x1f, - 0x30, 0x01, 0x01, 0x02, 0x01, 0x3f, 0x4c, 0x50, 0x01, 0x4d, 0x01, 0x0b, - 0x31, 0x01, 0x01, 0x1e, 0x4c, 0x50, 0x01, 0x3c, 0x32, 0x01, 0x01, 0x04, - 0x01, 0x44, 0x4b, 0x50, 0x01, 0x20, 0x33, 0x01, 0x01, 0x20, 0x4a, 0x50, - 0x01, 0x4a, 0x01, 0x07, 0x33, 0x01, 0x01, 0x04, 0x01, 0x43, 0x49, 0x50, - 0x01, 0x30, 0x35, 0x01, 0x01, 0x1c, 0x48, 0x50, 0x01, 0x4d, 0x01, 0x0e, - 0x35, 0x01, 0x01, 0x02, 0x01, 0x3e, 0x47, 0x50, 0x01, 0x36, 0x37, 0x01, - 0x01, 0x14, 0x01, 0x4f, 0x45, 0x50, 0x01, 0x4d, 0x01, 0x0e, 0x38, 0x01, - 0x01, 0x32, 0x45, 0x50, 0x01, 0x33, 0x39, 0x01, 0x01, 0x07, 0x01, 0x47, - 0x43, 0x50, 0x01, 0x4b, 0x01, 0x0b, 0x3a, 0x01, 0x01, 0x1c, 0x43, 0x50, - 0x01, 0x26, 0x3c, 0x01, 0x01, 0x37, 0x41, 0x50, 0x01, 0x41, 0x01, 0x04, - 0x3c, 0x01, 0x01, 0x08, 0x01, 0x48, 0x3f, 0x50, 0x01, 0x4e, 0x01, 0x13, - 0x3e, 0x01, 0x01, 0x19, 0x3f, 0x50, 0x01, 0x2d, 0x40, 0x01, 0x01, 0x2e, - 0x3d, 0x50, 0x01, 0x3f, 0x01, 0x03, 0x40, 0x01, 0x01, 0x03, 0x01, 0xf9, - 0x3b, 0x50, 0x01, 0x4a, 0x01, 0x0d, 0x42, 0x01, 0x01, 0x09, 0x01, 0x46, - 0x39, 0x50, 0x01, 0x4e, 0x01, 0x19, 0x44, 0x01, 0x01, 0x11, 0x01, 0x4b, - 0x38, 0x50, 0x01, 0x25, 0x46, 0x01, 0x01, 0x17, 0x01, 0x4d, 0x36, 0x50, - 0x01, 0x2e, 0x48, 0x01, 0x01, 0x1b, 0x01, 0x4d, 0x34, 0x50, 0x01, 0x31, - 0x4a, 0x01, 0x01, 0x17, 0x01, 0x4a, 0x14, 0x50, 0x01, 0x4d, 0x01, 0x44, - 0x01, 0x3b, 0x01, 0x34, 0x01, 0x2e, 0x01, 0x2c, 0x01, 0x2e, 0x01, 0x35, - 0x01, 0x3e, 0x01, 0x4a, 0x14, 0x50, 0x01, 0x2e, 0x4c, 0x01, 0x01, 0x0e, - 0x01, 0x41, 0x10, 0x50, 0x01, 0x4a, 0x01, 0x37, 0x01, 0x1f, 0x01, 0x0c, - 0x01, 0x03, 0x07, 0x01, 0x01, 0x06, 0x01, 0x15, 0x01, 0x2d, 0x01, 0x41, - 0x0f, 0x50, 0x01, 0x4a, 0x01, 0x1f, 0x4e, 0x01, 0x01, 0xf7, 0x01, 0x2e, - 0x01, 0xfa, 0x0b, 0x50, 0x01, 0x4f, 0x01, 0xf9, 0x01, 0x1e, 0x01, 0x07, - 0x0e, 0x01, 0x01, 0x02, 0x01, 0x14, 0x01, 0x31, 0x01, 0x48, 0x0b, 0x50, - 0x01, 0x37, 0x01, 0x0c, 0x51, 0x01, 0x01, 0x0d, 0x01, 0x2f, 0x01, 0x45, - 0x01, 0x4f, 0x05, 0x50, 0x01, 0x4f, 0x01, 0x43, 0x01, 0x2e, 0x01, 0x11, - 0x14, 0x01, 0x01, 0x07, 0x01, 0x1f, 0x01, 0x3c, 0x01, 0x4c, 0x04, 0x50, - 0x01, 0x4f, 0x01, 0x46, 0x01, 0x33, 0x01, 0x13, 0x55, 0x01, 0x01, 0x04, - 0x01, 0x12, 0x01, 0x1f, 0x01, 0x26, 0x01, 0x28, 0x01, 0x26, 0x01, 0x1e, - 0x01, 0x10, 0x01, 0x02, 0x19, 0x01, 0x01, 0x09, 0x01, 0x16, 0x01, 0x1e, - 0x01, 0x1f, 0x01, 0x1c, 0x01, 0x11, 0x01, 0x04, 0xff, 0x01, 0xff, 0x01, - 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, - 0xff, 0x01, 0xb3, 0x01 + 0x68, 0x01, 0x00, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, + 0xFF, 0xF0, 0x2D, 0xE5, 0x01, 0x02, 0x03, 0x03, 0x00, 0xFA, 0xF0, 0x85, 0xE9, 0x04, 0x05, 0x06, + 0x07, 0x07, 0x08, 0x09, 0x0A, 0x00, 0xFA, 0xF0, 0x82, 0xEC, 0x04, 0x0B, 0x0C, 0x0D, 0x0D, 0x0E, + 0x0F, 0x0E, 0x0E, 0x0D, 0x0C, 0x00, 0xFA, 0xF0, 0x7F, 0xC0, 0xA4, 0x10, 0x11, 0x12, 0xE9, 0x13, + 0x14, 0x0C, 0x0C, 0x0C, 0x14, 0x13, 0x0D, 0x00, 0x38, 0x01, 0xF0, 0x7D, 0xE4, 0x15, 0x0B, 0x0D, + 0x0D, 0x00, 0xA5, 0xE9, 0x16, 0x16, 0x17, 0x18, 0x18, 0x18, 0x16, 0x0C, 0x13, 0xFA, 0xF0, 0x7B, + 0x01, 0x4C, 0x88, 0xA5, 0x0D, 0x0E, 0xE9, 0x18, 0x19, 0x19, 0x1A, 0x12, 0x12, 0x1A, 0x19, 0x16, + 0x38, 0xA8, 0xF0, 0x7C, 0x88, 0xA6, 0x1B, 0x16, 0x48, 0xA5, 0x17, 0xE8, 0x1C, 0x1C, 0x1D, 0x1C, + 0x1C, 0x1A, 0x18, 0x1E, 0xFA, 0xF0, 0x78, 0xE5, 0x00, 0x15, 0x1F, 0x0D, 0x0F, 0x08, 0xA6, 0x10, + 0xA5, 0x40, 0x01, 0x20, 0xE5, 0x1C, 0x12, 0x19, 0x21, 0x00, 0xFA, 0xF0, 0x77, 0xE4, 0x04, 0x16, + 0x0F, 0x13, 0x18, 0xA6, 0x00, 0xA5, 0x48, 0x01, 0x22, 0xE5, 0x1D, 0x12, 0x19, 0x23, 0x00, 0xFA, + 0xF0, 0x76, 0x81, 0xF3, 0x24, 0x0D, 0x38, 0xA6, 0xF2, 0x10, 0xA8, 0x6E, 0x25, 0xF0, 0x77, 0xE4, + 0x10, 0x1E, 0x0E, 0x13, 0x03, 0x3E, 0x08, 0xA6, 0x68, 0x01, 0x22, 0xE6, 0x20, 0x1D, 0x12, 0x18, + 0x26, 0x00, 0xFA, 0xF0, 0x73, 0xC9, 0x4D, 0x10, 0x1E, 0x0F, 0xC8, 0xA7, 0x1C, 0x1C, 0x20, 0xF6, + 0x83, 0x48, 0x22, 0x20, 0x68, 0xA7, 0x27, 0xF0, 0x75, 0xE5, 0x01, 0x16, 0x0F, 0x14, 0x17, 0x39, + 0x4D, 0xF4, 0x18, 0xA8, 0x9E, 0x17, 0x28, 0xF0, 0x76, 0xE4, 0x10, 0x1C, 0x13, 0x0C, 0x08, 0xA7, + 0x6E, 0x20, 0xF5, 0x00, 0xA8, 0xC8, 0xA7, 0x19, 0x29, 0x2A, 0xF0, 0x78, 0xE5, 0x1E, 0x13, 0x0C, + 0x18, 0x19, 0x39, 0x4D, 0xF5, 0x0B, 0x47, 0xE4, 0x1C, 0x19, 0x04, 0x2B, 0xFA, 0xF0, 0x71, 0x40, + 0xA7, 0x2C, 0x6E, 0x1A, 0xFA, 0x0B, 0x47, 0x6E, 0x2D, 0xF0, 0x73, 0x98, 0xA7, 0x2E, 0x0F, 0xFF, + 0x0A, 0x9F, 0x9E, 0x0A, 0x2F, 0xF0, 0x74, 0x4B, 0x43, 0x30, 0x38, 0xA7, 0xF9, 0x09, 0xF7, 0x9E, + 0x31, 0x32, 0xF0, 0x73, 0xE4, 0x10, 0x17, 0x14, 0x16, 0x38, 0xA7, 0xFB, 0x09, 0xF7, 0x3A, 0x9E, + 0xF0, 0x71, 0xCB, 0xEA, 0x33, 0x13, 0x16, 0x68, 0x01, 0x22, 0xF9, 0x01, 0xF7, 0x6E, 0x2E, 0xF0, + 0x72, 0xE5, 0x30, 0x0F, 0x16, 0x18, 0x1A, 0x38, 0xA7, 0xFA, 0x09, 0xF7, 0x9E, 0x34, 0x35, 0xF0, + 0x73, 0xC3, 0x44, 0x1E, 0x14, 0x17, 0x68, 0x01, 0x22, 0xFA, 0x01, 0x4F, 0x9E, 0x24, 0x36, 0xF0, + 0x73, 0x9A, 0x9D, 0x37, 0x13, 0xF0, 0x00, 0x11, 0x4F, 0x6D, 0xE5, 0x38, 0xF0, 0x72, 0x99, 0xF6, + 0x1D, 0x0C, 0xF0, 0x01, 0x01, 0x4F, 0x9E, 0x39, 0x3A, 0xF0, 0x79, 0x6E, 0x22, 0xFE, 0x6E, 0x2A, + 0xF0, 0x73, 0xCE, 0x16, 0x18, 0x12, 0xF0, 0x04, 0x6A, 0x9E, 0x3B, 0xF0, 0x72, 0x69, 0x4F, 0x3C, + 0xF0, 0x00, 0x05, 0x3C, 0xCE, 0x3D, 0x3E, 0x32, 0xF0, 0x76, 0x69, 0x4F, 0x0C, 0xFF, 0x01, 0xF6, + 0x99, 0x4F, 0x2D, 0x3F, 0xF0, 0x73, 0x6E, 0x10, 0xF0, 0x01, 0xE5, 0x1C, 0x1A, 0x02, 0x40, 0x00, + 0xFA, 0xF0, 0x6F, 0x9B, 0xED, 0x37, 0x14, 0xF0, 0x00, 0x07, 0x68, 0x0E, 0xCE, 0x41, 0x3E, 0x2A, + 0xF0, 0x76, 0x69, 0x4F, 0x23, 0xFE, 0x02, 0x9D, 0x9F, 0x29, 0x09, 0x42, 0x43, 0xF0, 0x75, 0xE4, + 0x00, 0x19, 0x17, 0x19, 0x39, 0x4F, 0xF9, 0xE5, 0x20, 0x1D, 0x1C, 0x42, 0x40, 0x3B, 0xEC, 0xF0, + 0x70, 0xC9, 0xF7, 0x00, 0x00, 0x44, 0xF0, 0x01, 0x08, 0xA7, 0x9F, 0xC7, 0x0B, 0x45, 0x3A, 0xF0, + 0x76, 0x47, 0x29, 0x09, 0x46, 0x39, 0xF7, 0xF7, 0x10, 0xA7, 0x6E, 0x40, 0xF0, 0x74, 0xC9, 0xF7, + 0x00, 0x47, 0x16, 0xFE, 0x38, 0xA7, 0xF0, 0x79, 0xC9, 0xF7, 0x00, 0x48, 0x17, 0xFD, 0x03, 0xEA, + 0x68, 0xA7, 0x49, 0xF0, 0x78, 0x9A, 0x9F, 0x00, 0x1F, 0xFA, 0x01, 0x4D, 0xE4, 0x1E, 0x30, 0x4A, + 0x3A, 0x38, 0xA7, 0xF0, 0x75, 0xCA, 0x9F, 0x00, 0x0C, 0x18, 0xF9, 0x49, 0xF4, 0x20, 0xC8, 0xA7, + 0x35, 0x4B, 0x36, 0xF0, 0x7C, 0x6B, 0x47, 0x00, 0xF5, 0x51, 0x4D, 0x20, 0xCE, 0x4C, 0x3E, 0x2F, + 0xF0, 0x7B, 0x10, 0xA8, 0x35, 0xE6, 0x08, 0xA6, 0xE6, 0x12, 0x03, 0x3E, 0x4D, 0x3A, 0x2A, 0xFA, + 0xF0, 0x77, 0x19, 0x50, 0x60, 0xA5, 0x20, 0xE6, 0x1C, 0x1E, 0x03, 0x36, 0x4A, 0x4E, 0x39, 0x4D, + 0xF0, 0x79, 0x12, 0xA0, 0x07, 0x1A, 0x0D, 0x00, 0x01, 0xE9, 0x1C, 0x1C, 0x1C, 0x4F, 0x44, 0x3E, + 0x4A, 0x3E, 0x50, 0x3A, 0x9A, 0xF0, 0x77, 0x18, 0x01, 0x57, 0x49, 0x14, 0x2C, 0xE9, 0x1C, 0x23, + 0x49, 0x44, 0x3E, 0x4C, 0x4D, 0x4E, 0x50, 0x3F, 0x5C, 0x0E, 0xF0, 0x70, 0x38, 0x01, 0xF5, 0x86, + 0x51, 0x52, 0xE8, 0x36, 0x53, 0x4C, 0x54, 0x4D, 0x3E, 0x43, 0x28, 0x39, 0x4C, 0xF0, 0x7D, 0x08, + 0x01, 0xE9, 0x36, 0x55, 0x4B, 0x4B, 0x4B, 0x55, 0x3E, 0x40, 0x36, 0x38, 0xA5, 0xF0, 0x63, 0xE4, + 0x01, 0x30, 0x04, 0x4F, 0x08, 0x01, 0xE4, 0x30, 0x02, 0x10, 0x00, 0xFA, 0xFD, 0x46, 0x2A, 0x39, + 0xEE, 0xFB, 0xE6, 0x01, 0x03, 0x11, 0x06, 0x06, 0x07, 0x18, 0x01, 0xE7, 0x1F, 0x06, 0x06, 0x11, + 0x49, 0x30, 0x00, 0xFA, 0xF0, 0x3A, 0xE6, 0x30, 0x4F, 0x48, 0x12, 0x07, 0x0D, 0xF9, 0xE6, 0x07, + 0x12, 0x48, 0x49, 0x01, 0x00, 0xFA, 0xF0, 0x0E, 0xE4, 0x15, 0x49, 0x48, 0x0C, 0x00, 0x35, 0xC8, + 0x01, 0x0E, 0x0E, 0x0F, 0xF3, 0x88, 0x44, 0x0E, 0x0E, 0xE4, 0x56, 0x0B, 0x03, 0x10, 0xFA, 0xF0, + 0x0F, 0x38, 0x01, 0xF0, 0x09, 0x00, 0x67, 0x00, 0xA3, 0x00, 0x65, 0x68, 0x01, 0x13, 0xF1, 0x00, + 0x6B, 0xE6, 0x0D, 0x0D, 0x0C, 0x0B, 0x04, 0x00, 0x38, 0x01, 0xF0, 0x08, 0xC8, 0x3D, 0x01, 0x05, + 0x56, 0xE6, 0x13, 0x13, 0x14, 0x14, 0x0C, 0x16, 0x20, 0x01, 0xC8, 0x44, 0x0C, 0x14, 0x14, 0xF2, + 0xE5, 0x07, 0x57, 0x49, 0x15, 0x00, 0x38, 0x01, 0xF0, 0x2C, 0x98, 0x67, 0x03, 0x06, 0xF1, 0x08, + 0x61, 0x58, 0x01, 0x17, 0x00, 0x0A, 0x08, 0x69, 0x40, 0xAB, 0x0E, 0x39, 0xBF, 0xF0, 0x04, 0xCF, + 0xDB, 0x1C, 0x15, 0x58, 0x12, 0x27, 0xDC, 0x1C, 0x68, 0x01, 0x19, 0xF1, 0xC8, 0xAE, 0x18, 0x18, + 0x17, 0x80, 0xEF, 0x13, 0x13, 0x68, 0xEE, 0x48, 0xF0, 0x0C, 0x38, 0x01, 0xF0, 0x05, 0xC7, 0x9D, + 0x1C, 0x10, 0x11, 0x0C, 0x88, 0x67, 0x13, 0x0C, 0x08, 0x60, 0x58, 0x01, 0x1A, 0x08, 0x6A, 0x48, + 0xAC, 0x17, 0x00, 0xAB, 0x99, 0x12, 0x12, 0x11, 0xF0, 0x03, 0xB1, 0x02, 0x76, 0x03, 0x3D, 0x08, + 0x3B, 0x84, 0xB3, 0x12, 0x12, 0x08, 0x01, 0xC8, 0x44, 0x12, 0x12, 0x12, 0xF4, 0x48, 0xAB, 0x0C, + 0xCE, 0x12, 0x1B, 0x00, 0xF0, 0x29, 0xC0, 0x68, 0x10, 0x11, 0x16, 0x58, 0x67, 0x0C, 0x30, 0x66, + 0x10, 0x01, 0x00, 0x6A, 0x00, 0x68, 0x10, 0xAB, 0xC9, 0x12, 0x0D, 0x0D, 0x3D, 0xF0, 0x00, 0xB8, + 0x03, 0x76, 0x01, 0x05, 0x0C, 0x27, 0xDB, 0x1C, 0x57, 0x01, 0x06, 0x1C, 0x28, 0x01, 0x10, 0x44, + 0x88, 0xAB, 0x1A, 0x1A, 0x08, 0x43, 0x38, 0xAA, 0xF0, 0x23, 0xB1, 0xA0, 0x77, 0x58, 0x16, 0x10, + 0x67, 0x97, 0xA0, 0x1C, 0x1D, 0x1D, 0x18, 0x01, 0x10, 0x6A, 0x38, 0xAB, 0xF1, 0x9B, 0x56, 0x0C, + 0x05, 0xF8, 0xCA, 0x2D, 0x10, 0x1B, 0x56, 0x68, 0xA5, 0x0C, 0x18, 0x3C, 0x68, 0x01, 0x22, 0xF1, + 0x18, 0x44, 0x56, 0x1C, 0x0F, 0xEA, 0x1E, 0xE4, 0x0F, 0x0D, 0x1F, 0x01, 0xFA, 0xF0, 0x1D, 0x9F, + 0x42, 0x1D, 0x01, 0x56, 0x68, 0x67, 0x19, 0x68, 0x01, 0x22, 0xF5, 0x08, 0x69, 0x00, 0x68, 0x00, + 0xAB, 0x09, 0xBD, 0x02, 0x00, 0x98, 0x6A, 0x56, 0x11, 0xF2, 0x99, 0xF0, 0x10, 0x1B, 0xF1, 0x58, + 0xE3, 0x17, 0xA9, 0xDB, 0x70, 0x1D, 0x38, 0x01, 0xF4, 0x18, 0xAC, 0x28, 0xAA, 0x9E, 0x05, 0x00, + 0xF0, 0x1E, 0xB1, 0x09, 0x75, 0x11, 0x0D, 0x68, 0x67, 0x1C, 0xF0, 0x00, 0x1F, 0x6E, 0x08, 0x69, + 0xBD, 0x12, 0xE9, 0x0E, 0x0D, 0x16, 0x1F, 0x11, 0x11, 0x11, 0x24, 0x56, 0x22, 0x95, 0x30, 0xA5, + 0x68, 0x01, 0x22, 0xF0, 0x03, 0x18, 0x43, 0x10, 0xAA, 0x99, 0x53, 0x0E, 0x56, 0xF0, 0x1C, 0xE5, + 0x15, 0x56, 0x0E, 0x13, 0x0C, 0xA3, 0x08, 0x75, 0x38, 0x01, 0xFB, 0x30, 0xAB, 0x1C, 0x02, 0x4D, + 0x24, 0x0F, 0x44, 0x81, 0x13, 0x09, 0xF0, 0x38, 0xA5, 0xF0, 0x07, 0x18, 0x01, 0x09, 0x55, 0x08, + 0xAA, 0xCA, 0xA6, 0x14, 0x0F, 0x16, 0xF0, 0x1C, 0x81, 0xF3, 0x30, 0x16, 0x1F, 0x42, 0x1D, 0x38, + 0x69, 0xF0, 0x08, 0x21, 0xBD, 0x14, 0x02, 0x8D, 0x24, 0x16, 0x0C, 0x2A, 0x95, 0x38, 0x3D, 0xF0, + 0x09, 0x10, 0x01, 0x50, 0x41, 0x20, 0xE6, 0x17, 0x0C, 0x13, 0x0D, 0x11, 0x00, 0x38, 0x01, 0xF0, + 0x12, 0x8F, 0xF4, 0x1B, 0x1B, 0x0D, 0x68, 0x69, 0x1A, 0xF0, 0x11, 0x21, 0x55, 0x0C, 0x6B, 0x10, + 0x01, 0x39, 0xF0, 0xF0, 0x09, 0x38, 0x01, 0xF5, 0x59, 0x53, 0x20, 0xE4, 0x13, 0x0E, 0x24, 0x00, + 0xFA, 0xF0, 0x10, 0xAB, 0x3F, 0x7A, 0x24, 0x38, 0x01, 0xF0, 0x07, 0x10, 0xAB, 0x15, 0x1A, 0x00, + 0xA4, 0x3B, 0x3A, 0xF0, 0x00, 0x38, 0x01, 0xF0, 0x00, 0x00, 0x40, 0x0F, 0x3B, 0x22, 0x38, 0xA9, + 0xF0, 0x11, 0x10, 0xA7, 0x68, 0xA6, 0x1A, 0xF0, 0x15, 0x10, 0x01, 0x0B, 0xBE, 0x10, 0x01, 0x68, + 0xA5, 0x20, 0xF0, 0x19, 0x08, 0x01, 0x11, 0x53, 0x02, 0xA5, 0x38, 0xA9, 0xF0, 0x0E, 0x5F, 0x36, + 0x1F, 0x24, 0x68, 0x6C, 0x1D, 0xF0, 0x1C, 0x38, 0x01, 0xF0, 0x24, 0x68, 0xA9, 0x20, 0xF0, 0x14, + 0x48, 0xA7, 0x59, 0x6E, 0x12, 0xF0, 0x5C, 0x18, 0xA9, 0xCB, 0xF6, 0x17, 0x14, 0x0F, 0xF0, 0x10, + 0x58, 0xA7, 0x1B, 0x38, 0xA6, 0xF0, 0x5A, 0x29, 0x52, 0x9D, 0x48, 0x13, 0x0E, 0xF0, 0x0C, 0x98, + 0xA7, 0x30, 0x0E, 0xF0, 0x66, 0x28, 0xA9, 0x9E, 0x1C, 0x10, 0xF0, 0x09, 0xC8, 0xA7, 0x10, 0x17, + 0x13, 0xF0, 0x69, 0x17, 0xC6, 0x17, 0xE4, 0x17, 0x14, 0x0E, 0x58, 0xFA, 0xF0, 0x05, 0x68, 0xA7, + 0x2C, 0xF0, 0x68, 0x01, 0x51, 0xE5, 0x1A, 0x18, 0x5A, 0x5B, 0x00, 0x38, 0x01, 0xF0, 0x04, 0xB5, + 0x05, 0x75, 0x2E, 0x13, 0x38, 0x01, 0xF0, 0x4F, 0x05, 0x46, 0xBE, 0x43, 0x3D, 0x39, 0x4E, 0x45, + 0xCD, 0x38, 0x01, 0x0F, 0x14, 0x68, 0x01, 0x22, 0xF0, 0x63, 0x02, 0xA0, 0xBF, 0xA8, 0x47, 0x02, + 0x4A, 0x40, 0x09, 0xF6, 0x3C, 0x91, 0xF0, 0x5C, 0x20, 0x01, 0x05, 0xEB, 0xBF, 0x79, 0x4F, 0x1E, + 0x52, 0x4D, 0x4A, 0x9D, 0x37, 0x38, 0xA7, 0xF0, 0x66, 0xAF, 0x7A, 0x4F, 0x35, 0xCA, 0x9D, 0x10, + 0x18, 0x0C, 0xF0, 0x6A, 0x00, 0xA7, 0xE4, 0x56, 0x2B, 0x4E, 0x5C, 0xFA, 0xF0, 0x05, 0x0B, 0x45, + 0x6A, 0x9D, 0x19, 0xF0, 0x64, 0x18, 0xA7, 0x6E, 0x2A, 0xF0, 0x08, 0x9D, 0x3A, 0x10, 0x18, 0xF0, + 0x6B, 0x38, 0xA7, 0xF0, 0x0A, 0xE4, 0x00, 0x5D, 0x14, 0x17, 0x39, 0xF6, 0xF0, 0x64, 0x38, 0xA7, + 0xF0, 0x0C, 0x9B, 0x45, 0x10, 0x19, 0xF0, 0x68, 0x04, 0x91, 0x68, 0xA7, 0x5E, 0xF0, 0x0B, 0x99, + 0x4F, 0x00, 0x37, 0xF0, 0x68, 0x00, 0xA7, 0x6F, 0xA7, 0x1D, 0x25, 0xF0, 0x0D, 0x69, 0x4F, 0x5A, + 0xF0, 0x65, 0x03, 0x44, 0x9F, 0x22, 0x17, 0x42, 0x4B, 0xF0, 0x0E, 0xB4, 0x02, 0x75, 0x01, 0x13, + 0x38, 0x01, 0xF0, 0x4E, 0x07, 0x2E, 0x07, 0xC8, 0x01, 0x2D, 0x50, 0x00, 0xF0, 0x0F, 0x4F, 0xF9, + 0x19, 0x39, 0x39, 0x4F, 0xF0, 0x60, 0xCF, 0x44, 0x20, 0x1C, 0x12, 0x5F, 0xF0, 0x12, 0x6D, 0x3C, + 0x22, 0xF0, 0x64, 0x01, 0xF6, 0x6A, 0x9D, 0x1F, 0xF0, 0x0D, 0x9B, 0x46, 0x00, 0x44, 0xF0, 0x67, + 0x07, 0xCC, 0x09, 0x6F, 0x3A, 0x22, 0x60, 0xF0, 0x0E, 0x4B, 0x46, 0x39, 0x6E, 0x22, 0xF0, 0x5F, + 0x07, 0xEC, 0x20, 0x69, 0xF6, 0x33, 0xF0, 0x0E, 0xCB, 0x46, 0x00, 0x0A, 0x16, 0xF0, 0x67, 0x07, + 0xC3, 0x0B, 0xAF, 0x5A, 0x1F, 0x61, 0x10, 0x01, 0x69, 0xF7, 0x10, 0xF0, 0x64, 0x01, 0x4F, 0x9E, + 0x3D, 0x3A, 0xF0, 0x10, 0x99, 0xF7, 0x62, 0x0C, 0xF0, 0x66, 0xE4, 0x1C, 0x19, 0x63, 0x2A, 0xFA, + 0xF0, 0x0C, 0x6B, 0xEE, 0x64, 0xF0, 0x63, 0x01, 0x4F, 0x6A, 0x9E, 0x22, 0xF0, 0x0F, 0x99, 0xF7, + 0x00, 0x65, 0xF0, 0x66, 0x07, 0x63, 0x2B, 0x6E, 0x28, 0xF0, 0x0F, 0x6F, 0x21, 0x0B, 0x14, 0xF0, + 0x63, 0x03, 0x46, 0x6F, 0xBC, 0x1B, 0x44, 0xF0, 0x0F, 0x6A, 0x9F, 0x44, 0xF0, 0x63, 0x09, 0xF7, + 0x6E, 0x36, 0xF0, 0x0F, 0x6A, 0x9F, 0x31, 0xF0, 0x64, 0xE4, 0x1C, 0x1A, 0x05, 0x5C, 0xFA, 0xF0, + 0x0D, 0x6D, 0x3E, 0x41, 0xF0, 0x63, 0x3F, 0x48, 0x31, 0xF0, 0x12, 0x6B, 0x47, 0x66, 0xF0, 0x63, + 0x07, 0x37, 0x35, 0x6E, 0x67, 0xF0, 0x10, 0x68, 0xA8, 0x3D, 0xF0, 0x62, 0x01, 0xF7, 0x6F, 0x9A, + 0x21, 0x18, 0xF0, 0x11, 0x6F, 0xD4, 0x09, 0x1F, 0xF0, 0x62, 0x00, 0xA8, 0x9E, 0x0A, 0x2A, 0xF0, + 0x12, 0x3B, 0xEF, 0xF0, 0x62, 0x07, 0x8F, 0x34, 0x6E, 0x2B, 0xF0, 0x10, 0x3F, 0x2D, 0x09, 0xF0, + 0x61, 0x03, 0x47, 0x98, 0x01, 0x68, 0x00, 0xF0, 0x12, 0x3C, 0x97, 0xF0, 0x61, 0x3F, 0x7E, 0x38, + 0xF0, 0x12, 0x68, 0xA8, 0x3C, 0xF0, 0x66, 0x6E, 0x46, 0xF0, 0x10, 0x6D, 0x3F, 0x63, 0xF0, 0x64, + 0x98, 0xA8, 0x12, 0x18, 0xF0, 0x13, 0x6E, 0x69, 0xF0, 0x62, 0x46, 0x20, 0x6E, 0x6A, 0xF0, 0x10, + 0x6E, 0x5E, 0xF0, 0x63, 0x6E, 0x1C, 0xF0, 0xBC, 0x3F, 0x8F, 0x06, 0xF0, 0x62, 0xCE, 0x12, 0x18, + 0x5D, 0xF0, 0x14, 0x38, 0xA8, 0xF0, 0x62, 0x02, 0xA0, 0x68, 0xA8, 0x3D, 0xF0, 0x8B, 0x0B, 0xF0, + 0x6E, 0x42, 0xF0, 0x10, 0x6C, 0x98, 0x5E, 0xF0, 0x65, 0x9E, 0x19, 0x0C, 0xF0, 0x12, 0x68, 0xA8, + 0x2A, 0xF0, 0x64, 0xE4, 0x1C, 0x19, 0x16, 0x10, 0xFA, 0xF0, 0x0D, 0x6E, 0x32, 0xF0, 0x67, 0x6E, + 0x3C, 0xF0, 0x0F, 0x6E, 0x2B, 0xF0, 0x63, 0x46, 0x20, 0x6E, 0x6B, 0xF0, 0x0F, 0x9F, 0x1F, 0x0D, + 0x00, 0x5A, 0xF0, 0x67, 0x9E, 0x17, 0x65, 0xF0, 0x11, 0x98, 0xA8, 0x00, 0x21, 0xF0, 0x66, 0xCE, + 0x12, 0x18, 0x14, 0xF0, 0x14, 0x6E, 0x23, 0xF0, 0x62, 0x0B, 0xF1, 0x9E, 0x16, 0x62, 0xF0, 0x11, + 0x6F, 0x5E, 0x12, 0x25, 0xF0, 0x63, 0x0B, 0x49, 0x6E, 0x6C, 0xF0, 0x0F, 0x98, 0xA8, 0x6D, 0x18, + 0xF0, 0x64, 0x0A, 0xA1, 0x6E, 0x19, 0xF0, 0x0F, 0x6F, 0xB7, 0x11, 0x27, 0xF0, 0x63, 0x0F, 0x3A, + 0x07, 0x9E, 0x0C, 0x37, 0xF0, 0x10, 0x6F, 0x39, 0x07, 0x6E, 0xF0, 0x63, 0x11, 0xF9, 0x6E, 0x6F, + 0xF0, 0x0E, 0x68, 0xA8, 0x5C, 0xF0, 0x64, 0x09, 0xF9, 0x6D, 0xEB, 0x14, 0xF0, 0x0E, 0xC8, 0xA8, + 0x32, 0x6F, 0x19, 0xF0, 0x67, 0x0B, 0xF2, 0x6E, 0x70, 0xF0, 0x0D, 0x9C, 0x99, 0x2B, 0x66, 0xF0, + 0x65, 0x01, 0x51, 0xCE, 0x19, 0x17, 0x13, 0xF0, 0x12, 0x6C, 0x99, 0x03, 0xF0, 0x63, 0x15, 0xEB, + 0x69, 0x51, 0x0C, 0xF0, 0x0E, 0x6F, 0x8D, 0x1B, 0x67, 0xF0, 0x64, 0x13, 0x4A, 0x9E, 0x13, 0x6A, + 0xF0, 0x0E, 0x6B, 0x49, 0x35, 0xF0, 0x64, 0x09, 0x51, 0xE4, 0x19, 0x16, 0x18, 0x10, 0xFA, 0xF0, + 0x09, 0x9B, 0x49, 0x2A, 0x0A, 0xF0, 0x65, 0x23, 0xF3, 0x6E, 0x2C, 0xF0, 0x0B, 0x9B, 0x49, 0x2B, + 0x4F, 0xF0, 0x66, 0x1B, 0xF3, 0x39, 0xFA, 0xF0, 0x0B, 0x6B, 0x49, 0x02, 0xF0, 0x64, 0x11, 0x51, + 0xE4, 0x18, 0x0C, 0x0F, 0x30, 0xFA, 0xF0, 0x08, 0x6B, 0x49, 0x61, 0xF0, 0x65, 0x13, 0x4B, 0xE4, + 0x17, 0x14, 0x17, 0x01, 0xFA, 0xF0, 0x07, 0x9B, 0x49, 0x2F, 0x20, 0xF0, 0x66, 0x09, 0xFA, 0x0B, + 0xF4, 0x6B, 0x4C, 0x17, 0xF0, 0x09, 0x9B, 0x49, 0x32, 0x11, 0xF0, 0x67, 0x23, 0xF4, 0x98, 0xA9, + 0x13, 0x1E, 0xF0, 0x0B, 0x6B, 0x49, 0x02, 0xF0, 0x65, 0x22, 0xA3, 0x00, 0xA9, 0x6E, 0x15, 0xF0, + 0x07, 0x9F, 0xF7, 0x29, 0x71, 0x18, 0xF0, 0x68, 0x0A, 0xA3, 0x08, 0xA9, 0x6A, 0xA4, 0x16, 0xF0, + 0x07, 0xC8, 0xA8, 0x28, 0x65, 0x1A, 0xF0, 0x6B, 0x60, 0xA9, 0x20, 0x6E, 0x04, 0xF0, 0x05, 0x99, + 0xF9, 0x35, 0x1B, 0xF0, 0x6A, 0x28, 0xA9, 0x9E, 0x0E, 0x59, 0xF0, 0x07, 0x6D, 0x42, 0x60, 0xF0, + 0x66, 0x08, 0x01, 0x08, 0xA9, 0x0F, 0x40, 0x2F, 0x3A, 0xA5, 0xF0, 0x03, 0x99, 0xF9, 0x3F, 0x0A, + 0xF0, 0x6A, 0x10, 0xA9, 0x46, 0x12, 0xCE, 0x13, 0x16, 0x58, 0xF0, 0x06, 0xC8, 0xA8, 0x2A, 0x58, + 0x19, 0xF0, 0x6D, 0x18, 0xA9, 0x41, 0xFC, 0x17, 0x9E, 0x1E, 0x30, 0xF0, 0x03, 0x69, 0xF9, 0x10, + 0xF0, 0x6A, 0x08, 0xAA, 0x4A, 0xA5, 0x1C, 0x47, 0x87, 0x36, 0x14, 0x38, 0xAA, 0xFE, 0x69, 0xF9, + 0x50, 0xF0, 0x6B, 0x2A, 0xA5, 0x09, 0x53, 0xCE, 0x0D, 0x0A, 0x5E, 0xF0, 0x01, 0xC8, 0xA8, 0x2A, + 0x37, 0x19, 0xF0, 0x70, 0x11, 0xFC, 0x19, 0x53, 0x3D, 0x4B, 0xFD, 0x69, 0xF9, 0x2B, 0xF0, 0x6D, + 0x29, 0x53, 0xE4, 0x16, 0x13, 0x18, 0x00, 0x38, 0x01, 0xFC, 0x99, 0xF9, 0x3F, 0x0B, 0xF0, 0x6F, + 0x20, 0xA9, 0xE4, 0x18, 0x16, 0x41, 0x2B, 0xFA, 0xFC, 0x9D, 0xEB, 0x32, 0x63, 0xF0, 0x6B, 0x28, + 0x01, 0x17, 0x3F, 0x09, 0xA5, 0x52, 0x22, 0x9F, 0x85, 0x0A, 0x3A, 0x22, 0xF0, 0x68, 0x38, 0x01, + 0xF1, 0x00, 0xA8, 0x9E, 0x72, 0x50, 0xF0, 0x02, 0xC9, 0xF9, 0x28, 0x46, 0x19, 0xF0, 0x73, 0x08, + 0xA8, 0x9E, 0x31, 0x2A, 0xF0, 0x02, 0x6B, 0x4A, 0x2B, 0xF0, 0x73, 0xB6, 0x38, 0x86, 0x12, 0x19, + 0x9B, 0x4A, 0x50, 0x59, 0xF0, 0x71, 0x3F, 0x87, 0x51, 0xF0, 0x05, 0x9B, 0x4A, 0x32, 0x34, 0xF0, + 0x71, 0x01, 0xF7, 0xAE, 0x39, 0x86, 0x34, 0x99, 0x51, 0x43, 0x48, 0xF0, 0x6F, 0x01, 0x4F, 0xAE, + 0x92, 0x98, 0x48, 0x6C, 0x9B, 0x2A, 0xF0, 0x6E, 0xAF, 0xAA, 0xA5, 0x1D, 0x9C, 0x9B, 0x40, 0x0A, + 0xF0, 0x6D, 0x07, 0xD4, 0x0D, 0xAF, 0xA8, 0xA5, 0x0A, 0x9C, 0x9B, 0x28, 0x69, 0xF0, 0x6D, 0x07, + 0x69, 0x14, 0xAF, 0xA9, 0xA5, 0x69, 0x99, 0x51, 0x40, 0x06, 0xF0, 0x6B, 0x04, 0x95, 0xAF, 0xE6, + 0xAA, 0x06, 0x69, 0x51, 0x2F, 0xF0, 0x6A, 0x09, 0x4F, 0xA7, 0x2F, 0x9B, 0x39, 0x51, 0xF0, 0x67, + 0x39, 0x4F, 0xF0, 0x0B, 0x01, 0x51, 0x6B, 0xF3, 0x67, 0xF0, 0x67, 0x39, 0x4F, 0xF0, 0x0C, 0x01, + 0x51, 0x6F, 0x72, 0x10, 0x24, 0xF0, 0x65, 0x39, 0x4F, 0xF0, 0x0D, 0x03, 0xF3, 0x69, 0x51, 0x61, + 0xF0, 0x65, 0x05, 0x3C, 0x69, 0x4F, 0x67, 0xF0, 0x0C, 0x07, 0xDF, 0x09, 0x6F, 0x95, 0x06, 0x5D, + 0xF0, 0x63, 0x05, 0x3C, 0x69, 0x4F, 0x24, 0xF0, 0x0D, 0x07, 0x95, 0x06, 0x9F, 0x6D, 0x3A, 0x36, + 0x57, 0xF0, 0x64, 0x01, 0x4F, 0x6F, 0xA6, 0x2E, 0x2A, 0xF0, 0x10, 0x9E, 0x36, 0x26, 0xF0, 0x63, + 0x07, 0xDA, 0x07, 0xC8, 0x01, 0x6D, 0x43, 0x00, 0xF0, 0x13, 0xCC, 0x9C, 0x2B, 0x4E, 0x33, 0xF0, + 0x63, 0x0B, 0x45, 0x6F, 0xC3, 0x56, 0x36, 0xF0, 0x12, 0x9B, 0x4B, 0x2F, 0x2D, 0xF0, 0x61, 0x01, + 0x4F, 0x9E, 0x5B, 0x50, 0xF0, 0x12, 0x0B, 0x4B, 0x6E, 0x5F, 0xF0, 0x5D, 0x03, 0x45, 0x6F, 0x31, + 0x52, 0x39, 0xF0, 0x15, 0xC9, 0xFA, 0x2A, 0x3E, 0x3D, 0xF0, 0x5F, 0x07, 0x66, 0x0E, 0x9F, 0xE4, + 0x61, 0x57, 0x43, 0xF0, 0x18, 0xC9, 0xFA, 0x3F, 0x28, 0x57, 0xF0, 0x5E, 0x09, 0xF6, 0x3F, 0x1C, + 0x56, 0xF0, 0x16, 0x99, 0xFA, 0x3A, 0x5E, 0xF0, 0x5B, 0x01, 0xF6, 0x9E, 0x25, 0x45, 0xF0, 0x16, + 0x08, 0x01, 0xCF, 0x3F, 0x07, 0x32, 0x4E, 0x39, 0xF0, 0x5B, 0x01, 0xF6, 0x9E, 0x1F, 0x36, 0xF0, + 0x18, 0x08, 0x01, 0xCD, 0xEE, 0x2F, 0x43, 0x1F, 0xF0, 0x5A, 0x07, 0xAC, 0x11, 0x6B, 0xEC, 0x00, + 0xF0, 0x14, 0x28, 0x01, 0x9F, 0xAB, 0x41, 0x36, 0x60, 0xF0, 0x57, 0x02, 0x9D, 0x6F, 0x1D, 0x56, + 0x5F, 0xF0, 0x1D, 0xC9, 0xFA, 0x2B, 0x40, 0x5F, 0xF0, 0x57, 0x05, 0xE2, 0x6F, 0xAF, 0x5A, 0x33, + 0xF0, 0x1F, 0x9F, 0x97, 0x06, 0x2A, 0x3E, 0xF0, 0x54, 0x0C, 0x93, 0x6F, 0xA5, 0x5C, 0x3A, 0xF0, + 0x20, 0x9F, 0x91, 0x08, 0x3F, 0x3A, 0xF0, 0x53, 0x02, 0x9D, 0x9E, 0x10, 0x43, 0xF0, 0x1D, 0x18, + 0x01, 0x9A, 0xA3, 0x43, 0x2B, 0xF0, 0x51, 0x04, 0x93, 0x9F, 0x2C, 0x54, 0x5F, 0x45, 0xF0, 0x24, + 0x9D, 0x46, 0x2B, 0x45, 0xF0, 0x50, 0x02, 0x9D, 0xCE, 0x39, 0x55, 0x5C, 0xF0, 0x21, 0x18, 0x01, + 0xCB, 0x4C, 0x2A, 0x3E, 0x25, 0xF0, 0x4F, 0x02, 0x9D, 0x9F, 0x42, 0x5F, 0x42, 0x3A, 0xF0, 0x28, + 0xCB, 0x4C, 0x2F, 0x4B, 0x41, 0xF0, 0x4D, 0x0B, 0x44, 0x6F, 0x4C, 0x5D, 0x2F, 0xF0, 0x28, 0xCB, + 0x4C, 0x50, 0x3A, 0x42, 0xF0, 0x4B, 0x17, 0x37, 0x44, 0x3F, 0x57, 0x5B, 0xF0, 0x28, 0x98, 0xA9, + 0x36, 0x40, 0xF0, 0x19, 0x48, 0x01, 0x20, 0x6E, 0x22, 0xF0, 0x12, 0x03, 0xEB, 0x9F, 0xDF, 0x61, + 0x2B, 0x45, 0xF0, 0x2C, 0xC8, 0xA9, 0x2B, 0x3A, 0x45, 0xF0, 0x13, 0x67, 0x70, 0x4D, 0x20, 0x17, + 0x17, 0x4E, 0x3F, 0x75, 0x4D, 0xF0, 0x0E, 0x01, 0x4E, 0x6F, 0x90, 0x43, 0x1A, 0xF0, 0x0D, 0x38, + 0x01, 0xF0, 0x07, 0x98, 0xA9, 0x2B, 0x40, 0xF0, 0x0D, 0x5F, 0xBF, 0x4E, 0x20, 0xE4, 0x70, 0x68, + 0x49, 0x04, 0x18, 0x01, 0x9F, 0xC6, 0x4E, 0x68, 0x21, 0xF0, 0x0F, 0x09, 0xF5, 0x6F, 0x37, 0x61, + 0x52, 0xF0, 0x2F, 0x00, 0xA9, 0x9B, 0xF6, 0x64, 0x1C, 0xF0, 0x07, 0x17, 0xB9, 0x50, 0xE8, 0x68, + 0x04, 0x73, 0x55, 0x74, 0x4C, 0x54, 0x4A, 0x18, 0x01, 0xE6, 0x4C, 0x4C, 0x53, 0x2A, 0x3C, 0x4F, + 0x3F, 0x16, 0x50, 0xF0, 0x06, 0x08, 0xA7, 0xCE, 0x35, 0x3E, 0x28, 0xF0, 0x31, 0x09, 0xFB, 0x9F, + 0x29, 0x4E, 0x4A, 0x03, 0xF0, 0x04, 0x11, 0x4A, 0xEC, 0x68, 0x27, 0x3E, 0x4C, 0x4A, 0x4B, 0x3E, + 0x45, 0x3A, 0x36, 0x50, 0x3F, 0x08, 0x01, 0xE9, 0x50, 0x43, 0x40, 0x3E, 0x4B, 0x4D, 0x4C, 0x74, + 0x34, 0x08, 0xAB, 0x39, 0x55, 0xFF, 0x0C, 0x91, 0x9D, 0x39, 0x4E, 0x4E, 0xF0, 0x26, 0x38, 0x01, + 0xF4, 0xE5, 0x2B, 0x36, 0x4D, 0x34, 0x56, 0x38, 0xA9, 0xFC, 0x09, 0x4B, 0xE9, 0x1E, 0x04, 0x36, + 0x4C, 0x4D, 0x3E, 0x3A, 0x3F, 0x2A, 0x3B, 0xB5, 0xF3, 0xEA, 0x2B, 0x2A, 0x2F, 0x43, 0x3E, 0x4D, + 0x4C, 0x3E, 0x04, 0x2C, 0x39, 0x55, 0xFD, 0x00, 0xA6, 0xE5, 0x12, 0x75, 0x54, 0x45, 0x2A, 0xFA, + 0xF0, 0x2E, 0x08, 0x01, 0xE5, 0x50, 0x55, 0x50, 0x6C, 0x1C, 0x38, 0xAA, 0xF7, 0x21, 0x4B, 0xE5, + 0x4C, 0x4A, 0x3E, 0x3A, 0x2F, 0x3C, 0x59, 0xFB, 0xE8, 0x2B, 0x5C, 0x43, 0x3E, 0x4A, 0x4C, 0x44, + 0x68, 0x39, 0x55, 0xF9, 0x08, 0x3B, 0xE4, 0x6C, 0x32, 0x4D, 0x3A, 0x3F, 0x5A, 0x5B, 0xF0, 0x35, + 0xE5, 0x28, 0x4E, 0x54, 0x52, 0x2C, 0x38, 0x6F, 0xF2, 0x1B, 0x3A, 0xE7, 0x1E, 0x49, 0x32, 0x4C, + 0x4D, 0x45, 0x3F, 0x3C, 0x57, 0xF0, 0x01, 0xE8, 0x35, 0x3F, 0x45, 0x4D, 0x4C, 0x36, 0x03, 0x1E, + 0x1B, 0x56, 0x10, 0x3F, 0x08, 0x3B, 0x00, 0x3C, 0xE4, 0x2C, 0x44, 0x4C, 0x3E, 0x3F, 0xC8, 0x65, + 0xF0, 0x38, 0xE6, 0x35, 0x43, 0x4B, 0x4C, 0x34, 0x47, 0x17, 0x30, 0x53, 0x10, 0x01, 0x48, 0xA5, + 0x1C, 0xE5, 0x34, 0x74, 0x54, 0x55, 0x3A, 0x3F, 0x22, 0x5B, 0xF0, 0x07, 0xE7, 0x28, 0x3A, 0x3E, + 0x4A, 0x74, 0x34, 0x49, 0x00, 0xE7, 0x18, 0x3E, 0x50, 0x3C, 0x1C, 0xCF, 0x9A, 0x5E, 0x73, 0x4C, + 0x4B, 0xF0, 0x42, 0xE8, 0x5C, 0x40, 0x4B, 0x4C, 0x36, 0x44, 0x49, 0x68, 0x00, 0xAC, 0xEB, 0x1C, + 0x2C, 0x68, 0x49, 0x3C, 0x2A, 0x74, 0x54, 0x4B, 0x4E, 0x36, 0x38, 0x6B, 0xF0, 0x0B, 0xEB, 0x32, + 0x50, 0x45, 0x4B, 0x54, 0x4C, 0x36, 0x34, 0x04, 0x49, 0x68, 0x08, 0x01, 0x50, 0x3C, 0x04, 0x6B, + 0xE8, 0x40, 0xF0, 0x30, 0x38, 0x01, 0xF7, 0x02, 0x6E, 0xE7, 0x4D, 0x54, 0x4C, 0x74, 0x53, 0x53, + 0x53, 0x04, 0x81, 0xE5, 0x4D, 0x55, 0x45, 0x36, 0x5C, 0x39, 0x4B, 0xF0, 0x06, 0x38, 0x01, 0xE8, + 0x5C, 0x36, 0x40, 0x3E, 0x4D, 0x4A, 0x54, 0x4C, 0xF4, 0x48, 0x3C, 0x4A, 0x39, 0x4C, 0xF0, 0x3B, + 0x28, 0x01, 0xE7, 0x35, 0x28, 0x36, 0x40, 0x4E, 0x3E, 0x3E, 0x0C, 0x81, 0x6F, 0xEC, 0x06, 0x2F, + 0xF0, 0x19, 0xE5, 0x35, 0x5C, 0x3F, 0x36, 0x3A, 0x00, 0x01, 0xCF, 0x28, 0x07, 0x43, 0x50, 0x2F, + 0xF0, 0x2E, 0x38, 0x01, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xD3, 0xE1, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + +// +// LZVN packed data for white Apple logo (blackmode). +// +static UInt8 AppleLogoBlackPacked[ 912 ] = +{ + 0x68, 0x01, 0x00, 0xF0, 0xFF, 0xF0, 0xB7, 0xE4, 0x01, 0x02, 0x01, 0x00, 0xFA, 0xF0, 0x33, 0xE7, + 0x03, 0x04, 0x05, 0x06, 0x06, 0x07, 0x00, 0xFA, 0xF0, 0x30, 0xE4, 0x08, 0x07, 0x05, 0x06, 0xF4, + 0x38, 0x54, 0xF0, 0x31, 0x58, 0x52, 0x09, 0x38, 0x54, 0xF0, 0x31, 0xC8, 0x01, 0x01, 0x0A, 0x06, + 0xF4, 0x38, 0x54, 0xF0, 0x2E, 0x68, 0xA5, 0x03, 0x00, 0x01, 0x68, 0xA5, 0x02, 0xF0, 0x2D, 0xC8, + 0x01, 0x00, 0x0B, 0x06, 0xF7, 0x39, 0xF8, 0xF0, 0x2C, 0x38, 0x53, 0xF3, 0x6E, 0x0C, 0xF0, 0x2D, + 0x6E, 0x0D, 0xF4, 0x9E, 0x06, 0x0E, 0xF0, 0x2E, 0x9E, 0x08, 0x0C, 0xF6, 0x9E, 0x06, 0x0D, 0xF0, + 0x2D, 0x9E, 0x00, 0x0E, 0xF7, 0x6E, 0x0A, 0xF0, 0x2C, 0x6E, 0x01, 0xF5, 0x9E, 0x06, 0x0B, 0xF0, + 0x2D, 0x9E, 0x00, 0x04, 0xF7, 0x6E, 0x0F, 0xF0, 0x2C, 0x38, 0xA7, 0xF5, 0x39, 0x4E, 0xF0, 0x39, + 0x3B, 0x44, 0xF0, 0x2C, 0x39, 0xF5, 0xF3, 0x38, 0xFA, 0xF0, 0x2B, 0x38, 0xFB, 0xF4, 0xCE, 0x0A, + 0x08, 0x00, 0xF0, 0x30, 0x6E, 0x03, 0xF3, 0x38, 0x53, 0xF0, 0x2D, 0x9E, 0x00, 0x07, 0xF4, 0x6E, + 0x04, 0xF0, 0x2F, 0x38, 0x54, 0xC8, 0x01, 0x05, 0x03, 0x00, 0xF0, 0x34, 0x20, 0x54, 0x98, 0xA5, + 0x05, 0x07, 0xF0, 0x32, 0x20, 0x54, 0xC8, 0x52, 0x05, 0x10, 0x0B, 0xF0, 0x37, 0x01, 0xF8, 0x98, + 0x50, 0x02, 0x02, 0xF0, 0x28, 0xE4, 0x02, 0x07, 0x04, 0x0F, 0x00, 0x01, 0x9D, 0xCB, 0x10, 0x07, + 0xFF, 0xE4, 0x08, 0x0B, 0x04, 0x0F, 0x11, 0x09, 0xE4, 0x06, 0x0F, 0x04, 0x09, 0x3B, 0x50, 0xF0, + 0x0C, 0xC8, 0x01, 0x0B, 0x10, 0x06, 0xF6, 0x99, 0x93, 0x05, 0x04, 0xF9, 0xB1, 0x47, 0x1A, 0x08, + 0x0B, 0x10, 0x01, 0x9D, 0xF0, 0x0C, 0x0E, 0xF0, 0x0A, 0x2F, 0x68, 0x07, 0x38, 0x01, 0xF1, 0x68, + 0x35, 0x05, 0xF3, 0x6C, 0x49, 0x02, 0xF6, 0x20, 0x01, 0x68, 0x56, 0x04, 0xF0, 0x05, 0x68, 0x52, + 0x03, 0xF9, 0x10, 0x01, 0x88, 0x36, 0x0A, 0x0B, 0x9D, 0x95, 0x0D, 0x0E, 0xF8, 0x38, 0x01, 0xF1, + 0x3B, 0xFF, 0xF0, 0x00, 0x68, 0xF6, 0x08, 0xF4, 0x38, 0x01, 0xF5, 0x98, 0x6F, 0x0C, 0x0F, 0xF0, + 0x00, 0x20, 0x01, 0x69, 0x58, 0x0A, 0xFF, 0x68, 0x87, 0x0D, 0xF0, 0x01, 0x38, 0x01, 0xF0, 0x09, + 0x68, 0x55, 0x05, 0xFD, 0x68, 0x89, 0x0D, 0xF0, 0x05, 0x38, 0x01, 0xF0, 0x07, 0x38, 0x55, 0xFA, + 0x38, 0x53, 0xF0, 0x25, 0x38, 0x55, 0xFA, 0x68, 0x53, 0x01, 0xF0, 0x28, 0x3C, 0xAF, 0xF9, 0x3A, + 0x76, 0xF5, 0x38, 0x01, 0xF0, 0x1A, 0x6A, 0x53, 0x0C, 0xF7, 0x3C, 0xCB, 0xF1, 0x38, 0x01, 0xF0, + 0x1E, 0x3D, 0x03, 0xF6, 0xA3, 0x04, 0x1B, 0x38, 0x01, 0xF0, 0x1A, 0x9E, 0x09, 0x00, 0xF9, 0x23, + 0xC0, 0x38, 0x01, 0xF0, 0x21, 0xA3, 0xBE, 0x1F, 0x98, 0x01, 0x02, 0x06, 0xF0, 0x2A, 0x38, 0x53, + 0xF7, 0x9E, 0x00, 0x10, 0xF0, 0x2A, 0x6E, 0x04, 0xF9, 0x39, 0x4E, 0xF0, 0x27, 0xA4, 0xF0, 0x24, + 0x98, 0x01, 0x09, 0x06, 0xF0, 0x29, 0x3B, 0x43, 0xF9, 0x3A, 0x9C, 0xF0, 0x26, 0x38, 0xFA, 0xF8, + 0x9E, 0x00, 0x08, 0xF0, 0x29, 0xA4, 0x15, 0x2E, 0xA2, 0x3D, 0x20, 0x38, 0x01, 0xF0, 0x1A, 0x38, + 0xA7, 0xF9, 0x3B, 0x44, 0xF0, 0x27, 0xA4, 0xC5, 0x1F, 0x3A, 0xF1, 0xF0, 0x26, 0x68, 0x01, 0x00, + 0xFB, 0x39, 0xA3, 0xF0, 0x25, 0xA4, 0x92, 0x27, 0x68, 0x01, 0x06, 0xF0, 0x26, 0xA4, 0x32, 0x1A, + 0x68, 0x01, 0x06, 0xF0, 0x26, 0x38, 0x54, 0xFA, 0x3B, 0x46, 0xF0, 0x26, 0xA4, 0x61, 0x21, 0x3C, + 0x41, 0xF0, 0x26, 0x38, 0x54, 0xF0, 0x8E, 0x6E, 0x09, 0xF0, 0x3B, 0x39, 0xF8, 0xF0, 0x3A, 0x6E, + 0x10, 0xFB, 0x38, 0x54, 0xF0, 0x26, 0x6E, 0x0C, 0xF0, 0x3B, 0x3C, 0x97, 0xFA, 0x3B, 0xF0, 0xF0, + 0x27, 0x39, 0xA5, 0xFA, 0x38, 0x54, 0xF0, 0x26, 0x38, 0xFD, 0xFA, 0x6E, 0x07, 0xF0, 0x28, 0x6E, + 0x0B, 0xFA, 0xA2, 0x9A, 0x43, 0x38, 0x01, 0xF0, 0x1A, 0x38, 0xA9, 0xF9, 0xA2, 0x9F, 0x43, 0x38, + 0x01, 0xF0, 0x1A, 0x3A, 0xA3, 0xF9, 0x3F, 0xD3, 0x09, 0xF0, 0x28, 0xA3, 0xE7, 0x1C, 0x3F, 0xDA, + 0x08, 0xF0, 0x28, 0xAB, 0xF2, 0x34, 0x0C, 0x3F, 0xE0, 0x07, 0xF0, 0x27, 0xA4, 0xF0, 0x29, 0x6E, + 0x0D, 0xF0, 0x2A, 0x38, 0x55, 0xF8, 0x6E, 0x0C, 0xF0, 0x2B, 0x69, 0x54, 0x0C, 0xF7, 0xA4, 0x2A, + 0x35, 0x38, 0x01, 0xF0, 0x17, 0x39, 0xFE, 0xF4, 0x3F, 0x36, 0x08, 0xF0, 0x26, 0x20, 0x01, 0x6A, + 0xFD, 0x0C, 0xF5, 0x3A, 0x4E, 0xF0, 0x28, 0x18, 0x01, 0x3C, 0xF8, 0xF2, 0xA2, 0xA7, 0x47, 0x38, + 0x01, 0xF0, 0x20, 0x3C, 0x4F, 0xF2, 0x3F, 0xD0, 0x0B, 0xF0, 0x29, 0x10, 0x01, 0x3C, 0xF7, 0xF3, + 0x3A, 0xF7, 0xF0, 0x28, 0x08, 0x01, 0x3D, 0xF3, 0xF4, 0x3C, 0x48, 0xF0, 0x27, 0x10, 0x01, 0xA3, + 0x38, 0x26, 0x3A, 0xA3, 0xF0, 0x2B, 0x6E, 0x00, 0xF6, 0x38, 0xA9, 0xF0, 0x2A, 0x3D, 0x48, 0xF7, + 0x38, 0xA9, 0xF0, 0x28, 0x3D, 0x47, 0xF8, 0x38, 0xA9, 0xF0, 0x28, 0x3D, 0xEF, 0xF9, 0x38, 0xA9, + 0xF0, 0x26, 0x3D, 0xEE, 0xF9, 0x3F, 0x90, 0x08, 0xF0, 0x27, 0x6E, 0x03, 0xFC, 0x6E, 0x10, 0xF0, + 0x25, 0xA4, 0x4F, 0x54, 0x6B, 0xF6, 0x08, 0xF0, 0x24, 0xAC, 0xE9, 0x20, 0x05, 0x3C, 0x9F, 0xF0, + 0x25, 0xA4, 0xE5, 0x20, 0x10, 0x01, 0x3D, 0x48, 0xF0, 0x20, 0xA5, 0x37, 0x58, 0x69, 0xFC, 0x08, + 0xF0, 0x20, 0xAB, 0x92, 0x1B, 0x05, 0x38, 0x01, 0x3F, 0x9A, 0x06, 0xF0, 0x1E, 0x39, 0xF4, 0xFB, + 0x28, 0x01, 0x3A, 0xFA, 0xF0, 0x1C, 0xA7, 0x3C, 0x65, 0x39, 0x53, 0xF0, 0x1A, 0xA7, 0x6A, 0x5D, + 0x3D, 0x4A, 0xF0, 0x18, 0xA7, 0x1F, 0x5C, 0x6F, 0x2B, 0x0E, 0x08, 0xF0, 0x18, 0x68, 0x53, 0x05, + 0xF0, 0x09, 0x00, 0x55, 0x38, 0xAA, 0xF9, 0xE8, 0x0F, 0x0E, 0x09, 0x02, 0x02, 0x02, 0x0B, 0x07, + 0x38, 0x1B, 0xF9, 0x6A, 0xED, 0x0A, 0xFF, 0x38, 0x01, 0xF5, 0xA3, 0xC8, 0x1B, 0xAA, 0x69, 0x5A, + 0x0F, 0x68, 0x57, 0x0B, 0xF7, 0x68, 0xA6, 0x10, 0xF0, 0x0B, 0x10, 0x01, 0x6A, 0xA8, 0x03, 0xF2, + 0xAB, 0x16, 0x56, 0x05, 0x9B, 0xC4, 0x01, 0x0E, 0xF4, 0x6A, 0x45, 0x0C, 0xF0, 0x05, 0x38, 0x01, + 0xF5, 0x88, 0x39, 0x0B, 0x10, 0x98, 0x34, 0x0A, 0x04, 0xF0, 0x00, 0x8F, 0x62, 0x15, 0x03, 0x0E, + 0x98, 0x52, 0x0F, 0x04, 0xF0, 0x16, 0x38, 0x01, 0xF0, 0xFF, 0xF0, 0x63, 0xE1, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// +// LZVN packed data for white HiDPI Apple logo. +// + +static UInt8 AppleLogoBlack2XPacked[ 1984 ] = +{ + 0x68, 0x01, 0x00, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, + 0xFF, 0xF0, 0x2D, 0xE5, 0x01, 0x02, 0x03, 0x03, 0x00, 0xFA, 0xF0, 0x85, 0xE4, 0x04, 0x05, 0x06, + 0x07, 0xF3, 0x9E, 0x06, 0x00, 0xF0, 0x86, 0xE4, 0x04, 0x08, 0x09, 0x07, 0xF6, 0x9E, 0x09, 0x00, + 0xF0, 0x83, 0xE4, 0x0A, 0x0B, 0x0C, 0x07, 0xFA, 0x6E, 0x00, 0xF0, 0x7F, 0xCE, 0x0D, 0x08, 0x07, + 0xF9, 0x6E, 0x00, 0xF0, 0x7D, 0xCE, 0x0A, 0x0B, 0x07, 0xFB, 0x6E, 0x00, 0xF0, 0x7C, 0x6A, 0x97, + 0x03, 0x30, 0x01, 0x9E, 0x0C, 0x00, 0xF0, 0x7C, 0x98, 0x9C, 0x0D, 0x06, 0x38, 0x01, 0xF2, 0x3B, + 0xF0, 0xF0, 0x79, 0x69, 0x4D, 0x04, 0xF9, 0x38, 0xA8, 0xF0, 0x7B, 0x3B, 0x40, 0xF5, 0x20, 0x01, + 0x9E, 0x0B, 0x00, 0xF0, 0x78, 0xCE, 0x0A, 0x0E, 0x07, 0xF0, 0x01, 0x3F, 0x90, 0x06, 0xF0, 0x75, + 0x38, 0xA7, 0xFE, 0x9E, 0x07, 0x02, 0xF0, 0x77, 0x9E, 0x01, 0x09, 0xF0, 0x01, 0x3C, 0x97, 0xF0, + 0x74, 0xAA, 0x05, 0x1A, 0x0A, 0x38, 0x01, 0xF3, 0x3B, 0x47, 0xF0, 0x73, 0x39, 0xF5, 0xFF, 0xCE, + 0x07, 0x07, 0x0F, 0xF0, 0x77, 0x9E, 0x00, 0x06, 0xF0, 0x02, 0xCE, 0x07, 0x07, 0x0D, 0xF0, 0x76, + 0x9E, 0x00, 0x0B, 0xF0, 0x02, 0x3F, 0x8E, 0x06, 0xF0, 0x74, 0x98, 0x01, 0x02, 0x07, 0xF0, 0x04, + 0x39, 0xF7, 0xF0, 0x71, 0x6B, 0xEB, 0x0A, 0xF0, 0x01, 0x39, 0xF7, 0xF0, 0x74, 0xA4, 0x1F, 0x1A, + 0x18, 0x01, 0x9E, 0x08, 0x00, 0xF0, 0x73, 0x39, 0xF6, 0xF0, 0x02, 0x3D, 0xE5, 0xF0, 0x72, 0x3C, + 0x93, 0xF0, 0x00, 0x3D, 0x3D, 0xF0, 0x73, 0x98, 0x01, 0x03, 0x07, 0xF0, 0x05, 0x39, 0x4F, 0xF0, + 0x71, 0x6E, 0x0C, 0xF0, 0x03, 0x6E, 0x10, 0xF0, 0x8F, 0x6E, 0x0D, 0xF0, 0x8E, 0x6E, 0x0B, 0xF0, + 0x72, 0x3B, 0xED, 0xF0, 0x02, 0x9E, 0x0E, 0x00, 0xF0, 0x74, 0x3D, 0x3C, 0xF0, 0x02, 0x6E, 0x01, + 0xF0, 0x72, 0x6E, 0x0A, 0xF0, 0x03, 0x3F, 0x29, 0x09, 0xF0, 0x72, 0x3B, 0x46, 0xF0, 0x01, 0x3F, + 0x8A, 0x06, 0xF0, 0x71, 0xCE, 0x00, 0x00, 0x10, 0xF0, 0x05, 0x9E, 0x0E, 0x0A, 0xF0, 0x74, 0xCE, + 0x00, 0x00, 0x09, 0xF0, 0x04, 0x38, 0xA7, 0xF0, 0x74, 0x6E, 0x01, 0xF0, 0x8E, 0x9E, 0x00, 0x0F, + 0xF0, 0x90, 0x9E, 0x00, 0x05, 0xF0, 0x90, 0xA5, 0x5C, 0x34, 0x68, 0xA7, 0x08, 0xF0, 0x78, 0xA4, + 0x4E, 0x27, 0x6D, 0x38, 0x09, 0xF0, 0x74, 0x20, 0x01, 0x6E, 0x07, 0xFA, 0x6F, 0x86, 0x06, 0x0E, + 0xF0, 0x73, 0x30, 0x01, 0x6E, 0x07, 0xF8, 0x39, 0x4D, 0xF0, 0x7A, 0x38, 0xA8, 0xF9, 0x6A, 0x9A, + 0x05, 0xF0, 0x79, 0x18, 0x01, 0x6E, 0x07, 0xF4, 0x9F, 0x53, 0x10, 0x09, 0x05, 0xF0, 0x76, 0x38, + 0x01, 0xF3, 0x6E, 0x07, 0xF2, 0x99, 0x4C, 0x10, 0x03, 0xF0, 0x81, 0x08, 0x01, 0x23, 0xF0, 0x98, + 0xA5, 0x0E, 0x08, 0xF0, 0x86, 0x17, 0x16, 0x1C, 0x00, 0x01, 0x39, 0xEE, 0xF0, 0x7F, 0x38, 0x01, + 0xF0, 0x76, 0xE4, 0x01, 0x02, 0x04, 0x0B, 0xF4, 0x99, 0xD6, 0x02, 0x02, 0xF0, 0x1C, 0xE4, 0x01, + 0x03, 0x0B, 0x06, 0x2F, 0xAE, 0x06, 0xE5, 0x06, 0x06, 0x06, 0x0B, 0x0F, 0x3F, 0x22, 0x0F, 0xF0, + 0x3C, 0xBA, 0x86, 0x36, 0x02, 0x0B, 0x10, 0xCD, 0xC0, 0x0C, 0x10, 0x0F, 0xF0, 0x16, 0xBC, 0xC1, + 0x27, 0x0D, 0x0F, 0x10, 0x3A, 0xC6, 0xF0, 0x36, 0xB4, 0xFB, 0x2B, 0x0D, 0x0F, 0xE4, 0x09, 0x08, + 0x04, 0x00, 0x38, 0x01, 0xF0, 0x08, 0xB6, 0x81, 0x44, 0x01, 0x05, 0x9A, 0xCE, 0x0E, 0x0F, 0xF0, + 0x32, 0xAE, 0xCC, 0x55, 0x03, 0x00, 0xAB, 0x39, 0xBF, 0xF0, 0x04, 0xB6, 0x9D, 0x3C, 0x0D, 0x0F, + 0x18, 0x01, 0x68, 0xEE, 0x10, 0xF0, 0x0C, 0x38, 0x01, 0xF0, 0x05, 0xB6, 0x8D, 0x50, 0x0A, 0x0B, + 0x10, 0x01, 0x99, 0x12, 0x0C, 0x0B, 0xF0, 0x03, 0xAD, 0x1B, 0x32, 0x03, 0x38, 0x01, 0xF3, 0xCE, + 0x0C, 0x03, 0x00, 0xF0, 0x29, 0x38, 0xA6, 0xF0, 0x09, 0x10, 0x01, 0x39, 0x12, 0xFB, 0x98, 0x3D, + 0x01, 0x05, 0xF0, 0x10, 0x10, 0x01, 0x38, 0xAA, 0xF0, 0x23, 0x68, 0x69, 0x0F, 0xF0, 0x12, 0x9B, + 0x56, 0x09, 0x05, 0xF8, 0x9A, 0x95, 0x0A, 0x03, 0xF0, 0x06, 0x38, 0x01, 0xFA, 0x6F, 0x57, 0x09, + 0x06, 0xF0, 0x20, 0x68, 0x6A, 0x01, 0xF0, 0x17, 0x9E, 0x0E, 0x0B, 0xF2, 0x69, 0xF0, 0x0A, 0xF0, + 0x10, 0x38, 0x01, 0xF4, 0x9E, 0x05, 0x00, 0xF0, 0x1E, 0xA6, 0x28, 0x60, 0x38, 0x01, 0xFF, 0x85, + 0x5D, 0x09, 0x06, 0x69, 0x4A, 0x08, 0xF0, 0x18, 0x30, 0x01, 0x3F, 0xAA, 0x0A, 0xF0, 0x19, 0x68, + 0x6D, 0x0D, 0xF0, 0x21, 0x38, 0x01, 0xF0, 0x22, 0x6A, 0xA6, 0x09, 0xF0, 0x18, 0x6B, 0x03, 0x02, + 0xF0, 0x13, 0x38, 0x01, 0xF0, 0x33, 0x3F, 0xD1, 0x13, 0xF0, 0x14, 0xA6, 0x0E, 0x53, 0x38, 0x01, + 0xF0, 0x44, 0x3F, 0xDD, 0x11, 0xF0, 0x12, 0xA6, 0xCD, 0x4D, 0x38, 0x01, 0xF0, 0x47, 0x38, 0xA9, + 0xF0, 0x10, 0x38, 0xA7, 0xF0, 0x63, 0x38, 0xA9, 0xF0, 0x10, 0x38, 0xA7, 0xF0, 0x65, 0x38, 0xA9, + 0xF0, 0x0E, 0xA5, 0x48, 0x43, 0x38, 0x01, 0xF0, 0x52, 0x3B, 0xF6, 0xF0, 0x0A, 0x3B, 0x43, 0xF0, + 0x61, 0x38, 0x01, 0x3D, 0x48, 0xF0, 0x08, 0xA6, 0x2E, 0x6D, 0x38, 0x01, 0xF0, 0x4F, 0xAF, 0x5D, + 0x2A, 0x0C, 0x6D, 0x38, 0x0A, 0xF0, 0x60, 0x38, 0x01, 0xF5, 0xA7, 0x75, 0x42, 0xA6, 0xAD, 0x29, + 0x38, 0x01, 0xF0, 0x50, 0xAF, 0x4D, 0x32, 0x0C, 0x3F, 0xD4, 0x07, 0xF0, 0x1A, 0x38, 0x01, 0xF0, + 0x38, 0x69, 0xF6, 0x10, 0xF0, 0x08, 0xA5, 0x36, 0x58, 0x38, 0x01, 0xF0, 0x53, 0xA7, 0x47, 0x4A, + 0x39, 0xF6, 0xF0, 0x6A, 0xAF, 0x1F, 0x3A, 0x09, 0x3C, 0x93, 0xF0, 0x6A, 0x6E, 0x09, 0xF0, 0x0A, + 0x3B, 0xEC, 0xF0, 0x6A, 0x38, 0xA7, 0xF0, 0x09, 0x3B, 0x45, 0xF0, 0x6A, 0x38, 0xA7, 0xF0, 0x0A, + 0x39, 0x4F, 0xF0, 0x69, 0x38, 0xA7, 0xF0, 0x0A, 0x39, 0x4F, 0xF0, 0x69, 0x38, 0xA7, 0xF0, 0x0B, + 0x39, 0x4F, 0xF0, 0x69, 0x3F, 0x75, 0x0C, 0xF0, 0x0B, 0x3B, 0xED, 0xF0, 0x68, 0x3F, 0x6F, 0x0E, + 0xF0, 0x0C, 0x3F, 0xB8, 0x0D, 0xF0, 0x5B, 0x38, 0x01, 0xF2, 0x3F, 0x44, 0x20, 0xF0, 0x0C, 0x3F, + 0x8B, 0x06, 0xF0, 0x68, 0x3A, 0x9D, 0xF0, 0x0A, 0x3F, 0x1E, 0x0B, 0xF0, 0x69, 0x3F, 0x69, 0x0E, + 0xF0, 0x0D, 0xA7, 0x5B, 0x4D, 0x38, 0x01, 0xF0, 0x44, 0x3F, 0xC5, 0x28, 0xF0, 0x0D, 0x39, 0xF7, + 0xF0, 0x67, 0x3F, 0x5D, 0x16, 0xF0, 0x0D, 0x39, 0xF7, 0xF0, 0x66, 0x3F, 0xCE, 0x26, 0xF0, 0x0E, + 0x3B, 0xEE, 0xF0, 0x66, 0x39, 0x4F, 0xF0, 0x0D, 0x6E, 0x0A, 0xF0, 0x67, 0x6E, 0x0E, 0xF0, 0x0F, + 0x6E, 0x04, 0xF0, 0x67, 0x6E, 0x03, 0xF0, 0x0E, 0x3A, 0x9F, 0xF0, 0x66, 0x3F, 0xE0, 0x35, 0xF0, + 0x0F, 0x3F, 0xC9, 0x0B, 0xF0, 0x65, 0x3F, 0x53, 0x12, 0xF0, 0x0F, 0x68, 0x01, 0x07, 0xF0, 0x66, + 0x3F, 0xF0, 0x18, 0xF0, 0x0E, 0x3D, 0x3E, 0xF0, 0x65, 0x39, 0xF7, 0xF0, 0x0F, 0x3B, 0x47, 0xF0, + 0x65, 0x3F, 0xBC, 0x2A, 0xF0, 0x0F, 0x3F, 0x23, 0x0B, 0xF0, 0x65, 0x3F, 0x9A, 0x21, 0xF0, 0x0F, + 0x3F, 0x4A, 0x14, 0xF0, 0x65, 0x3D, 0xE5, 0xF0, 0x0D, 0x3B, 0xEF, 0xF0, 0x67, 0x6E, 0x00, 0xF0, + 0x10, 0x6E, 0x0E, 0xF0, 0x65, 0x3F, 0xF0, 0x31, 0xF0, 0x10, 0x68, 0x01, 0x07, 0xF0, 0x65, 0x3F, + 0x52, 0x2F, 0xF0, 0x10, 0x68, 0x01, 0x07, 0xF0, 0x65, 0x3B, 0xEF, 0xF0, 0x0F, 0x38, 0xA8, 0xF0, + 0x65, 0x6E, 0x0B, 0xF0, 0x10, 0x6E, 0x02, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0x81, 0x6E, + 0x05, 0xF0, 0x8F, 0x6E, 0x06, 0xF0, 0xFF, 0xF0, 0x28, 0x3F, 0x88, 0x08, 0xF0, 0x10, 0x68, 0x01, + 0x07, 0xF0, 0x66, 0x3F, 0xBC, 0x26, 0xF0, 0x0F, 0x68, 0x01, 0x07, 0xF0, 0x66, 0x3F, 0x80, 0x0A, + 0xF0, 0x0F, 0x6E, 0x07, 0xF0, 0x66, 0x3C, 0x99, 0xF0, 0x0F, 0x6E, 0x0C, 0xF0, 0x66, 0x3B, 0x49, + 0xF0, 0x0F, 0x6E, 0x06, 0xF0, 0x8F, 0x38, 0xA8, 0xF0, 0x66, 0x6E, 0x04, 0xF0, 0x0F, 0x6E, 0x0B, + 0xF0, 0x67, 0x6E, 0x08, 0xF0, 0x8F, 0x6E, 0x09, 0xF0, 0x0F, 0x3D, 0xE9, 0xF0, 0x66, 0x3F, 0xB0, + 0x13, 0xF0, 0x0E, 0x3F, 0xF6, 0x16, 0xF0, 0x67, 0x3B, 0xF2, 0xF0, 0x0E, 0x68, 0x01, 0x07, 0xF0, + 0x68, 0x3D, 0xEB, 0xF0, 0x0D, 0x3F, 0xE5, 0x1A, 0xF0, 0x67, 0x39, 0x51, 0xF0, 0x0D, 0x6E, 0x10, + 0xF0, 0x8F, 0x3F, 0x2C, 0x1E, 0xF0, 0x68, 0x39, 0x51, 0xF0, 0x0C, 0x3B, 0xF1, 0xF0, 0x67, 0x3F, + 0xB5, 0x13, 0xF0, 0x0D, 0x3F, 0xF0, 0x18, 0xF0, 0x66, 0x0D, 0x44, 0x6E, 0x0A, 0xF0, 0x0C, 0x3F, + 0x37, 0x1C, 0xF0, 0x66, 0x39, 0xFA, 0xF0, 0x0E, 0x3F, 0x4C, 0x29, 0xF0, 0x67, 0x39, 0xFA, 0xF0, + 0x0D, 0x3F, 0xA6, 0x28, 0xF0, 0x6B, 0x3B, 0xF4, 0xF0, 0x09, 0x3F, 0x7F, 0x1F, 0xF0, 0x68, 0x0A, + 0xA3, 0x6E, 0x01, 0xF0, 0x0A, 0x3F, 0xA8, 0x28, 0xF0, 0x6B, 0x3B, 0x4C, 0xF0, 0x09, 0x3A, 0xA1, + 0xF0, 0x6A, 0x3F, 0x87, 0x3C, 0xF0, 0x0A, 0x3A, 0xA1, 0xF0, 0x6B, 0x00, 0xA9, 0x6E, 0x0D, 0xF0, + 0x07, 0x9E, 0x0D, 0x07, 0xF0, 0x70, 0x3A, 0xA4, 0xF0, 0x07, 0x3F, 0x8B, 0x08, 0xF0, 0x67, 0x20, + 0x01, 0xAF, 0x14, 0x32, 0x09, 0x3F, 0xE3, 0x07, 0xF0, 0x68, 0x28, 0x01, 0xA6, 0x63, 0x4C, 0x3C, + 0x9A, 0xF0, 0x6B, 0x18, 0x01, 0x3A, 0xA5, 0xF0, 0x04, 0x3F, 0x3B, 0x07, 0xF0, 0x69, 0x28, 0x01, + 0xA6, 0x92, 0xF7, 0x3F, 0xE0, 0x2F, 0xF0, 0x69, 0x38, 0x01, 0xAD, 0x73, 0x1A, 0x0E, 0x39, 0xF9, + 0xF0, 0x71, 0x08, 0x01, 0x68, 0xAA, 0x06, 0xF0, 0x01, 0x39, 0xF9, 0xF0, 0x71, 0x10, 0x01, 0xA5, + 0xC5, 0xDC, 0x3B, 0xF2, 0xF0, 0x70, 0x20, 0x01, 0x38, 0xA8, 0xFD, 0x6E, 0x0D, 0xF0, 0x77, 0xA5, + 0xFA, 0x41, 0x3F, 0x67, 0x12, 0xF0, 0x66, 0x38, 0x01, 0xF5, 0x3D, 0x48, 0xFF, 0x3F, 0xE4, 0x07, + 0xF0, 0x6D, 0x28, 0x01, 0xA5, 0x0B, 0x1D, 0x3F, 0xDD, 0x09, 0xF0, 0x6B, 0x28, 0x01, 0xA6, 0x5C, + 0x7E, 0x3D, 0x43, 0xF0, 0x73, 0x3D, 0xEC, 0xF0, 0x01, 0x3B, 0x4A, 0xF0, 0x73, 0xA6, 0x2D, 0x2A, + 0x3F, 0x18, 0x11, 0xF0, 0x68, 0x30, 0x01, 0xA6, 0x52, 0x54, 0x3F, 0x70, 0x10, 0xF0, 0x69, 0x28, + 0x01, 0xA6, 0x57, 0x37, 0x3F, 0x86, 0x0A, 0xF0, 0x6E, 0xA7, 0xA9, 0xA5, 0x3C, 0x9B, 0xF0, 0x6F, + 0x98, 0x01, 0x03, 0x00, 0xF0, 0x08, 0x3F, 0xE5, 0x07, 0xF0, 0x6D, 0xA7, 0xB2, 0x90, 0x39, 0x51, + 0xF0, 0x6D, 0x39, 0x4F, 0xF0, 0x06, 0x39, 0x51, 0xF0, 0x6D, 0x3F, 0x7B, 0x25, 0xF0, 0x09, 0x39, + 0x51, 0xF0, 0x6B, 0x39, 0x4F, 0xF0, 0x08, 0x39, 0x51, 0xF0, 0x6B, 0x3F, 0xCA, 0x26, 0xF0, 0x0B, + 0x3F, 0x54, 0x2D, 0xF0, 0x66, 0x3F, 0xA7, 0x19, 0xF0, 0x0F, 0x3F, 0xDF, 0x09, 0xF0, 0x67, 0x39, + 0x4F, 0xF0, 0x0B, 0x3F, 0x95, 0x06, 0xF0, 0x69, 0x3F, 0xEF, 0x1C, 0xF0, 0x0E, 0x6E, 0x08, 0xF0, + 0x66, 0x3F, 0xF5, 0x1A, 0xF0, 0x0E, 0x3F, 0x83, 0x36, 0xF0, 0x66, 0x3F, 0x98, 0x47, 0xF0, 0x10, + 0x3F, 0x25, 0x51, 0xFE, 0x38, 0x01, 0xF0, 0x4B, 0x3F, 0xCF, 0x24, 0xF0, 0x0F, 0x3B, 0x4B, 0xF0, + 0x64, 0x6F, 0xF8, 0x18, 0x0C, 0xF0, 0x0D, 0x20, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x61, 0x3B, 0x45, + 0xF0, 0x0E, 0x18, 0x01, 0x3F, 0xCC, 0x0F, 0xF0, 0x5F, 0x3F, 0x08, 0x5A, 0xF0, 0x16, 0x3F, 0x89, + 0x0A, 0xF0, 0x5D, 0x69, 0xF6, 0x09, 0xF0, 0x14, 0x08, 0x01, 0x6B, 0xF4, 0x0D, 0xF0, 0x5E, 0x39, + 0xF6, 0xF0, 0x14, 0x08, 0x01, 0x3F, 0x90, 0x08, 0xF0, 0x5B, 0x3B, 0xEC, 0xF0, 0x12, 0x28, 0x01, + 0x3F, 0xD4, 0x0D, 0xF0, 0x59, 0x69, 0xF6, 0x0C, 0xF0, 0x18, 0x08, 0x01, 0x6F, 0x39, 0x09, 0x0A, + 0xF0, 0x5A, 0xA7, 0x11, 0x61, 0x38, 0x01, 0xFC, 0x3F, 0xE8, 0x07, 0xF0, 0x57, 0x3F, 0xC0, 0x26, + 0xF0, 0x0F, 0x38, 0x01, 0xF5, 0x3C, 0x9D, 0xF0, 0x55, 0x3F, 0xD8, 0x07, 0xF0, 0x0F, 0x38, 0x01, + 0xF7, 0x3F, 0x97, 0x06, 0xF0, 0x53, 0x6A, 0x9D, 0x09, 0xF0, 0x1C, 0x18, 0x01, 0x3F, 0x91, 0x08, + 0xF0, 0x53, 0x3F, 0x2E, 0x1E, 0xF0, 0x09, 0x38, 0x01, 0xFF, 0x3F, 0x40, 0x07, 0xF0, 0x51, 0x3A, + 0x9D, 0xF0, 0x1E, 0x18, 0x01, 0x3D, 0x46, 0xF0, 0x4F, 0x3F, 0x38, 0x61, 0xF0, 0x26, 0x3F, 0x6B, + 0x14, 0xF0, 0x4D, 0x3F, 0xB0, 0x5A, 0xF0, 0x28, 0x3F, 0xDD, 0x0B, 0xF0, 0x4B, 0x6F, 0x1C, 0x0B, + 0x09, 0xF0, 0x12, 0x38, 0x01, 0xFE, 0x6F, 0x92, 0x08, 0x0A, 0xF0, 0x4B, 0x6D, 0xE1, 0x09, 0xF0, + 0x1E, 0x38, 0x01, 0xF4, 0x38, 0xA9, 0xF0, 0x49, 0x38, 0xA7, 0xF0, 0x2A, 0x38, 0xA9, 0xF0, 0x49, + 0x3F, 0xAF, 0x0F, 0xF0, 0x0C, 0x38, 0x01, 0xF0, 0x08, 0x38, 0xA9, 0xF0, 0x10, 0xE4, 0x0C, 0x06, + 0x08, 0x0B, 0x18, 0x01, 0x68, 0x34, 0x06, 0xF0, 0x11, 0x6D, 0x39, 0x09, 0xF0, 0x24, 0x38, 0x01, + 0xF4, 0x6F, 0x3C, 0x09, 0x0A, 0xF0, 0x0C, 0x9F, 0x5D, 0x57, 0x06, 0x0B, 0xF9, 0x98, 0x37, 0x01, + 0x0F, 0xF0, 0x0E, 0x69, 0xF5, 0x09, 0xF0, 0x2E, 0x20, 0x01, 0x3C, 0x9F, 0xF0, 0x06, 0x6F, 0x11, + 0x57, 0x06, 0xFF, 0x68, 0xAB, 0x04, 0xF0, 0x08, 0x3F, 0x41, 0x5F, 0xF0, 0x36, 0xAE, 0x0C, 0x1D, + 0x04, 0x9C, 0x57, 0x09, 0x0B, 0xF0, 0x05, 0x3F, 0x21, 0x74, 0xF4, 0x38, 0x01, 0xF6, 0x3F, 0x86, + 0x06, 0xF0, 0x24, 0x38, 0x01, 0xFA, 0xAD, 0x55, 0x22, 0x0D, 0x6B, 0x07, 0x06, 0xF0, 0x09, 0x68, + 0x3B, 0x03, 0xF0, 0x01, 0x39, 0xF4, 0xF0, 0x33, 0x28, 0x01, 0x69, 0x19, 0x02, 0xFB, 0x98, 0x6B, + 0x09, 0x08, 0xF0, 0x0F, 0x6F, 0xAB, 0x56, 0x0D, 0xFC, 0x6B, 0xE8, 0x0C, 0xF0, 0x30, 0x38, 0x01, + 0xF7, 0x3A, 0x6E, 0xF5, 0x3F, 0x3F, 0x59, 0xF0, 0x0C, 0x20, 0x01, 0x98, 0xE7, 0x04, 0x08, 0xF7, + 0x3F, 0xD0, 0x58, 0xF0, 0x06, 0x38, 0x01, 0xF0, 0x25, 0xC9, 0xC5, 0x0D, 0x03, 0x08, 0xF1, 0x04, + 0x81, 0x69, 0xB5, 0x0F, 0xF0, 0x19, 0xE5, 0x0D, 0x04, 0x0B, 0x08, 0x06, 0x08, 0x01, 0x99, 0xF1, + 0x0B, 0x0F, 0xF0, 0x3F, 0x38, 0x01, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, + 0xF0, 0xFF, 0xF1, 0xE2, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + Index: branches/zenith432/i386/boot2/options.c =================================================================== --- branches/zenith432/i386/boot2/options.c (revision 2876) +++ branches/zenith432/i386/boot2/options.c (revision 2877) @@ -33,9 +33,9 @@ #include "modules.h" #if DEBUG -#define DBG(x...) printf(x) + #define DBG(x...) printf(x) #else -#define DBG(x...) msglog(x) + #define DBG(x...) msglog(x) #endif char gMacOSVersion[OSVERSTRLEN]; @@ -813,7 +813,7 @@ // ensure we're in graphics mode if gui is setup if (firstRun && gui.initialised && bootArgs->Video.v_display == VGA_TEXT_MODE) { - setVideoMode(GRAPHICS_MODE, 0); + setVideoMode( GRAPHICS_MODE ); } // Clear command line boot arguments @@ -1131,7 +1131,7 @@ { if (bootArgs->Video.v_display != VGA_TEXT_MODE) { - setVideoMode(VGA_TEXT_MODE, 0); + setVideoMode( VGA_TEXT_MODE ); setCursorPosition(0, 0, 0); clearScreenRows(0, kScreenLastRow); @@ -1160,7 +1160,7 @@ else { gui.redraw = true; - setVideoMode(GRAPHICS_MODE, 0); + setVideoMode( GRAPHICS_MODE ); updateVRAM(); updateGraphicBootPrompt(); } Index: branches/zenith432/i386/config/lxdialog/dialog.h =================================================================== --- branches/zenith432/i386/config/lxdialog/dialog.h (revision 2876) +++ branches/zenith432/i386/config/lxdialog/dialog.h (revision 2877) @@ -163,7 +163,7 @@ /* item list manipulation for lxdialog use */ #define MAXITEMSTR 200 struct dialog_item { - char str[MAXITEMSTR]; /* promtp displayed */ + char str[MAXITEMSTR]; /* prompt displayed */ char tag; void *data; /* pointer to menu item - used by menubox+checklist */ int selected; /* Set to 1 by dialog_*() function if selected. */ Index: branches/zenith432/i386/config/lxdialog/check-lxdialog.sh =================================================================== --- branches/zenith432/i386/config/lxdialog/check-lxdialog.sh (revision 2876) +++ branches/zenith432/i386/config/lxdialog/check-lxdialog.sh (revision 2877) @@ -38,7 +38,7 @@ # Check if we can link to ncurses check() { - $cc -xc - -o $tmp 2>/dev/null <<'EOF' + $cc -x c - -o $tmp 2>/dev/null <<'EOF' #include CURSES_LOC main() {} EOF Index: branches/zenith432/i386/modules/Resolution/915resolution.c =================================================================== --- branches/zenith432/i386/modules/Resolution/915resolution.c (revision 2876) +++ branches/zenith432/i386/modules/Resolution/915resolution.c (revision 2877) @@ -752,10 +752,10 @@ modeline->x1 = modeline->x2 = (uint16_t)(x-1); modeline->y1 = modeline->y2 = (uint16_t)(y-1); - gtf_timings(x, y, freqs[j], &modeline->clock, - &modeline->hsyncstart, &modeline->hsyncend, - &modeline->hblank, &modeline->vsyncstart, - &modeline->vsyncend, &modeline->vblank); + gtf_timings(x, y, freqs[j], (void *)&modeline->clock, + (void *)&modeline->hsyncstart, (void *)&modeline->hsyncend, + (void *)&modeline->hblank, (void *)&modeline->vsyncstart, + (void *)&modeline->vsyncend, (void *)&modeline->vblank); if (htotal) { @@ -794,10 +794,10 @@ modeline->x1 = modeline->x2 = (uint16_t)(x-1); modeline->y1 = modeline->y2 = (uint16_t)(y-1); - gtf_timings(x, y, freqs[j], &modeline->clock, - &modeline->hsyncstart, &modeline->hsyncend, - &modeline->hblank, &modeline->vsyncstart, - &modeline->vsyncend, &modeline->vblank); + gtf_timings(x, y, freqs[j], (void *)&modeline->clock, + (void *)&modeline->hsyncstart, (void *)&modeline->hsyncend, + (void *)&modeline->hblank, (void *)&modeline->vsyncstart, + (void *)&modeline->vsyncend, (void *)&modeline->vblank); if (htotal) { modeline->htotal = (uint16_t)htotal; Index: branches/zenith432/package/slimpkg.sh =================================================================== --- branches/zenith432/package/slimpkg.sh (revision 2876) +++ branches/zenith432/package/slimpkg.sh (revision 2877) @@ -353,7 +353,7 @@ perl -i -p -e "s/%PKGDEV%/${pkgdev}/g" `find "${1}/${packagename}/Resources" -type f` stage=${stage/RC/Release Candidate } - stage=${stage/FINAL/2.0 Final} + stage=${stage/FINAL/2.4 Final} perl -i -p -e "s/%CHAMELEONSTAGE%/${stage}/g" `find "${1}/${packagename}/Resources" -type f` find "${1}/${packagename}" -name '.DS_Store' -delete Index: branches/zenith432/package/bin/clean_po_headers.sh =================================================================== --- branches/zenith432/package/bin/clean_po_headers.sh (revision 2876) +++ branches/zenith432/package/bin/clean_po_headers.sh (revision 2877) @@ -10,7 +10,7 @@ lang=${pofile##*/} lang=${lang%.*} gsed -i 's/; charset=CHARSET/; charset=UTF-8/g' $pofile - gsed -i 's/^\"Project-Id-Version: PACKAGE VERSION/\"Project-Id-Version: Chameleon 2.3/' $pofile + gsed -i 's/^\"Project-Id-Version: PACKAGE VERSION/\"Project-Id-Version: Chameleon 2.4/' $pofile gsed -i "s/^\"Language:.*\"/\"Language: $lang\\\n\"/" $pofile gsed -i "s/^\"Language-Team:.*\"/\"Language-Team: $lang <$lang@li.org>\\\n\"/" $pofile done Index: branches/zenith432/package/buildpkg.sh =================================================================== --- branches/zenith432/package/buildpkg.sh (revision 2876) +++ branches/zenith432/package/buildpkg.sh (revision 2877) @@ -71,7 +71,7 @@ # stage CHAMELEON_STAGE=${CHAMELEON_VERSION##*-} CHAMELEON_STAGE=${CHAMELEON_STAGE/RC/Release Candidate } -CHAMELEON_STAGE=${CHAMELEON_STAGE/FINAL/2.3 Final} +CHAMELEON_STAGE=${CHAMELEON_STAGE/FINAL/2.4 Final} declare -r CHAMELEON_STAGE declare -r CHAMELEON_REVISION=$( grep I386BOOT_CHAMELEONREVISION vers.h | awk '{ print $3 }' | tr -d '\"' ) Index: branches/zenith432/package/po/ar.po =================================================================== --- branches/zenith432/package/po/ar.po (revision 2876) +++ branches/zenith432/package/po/ar.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 19:44-0000\n" Index: branches/zenith432/package/po/en.po =================================================================== --- branches/zenith432/package/po/en.po (revision 2876) +++ branches/zenith432/package/po/en.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-04-26 18:46+0100\n" "PO-Revision-Date: 2015-11-02 15:30+0000\n" Index: branches/zenith432/package/po/bs.po =================================================================== --- branches/zenith432/package/po/bs.po (revision 2876) +++ branches/zenith432/package/po/bs.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 18:17-0000\n" Index: branches/zenith432/package/po/cs.po =================================================================== --- branches/zenith432/package/po/cs.po (revision 2876) +++ branches/zenith432/package/po/cs.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 18:19-0000\n" "Last-Translator: ErmaC \n" Index: branches/zenith432/package/po/mk.po =================================================================== --- branches/zenith432/package/po/mk.po (revision 2876) +++ branches/zenith432/package/po/mk.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 18:32-0000\n" Index: branches/zenith432/package/po/es.po =================================================================== --- branches/zenith432/package/po/es.po (revision 2876) +++ branches/zenith432/package/po/es.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-08-12 13:38+0000\n" Index: branches/zenith432/package/po/fr.po =================================================================== --- branches/zenith432/package/po/fr.po (revision 2876) +++ branches/zenith432/package/po/fr.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-04-26 18:46+0100\n" "PO-Revision-Date: 2015-12-08 11:49+0000\n" Index: branches/zenith432/package/po/nl.po =================================================================== --- branches/zenith432/package/po/nl.po (revision 2876) +++ branches/zenith432/package/po/nl.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-04-26 18:46+0100\n" "PO-Revision-Date: 2015-11-08 19:55+0000\n" Index: branches/zenith432/package/po/ko.po =================================================================== --- branches/zenith432/package/po/ko.po (revision 2876) +++ branches/zenith432/package/po/ko.po (revision 2877) @@ -4,7 +4,7 @@ # FIRST AUTHOR , YEAR. msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-04-26 18:46+0100\n" "PO-Revision-Date: 2016-04-26 17:18+0000\n" Index: branches/zenith432/package/po/hr.po =================================================================== --- branches/zenith432/package/po/hr.po (revision 2876) +++ branches/zenith432/package/po/hr.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 18:29-0000\n" Index: branches/zenith432/package/po/pl.po =================================================================== --- branches/zenith432/package/po/pl.po (revision 2876) +++ branches/zenith432/package/po/pl.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 18:32-0000\n" Index: branches/zenith432/package/po/it.po =================================================================== --- branches/zenith432/package/po/it.po (revision 2876) +++ branches/zenith432/package/po/it.po (revision 2877) @@ -4,7 +4,7 @@ # FIRST AUTHOR , YEAR. msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-05-23 13:54-0000\n" @@ -66,9 +66,7 @@ #. type: Content of:

#: Resources/templates/Welcome.html:36 Resources/templates/Conclusion.html:30 msgid "Package built by: %WHOBUILD%, language translated by: blackosx" -msgstr "" -"Pacchetto compilato da: %WHOBUILD%, tradotto in Italiano da: ErmaC, scrax, " -"Micky1979, Marchrius, Gianfranco Minischetti" +msgstr "Pacchetto compilato da: %WHOBUILD%, tradotto in Italiano da: ErmaC, scrax, Micky1979, Marchrius, Gianfranco Minischetti" #. type: Content of:

#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31 @@ -77,14 +75,8 @@ #. type: Content of:

#: Resources/templates/Description.html:18 -msgid "" -"Chameleon is a boot loader built using a combination of components which " -"evolved from the development of David Elliott's fake EFI implementation " -"added to Apple's boot-132 project." -msgstr "" -"Chameleon è un boot loader costruito utilizzando una combinazione di " -"componenti che si sono evoluti dallo sviluppo dell'implementazione del falso " -"EFI aggiunto al progetto boot-123 di Apple da parte di David Elliott." +msgid "Chameleon is a boot loader built using a combination of components which evolved from the development of David Elliott's fake EFI implementation added to Apple's boot-132 project." +msgstr "Chameleon è un boot loader costruito utilizzando una combinazione di componenti che si sono evoluti dallo sviluppo dell'implementazione del falso EFI aggiunto al progetto boot-123 di Apple da parte di David Elliott." #. type: Content of:

#: Resources/templates/Description.html:20 @@ -94,24 +86,17 @@ #. type: Content of:

#: Resources/templates/Description.html:22 msgid "- Fully customizable GUI to bring some color to the Darwin Bootloader." -msgstr "" -"- Interfaccia grafica completamente personalizzabile per dare maggiori " -"colori al Darwin Bootloader." +msgstr "- Interfaccia grafica completamente personalizzabile per dare maggiori colori al Darwin Bootloader." #. type: Content of:

#: Resources/templates/Description.html:23 -msgid "" -"- Load a ramdisk to directly boot retail DVDs without additional programs." -msgstr "" -"- Avviare DVD retail semplicemente caricando una immagine ramdisk senza " -"l'utilizzo di programmi aggiuntivi." +msgid "- Load a ramdisk to directly boot retail DVDs without additional programs." +msgstr "- Avviare DVD retail semplicemente caricando una immagine ramdisk senza l'utilizzo di programmi aggiuntivi." #. type: Content of:

#: Resources/templates/Description.html:24 msgid "- Hibernation. Enjoy resuming your Mac OS X with a preview image." -msgstr "" -"- Ibernazione. Godetevi nel risvegliare il vostro Mac OS X con un'immagine " -"di anteprima." +msgstr "- Ibernazione. Godetevi nel risvegliare il vostro Mac OS X con un'immagine di anteprima." #. type: Content of:

#: Resources/templates/Description.html:25 @@ -120,18 +105,13 @@ #. type: Content of:

#: Resources/templates/Description.html:26 -msgid "" -"- DSDT override to use a modified fixed DSDT which can solve several issues." -msgstr "" -"- Sovrascrittura della tabella DSDT, potendo selezionare una ottimizzata che " -"risolve svariate problematiche." +msgid "- DSDT override to use a modified fixed DSDT which can solve several issues." +msgstr "- Sovrascrittura della tabella DSDT, potendo selezionare una ottimizzata che risolve svariate problematiche." #. type: Content of:

#: Resources/templates/Description.html:27 msgid "- Device Property Injection via device-properties string." -msgstr "" -"- Iniezione delle Proprità delle Periferiche con stringhe EFI in device-" -"properties." +msgstr "- Iniezione delle Proprità delle Periferiche con stringhe EFI in device-properties." #. type: Content of:

#: Resources/templates/Description.html:28 @@ -141,8 +121,7 @@ #. type: Content of:

#: Resources/templates/Description.html:29 msgid "- Automatic FSB detection code even for recent AMD CPUs." -msgstr "" -"- Riconoscimento automatico della frequenza anche sui recenti processori AMD." +msgstr "- Riconoscimento automatico della frequenza anche sui recenti processori AMD." #. type: Content of:

#: Resources/templates/Description.html:30 @@ -166,8 +145,7 @@ #. type: Content of:

#: Resources/templates/Description.html:34 -msgid "" -"- Automatic P-State & C-State generation for native power management." +msgid "- Automatic P-State & C-State generation for native power management." msgstr "- Generazione automatica dei P-State e C-State." #. type: Content of:

@@ -212,12 +190,8 @@ #. type: Content of:

#: Resources/templates/Conclusion.html:26 -msgid "" -" to find out if the installation was successful and keep it for a " -"record of what was done." -msgstr "" -" per vedere se l'installazione é avvenuta con successo e vedere le " -"operazioni che sono state eseguite." +msgid " to find out if the installation was successful and keep it for a record of what was done." +msgstr " per vedere se l'installazione é avvenuta con successo e vedere le operazioni che sono state eseguite." # 80% #. type: Content of:

@@ -302,6 +276,10 @@ "Skipping all stages permit you to leave as is already working boot sectors, especially usefull with 4k drives.\n" "boot is always copied to the target partition when you are skipping one or more stages." msgstr "" +"Qui è possibile scegliere se ignorare l'installazione del bootloader completamente o parzialmente.\n" +"Questo può essere utile se si desidera scrivere in Extra, o saltare alcune fasi (0,1 e attivazione della partizione di destinazione).\n" +"Saltare tutte le fasi ti permette di lasciare come sono i settori di avvio, soprattutto utile con unità 4K.\n" +"il boot viene sempre copiato nella partizione di destinazione quando si salta una o più fasi." #. type: "SkipStage0_title" #: Resources/templates/Localizable.strings:34 @@ -316,6 +294,8 @@ "Avoid writing stage 0 to the target disk.\n" "Stage 2 is always copied/replaced." msgstr "" +"Evitare di scrivere stadio 0 sul disco di destinazione.\n" +"Fase 2 viene sempre copiata/sostituita." #. type: "SkipStage1_title" #: Resources/templates/Localizable.strings:38 @@ -330,6 +310,8 @@ "Avoid writing stage 1 to the partition boot sector.\n" "Stage 2 is always copied/replaced." msgstr "" +"Evitare la scrittura della fase 1 per il settore di avvio della partizione.\n" +"Fase 2 viene sempre copiato/sostituito." #. type: "SkipActivePartition_title" #: Resources/templates/Localizable.strings:42 @@ -345,6 +327,9 @@ "Some old motherboards have a bad implementation of GPT in bios and they can not find partitions if marked active unger Guid Partition Table.\n" "Stage 2 is always copied/replaced." msgstr "" +"Impedisce l'attivazione della partizione di destinazione.\n" +"Alcune vecchie schede madri non hanno una buona implementazione GPT nel bios e non riescono a trovare le partizioni se contrassegnate attive sotto Guid Partition Table.\n" +"Fase 2 viene sempre copiato/sostituito." #. type: "Standard_title" #: Resources/templates/Localizable.strings:47 @@ -1275,97 +1260,97 @@ #: Resources/templates/Localizable.strings:298 #, no-wrap msgid "CRS_ALLOW_UNTRUSTED_KEXTS" -msgstr "" +msgstr "CRS_ALLOW_UNTRUSTED_KEXTS" #. type: "Crs1_description" #: Resources/templates/Localizable.strings:299 #, no-wrap msgid "Kext signing: Introduced in 10.9, enhanced in 10.10 (kext signing required for all kexts), now become part of rootless(SIP)." -msgstr "" +msgstr "Firma per gli Kext: introdotta in 10.9, migliorato in 10.10 (la firma per gli kext é necessaria per tutti gli kexts), ora diventato parte del rootless(SIP)." #. type: "Crs2_title" #: Resources/templates/Localizable.strings:301 #, no-wrap msgid "CRS_ALLOW_UNRESTRICTED_FS" -msgstr "" +msgstr "CRS_ALLOW_UNRESTRICTED_FS" #. type: "Crs2_description" #: Resources/templates/Localizable.strings:302 #, no-wrap msgid "Filesystem protection: Important system files are protected and cannot be modified." -msgstr "" +msgstr "Protezione del file System: i file di sistema importanti sono protetti e non possono essere modificati." #. type: "Crs4_title" #: Resources/templates/Localizable.strings:304 #, no-wrap msgid "CRS_ALLOW_TASK_FOR_PID" -msgstr "" +msgstr "CRS_ALLOW_TASK_FOR_PID" #. type: "Crs4_description" #: Resources/templates/Localizable.strings:305 #, no-wrap msgid "Disable CRS_ALLOW_TASK_FOR_PID" -msgstr "" +msgstr "Disattiva CRS_ALLOW_TASK_FOR_PID" #. type: "Crs8_title" #: Resources/templates/Localizable.strings:307 #, no-wrap msgid "CRS_ALLOW_KERNEL_DEBUGGER" -msgstr "" +msgstr "CRS_ALLOW_KERNEL_DEBUGGER" #. type: "Crs8_description" #: Resources/templates/Localizable.strings:308 #, no-wrap msgid "Disable CRS_ALLOW_KERNEL_DEBUGGER" -msgstr "" +msgstr "Disattiva CRS_ALLOW_KERNEL_DEBUGGER" #. type: "Crs16_title" #: Resources/templates/Localizable.strings:310 #, no-wrap msgid "CRS_ALLOW_APPLE_INTERNAL" -msgstr "" +msgstr "CRS_ALLOW_APPLE_INTERNAL" #. type: "Crs16_description" #: Resources/templates/Localizable.strings:311 #, no-wrap msgid "Disable CRS_ALLOW_APPLE_INTERNAL" -msgstr "" +msgstr "Disattiva CRS_ALLOW_APPLE_INTERNAL" #. type: "Crs32_title" #: Resources/templates/Localizable.strings:313 #, no-wrap msgid "CRS_ALLOW_UNRESTRICTED_DTRACE" -msgstr "" +msgstr "CRS_ALLOW_UNRESTRICTED_DTRACE" #. type: "Crs32_description" #: Resources/templates/Localizable.strings:314 #, no-wrap msgid "Disable CRS_ALLOW_UNRESTRICTED_DTRACE" -msgstr "" +msgstr "Disattiva CRS_ALLOW_UNRESTRICTED_DTRACE" #. type: "Crs64_title" #: Resources/templates/Localizable.strings:316 #, no-wrap msgid "CRS_ALLOW_UNRESTRICTED_NVRAM" -msgstr "" +msgstr "CRS_ALLOW_UNRESTRICTED_NVRAM" #. type: "Crs64_description" #: Resources/templates/Localizable.strings:317 #, no-wrap msgid "Disable CRS_ALLOW_UNRESTRICTED_NVRAM" -msgstr "" +msgstr "Disattiva CRS_ALLOW_UNRESTRICTED_NVRAM" #. type: "Crs128_title" #: Resources/templates/Localizable.strings:319 #, no-wrap msgid "CRS_ALLOW_DEVICE_CONFIGURATION" -msgstr "" +msgstr "CRS_ALLOW_DEVICE_CONFIGURATION" #. type: "Crs128_description" #: Resources/templates/Localizable.strings:320 #, no-wrap msgid "Disable CRS_ALLOW_DEVICE_CONFIGURATION" -msgstr "" +msgstr "Disattiva CRS_ALLOW_DEVICE_CONFIGURATION" #. type: "HDAULayoutIDx01_title" #: Resources/templates/Localizable.strings:324 @@ -3579,7 +3564,7 @@ #: Resources/templates/Localizable.strings:973 #, no-wrap msgid "Patch the cpuid_family address to remove the _cpuid_set_info _panic and _tsc_init _panic. For unsupported CPUs" -msgstr "" +msgstr "Patch per l'indirizzo cpuid_family per rimuovere _cpuid_set_info _panic e _tsc_init _panic. Per le CPU non supportate" #. type: "KernelSSE3_title" #: Resources/templates/Localizable.strings:976 @@ -3591,7 +3576,7 @@ #: Resources/templates/Localizable.strings:977 #, no-wrap msgid "Patch to enable more SSE3 instructions on older CPUs to run newer OSes." -msgstr "" +msgstr "Patch per abilitare ulteriori istruzioni SSE3 sulle vecchie CPU per funzionare su sistemi operativi più recenti." #. type: "Themes_title" #: Resources/templates/Localizable.strings:982 @@ -3618,60 +3603,34 @@ #~ msgstr "Scegli un AAPL,ig-platform-id da usare per la tua Intel HD 5000." #~ msgid "Set 0000260c for Intel HD5000 (Mobile) AAPL,ig-platform-id." -#~ msgstr "" -#~ "Imposta l'AAPL,ig-platform-id a 0000260c per schede grafiche Intel HD5000 " -#~ "(Mobile)." +#~ msgstr "Imposta l'AAPL,ig-platform-id a 0000260c per schede grafiche Intel HD5000 (Mobile)." #~ msgid "Install Type" #~ msgstr "Tipo di installazione" -#~ msgid "" -#~ "Choose to perform a new installation or upgrade an existing installation." -#~ msgstr "" -#~ "Scegli se fare una nuova installazione o aggiornare una già esistente." +#~ msgid "Choose to perform a new installation or upgrade an existing installation." +#~ msgstr "Scegli se fare una nuova installazione o aggiornare una già esistente." #~ msgid "New Installation" #~ msgstr "Nuova Installazione" -#~ msgid "" -#~ "Backup an existing /Extra folder, if found on the target partition. A new " -#~ "one will be created if any options are chosen from the installer, other " -#~ "than the Bootloader." -#~ msgstr "" -#~ "Salva una cartella /Extra, se trovata sulla partizione destinazione. Una " -#~ "nuova verrà creata se scegliete una opzione dall'installer, oltre che al " -#~ "Bootloader." +#~ msgid "Backup an existing /Extra folder, if found on the target partition. A new one will be created if any options are chosen from the installer, other than the Bootloader." +#~ msgstr "Salva una cartella /Extra, se trovata sulla partizione destinazione. Una nuova verrà creata se scegliete una opzione dall'installer, oltre che al Bootloader." #~ msgid "Upgrade" #~ msgstr "Aggiornamento" -#~ msgid "" -#~ "Merge an existing /Extra folder, if found on the target, with any options " -#~ "chosen from the installer, other than the Bootloader. The original /Extra " -#~ "folder will be backed up." -#~ msgstr "" -#~ "Fonde una cartella /Extra esistente, se trovata sulla partizione " -#~ "destinazione, con qualsiasi opzione scelta nell'installer, oltre al " -#~ "Bootloader." +#~ msgid "Merge an existing /Extra folder, if found on the target, with any options chosen from the installer, other than the Bootloader. The original /Extra folder will be backed up." +#~ msgstr "Fonde una cartella /Extra esistente, se trovata sulla partizione destinazione, con qualsiasi opzione scelta nell'installer, oltre al Bootloader." #~ msgid "EFI" #~ msgstr "Partizione EFI" -#~ msgid "" -#~ "Install Chameleon's files to the normally hidden EFI system partition " -#~ "using either boot0 or boot0md depending on your system and without " -#~ "destroying any existing Windows installation if you have one." -#~ msgstr "" -#~ "Installa Chameleon nella partizione EFI (Normalmente nascosta), usando " -#~ "boot0 o boot0md dipende dal vostro sistema e senza compromettere pre-" -#~ "esistenti installazioni di Windows(Se voi ne possedete una)." +#~ msgid "Install Chameleon's files to the normally hidden EFI system partition using either boot0 or boot0md depending on your system and without destroying any existing Windows installation if you have one." +#~ msgstr "Installa Chameleon nella partizione EFI (Normalmente nascosta), usando boot0 o boot0md dipende dal vostro sistema e senza compromettere pre-esistenti installazioni di Windows(Se voi ne possedete una)." -#~ msgid "" -#~ "This module permits the user to define the keyboard key mappings. This " -#~ "module and associated keymaps are installed by default." -#~ msgstr "" -#~ "Questo modulo permette all'utente di definire la mappatura della propria " -#~ "tastiera." +#~ msgid "This module permits the user to define the keyboard key mappings. This module and associated keymaps are installed by default." +#~ msgstr "Questo modulo permette all'utente di definire la mappatura della propria tastiera." #~ msgid "Utilities" #~ msgstr "Utilitá" @@ -3686,9 +3645,7 @@ #~ msgstr "Installa il Pannello preferenze di Chameleon." #~ msgid "Copies an example smbios.plist in /Extra/Configuration." -#~ msgstr "" -#~ "Copia o sovrascrive il file smbios.plist in /Extra/Configuration con uno " -#~ "di esempio" +#~ msgstr "Copia o sovrascrive il file smbios.plist in /Extra/Configuration con uno di esempio" #~ msgid "Documentation" #~ msgstr "Documentazione" Index: branches/zenith432/package/po/hu.po =================================================================== --- branches/zenith432/package/po/hu.po (revision 2876) +++ branches/zenith432/package/po/hu.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 18:30-0000\n" Index: branches/zenith432/package/po/chameleon.pot =================================================================== --- branches/zenith432/package/po/chameleon.pot (revision 2876) +++ branches/zenith432/package/po/chameleon.pot (revision 2877) @@ -6,7 +6,7 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "POT-Creation-Date: 2016-04-26 18:46+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" Index: branches/zenith432/package/po/ro.po =================================================================== --- branches/zenith432/package/po/ro.po (revision 2876) +++ branches/zenith432/package/po/ro.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-04-26 18:46+0100\n" "PO-Revision-Date: 2015-11-02 15:22+0000\n" Index: branches/zenith432/package/po/ca.po =================================================================== --- branches/zenith432/package/po/ca.po (revision 2876) +++ branches/zenith432/package/po/ca.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 18:18-0000\n" Index: branches/zenith432/package/po/pt.po =================================================================== --- branches/zenith432/package/po/pt.po (revision 2876) +++ branches/zenith432/package/po/pt.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-04-26 18:46+0100\n" "PO-Revision-Date: 2016-04-26 17:25+0000\n" @@ -1293,7 +1293,10 @@ #: Resources/templates/Localizable.strings:299 #, no-wrap msgid "Kext signing: Introduced in 10.9, enhanced in 10.10 (kext signing required for all kexts), now become part of rootless(SIP)." -msgstr "Kext assinatura: Introduzido em 10,9, reforçada em 10,10 (assinatura kext necessária para todas as kexts), agora se tornou parte de desenraizada (SIP)." +msgstr "" +"Kext assinatura: Introduzido em 10,9, reforçada em 10,10 (assinatura kext " +"necessária para todas as kexts), agora se tornou parte de desenraizada " +"(SIP)." #. type: "Crs2_title" #: Resources/templates/Localizable.strings:301 @@ -1305,7 +1308,9 @@ #: Resources/templates/Localizable.strings:302 #, no-wrap msgid "Filesystem protection: Important system files are protected and cannot be modified." -msgstr "Proteção do sistema de arquivos: arquivos de sistema importantes são protegidos e não pode ser modificado." +msgstr "" +"Proteção do sistema de arquivos: arquivos de sistema importantes são " +"protegidos e não pode ser modificado." #. type: "Crs4_title" #: Resources/templates/Localizable.strings:304 @@ -3579,7 +3584,9 @@ #: Resources/templates/Localizable.strings:969 #, no-wrap msgid "Patch for Haswell \\\"E\\\" and \\\"ULT\\\" support on older OSes." -msgstr "Patch para Haswell \\\"E\\\" e support \\\"ULT\\ em sistemas operacionais mais antigos." +msgstr "" +"Patch para Haswell \\\"E\\\" e support \\\"ULT\\ em sistemas operacionais mais " +"antigos." #. type: "KernelcpuFamily_title" #: Resources/templates/Localizable.strings:972 @@ -3591,7 +3598,9 @@ #: Resources/templates/Localizable.strings:973 #, no-wrap msgid "Patch the cpuid_family address to remove the _cpuid_set_info _panic and _tsc_init _panic. For unsupported CPUs" -msgstr "Corrigir o endereço cpuid_family para remover o _cpuid_set_info _panic e _tsc_init _panic. Para CPUs sem suporte" +msgstr "" +"Corrigir o endereço cpuid_family para remover o _cpuid_set_info _panic e " +"_tsc_init _panic. Para CPUs sem suporte" #. type: "KernelSSE3_title" #: Resources/templates/Localizable.strings:976 @@ -3603,7 +3612,9 @@ #: Resources/templates/Localizable.strings:977 #, no-wrap msgid "Patch to enable more SSE3 instructions on older CPUs to run newer OSes." -msgstr "Patch para permitir mais instruções SSE3 em CPUs mais velhos para executar sistemas operacionais mais recentes." +msgstr "" +"Patch para permitir mais instruções SSE3 em CPUs mais velhos para executar " +"sistemas operacionais mais recentes." #. type: "Themes_title" #: Resources/templates/Localizable.strings:982 Index: branches/zenith432/package/po/pt-BR.po =================================================================== --- branches/zenith432/package/po/pt-BR.po (revision 2876) +++ branches/zenith432/package/po/pt-BR.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-04-26 18:46+0100\n" "PO-Revision-Date: 2016-04-26 17:30+0000\n" @@ -68,7 +68,8 @@ #: Resources/templates/Welcome.html:36 Resources/templates/Conclusion.html:30 msgid "Package built by: %WHOBUILD%, language translated by: blackosx" msgstr "" -"Pacote construída por:% WHOBUILD%, língua traduzida por: artur-pt e FurtiF" +"Pacote construída por:% WHOBUILD%, língua traduzida por: oldnapalm, kyndder, " +"artur-pt e FurtiF" #. type: Content of:

#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31 @@ -1293,7 +1294,10 @@ #: Resources/templates/Localizable.strings:299 #, no-wrap msgid "Kext signing: Introduced in 10.9, enhanced in 10.10 (kext signing required for all kexts), now become part of rootless(SIP)." -msgstr "Kext assinatura: Introduzido em 10,9, reforçada em 10,10 (assinatura kext necessária para todas as kexts), agora se tornou parte de desenraizada (SIP)." +msgstr "" +"Kext assinatura: Introduzido em 10,9, reforçada em 10,10 (assinatura kext " +"necessária para todas as kexts), agora se tornou parte de desenraizada " +"(SIP)." #. type: "Crs2_title" #: Resources/templates/Localizable.strings:301 @@ -1305,7 +1309,9 @@ #: Resources/templates/Localizable.strings:302 #, no-wrap msgid "Filesystem protection: Important system files are protected and cannot be modified." -msgstr "Proteção do sistema de arquivos: arquivos de sistema importantes são protegidos e não pode ser modificado." +msgstr "" +"Proteção do sistema de arquivos: arquivos de sistema importantes são " +"protegidos e não pode ser modificado." #. type: "Crs4_title" #: Resources/templates/Localizable.strings:304 @@ -3173,7 +3179,11 @@ #: Resources/templates/Localizable.strings:823 #, no-wrap msgid "Rootless is a new feature introduced in OS X 10.11 (El Capitan), and it disallows modifying system files. To by-passing this restriction, this strict feature can be disabled by adding a 'rootless=0' boot arg. ('rootless=1' enable it)" -msgstr "Rootless é um novo recurso introduzido no OS X 10.11 (El Capitan), e ele não permite modificações nos arquivos do sistema. Para contornar esta restrição, esse recurso pode ser desativado adicionando um 'rootless = 0' boot arg. ('rootless = 1' habilitá-lo)" +msgstr "" +"Rootless é um novo recurso introduzido no OS X 10.11 (El Capitan), e ele não " +"permite modificações nos arquivos do sistema. Para contornar esta " +"restrição, esse recurso pode ser desativado adicionando um 'rootless = 0' " +"boot arg. ('rootless = 1' habilitá-lo)" #. type: "Dart0_title" #: Resources/templates/Localizable.strings:825 @@ -3579,7 +3589,9 @@ #: Resources/templates/Localizable.strings:969 #, no-wrap msgid "Patch for Haswell \\\"E\\\" and \\\"ULT\\\" support on older OSes." -msgstr "Patch para Haswell \\\"E\\\" e support \\\"ULT\\ em sistemas operacionais mais antigos." +msgstr "" +"Patch para Haswell \\\"E\\\" e support \\\"ULT\\ em sistemas operacionais mais " +"antigos." #. type: "KernelcpuFamily_title" #: Resources/templates/Localizable.strings:972 @@ -3591,7 +3603,9 @@ #: Resources/templates/Localizable.strings:973 #, no-wrap msgid "Patch the cpuid_family address to remove the _cpuid_set_info _panic and _tsc_init _panic. For unsupported CPUs" -msgstr "Corrigir o endereço cpuid_family para remover o _cpuid_set_info _panic e _tsc_init _panic. Para CPUs sem suporte" +msgstr "" +"Corrigir o endereço cpuid_family para remover o _cpuid_set_info _panic e " +"_tsc_init _panic. Para CPUs sem suporte" #. type: "KernelSSE3_title" #: Resources/templates/Localizable.strings:976 @@ -3603,7 +3617,9 @@ #: Resources/templates/Localizable.strings:977 #, no-wrap msgid "Patch to enable more SSE3 instructions on older CPUs to run newer OSes." -msgstr "Patch para permitir mais instruções SSE3 em CPUs mais velhos para executar sistemas operacionais mais recentes." +msgstr "" +"Patch para permitir mais instruções SSE3 em CPUs mais velhos para executar " +"sistemas operacionais mais recentes." #. type: "Themes_title" #: Resources/templates/Localizable.strings:982 Index: branches/zenith432/package/po/sr.po =================================================================== --- branches/zenith432/package/po/sr.po (revision 2876) +++ branches/zenith432/package/po/sr.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 18:36-0000\n" Index: branches/zenith432/package/po/fa.po =================================================================== --- branches/zenith432/package/po/fa.po (revision 2876) +++ branches/zenith432/package/po/fa.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 18:28-0000\n" "Last-Translator: minlite \n" Index: branches/zenith432/package/po/ru.po =================================================================== --- branches/zenith432/package/po/ru.po (revision 2876) +++ branches/zenith432/package/po/ru.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-04-26 18:46+0100\n" "PO-Revision-Date: 2016-05-09 20:00+0000\n" Index: branches/zenith432/package/po/de.po =================================================================== --- branches/zenith432/package/po/de.po (revision 2876) +++ branches/zenith432/package/po/de.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 18:21-0000\n" Index: branches/zenith432/package/po/bg.po =================================================================== --- branches/zenith432/package/po/bg.po (revision 2876) +++ branches/zenith432/package/po/bg.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2014-11-24 20:12-0000\n" Index: branches/zenith432/package/po/zh_TW.po =================================================================== --- branches/zenith432/package/po/zh_TW.po (revision 2876) +++ branches/zenith432/package/po/zh_TW.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-07-12 19:02+0200\n" "PO-Revision-Date: 2015-02-13 18:38-0000\n" Index: branches/zenith432/package/po/id.po =================================================================== --- branches/zenith432/package/po/id.po (revision 2876) +++ branches/zenith432/package/po/id.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 18:30-0000\n" Index: branches/zenith432/package/po/he.po =================================================================== --- branches/zenith432/package/po/he.po (revision 2876) +++ branches/zenith432/package/po/he.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" Index: branches/zenith432/package/po/el.po =================================================================== --- branches/zenith432/package/po/el.po (revision 2876) +++ branches/zenith432/package/po/el.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-02 15:03+0000\n" "PO-Revision-Date: 2015-02-13 19:49-0000\n" Index: branches/zenith432/package/po/zh_CN.po =================================================================== --- branches/zenith432/package/po/zh_CN.po (revision 2876) +++ branches/zenith432/package/po/zh_CN.po (revision 2877) @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Chameleon 2.3\n" +"Project-Id-Version: Chameleon 2.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-07-12 19:02+0200\n" "PO-Revision-Date: 2015-02-13 18:37-0000\n" Index: branches/zenith432/CREDITS =================================================================== --- branches/zenith432/CREDITS (revision 2876) +++ branches/zenith432/CREDITS (revision 2877) @@ -3,7 +3,7 @@ Developers: ---------- -zef, Turbo, dfe, netkas, mackerintel, mercurysquad, fassl, Kabyl, Crazor, Dense, kaitek, iNDi, munky, DHP, JrCs, asereBLN, rekursor, mozodojo, meklort, AnV, valv, AzimutZ, Slice, cosmo1t, cparm, Conti, ErmaC, Zenith432, Bronya +zef, Turbo, dfe, netkas, mackerintel, mercurysquad, fassl, Kabyl, Crazor, Dense, kaitek, iNDi, munky, DHP, JrCs, asereBLN, rekursor, mozodojo, meklort, AnV, valv, AzimutZ, Slice, cosmo1t, cparm, Conti, ErmaC, Zenith432, Bronya, Micky1979 Thanks to: --------- Index: branches/zenith432/doc/BootHelp.txt =================================================================== --- branches/zenith432/doc/BootHelp.txt (revision 2876) +++ branches/zenith432/doc/BootHelp.txt (revision 2877) @@ -165,11 +165,6 @@ if smbios.plist doesn't exist, factory values are kept. - - KERNELPlist= Use an alternate kernel.plist file - (default path: /Extra/Kernel.plist - bt(0,0)/Extra/kernel.plist). - "Scan Single Drive" Scan the drive only where the booter got loaded from. =Yes|No Fix rescan issues when using a DVD reader in AHCI mode. Rescan=Yes Enable CD-ROM rescan mode. Index: branches/zenith432/CHANGES =================================================================== --- branches/zenith432/CHANGES (revision 2876) +++ branches/zenith432/CHANGES (revision 2877) @@ -1,3 +1,6 @@ +- Micky1979 : Added support for Sierra +- Zenith432 : HDA bus scans and codecs enumeration. +- Pike R. Alpha : Add support for (LZVN) grey logo. - Slice : Added NvidiaSingle - cparm : Rock - Paper - Scissors algo - Bronya : Improve support for AMD CPU. @@ -37,9 +40,11 @@ Fix mboot.h include, Add ?log command to print out bdmesg without needing Wait=y, Add slightly more debugging for modules. - ErmaC : Rename CPU_MODEL_xxx into CPUID_MODEL_xxx follow Apple source name - ErmaC : Rename decompress_lzvn function to lzvn_decode follow Apple source name. +- ErmaC : Add more chameleon UI stuff (default) made by blackosx - ErmaC : Split out states generator from acpi_patcher (Credits to Clover Teams) - ErmaC : Merged proposed patch by N3 (Boot from vanilla Recovery HD, Installation DMG) - bitshoveler : Fix "sed: RE error: illegal byte sequence", which turns out to be from feeding sed a TIFF file (buildpkg.sh) +- bitshoveler : Remove "-x" option from "ld" command which breaks build under newer Xcode versions (MakeInc.dir) - bitshoveler : CacheInit(), CacheRead() prototypes: use u_int32_t instead of long where appropriate (saio_internal.h) - bitshoveler : Improved defensiveness against malloc failure (disk.c) - bitshoveler : Use u_int32_t instead of long where appropriate (cache.c) Property changes on: branches/zenith432 ___________________________________________________________________ Modified: svn:mergeinfo Merged /trunk:r2848-2876