[v0.98][ARM] Add M1 SoC detection and apple logo

This commit is contained in:
Dr-Noob
2021-08-02 21:11:53 +01:00
parent d2dc2046de
commit 843da5cf70
5 changed files with 38 additions and 2 deletions

View File

@@ -18,6 +18,7 @@ static char* soc_trademark_string[] = {
[SOC_VENDOR_EXYNOS] = "Exynos ", [SOC_VENDOR_EXYNOS] = "Exynos ",
[SOC_VENDOR_KIRIN] = "Kirin ", [SOC_VENDOR_KIRIN] = "Kirin ",
[SOC_VENDOR_BROADCOM] = "Broadcom BCM", [SOC_VENDOR_BROADCOM] = "Broadcom BCM",
[SOC_VENDOR_APPLE] = "Apple "
}; };
static char* soc_rpi_string[] = { static char* soc_rpi_string[] = {
@@ -614,7 +615,7 @@ struct system_on_chip* get_soc() {
#endif #endif
} }
#elif defined __APPLE__ || __MACH__ #elif defined __APPLE__ || __MACH__
soc->raw_name = NULL; fill_soc(soc, "M1", SOC_APPLE_M1, 5);
#endif #endif
if(soc->raw_name == NULL) { if(soc->raw_name == NULL) {

View File

@@ -12,7 +12,8 @@ enum {
SOC_VENDOR_MEDIATEK, SOC_VENDOR_MEDIATEK,
SOC_VENDOR_EXYNOS, SOC_VENDOR_EXYNOS,
SOC_VENDOR_KIRIN, SOC_VENDOR_KIRIN,
SOC_VENDOR_BROADCOM SOC_VENDOR_BROADCOM,
SOC_VENDOR_APPLE
}; };
struct system_on_chip { struct system_on_chip {

View File

@@ -250,6 +250,8 @@ enum {
SOC_SNAPD_SM8250, SOC_SNAPD_SM8250,
SOC_SNAPD_SM8250_AB, SOC_SNAPD_SM8250_AB,
SOC_SNAPD_SM8350, SOC_SNAPD_SM8350,
// APPLE
SOC_APPLE_M1
}; };
inline static VENDOR get_soc_vendor_from_soc(SOC soc) { inline static VENDOR get_soc_vendor_from_soc(SOC soc) {
@@ -258,6 +260,7 @@ inline static VENDOR get_soc_vendor_from_soc(SOC soc) {
else if(soc >= SOC_EXYNOS_3475 && soc <= SOC_EXYNOS_880) return SOC_VENDOR_EXYNOS; else if(soc >= SOC_EXYNOS_3475 && soc <= SOC_EXYNOS_880) return SOC_VENDOR_EXYNOS;
else if(soc >= SOC_MTK_MT6889 && soc <= SOC_MTK_MT8783) return SOC_VENDOR_MEDIATEK; else if(soc >= SOC_MTK_MT6889 && soc <= SOC_MTK_MT8783) return SOC_VENDOR_MEDIATEK;
else if(soc >= SOC_SNAPD_QSD8650 && soc <= SOC_SNAPD_SM8350) return SOC_VENDOR_SNAPDRAGON; else if(soc >= SOC_SNAPD_QSD8650 && soc <= SOC_SNAPD_SM8350) return SOC_VENDOR_SNAPDRAGON;
else if(soc >= SOC_APPLE_M1 && soc <= SOC_APPLE_M1) return SOC_VENDOR_APPLE;
return SOC_VENDOR_UNKNOWN; return SOC_VENDOR_UNKNOWN;
} }

View File

@@ -150,6 +150,27 @@
######################## \ ######################## \
############### \ ############### \
" "
#define APPLE_ASCII \
" ;' \
.clod. \
cdddd; \
cdddo \
ddddddd:` dddddddd: \
,clooddoolcc:clloddddoll: \
'lddddddddddddddddddddddddd' \
;ddddddddddddddddddddddddd' \
.ddddddddddddddddddddddddd, \
.ddddddddddddddddddddddddd. \
.ddddddddddddddddddddddddd' \
dddddddddddddddddddddddddo. \
,dddddddddddddddddddddddddoc. \
ldddddddddddddddddddddddddddl \
ldddddddddddddddddddddddddd \
'dddddddddddddddddddddddc \
ldddddddddddddddddddd \
.ddd ldd' \
"
#define ARM_ASCII \ #define ARM_ASCII \
" \ " \
@@ -225,6 +246,7 @@ static const char* ASCII_ARRAY [] = {
EXYNOS_ASCII, EXYNOS_ASCII,
KIRIN_ASCII, KIRIN_ASCII,
BROADCOM_ASCII, BROADCOM_ASCII,
APPLE_ASCII,
IBM_ASCII, IBM_ASCII,
UNKNOWN_ASCII UNKNOWN_ASCII
}; };

View File

@@ -225,6 +225,13 @@ struct ascii* set_ascii(VENDOR vendor, STYLE style, struct colors* cs) {
COL_FANCY_4 = COLOR_FG_RED; COL_FANCY_4 = COLOR_FG_RED;
art->ascii_chars[0] = '@'; art->ascii_chars[0] = '@';
} }
else if(art->vendor == SOC_VENDOR_APPLE) {
COL_FANCY_1 = COLOR_BG_BLACK;
COL_FANCY_2 = COLOR_BG_BLACK;
COL_FANCY_3 = COLOR_FG_BLACK;
COL_FANCY_4 = COLOR_FG_BLACK;
art->ascii_chars[0] = '@';
}
else { else {
COL_FANCY_1 = COLOR_BG_CYAN; COL_FANCY_1 = COLOR_BG_CYAN;
COL_FANCY_2 = COLOR_BG_CYAN; COL_FANCY_2 = COLOR_BG_CYAN;
@@ -341,6 +348,8 @@ struct ascii* set_ascii(VENDOR vendor, STYLE style, struct colors* cs) {
strcpy(tmp, KIRIN_ASCII); strcpy(tmp, KIRIN_ASCII);
else if(art->vendor == SOC_VENDOR_BROADCOM) else if(art->vendor == SOC_VENDOR_BROADCOM)
strcpy(tmp, BROADCOM_ASCII); strcpy(tmp, BROADCOM_ASCII);
else if(art->vendor == SOC_VENDOR_APPLE)
strcpy(tmp, APPLE_ASCII);
else else
strcpy(tmp, ARM_ASCII); strcpy(tmp, ARM_ASCII);
#endif #endif