From 4b948bf7dac99647350e4f639ad6805c7599aae9 Mon Sep 17 00:00:00 2001 From: Arthur Bonnaudet Date: Fri, 7 Jun 2024 15:36:22 +0200 Subject: [PATCH] Stax: Support API_LEVEL_20 --- speculos/cxlib/stax-api-level-cx-20.elf | Bin 0 -> 65372 bytes speculos/fonts/stax-fonts-20.bin | Bin 0 -> 36864 bytes src/bolos/fonts_info.c | 1 + src/launcher.c | 3 ++- src/sdk.h | 1 + 5 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 speculos/cxlib/stax-api-level-cx-20.elf create mode 100644 speculos/fonts/stax-fonts-20.bin diff --git a/speculos/cxlib/stax-api-level-cx-20.elf b/speculos/cxlib/stax-api-level-cx-20.elf new file mode 100644 index 0000000000000000000000000000000000000000..03539620aa3716a7aa0fbe5235e2913f1969c978 GIT binary patch literal 65372 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 literal 0 HcmV?d00001 diff --git a/speculos/fonts/stax-fonts-20.bin b/speculos/fonts/stax-fonts-20.bin new file mode 100644 index 0000000000000000000000000000000000000000..a3f8919179aa19abec2b2e6867285190d402a4ac GIT binary patch literal 36864 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 literal 0 HcmV?d00001 diff --git a/src/bolos/fonts_info.c b/src/bolos/fonts_info.c index ff1591d9..dc08818e 100644 --- a/src/bolos/fonts_info.c +++ b/src/bolos/fonts_info.c @@ -230,6 +230,7 @@ void parse_fonts(void *code, unsigned long text_load_addr, case SDK_API_LEVEL_15: case SDK_API_LEVEL_18: case SDK_API_LEVEL_19: + case SDK_API_LEVEL_20: break; default: // Unsupported API_LEVEL, will not parse fonts! diff --git a/src/launcher.c b/src/launcher.c index 8860ae3b..d94cb9aa 100644 --- a/src/launcher.c +++ b/src/launcher.c @@ -817,7 +817,8 @@ int main(int argc, char *argv[]) sdk_version != SDK_API_LEVEL_8 && sdk_version != SDK_API_LEVEL_9 && sdk_version != SDK_API_LEVEL_10 && sdk_version != SDK_API_LEVEL_11 && sdk_version != SDK_API_LEVEL_12 && sdk_version != SDK_API_LEVEL_13 && - sdk_version != SDK_API_LEVEL_14 && sdk_version != SDK_API_LEVEL_15) { + sdk_version != SDK_API_LEVEL_14 && sdk_version != SDK_API_LEVEL_15 && + sdk_version != SDK_API_LEVEL_20) { errx(1, "invalid SDK version for the Ledger Stax"); } break; diff --git a/src/sdk.h b/src/sdk.h index bd03752d..cd3f70b2 100644 --- a/src/sdk.h +++ b/src/sdk.h @@ -34,6 +34,7 @@ typedef enum { SDK_API_LEVEL_17, SDK_API_LEVEL_18, SDK_API_LEVEL_19, + SDK_API_LEVEL_20, SDK_COUNT } sdk_version_t;