From d48b14b6ee88add6c721bbc72da4d0afd7b8beb0 Mon Sep 17 00:00:00 2001 From: Void NV Date: Sun, 29 Mar 2020 17:11:28 -0500 Subject: [PATCH] Added unset flag printing to StrPrintFlags() Added option to free str in StrReplace() Added Registry to gitignore SMBIOS work in progress --- .gitignore | 3 +- ...o => Zenith-latest-2020-03-29-17_08_29.iso | Bin 34740224 -> 34764800 bytes mnt.ps1 | 2 +- src/Demo/Games/Varoom.CC | 6 +- src/Doc/ChangeLog.DD | 14 + src/Home/SMBIOS.CC | 742 +++++++++++++++--- src/Kernel/KExterns.CC | 1 + src/Kernel/KernelC.HH | 10 +- src/Kernel/StrA.CC | 26 +- src/Kernel/StrB.CC | 28 +- src/Zenith/Ctrls/CtrlsA.CC | 12 +- src/Zenith/Utils/VideoRep.CC | 17 +- 12 files changed, 724 insertions(+), 137 deletions(-) rename Zenith-latest-2020-03-29-15_06_25.iso => Zenith-latest-2020-03-29-17_08_29.iso (98%) mode change 100755 => 100644 diff --git a/.gitignore b/.gitignore index 00fbf367..92807ef6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.BIN* *.MAP -0000Boot/ \ No newline at end of file +0000Boot/ +Registry.CC \ No newline at end of file diff --git a/Zenith-latest-2020-03-29-15_06_25.iso b/Zenith-latest-2020-03-29-17_08_29.iso old mode 100755 new mode 100644 similarity index 98% rename from Zenith-latest-2020-03-29-15_06_25.iso rename to Zenith-latest-2020-03-29-17_08_29.iso index a4bcc306a7f8bfb10217a2e2752fdd23673ce609..623f02173f1abb67eeb6b254ab169efe722b4310 GIT binary patch delta 205421 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

