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

View File

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

View File

@@ -250,6 +250,8 @@ enum {
SOC_SNAPD_SM8250,
SOC_SNAPD_SM8250_AB,
SOC_SNAPD_SM8350,
// APPLE
SOC_APPLE_M1
};
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_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_APPLE_M1 && soc <= SOC_APPLE_M1) return SOC_VENDOR_APPLE;
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 \
" \
@@ -225,6 +246,7 @@ static const char* ASCII_ARRAY [] = {
EXYNOS_ASCII,
KIRIN_ASCII,
BROADCOM_ASCII,
APPLE_ASCII,
IBM_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;
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 {
COL_FANCY_1 = 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);
else if(art->vendor == SOC_VENDOR_BROADCOM)
strcpy(tmp, BROADCOM_ASCII);
else if(art->vendor == SOC_VENDOR_APPLE)
strcpy(tmp, APPLE_ASCII);
else
strcpy(tmp, ARM_ASCII);
#endif