[v0.99] Merge and integrate M1 branch, which adds support for Apple M1 CPU

This commit is contained in:
Dr-Noob
2021-08-12 17:09:30 +02:00
11 changed files with 175 additions and 9 deletions

View File

@@ -184,6 +184,26 @@ $C1######### ################## ######## #### ######## \
$C1 \
$C1######### ################ ######## ## ######## "
// inspired by the neofetch mac logo
#define ASCII_APPLE \
"$C1 'c. \
$C1 ,xNMM. \
$C1 .OMMMMo \
$C1 OMMM0, \
$C1 .;loddo:' loolloddol;. \
$C1 cKMMMMMMMMMMNWMMMMMMMMMM0: \
$C1 .KMMMMMMMMMMMMMMMMMMMMMMMWd. \
$C1 XMMMMMMMMMMMMMMMMMMMMMMMX. \
$C1;MMMMMMMMMMMMMMMMMMMMMMMM: \
$C1:MMMMMMMMMMMMMMMMMMMMMMMM: \
$C1.MMMMMMMMMMMMMMMMMMMMMMMMX. \
$C1 kMMMMMMMMMMMMMMMMMMMMMMMMWd. \
$C1 .XMMMMMMMMMMMMMMMMMMMMMMMMMMk \
$C1 .XMMMMMMMMMMMMMMMMMMMMMMMMK. \
$C1 kMMMMMMMMMMMMMMMMMMMMMMd \
$C1 ;KMMMMMMMWXXWMMMMMMMk. \
$C1 .cooc,. .,coo:. "
// --------------------- LONG LOGOS ------------------------- //
#define ASCII_AMD_L \
"$C1 \
@@ -266,6 +286,7 @@ asciiL logo_kirin = { ASCII_KIRIN, 53, 12, false, {COLOR_FG_RED},
asciiL logo_broadcom = { ASCII_BROADCOM, 44, 19, false, {COLOR_FG_WHITE, COLOR_FG_RED}, {COLOR_FG_WHITE, COLOR_FG_RED} };
asciiL logo_arm = { ASCII_ARM, 42, 5, false, {COLOR_FG_CYAN}, {COLOR_FG_WHITE, COLOR_FG_CYAN} };
asciiL logo_ibm = { ASCII_IBM, 57, 13, true, {COLOR_BG_CYAN, COLOR_FG_WHITE}, {COLOR_FG_CYAN, COLOR_FG_WHITE} };
asciiL logo_apple = { ASCII_APPLE, 32, 17, false, {COLOR_FG_WHITE}, {COLOR_FG_CYAN, COLOR_FG_WHITE} };
// Long variants | ----------------------------------------------------------------------------------------------------|
asciiL logo_amd_l = { ASCII_AMD_L, 62, 19, true, {COLOR_BG_WHITE, COLOR_BG_GREEN}, {COLOR_FG_WHITE, COLOR_FG_GREEN} };
asciiL logo_intel_l = { ASCII_INTEL_L, 62, 19, true, {COLOR_BG_CYAN, COLOR_BG_WHITE}, {COLOR_FG_CYAN, COLOR_FG_WHITE} };

View File

@@ -10,6 +10,7 @@ enum {
CPU_VENDOR_AMD,
// ARCH_ARM
CPU_VENDOR_ARM,
CPU_VENDOR_APPLE,
CPU_VENDOR_BROADCOM,
CPU_VENDOR_CAVIUM,
CPU_VENDOR_NVIDIA,

View File

@@ -257,6 +257,8 @@ void choose_ascii_art(struct ascii* art, struct color** cs, struct terminal* ter
art->art = &logo_kirin;
else if(art->vendor == SOC_VENDOR_BROADCOM)
art->art = &logo_broadcom;
else if(art->vendor == SOC_VENDOR_APPLE)
art->art = &logo_apple;
else {
if(term != NULL && ascii_fits_screen(term->w, logo_arm_l, lf))
art->art = &logo_arm_l;
@@ -559,6 +561,7 @@ void print_ascii_arm(struct ascii* art, uint32_t la) {
bool add_space = false;
int32_t iters = max(logo->height, art->n_attributes_set);
printf("\n");
for(int32_t n=0; n < iters; n++) {
// 1. Print logo
if(n >= (int) art->additional_spaces && n < (int) logo->height + (int) art->additional_spaces) {
@@ -610,7 +613,7 @@ void print_ascii_arm(struct ascii* art, uint32_t la) {
}
else printf("\n");
}
printf("\n");
}
bool print_cpufetch_arm(struct cpuInfo* cpu, STYLE s, struct color** cs, struct terminal* term) {