?^iZP}ehS89kPAK!F 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 BO#%P_ diff --git a/mnt.ps1 b/mnt.ps1 index 5d65a097..f48c4e6a 100644 --- a/mnt.ps1 +++ b/mnt.ps1 @@ -1,3 +1,3 @@ -copy -r -Force D:/* ~/Desktop/zenithos/src/ +copy -r -Force E:/* ~/Desktop/zenithos/src/ del ~/Desktop/zenithos/*.iso move ~/Desktop/zenithos/src/Tmp/MyDistro.ISO.C ~/Desktop/zenithos/Zenith-latest-$(get-date -Format "yyyy-MM-dd-HH_mm_ss").iso diff --git a/src/Demo/Games/Varoom.CC b/src/Demo/Games/Varoom.CC index 5880da09..d441878f 100755 --- a/src/Demo/Games/Varoom.CC +++ b/src/Demo/Games/Varoom.CC @@ -697,9 +697,9 @@ U0 Varoom() } while (!is_key_pressed); - if (is_left_pressed) c[0].dé -= .000002; - if (is_right_pressed) c[0].dé += .000002; - if (is_up_pressed) c[0].speed += .006; + if (is_left_pressed) c[0].dé -= .000001; + if (is_right_pressed) c[0].dé += .000001; + if (is_up_pressed) c[0].speed += .004; if (is_down_pressed) { c[0].speed -= .01; diff --git a/src/Doc/ChangeLog.DD b/src/Doc/ChangeLog.DD index db83da96..a59ca0ff 100755 --- a/src/Doc/ChangeLog.DD +++ b/src/Doc/ChangeLog.DD @@ -1,5 +1,19 @@ $WW,1$$FG,5$$TX+CX,"ChangeLog"$$FG$ +$IV,1$----03/29/20 14:07:00----$IV,0$ +* Modified $LK,"Varoom",A="FF:::/Demo/Games/Varoom.CC,kbd.down_bitmap"$ to use kbd bitmap for instant keypress response. +* Modified $LK,"StrPrintFlags",A="MN:StrPrintFlags"$() to print unset flags as well. +* Modified $LK,"StrReplace",A="MN:StrReplace"$() to free given str if free_str is set. +* Exported $LK,"Seg2Linear",A="FF:::/Kernel/KernelC.HH,Seg2Linear"$() from kernel. + +$IV,1$----03/27/20 13:06:00----$IV,0$ +* Modified $LK,"Ctrl Slider",A="MN:VIEWANGLES_RANGE"$ for 3D model editor to allow higher precision. +* Added $LK,"PaletteSetTom",A="MN:PaletteSetTom"$() and $LK,"PaletteSetTomLight",A="MN:PaletteSetTomLight"$(). + +$IV,1$----03/21/20 19:35:00----$IV,0$ +* Added $LK,"StrReplace",A="MN:StrReplace"$(), not fully tested yet. + $IV,1$----03/19/20 01:51:36----$IV,0$ +* Added $LK,"OPTf_DECIMAL_ONLY",A="MN:OPTf_DECIMAL_ONLY"$ for using $LK,"Lex",A="MN:Lex"$() with other languages like JSON. * $LK,"R",A="MN:R"$("GetRAX", "$LK,"RAXGet",A="MN:RAXGet"$"); * $LK,"R",A="MN:R"$("SetRAX", "$LK,"RAXSet",A="MN:RAXSet"$"); * $LK,"R",A="MN:R"$("IC_GET_RAX", "$LK,"IC_RAX_GET",A="MN:IC_RAX_GET"$"); diff --git a/src/Home/SMBIOS.CC b/src/Home/SMBIOS.CC index f2a6685d..ee2cf5e1 100755 --- a/src/Home/SMBIOS.CC +++ b/src/Home/SMBIOS.CC @@ -2,18 +2,22 @@ //Based on SMBIOS specification 3.3.0 (document "DSP0134") //Section 6.2 line 910 (required structures) -#define SMBIOSt_BIOS 0 -#define SMBIOSt_SYSTEM 1 -#define SMBIOSt_ENCLOSURE 3 -#define SMBIOSt_PROCESSOR 4 -#define SMBIOSt_CACHE 7 -#define SMBIOSt_SLOTS 9 -#define SMBIOSt_PHYMEM 16 -#define SMBIOSt_MEM_DEVICE 17 -#define SMBIOSt_MAPPED_ADDR 19 -#define SMBIOSt_BOOT_INFO 32 +#define SMBIOSt_BIOS 0 +#define SMBIOSt_SYSTEM 1 +#define SMBIOSt_BASEBOARD 2 +#define SMBIOSt_ENCLOSURE 3 +#define SMBIOSt_PROCESSOR 4 +#define SMBIOSt_CACHE 7 +#define SMBIOSt_CONNECTOR 8 +#define SMBIOSt_SLOT 9 +#define SMBIOSt_OEM_STRINGS 11 +#define SMBIOSt_SYS_CONFIG_OPTIONS 12 +#define SMBIOSt_PHYMEM 16 +#define SMBIOSt_MEM_DEVICE 17 +#define SMBIOSt_MAPPED_ADDR 19 +#define SMBIOSt_BATTERY 22 +#define SMBIOSt_BOOT_INFO 32 -//Section 7.1.1 line 925 #define SMBIOS_BIOSf_NO_SUPPORT 3 #define SMBIOS_BIOSf_ISA 4 #define SMBIOS_BIOSf_MCA 5 @@ -32,42 +36,6 @@ #define SMBIOS_BIOSf_PCMCIA_BOOT 18 #define SMBIOS_BIOSf_EDD 19 -//Section 7.1.2.1 line 931 -#define SMBIOS_BIOSEXT1f_ACPI 0 -#define SMBIOS_BIOSEXT1f_USB_LEGACY 1 -#define SMBIOS_BIOSEXT1f_AGP 2 - -//Section 7.1.2.2 line 935 -#define SMBIOS_BIOSEXT2f_BIOS_BOOT 0 -#define SMBIOS_BIOSEXT2f_NET_BOOT 1 -#define SMBIOS_BIOSEXT2f_UEFI 3 -#define SMBIOS_BIOSEXT2f_VM 4 - -//Section 7.2.2 line 959 -#define SMBIOS_WAKEUPt_OTHER 1 -#define SMBIOS_WAKEUPt_UNKNOWN 2 -#define SMBIOS_WAKEUPt_APM 3 -#define SMBIOS_WAKEUPt_MODEM 4 -#define SMBIOS_WAKEUPt_LAN 5 -#define SMBIOS_WAKEUPt_POWER_SWITCH 6 -#define SMBIOS_WAKEUPt_PCI 7 -#define SMBIOS_WAKEUPt_AC_POWER 8 - -//Section 7.3.2 line 977 -#define SMBIOS_BASEBOARDt_UNKNOWN 1 -#define SMBIOS_BASEBOARDt_OTHER 2 -#define SMBIOS_BASEBOARDt_SERVER_BLADE 3 -#define SMBIOS_BASEBOARDt_CONNECTIVITY_SWITCH 4 -#define SMBIOS_BASEBOARDt_SM_MODULE 5 -#define SMBIOS_BASEBOARDt_PROCESSOR_MODULE 6 -#define SMBIOS_BASEBOARDt_IO_MODULE 7 -#define SMBIOS_BASEBOARDt_MEMORY_MODULE 8 -#define SMBIOS_BASEBOARDt_DAUGHTERBOARD 9 -#define SMBIOS_BASEBOARDt_MOTHERBOARD 10 -#define SMBIOS_BASEBOARDt_PROCESSOR_MEMORY_MODULE 11 -#define SMBIOS_BASEBOARDt_PROCESSOR_IO_MODULE 12 -#define SMBIOS_BASEBOARDt_INTERCONNECT_BOARD 13 - //Section 7.3.1 line 972 (baseboard feature flags) #define SMBIOS_BASEBOARDf_HOST 0 #define SMBIOS_BASEBOARDf_AUX_REQUIRED 1 @@ -75,14 +43,12 @@ #define SMBIOS_BASEBOARDf_REPLACEABLE 3 #define SMBIOS_BASEBOARDf_HOTSWAPPABLE 4 - class CSMBIOSHeader {//Section 6.1.2 line 885 U8 type, //SMBIOSt_* length; U16 handle; //identifier for this structure. }; - class CSMBIOSEntryPoint {//Section 5.2.1 line 812 U8 anchor_str[4], // '_SM_' @@ -105,17 +71,17 @@ class CSMBIOSBIOSInfo {//Section 7.1 line 922 CSMBIOSHeader header; U8 vendor, - bios_version; - U16 bios_start_address_segment; - U8 bios_release_date, - bios_rom_size; - U64 bios_flags; - U8 extended_bios_flags[2]; - U8 bios_major_release, - bios_minor_release, + version; + U16 start_address_segment; + U8 release_date, + rom_size; + U64 flags; + U8 extended_flags[2]; + U8 major_release, + minor_release, embedded_controller_firmware_major_release, embedded_controller_firmware_minor_release; - U16 extended_bios_rom_size; + U16 extended_rom_size; }; class CSMBIOSSystemInfo @@ -126,7 +92,7 @@ class CSMBIOSSystemInfo version, serial_number, uuid[16], - wake_up_type, + wakeup_type, sku_number, family; }; @@ -148,11 +114,240 @@ class CSMBIOSBaseboardInfo }; class CSMBIOSEnclosureInfo -{ +{//Section 7.4 line 984 CSMBIOSHeader header; - + U8 manufacturer, + type, + version, + serial_number, + asset_tag, + bootup_state, + power_supply_state, + thermal_state, + security_status; + U32 oem_defined; + U8 height, + power_cord_count, + contained_element_count, + contained_element_record_length, + contained_elements[1]; //array length == count * record_length; }; +class CSMBIOSEnclosureContainedElement +{//Section 7.4.4 line 999 + U8 contained_element_type, + contained_element_minimum, + contained_element_maximum; +}; + +class CSMBIOSProcessorInfo +{//Section 7.5 line 1010 + CSMBIOSHeader header; + U8 name, + type, + family, + manufacturer; + U64 id; + U8 version, + voltage; + U16 external_clock, + max_speed, + current_speed; + U8 status, + upgrade; + U16 l1_cache_handle, + l2_cache_handle, + l3_cache_handle; + U8 serial_number, + asset_tag, + part_number, + core_count, + cores_enabled, + thread_count; + U16 characteristics; +}; + +class CSMBIOSCacheInfo +{//Section 7.8 line 1168 + CSMBIOSHeader header; + U8 name; + U16 config, + max_size, + installed_size, + supported_sram_type, + installed_sram_type; + U8 cache_speed, + error_correction_type, + cache_type, + associativity; +}; + +class CSMBIOSConnectorInfo +{//Section 7.9 line 1198 + CSMBIOSHeader header; + U8 internal_name, + internal_type, + external_name, + external_type, + port_type; +}; + +class CSMBIOSSlotInfo +{//Section 7.10 line 1226 + CSMBIOSHeader header; + U8 name, + type, + slot_data_bus_width, + current_usage, + length, + id, + flags1, + flags2, + segment_group_number, + bus_number, + device_function_number, + data_bus_width, + peer_grouping_count, + peer_groups; +}; + +class CSMBIOSMemDeviceInfo +{//Section 7.18 line 1538 + CSMBIOSHeader header; + U16 memory_array_handle, + memory_error_info_handle, + total_width, + data_width, + size; + U8 form_factor, + device_set, + device_locator, + bank_locator, + type; + U16 type_detail, + speed; + U8 manufacturer, + serial_number, + asset_tag, + part_number, + attributes; + U32 extended_size; + U16 configured_speed, + min_voltage, + max_voltage, + configured_voltage; + U8 technology; + U16 operating_modes; + U8 firmware_version; + U16 manufacturer_id, + product_id, + subsystem_controller_manufacturer_id, + subsystem_controller_product_id; + U64 nonvolatile_size, + volatile_size, + cache_size, + logical_size; + U32 extended_speed, + extended_configured_speed; +}; + +class CSMBIOSBatteryInfo +{//Section 7.23 line 1723 + CSMBIOSHeader header; + U8 location, + manufacturer, + manufacture_date, + serial_number, + name, + chemistry, + capacity, + voltage, + sbds_version_number, + max_battery_data_error, + sbds_serial_number, + sbds_manufacture_date, + sbds_chemistry, + capacity_multiplier; + U32 oem; +}; + +U0 SMBIOSInit() +{ + //Section 7.1.1 line 925 (BIOS characteristics) + DefineListLoad("ST_SMBIOS_BIOS_FLAGS", " \0 \0 \0 \0ISA\0MCA\0EISA\0PCI\0PC Card\0Plug and Play\0APM\0Flashable BIOS\0BIOS shadowing\0" + "VESA Local Bus\0ESCD\0CD Boot\0Selectable boot\0BIOS ROM socketed\0PC Card Boot\0Enhanced Disk Drive Services\0" + " \0 \0INT 0x13 5.25\"/360 KB Floppy Support\0INT 0x13 5.25\"/1.2 MB Floppy Support\0INT 0x13 3.5\"/720 KB Floppy Support\0" + "INT 0x13 3.5\"/2.88 MB Floppy Support\0" + "INT 0x05 Screen Printing\0INT 0x09 8042 Keyboard\0INT 0x14 Serial\0INT 0x17 Printer\0INT 0x10 CGA/Mono Video"); + //Section 7.1.2.1 line 931 (BIOS characteristics extension byte 1) + DefineListLoad("ST_SMBIOS_BIOS_FLAGSEXT1", + "ACPI\0USB Legacy\0 \0 \0 \0 \0Serial Boot\0Smart Battery"); + //Section 7.1.2.2 line 935 (BIOS characteristics extension byte 2) + DefineListLoad("ST_SMBIOS_BIOS_FLAGSEXT2", "BIOS Boot\0Network Boot\0Targeted Content Distribution\0UEFI\0Virtual Machine"); + //Section 7.2.2 line 959 (system wakeup types) + DefineListLoad("ST_SMBIOS_WAKEUP_TYPES", + "Reserved\0Other\0Unknown\0APM Timer\0Modem Ring\0LAN Remote\0Power Switch\0PCI PME#\0AC Power Restored"); + //Section 7.3.1 line 972 (baseboard feature flags) + DefineListLoad("ST_SMBIOS_BASEBOARD_FLAGS","Hosting Board (Motherboard)\0Requires Auxilary Board\0Removable\0Replaceable\0Hot Swappable"); + //Section 7.3.2 line 977 (baseboard board types) + DefineListLoad("ST_SMBIOS_BASEBOARD_TYPES", " \0Unknown\0Other\0Server Blade\0Connectivity Switch\0" + "System Management Module\0Processor Module\0I/O Module\0Daughterboard\0Motherboard\0Processor/Memory Module\0" + "Processor/IO Module\0Interconnect Board\0"); + //Section 7.4.1 line 988 (system enclosure types) + DefineListLoad("ST_SMBIOS_ENCLOSURE_TYPES", " \0Other\0Unknown\0Desktop\0Low Profile Desktop\0Pizza Box\0" + "Mini Tower\0Tower\0Portable\0Laptop\0Notebook\0Hand Held\0Docking Station\0All-in-One\0Sub Notebook\0" + "Space-saving\0Lunch box\0Main Server Chassis\0Expansion Chassis\0SubChassis\0Bus Expansion Chassis\0" + "Peripheral Chassis\0RAID Chassis\0Rack Mount Chassis\0Sealed-case PC\0Multi-system Chassis\0Compact PCI\0" + "Advanced TCA\0Blade\0Blade Enclosure\0Tablet\0Convertible\0Detachable\0IoT Gateway\0Embedded PC\0Mini PC\0Stick PC"); + //Section 7.4.2 line 991 (enclosure states) + DefineListLoad("ST_SMBIOS_ENCLOSURE_STATES", " \0Other\0Unknown\0Safe\0Warning\0Critcal\0Non-recoverable"); + //Section 7.4.3 line 994 (enclosure security status field) + DefineListLoad("ST_SMBIOS_ENCLOSURE_SECURITY_STATUSES", + " \0Other\0Unknown\0None\0External Interface Locked Out\0External Interface Enabled"); + //Section 7.5.1 line 1014 (processor type field) + DefineListLoad("ST_SMBIOS_PROCESSOR_TYPES", " \0Other\0Unknown\0Central Processor\0Math Processor\0DSP Processor\0Video Processor"); + //Section 7.5.4 line 1050 (processor voltage field) + DefineListLoad("ST_SMBIOS_PROCESSOR_VOLTAGE_LEVELS", "5V\03.3V\02.9V"); + DefineListLoad("ST_CPUID_1_EDX_FLAGS", "x87 FPU\0Virtual 8086 Mode Enhancements\0Debugging Extensions\0Page Size Extensions\0" + "Time Stamp Counter\0MSRs\0Page Address Extension\0Machine Check Exceptions\0CMPXCHG8B\0APIC\0Reserved\0SYSENTER/SYSEXIT\0" + "Memory Type Range Registers\0Page Global Bit\0Machine Check Architecture\0CMOV Instructions\0Page Attribute Table\0" + "36 Bit Page Size Extension\0Processor Serial Number\0CLFLUSH\0Reserved\0Debug Store\0ACPI\0MMX\0FXSAVE/FXRSTOR\0SSE\0SSE2\0" + "Self Snoop\0HTT\0Thermal Monitor\0Reserved\0Pending Break Enable\0"); + DefineListLoad("ST_CPUID_1_ECX_FLAGS", "SSE3\0PCLMULQDQ\064 bit DS AREA\0MONITOR/MWAIT\0CPL Qualified Debug Store\0" + "Virtual Machine Extensions\0Safer Mode Extensions\0Reserved\0Thermal Monitor 2\0SSSE3\0L1 Context ID\0" + "IA32_DEBUG_INTERFACE MSR\0FMA Extensions\0CMPXCHG16B\0xTPR Update Control\0Perfmon and Debug Capability\0Reserved\0" + "Process Context Identifiers\0MMIO Prefetch\0SSE4.1\0SSE4.2\0x2APIC\0MOVBE\0POPCNT\0TSC Deadline\0AESNI\0XSAVE\0" + "OSXSAVE\0AVX\0F16C\0RDRAND"); + //Section 7.5.5 line 1058 (upgrade field) + DefineListLoad("ST_SMBIOS_PROCESSOR_UPGRADES", " \0Other\0Unknown\0Daughterboard\0ZIF Socket\0Replacable Piggy Back\0" + "None\0LIF Socket\0Slot 1\0Slot2\0370-pin Socket\0 Slot A\0Slot M\0Socket 423\0Socket A (Socket 462)\0Socket 478\0" + "754\0940\0939\0 mPGA604\0LGA771\0LGA775\0S1\0AM2\0F (1207)\0LGA1366\0G34\0AM3\0C32\0LGA1156\0LGA1567\0PGA988A\0" + "BGA1288\0rPGA988B\0BGA1023\0BGA1224\0LGA1155\0LGA1356\0LGA2011\0FS1\0FS2\0FM1\FM2\0LGA2011-3\0LGA1356-3\0LGA1150\0" + "BGA1168\0BGA1234\BGA1364\0AM4\0LGA1151\0BGA1440\0BGA1515\0LGA3647-1\0SP3\0SP3r2\0LGA2066\0BGA1932\0BGA1510\0BGA1528"); + //Section 7.5.9 line 1110 (processor characteristics) + DefineListLoad("ST_SMBIOS_PROCESSOR_FLAGS", " \0 \064 Bit\0Multicore\0HyperThreading\0NX/XD Protection\0Enhanced Virtualization\0" + "Power/Performance Control\0128 Bit Capable"); + //Section 7.8.2 line 1178 (cache information SRAM type field) + DefineListLoad("ST_SMBIOS_CACHE_SRAM_TYPES", "Other\0Unknown\0Non Burst\0Burst\0Pipeline Burst\0Synchronous\0Asynchronous"); + //Section 7.8.6 line 1193 (cache information associativity field) + DefineListLoad("ST_SMBIOS_CACHE_ASSOCIATIVITY", " \0Other\0Unknown\0Direct Mapped\02-way Set-Associative\04-way Set-Associative\0" + "Fully Associative\08-way Set-Associative\016-way Set-Associative\012-way Set-Associative\024-way Set-Associative\0" + "32-way Set-Associative\048-way Set-Associative\064-way Set-Associative\020-way Set-Associative"); + //Section 7.9.2 line 1219 (connector type field) + DefineListLoad("ST_SMBIOS_CONNECTOR_TYPES", "None\0Centronics\0Mini Centronics\0Proprietary\0DB-25 Pin Male\0DB-25 Pin Female\0" + "DB-15 Pin Male\0DB-15 Pin Female\0DB-9 Pin Male\0DB-9 Pin Female\0RJ-11\0RJ-45\050-Pin MiniSCSI\0Mini-DIN\0Micro-DIN\0PS/2\0" + "Infrared\0HP-HIL\0Access Bus (USB)\0SSA SCSI\0Circular DIN-8 Male\0Circular DIN-8 Female\0Onboard IDE\0Onboard Floppy\0" + "9-Pin Dual Inline (Pin 10 Cut)\025-Pin Dual Inline (Pin 26 Cut)\050-Pin Dual Inline\068-Pin Dual Inline\0Onboard CD-ROM Sound Input\0" + "Mini-Centronics Type-14\0Mini-Centronics Type-26\0Mini-Jack (Headphones)\0BNC\01394\0SAS\SATA Plug\0USB Type-C"); + //Section 7.9.3 line 1222 (port type field) + DefineListLoad("ST_SMBIOS_PORT_TYPES", "None\0Parallel Port XT/AT Compatible\0Parallel Port PS/2\0Parallel Port ECP\0Parallel Port EPP\0" + "Parallel Port ECP/EPP\0Serial Port XT/AT Compatible\0Serial Port 16450 Compatible\0Serial Port 16550 Compatible\0" + "Serial Port 16550A Compatible\0SCSI Port\0MIDI Port\0Joystick Port\0Keyboard Port\0Mouse Port\0SSA SCSI\0USB\0FireWire (IEEE 1394)\0" + "PCMCIA Type I\0PCMCIA Type II\0PCMCIA Type III\0Cardbus\0Access Bus Port\0SCSI II\0SCSI Wide\0 \0 \0 \0Video Port\0Audio Port\0" + "Modem Port\0Network Port\0SATA\0SAS\0MFDP (Multi-Function Display Port\0Thunderbolt\08251 Compatible\08251 FIFO Compatible"); + //Section +} + Bool SMBIOSEntryScan(CSMBIOSEntryPoint **entry) {//Search 0xF0000 - 0x100000 for SMBIOS Entry Point structure. I64 i; @@ -171,64 +366,421 @@ Bool SMBIOSEntryScan(CSMBIOSEntryPoint **entry) } mem += 16; //anchor sits on 16-byte boundary } - ClassRep(*entry,,,,TRUE); return mem != 0x100000; } - -U8 *SMBIOSStringGet(CSMBIOSHeader *header, I64 str_num) -{ - if (!str_num) return NULL; - +U8 *SMBIOSStr(CSMBIOSHeader *header, I64 str_num, U8 *default="None") +{//Get string str_num from end of structure (string section). I64 i; U8* ptr = header(U8 *) + header->length; + if (!str_num) return default; + for (i = 1; i < str_num; i++) { while (*ptr++); if (!ptr[0] && !ptr[1]) //structure ends in double NULL - { - return NULL; - } + return default; } return ptr; } -U0 SMBIOSInit() +CSMBIOSHeader *SMBIOSStructGet(CSMBIOSHeader *head, I64 type=0xFFFFF, I64 handle=0xFFFFF) +{//Search for struct with type or handle. Return NULL if not found. + I64 i; + while (head->type != 127) + { + if (head->handle == handle) + return head; + if (head->type == type) + return head; + + head = head(U8 *) + head->length; + for (i = 1; head(U8 *)[i - 1] || head(U8 *)[i]; i++); + head = head(U8 *) + i + 1; + } + return NULL; +} + +U8 *SysRepFlagsMake(U8 *buf) { - I64 i = 1; + U8 *str; + U8 *tmp = StrReplace(StrReplace(StrReplace(StrReplace(buf, + "+ ", ""), + "- ", "",, TRUE), + "+", "\n$$BLUE$$+$$GREEN$$",,TRUE), + "-", "\n$$BLUE$$-$$RED$$",,TRUE); + +// StrCopy(tmp, tmp + 1); //remove first newline + str = MStrPrint("$$ID,16$$%s$$ID,-16$$", tmp); + Free(tmp); + return str; +} + +public I64 SysRep(I64 type=0xFF, I64 handle=0, Bool show_all_flags=FALSE) +{//Display info of System Management BIOS (SMBIOS) structures. 'type' is a SMBIOSt_* type. Returns structure count of displayed structures. + I64 i = 1, structure_count = 0, cache_count = 0; CSMBIOSEntryPoint *entry; - U8 *header; + CSMBIOSHeader *header; + U8 buffer[2048], buffer2[512], *str; if (!SMBIOSEntryScan(&entry)) - return; - + { + "No SMBIOS data found.\n"; + return 0; + } header = entry->table_address; - while (header(CSMBIOSHeader *)->type != 127) + if (!handle && type == 0xFF) + "SMBIOS version %d.%d (%d entries)\n", entry->major_version, entry->minor_version, entry->structure_count; + "$$FD,CYAN$$"; + while (header->type != 127) { - - switch (header(CSMBIOSHeader *)->type) + if (handle && header->handle != handle) + goto loop_end; + if (type != 0xFF && header->type != type) + goto loop_end; + switch (header->type) { - case SMBIOSt_BIOS: - ClassRep(header(CSMBIOSBIOSInfo *),,,,TRUE); - break; - case SMBIOSt_SYSTEM: - CSMBIOSSystemInfo *info = header; - ClassRep(info,,,,TRUE); - "%s\n", SMBIOSStringGet(info, info->manufacturer); - "%z\n", info->wake_up_type, " \0Other\0Unknown\0APM\0Modem\0LAN\0Power Switch\0PCI\0AC Power"; - break; - } + start: + case SMBIOSt_BIOS: + CSMBIOSBIOSInfo *bios_info = header; + I64 start_addr = bios_info->start_address_segment << 16; + "$$TR-C,\"BIOS\"$$\n"; + "$$ID,4$$" + "Vendor\t\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, bios_info->vendor); + "Version\t\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, bios_info->version); + "Release Date\t:$$BLACK$$%s (mm/dd/yyyy)$$FG$$\n", SMBIOSStr(header, bios_info->release_date); + "Release Version\t:$$BLACK$$%d.%d$$FG$$\n", bios_info->major_release, bios_info->minor_release; + "Start Address\t:$$BLACK$$0x%X$$FG$$\n", Seg2Linear(&start_addr); + "Image Size\t\t:$$BLACK$$%d bytes$$FG$$\n", (0x10000 - bios_info->start_address_segment) * 16; + "ROM Size\t\t:$$BLACK$$"; + if (bios_info->rom_size == 0xFF) + "%d %zB$$FG$$\n", bios_info->extended_rom_size & ~0xC000, Bt(&bios_info->extended_rom_size, 14), "M\0G"; + else + "%d KB$$FG$$\n", (bios_info->rom_size + 1) * 64; + if (Bt(&bios_info->flags, 3)) + "Flags Not Supported$$FG$$\n"; + else + { + "$$TR,\"Flags\"$$"; + StrPrintFlags(buffer, Define("ST_SMBIOS_BIOS_FLAGS"), bios_info->flags & ~0xF, show_all_flags, 31); + CatPrint(buffer, StrPrintFlags(buffer2, Define("ST_SMBIOS_BIOS_FLAGSEXT1"), bios_info->extended_flags[0], show_all_flags, 8)); + CatPrint(buffer, StrPrintFlags(buffer2, Define("ST_SMBIOS_BIOS_FLAGSEXT2"), bios_info->extended_flags[1], show_all_flags, 5)); + str = SysRepFlagsMake(buffer); + "%s$$FG$$\n", str; + Free(str); + } + "$$ID,-4$$"; + break; + case SMBIOSt_SYSTEM: + CSMBIOSSystemInfo *sys_info = header; + "$$TR-C,\"System\"$$\n"; + "$$ID,4$$Manufacturer\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, sys_info->manufacturer); + "Product Name\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, sys_info->product_name); + "Version\t\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, sys_info->version); + "Serial Number\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, sys_info->serial_number); + "UUID\t\t\t:$$BLACK$$%X-%X-%X-%X-%X$$FG$$\n", EndianU32(sys_info->uuid(U32 *)), + EndianU16((sys_info->uuid)(U16 *)[2]), EndianU16((sys_info->uuid)(U16 *)[3]), EndianU16((sys_info->uuid)(U16 *)[4]), + EndianU16((sys_info->uuid)(U16 *)[5]) << 32 | EndianU32((sys_info->uuid)(U32 *)[3]); + "Wakeup Type\t\t:$$BLACK$$%Z$$FG$$\n", sys_info->wakeup_type, "ST_SMBIOS_WAKEUP_TYPES"; + "SKU Number\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, sys_info->sku_number); + "Family\t\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, sys_info->family); + "$$ID,-4$$"; + break; + case SMBIOSt_ENCLOSURE: + CSMBIOSEnclosureInfo *info = header; + "$$TR-C,\"Enclosure\"$$\n"; + "$$ID,4$$Manufacturer\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, info->manufacturer); + "Type\t\t\t:$$BLACK$$%Z%z$$FG$$\n", info->type & 0x7F, "ST_SMBIOS_ENCLOSURE_TYPES", + Bt(&info->type, 7), " \0, Lock Present"; + "Version\t\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, info->version); + "Bootup State\t:$$BLACK$$%Z$$FG$$\n", info->bootup_state, "ST_SMBIOS_ENCLOSURE_STATES"; + "Thermal State\t:$$BLACK$$%Z$$FG$$\n", info->thermal_state, "ST_SMBIOS_ENCLOSURE_STATES"; + "Power Supply\t:$$BLACK$$%Z$$FG$$\n", info->power_supply_state, "ST_SMBIOS_ENCLOSURE_STATES"; + "Security Status\t:$$BLACK$$%Z$$FG$$\n", info->security_status, "ST_SMBIOS_ENCLOSURE_SECURITY_STATUSES"; + "Height\t\t\t:$$BLACK$$"; + if (info->height) + "%0.2f\"$$FG$$\n", info->height * 1.75; //height is in 'U' units. 1 'U' is 1.75 inches or 4.445 cm. + else "Unknown$$FG$$\n"; + "Serial Number\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, info->serial_number); + "Asset Tag\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, info->asset_tag); + "Power Cord Count:$$BLACK$$"; + if (info->power_cord_count) + "%d$$FG$$\n", info->power_cord_count; + else "Unknown$$FG$$\n"; +// "Contained Elements:$$BLACK$$",r,'\t'; //TODO: maybe implement this? + "$$ID,-4$$"; + break; + case SMBIOSt_PROCESSOR: + CSMBIOSProcessorInfo *p_info = header; + CRAXRBXRCXRDX regs; + CPUId(1, ®s); + "$$TR-C,\"Processor\"$$\n"; + "$$ID,4$$Socket Name\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, p_info->name); + "Processor Type\t:$$BLACK$$%Z$$FG$$\n", p_info->type, "ST_SMBIOS_PROCESSOR_TYPES"; + "Status\t\t\t:$$BLACK$$%z, %z$$FG$$\n", p_info->status >> 6, "Socket Unpopulated\0Socket Populated", + p_info->status & 7, "Unknown\0CPU Enabled\0CPU Disabled through BIOS Setup\0" + "CPU Disabled by BIOS (POST Error)\0CPU is Idle, Waiting to be Enabled\0 \0 \0Other"; + "Core Count\t\t:$$BLACK$$%d$$FG$$\n", p_info->core_count; + "Cores Enabled\t:$$BLACK$$%d$$FG$$\n", p_info->cores_enabled; + "Manufacturer\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, p_info->manufacturer); +// "CPU Family\t\t\t:$$BLACK$$%z$$FG$$\n", p_info->family, "ST_SMBIOS_PROCESSOR_FAMILIES"; TODO: maybe implement this? + "Name\t\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, p_info->version); + "Family\t\t\t:$$BLACK$$"; + if (regs.rax >> 8 & 0xF < 0xF) + "%d$$FG$$\n", regs.rax >> 8 & 0xF; + else + "%d$$FG$$\n", 0xF + regs.rax >> 20 & 0xFF; - header += header(CSMBIOSHeader *)->length; - for (i = 1; header[i - 1] || header[i]; i++); - header += i + 1; + "Model\t\t\t:$$BLACK$$"; + if (regs.rax >> 4 & 0xF < 0xF) + "%d$$FG$$\n", regs.rax >> 4 & 0xF; + else + "%d$$FG$$\n", (regs.rax >> 4 & 0xF) << 4 | (regs.rax >> 16 & 0xF); + + "Stepping\t\t:$$BLACK$$%d$$FG$$\n", regs.rax & 0xF; + "Current Speed\t:$$BLACK$$"; + if (p_info->current_speed) + "%0.1f GHz$$FG$$\n", p_info->current_speed / 1000.0; + else "Unknown$$FG$$\n"; + + "Max Speed\t\t:$$BLACK$$"; + if (p_info->max_speed) + "%0.1f GHz$$FG$$\n", p_info->max_speed / 1000.0; + else "Unknown$$FG$$\n"; + "Socket\t\t\t:$$BLACK$$%Z$$FG$$\n", p_info->upgrade, "ST_SMBIOS_PROCESSOR_UPGRADES"; + + "Voltage\t\t\t:$$BLACK$$"; + if (Bt(&p_info->voltage, 7)) + "%0.1fV$$FG$$\n", (p_info->voltage & 0x7F) / 10.0; + else + "%Z$$FG$$\n", Bsf(p_info->voltage), "ST_SMBIOS_PROCESSOR_VOLTAGE_LEVELS"; + + "External Clock\t:$$BLACK$$"; + if (p_info->external_clock) + "%d MHz$$FG$$\n", p_info->external_clock; + else "Unknown$$FG$$\n"; + + "Serial Number\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, p_info->serial_number); + "Asset Tag\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, p_info->asset_tag); + "Part Number\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, p_info->part_number); + + "$$TR,\"Processor Flags\"$$"; + StrPrintFlags(buffer, Define("ST_SMBIOS_PROCESSOR_FLAGS"), p_info->characteristics, show_all_flags, 9); + str = SysRepFlagsMake(buffer); + "%s\n", str; + "$$TR,\"CPUID 0x1 Flags\"$$"; + StrPrintFlags(buffer, Define("ST_CPUID_1_EDX_FLAGS"), regs.rdx, show_all_flags, 32); + CatPrint(buffer, StrPrintFlags(buffer2, Define("ST_CPUID_1_ECX_FLAGS"), regs.rcx, show_all_flags, 31)); + str = SysRepFlagsMake(buffer); + "%s$$FG$$\n", str; + Free(str); + if (p_info->l1_cache_handle && p_info->l1_cache_handle != 0xFFFF) + { + "$$TR,\"L1 Cache Info\"$$\n"; + SysRep(,p_info->l1_cache_handle, show_all_flags); + } + if (p_info->l2_cache_handle && p_info->l2_cache_handle != 0xFFFF) + { + "$$TR,\"L2 Cache Info\"$$\n"; + SysRep(,p_info->l2_cache_handle, show_all_flags); + } + if (p_info->l3_cache_handle && p_info->l3_cache_handle != 0xFFFF) + { + "$$TR,\"L3 Cache Info\"$$\n"; + SysRep(,p_info->l3_cache_handle, show_all_flags); + } + "$$ID,-4$$"; + break; + case SMBIOSt_CACHE: + if (!handle) + break; + if (cache_count++ > 0) + break; + CSMBIOSCacheInfo *c_info = header; + "$$ID, 4$$"; + "Name\t\t\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, c_info->name); + "Status\t\t\t\t:$$BLACK$$%z$$FG$$\n", Bt(&c_info->config, 7), "Disabled\0Enabled"; + "Mode\t\t\t\t:$$BLACK$$%z$$FG$$\n", c_info->config >> 8 & 3, "Write-Through\0Write-Back\0Varies with Memory Address\0Unknown"; + "Type\t\t\t\t:$$BLACK$$%z$$FG$$\n", c_info->cache_type, " \0Other\0Unknown\0Instruction\0Data\0Unified"; + "Location\t\t\t:$$BLACK$$%z$$FG$$\n", c_info->config >> 5 & 3, "CPU Internal\0External\0 \0Unknown"; + "Socketed\t\t\t:$$BLACK$$%z$$FG$$\n", Bt(&c_info->config, 3), "No\0Yes"; + "Max Cache Size\t\t:$$BLACK$$"; + if (Bt(&c_info->max_size, 15)) //if Bit 15 is 1 then granularity is 64K else 1K + "%d KB$$FG$$\n", (c_info->max_size & 0x7FFF) * 64; + else + "%d KB$$FG$$\n", c_info->max_size & 0x7FFF; + "Installed Size\t\t:$$BLACK$$"; + if (Bt(&c_info->installed_size, 15)) //if Bit 15 is 1 then granularity is 64K else 1K + "%d KB$$FG$$\n", (c_info->installed_size & 0x7FFF) * 64; + else + "%d KB$$FG$$\n", c_info->installed_size & 0x7FFF; + StrPrintFlags(buffer, Define("ST_SMBIOS_CACHE_SRAM_TYPES"), c_info->supported_sram_type); + str = StrReplace(StrReplace(buffer, "+", ", "), "+", ", ",,TRUE); + StrCopy(str, str + 2); + "Supported SRAM Types:$$BLACK$$%s$$FG$$\n", str; + Free(str); + StrPrintFlags(buffer, Define("ST_SMBIOS_CACHE_SRAM_TYPES"), c_info->installed_sram_type); + str = StrReplace(StrReplace(buffer, "+", ", "), "+", ", ",,TRUE); + StrCopy(str, str + 2); + "Installed SRAM Type\t:$$BLACK$$%s$$FG$$\n", str; + Free(str); + "Cache Speed\t\t\t:$$BLACK$$"; + if (c_info->cache_speed) + "%d nS$$FG$$\n", c_info->cache_speed; + else "Unknown$$FG$$\n"; + "ECC type\t\t\t:$$BLACK$$%z$$FG$$\n", c_info->error_correction_type, + " \0Other\0Unknown\0None\0Parity\0Single-bit ECC\0Multi-bit ECC"; + "Associativity\t\t:$$BLACK$$%Z$$FG$$\n", c_info->associativity, "ST_SMBIOS_CACHE_ASSOCIATIVITY"; + "$$ID,-4$$"; + break; + case SMBIOSt_MEM_DEVICE: + CSMBIOSMemDeviceInfo *mem_info = header; + "$$TR,\"Memory Device\"$$\n"; + "$$ID,4$$"; +// ClassRep(mem_info,,,,TRUE); + "Size\t\t\t:$$BLACK$$"; + if (!mem_info->size) + "No Device Installed$$FG$$\n"; + else if (mem_info->size == 0xFFFF) + "Unknown$$FG$$\n"; + else if (mem_info->size == 0x7FFF) + "%d GB$$FG$$\n", mem_info->extended_size; + else + "%d %zB$$FG$$\n", mem_info->size & 0x7FFF, Bt(&mem_info->size, 15), "M\0K"; + + "Total Width\t\t:$$BLACK$$"; + if (mem_info->total_width != 0xFFFF) + "%d bits$$FG$$\n", mem_info->total_width; + else + "Unknown$$FG$$\n"; + "Data Width\t\t:$$BLACK$$"; + if (mem_info->data_width != 0xFFFF) + "%d bits$$FG$$\n", mem_info->data_width; + else + "Unknown$$FG$$\n"; + "Manufacturer\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, mem_info->manufacturer); + "$$ID,-4$$"; + break; + case SMBIOSt_BASEBOARD: + CSMBIOSBaseboardInfo *b_info = header; + "$$TR-C,\"Baseboard\"$$\n"; + "$$ID,4$$"; + "Manufacturer\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, b_info->manufacturer); + "Product\t\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, b_info->product); + "Version\t\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, b_info->version); + "Type\t\t\t:$$BLACK$$%Z$$FG$$\n", b_info->board_type, "ST_SMBIOS_BASEBOARD_TYPES"; + "Location\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, b_info->chassis_location, "Not Specified"); + "Serial Number\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, b_info->serial_number); + "Asset Tag\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, b_info->asset_tag); + "$$TR,\"Flags\"$$"; + StrPrintFlags(buffer, Define("ST_SMBIOS_BASEBOARD_FLAGS"), b_info->feature_flags, show_all_flags, 5); + str = SysRepFlagsMake(buffer); + "%s$$FG$$\n", str; + Free(str); + "$$ID,-4$$"; + break; + case SMBIOSt_CONNECTOR: + CSMBIOSConnectorInfo *con_info = header; + "$$TR,\"Port Connector\"$$\n"; + "$$ID,4$$"; + "Port Type\t\t:$$BLACK$$"; + if (con_info->port_type == 0xFF) + "Other$$FG$$\n"; + else + "%Z$$FG$$\n", con_info->port_type, "ST_SMBIOS_PORT_TYPES"; + "External Name\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, con_info->external_name); + "Internal Name\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, con_info->internal_name); + "External Type\t:$$BLACK$$"; + if (con_info->external_type == 0xFF) + "Other$$FG$$\n"; + else + "%Z$$FG$$\n", con_info->external_type, "ST_SMBIOS_CONNECTOR_TYPES"; + "Internal Type\t:$$BLACK$$"; + if (con_info->internal_type == 0xFF) + "Other$$FG$$\n"; + else + "%Z$$FG$$\n", con_info->internal_type, "ST_SMBIOS_CONNECTOR_TYPES"; + "$$ID,-4$$"; + break; + case SMBIOSt_BATTERY: + CSMBIOSBatteryInfo *bat_info = header; + "$$TR,\"Battery\"$$\n"; + "$$ID,4$$"; + "Name\t\t\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, bat_info->name); + "Manufacturer\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, bat_info->manufacturer); + "$MA-X+PU,"SBDS",LM="\"\dGREEN\dS\dFG\dmart \dGREEN\dB\dFG\dattery \dGREEN\dD\dFG\data \dGREEN\dS\dFG\dpecification\n\";View;"$ Version\t:$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, bat_info->manufacturer); + "Manufacture Date:$$BLACK$$"; + if (bat_info->manufacture_date) + "%s$$FG$$\n", SMBIOSStr(header, bat_info->manufacture_date); + else + "%s$$FG$$\n", SMBIOSStr(header, bat_info->sbds_manufacture_date); + "Chemistry\t\t:$$BLACK$$"; + if (bat_info->chemistry) + "%s$$FG$$\n", SMBIOSStr(header, bat_info->chemistry); + else + "%s$$FG$$\n", SMBIOSStr(header, bat_info->sbds_chemistry); + "Capacity\t\t:$$BLACK$$"; + if (bat_info->capacity) + "%d Milliwatt-Hours$$FG$$\n", bat_info->capacity * bat_info->capacity_multiplier; + else + "Unknown$$FG$$\n"; + "Voltage\t\t\t:$$BLACK$$"; + if (bat_info->voltage) + "%d Millivolts$$FG$$\n", bat_info->voltage; + else + "Unknown$$FG$$\n"; + "Max Data Error\t:$$BLACK$$"; + if (bat_info->max_battery_data_error != 0xFF) + "%d$$FG$$\n", bat_info->max_battery_data_error; + else + "Unknown$$FG$$\n"; + "Serial Number\t:$$BLACK$$"; + if (bat_info->serial_number) + "%s$$FG$$\n", SMBIOSStr(header, bat_info->serial_number); + else + "%d$$FG$$\n", bat_info->sbds_serial_number; + "$$ID,-4$$"; + break; + case SMBIOSt_OEM_STRINGS: + case SMBIOSt_SYS_CONFIG_OPTIONS: + if (header->type == SMBIOSt_OEM_STRINGS) + "$$TR,\"OEM Strings\"$$\n"; + else + "$$TR,\"Sys Config Strings\"$$\n"; + "$$ID,4$$"; + str = *(header(U8 *) + sizeof(CSMBIOSHeader)); + "Strings"; + for (i = 1; i <= str; i++) + { + if (i == 1) + "\t\t\t:"; + else + "\t\t\t\t "; + "$$BLACK$$%s$$FG$$\n", SMBIOSStr(header, i); + } + "$$ID,-4$$"; + break; + + end: + structure_count++; + } +loop_end: + header = header(U8 *) + header->length; + for (i = 1; header(U8 *)[i - 1] || header(U8 *)[i]; i++); + header = header(U8 *) + i + 1; } + if (!handle) + "$$FD,BLUE$$"; + return structure_count; +} + +U0 BIOSRep() +{ + SysRep(SMBIOSt_BIOS); } SMBIOSInit; - - - - +//BIOSRep; +SysRep(); \ No newline at end of file diff --git a/src/Kernel/KExterns.CC b/src/Kernel/KExterns.CC index 0e8cc6b3..6d21b1a2 100755 --- a/src/Kernel/KExterns.CC +++ b/src/Kernel/KExterns.CC @@ -75,6 +75,7 @@ extern CDrive *Letter2Drive(U8 drv_let=0,Bool except=TRUE); extern U8 Letter2Letter(U8 drv_let=0); extern U0 MPInt(U8 num,I64 cpu_num=1); extern U8 *MStrPrint(U8 *format,...); +extern U8 *StrNew(U8 *buf,CTask *mem_task=NULL); extern U0 MouseHardSet(I64 x,I64 y,I64 z,I64 l,I64 r); extern U0 Message(I64 message_code,I64 arg1,I64 arg2,I64 flags=0); extern U0 Panic(U8 *message=NULL,I64 message_num=0,Bool panic=TRUE); diff --git a/src/Kernel/KernelC.HH b/src/Kernel/KernelC.HH index f27f5674..4075d384 100755 --- a/src/Kernel/KernelC.HH +++ b/src/Kernel/KernelC.HH @@ -52,7 +52,7 @@ public extern CDate Str2Date(U8 *src); #help_index "Char/Flags" public extern U0 ScanFlags(U8 *_dst_flags,U8 *list,U8 *src); -public extern U8 *StrPrintFlags(U8 *dst,U8 *list,I64 flags); +public extern U8 *StrPrintFlags(U8 *dst, U8 *list, I64 flags, Bool print_all=FALSE, I64 print_all_length=0); #help_index "Char/Lists" public extern I64 ListMatch(U8 *needle, U8 *haystack_list,I64 flags=0); @@ -71,7 +71,7 @@ public extern U8 *StrFirstRemove(U8 *src,U8 *marker,U8 *dst=NULL); public _extern _STRICOMPARE I64 StrICompare(U8 *st1,U8 *st2); public _extern _STRIMATCH U8 *StrIMatch(U8 *needle,U8 *haystack_str); public extern U8 *StrLastOcc(U8 *src,U8 *marker); -public extern U8 *StrReplace(U8 *str, U8 *old, U8 *new, I64 sff_flags=NONE); +public extern U8 *StrReplace(U8 *str, U8 *old, U8 *new, I64 sff_flags=NONE, Bool free_str=FALSE); public extern U8 *StrLastRemove(U8 *src,U8 *marker,U8 *dst=NULL); public _extern _STRMATCH U8 *StrMatch(U8 *needle,U8 *haystack_str); public _extern _STRNCOMPARE I64 StrNCompare(U8 *st1,U8 *st2,I64 n); @@ -572,8 +572,10 @@ public _extern _MSIZE2 I64 MSize2(U8 *src); //Internal size #help_index "Memory/HeapCtrl" public extern U0 HeapCtrlDel(CHeapCtrl *hc); -public extern CHeapCtrl *HeapCtrlInit(CHeapCtrl *hc=NULL, - CTask *task=NULL,CBlkPool *bp); +public extern CHeapCtrl *HeapCtrlInit(CHeapCtrl *hc=NULL, CTask *task=NULL,CBlkPool *bp); + +#help_index "Memory/Segmentation" +public extern U8 *Seg2Linear(U32 *ptr); #help_index "Memory/Page Tables" public extern I64 *MemPageTable(U8 *a); diff --git a/src/Kernel/StrA.CC b/src/Kernel/StrA.CC index 2787b833..0b826824 100755 --- a/src/Kernel/StrA.CC +++ b/src/Kernel/StrA.CC @@ -641,13 +641,20 @@ U8 *StrFind(U8 *needle,U8 *haystack_str,I64 flags=0) return haystack_str; } -U8 *StrReplace(U8 *str, U8 *old, U8 *new, I64 sff_flags=NONE) -{//Replace all instances of old with new in str. New MAlloc()ed string. - if (!*old) - return new; +U8 *StrReplace(U8 *str, U8 *old, U8 *new, I64 sff_flags=NONE, Bool free_str=FALSE) +{//Replace all instances of old with new in str. New MAlloc()ed string. free_str aids in chain replacement. + U8 *str_start, *str_end = str, *str_loc, *tmpm = NULL; - U8 *str_start, *str_end, *str_loc, *tmpm = NULL; - while (str_loc = str_end = StrFind(old, str, sff_flags)) + if (!*old) + { + str_start = StrNew(new); + goto sr_end2; + } + + if (!StrCompare(old, new)) + goto sr_end; + + while (str_loc = str_end = StrFind(old, str_end, sff_flags)) { str_start = str; str_end += StrLen(old); //Move start marker past old str, cutting it out @@ -656,7 +663,12 @@ U8 *StrReplace(U8 *str, U8 *old, U8 *new, I64 sff_flags=NONE) tmpm = MStrPrint("%s%s%s", str_start, new, str_end); str = tmpm; } - return str; +sr_end: + str_start = StrNew(str); +sr_end2: + if (free_str) + Free(str); + return str_start; } Bool WildMatch(U8 *test_str,U8 *wild_str) diff --git a/src/Kernel/StrB.CC b/src/Kernel/StrB.CC index 3f975361..80a857a1 100755 --- a/src/Kernel/StrB.CC +++ b/src/Kernel/StrB.CC @@ -140,8 +140,7 @@ ScanFlags(&flags,"R\0L\0Dump\0Scan\0","+Dump-R"); //Sets Bit#2, Clears Bit#0. src++; if (*src) { ptr=buf; - while (*src && *src!='+' && *src!='-' && - *src!=CH_SPACE) + while (*src && *src!='+' && *src!='-' && *src!=CH_SPACE) *ptr++=*src++; *ptr=0; i=ListMatch(buf,list); @@ -156,8 +155,7 @@ ScanFlags(&flags,"R\0L\0Dump\0Scan\0","+Dump-R"); //Sets Bit#2, Clears Bit#0. src++; if (*src) { ptr=buf; - while (*src && *src!='+' && *src!='-' && - *src!=CH_SPACE) + while (*src && *src!='+' && *src!='-' && *src!=CH_SPACE) *ptr++=*src++; *ptr=0; i=ListMatch(buf,list); @@ -174,14 +172,20 @@ ScanFlags(&flags,"R\0L\0Dump\0Scan\0","+Dump-R"); //Sets Bit#2, Clears Bit#0. } } -U8 *StrPrintFlags(U8 *dst,U8 *list,I64 flags) -{//Only 64 flags. Flags passed by value. - I64 i; - *dst=0; - while (flags) { - i=Bsf(flags); - Btr(&flags,i); - CatPrint(dst,"+%z",i,list); +U8 *StrPrintFlags(U8 *dst, U8 *list, I64 flags, Bool print_all=FALSE, I64 print_all_length=0) +{//Only 64 flags. Flags passed by value. print_all will print false flags using `-`. +//Specify print_all_length (list length) if print_all is true. + I64 i = 0; + *dst = 0; + if (!print_all_length) + print_all_length = 64; + while (i < print_all_length) + { + if (Bt(&flags, i)) + CatPrint(dst, "+%z", i, list); + else if (print_all) + CatPrint(dst, "-%z", i, list); + i++; } return dst; } diff --git a/src/Zenith/Ctrls/CtrlsA.CC b/src/Zenith/Ctrls/CtrlsA.CC index e4a5589f..07495e90 100755 --- a/src/Zenith/Ctrls/CtrlsA.CC +++ b/src/Zenith/Ctrls/CtrlsA.CC @@ -226,12 +226,12 @@ U0 WinScrollsInit(CTask *task) } TaskDerivedValsUpdate(task); } -#define VIEWANGLES_SPACING 22 -//#define VIEWANGLES_RANGE 48 -#define VIEWANGLES_RANGE 360 -#define VIEWANGLES_BORDER 2 -//#define VIEWANGLES_SNAP 2 -#define VIEWANGLES_SNAP 1 +#define VIEWANGLES_SPACING 22 +//#define VIEWANGLES_RANGE 48 +#define VIEWANGLES_RANGE 360 +#define VIEWANGLES_BORDER 2 +//#define VIEWANGLES_SNAP 2 +#define VIEWANGLES_SNAP 1 U0 DrawViewAnglesCtrl(CDC *dc,CCtrl *c) { diff --git a/src/Zenith/Utils/VideoRep.CC b/src/Zenith/Utils/VideoRep.CC index 6c61a8d3..71260165 100755 --- a/src/Zenith/Utils/VideoRep.CC +++ b/src/Zenith/Utils/VideoRep.CC @@ -6,15 +6,15 @@ public I64 VideoRep(Bool full=TRUE) if(full) { "\nVBE Version %X.%X\n\n", sys_vbe_info.version.u8[1], sys_vbe_info.version.u8[0]; - "Manufacturer : $$BLACK$$%s$$FG$$\n", sys_vbe_info.oem; - "Vendor name : $$BLACK$$%s$$FG$$\n", sys_vbe_info.vendor; - "Product name : $$BLACK$$%s$$FG$$\n", sys_vbe_info.product_name; - "Product revision : $$BLACK$$%s$$FG$$\n", sys_vbe_info.product_revision; - "Software revision : $$BLACK$$%X.%X$$FG$$\n", sys_vbe_info.software_revision.u8[1], sys_vbe_info.software_revision.u8[0]; - "Hardware memory : $$BLACK$$%d MiB$$FG$$\n", sys_vbe_info.total_memory * 64 / 1024; + "$$PURPLE$$Manufacturer $$FG$$: $$BLACK$$%s$$FG$$\n", sys_vbe_info.oem; + "$$PURPLE$$Vendor name $$FG$$: $$BLACK$$%s$$FG$$\n", sys_vbe_info.vendor; + "$$PURPLE$$Product name $$FG$$: $$BLACK$$%s$$FG$$\n", sys_vbe_info.product_name; + "$$PURPLE$$Product revision $$FG$$: $$BLACK$$%s$$FG$$\n", sys_vbe_info.product_revision; + "$$PURPLE$$Software revision $$FG$$: $$BLACK$$%X.%X$$FG$$\n", sys_vbe_info.software_revision.u8[1], sys_vbe_info.software_revision.u8[0]; + "$$PURPLE$$Hardware memory $$FG$$: $$BLACK$$%d MiB$$FG$$\n", sys_vbe_info.total_memory * 64 / 1024; "\n\nAll modes shown are 32-bit color.\n\n"; } - "$$CYAN$$ # W x H Mode$$FG$$\n\n"; + "$$CYAN$$ # W x H\t\t Mode$$FG$$\n\n"; for (i = 0; i < VBE_MODES_NUM; i++) { mode = &sys_vbe_modes[i]; @@ -30,4 +30,5 @@ public I64 VideoRep(Bool full=TRUE) } } return mode_count; -} \ No newline at end of file +} +

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 delta 158759 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ÛtgiC7! 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