From a4eeec8ec13a9bc443d48718514802fe7fc40546 Mon Sep 17 00:00:00 2001 From: kormax <3392860+kormax@users.noreply.github.com> Date: Fri, 1 May 2026 22:41:24 +0300 Subject: [PATCH] Add Calypso-related client resources --- .gitignore | 2 + client/resources/calypso/ic_families.json | 80 ++++++++ client/resources/calypso/manufacturers.json | 198 ++++++++++++++++++++ client/resources/calypso/operators.json | 93 +++++++++ 4 files changed, 373 insertions(+) create mode 100644 client/resources/calypso/ic_families.json create mode 100644 client/resources/calypso/manufacturers.json create mode 100644 client/resources/calypso/operators.json diff --git a/.gitignore b/.gitignore index f33816191..c77e1150c 100644 --- a/.gitignore +++ b/.gitignore @@ -66,6 +66,8 @@ cov-int/ !client/resources/hardnested_tables/*.z !client/resources/felica_system_code_list.json !client/resources/felica_ic_code_list.json +!client/resources/calypso/ +!client/resources/calypso/*.json client/src/ui/ui_image.h client/src/ui/ui_overlays.h client/deps/reveng/bmptst diff --git a/client/resources/calypso/ic_families.json b/client/resources/calypso/ic_families.json new file mode 100644 index 000000000..8a256932f --- /dev/null +++ b/client/resources/calypso/ic_families.json @@ -0,0 +1,80 @@ +[ + { + "id": "2F", + "name": "ST31N family", + "sources": [ + "https://www.paycert.eu/certificats/cert_cer_cle_cna_2023-087_certification-letter-stm-calypso-prime-cd21-flash-rev-3.3-sign.pdf" + ] + }, + { + "id": "3C", + "name": "SLE77CLFXxxxxP(M) family", + "sources": [ + "https://www.paycert.eu/certificats/cert_cer_cle_cna_2022-001-certification-letter-hid-calypso-po-prime-soma-atlas-v2-v1.0.0.pdf" + ] + }, + { + "id": "3E", + "name": "SLE77CLF family", + "sources": [ + "https://www.paycert.eu/certificats/cert_cer_cle_cna_2023-083_certification-letter-hid-calypso-light-soma-atlas-clap-v2-sign.pdf" + ] + }, + { + "id": "3F", + "name": "SLC32 family", + "sources": [ + "https://www.paycert.eu/certificats/cert_cer_cle_2020-069-certification-report_calypsog2prime_v1.0.0.pdf" + ] + }, + { + "id": "49", + "name": "ST33J", + "sources": [ + "https://www.paycert.eu/certificats/cert_cer_cle_2021-005-certification-report_st54h_v1.0.0.pdf" + ] + }, + { + "id": "50", + "name": "SLC36 family", + "sources": [ + "https://www.paycert.eu/certificats/cert_cer_cle_cna_2024-188-certification-letter_calypso-applet_idemia-urbango-fly-40-sign.pdf", + "https://www.paycert.eu/certificats/cert_cer_cle_cna_2023-188-certification-letter_thales-gemalto-calypso-prime-g3_sign.pdf" + ] + }, + { + "id": "51", + "name": "SLM10TLD002Y", + "sources": [ + "https://www.infineon.com/assets/row/public/documents/30/67/infineon-calypsotm-move-calypsor-basic-certificatepaycert-certificates-en.pdf" + ] + }, + { + "id": "52", + "name": "SLC26 family", + "sources": [ + "https://www.paycert.eu/certificats/cert_cer_cle_cna_2025-177-v1.0.0_paragon-id-tango-prime-v3-sign.pdf", + "https://www.paycert.eu/certificats/cert_cer_cle_cna_2025-086-v3.0.0_watchdata-timecos-clap-1.2-sign.pdf" + ] + }, + { + "id": "53", + "name": "S3DxxxA family", + "sources": [ + "https://www.paycert.eu/certificats/cert_cer_cle_cna_2026-032-v1.0.0_hid-global-soma-atlas-v2s-sign.pdf" + ] + }, + { + "id": "C0", + "name": "Java Card", + "note": "Some older HCE implementations also report platform byte C0.", + "sources": [ + "https://www.paycert.eu/certificats/cert_cer_cle_cna_2024-001-certification-letter_calypso-applet_mobileknowledge-sn300-b5-series-sign.pdf", + "https://www.paycert.eu/certificats/cert_cer_cle_cna_2023-148-certification-letter_calypso-applet_thales-tess-v5.0-publi.pdf" + ] + }, + { + "id": "E0", + "name": "HCE" + } +] diff --git a/client/resources/calypso/manufacturers.json b/client/resources/calypso/manufacturers.json new file mode 100644 index 000000000..359236ac2 --- /dev/null +++ b/client/resources/calypso/manufacturers.json @@ -0,0 +1,198 @@ +[ + { + "id": "00", + "name": "ASK", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "01", + "name": "Intec", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "02", + "name": "Calypso Networks Association", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "03", + "name": "Ascom", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "04", + "name": "Thales", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "05", + "name": "Sagem", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "06", + "name": "Axalto", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "07", + "name": "Bull", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "08", + "name": "Spirtech", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "09", + "name": "BMS", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "0A", + "name": "Oberthur", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "0B", + "name": "Gemplus", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "0C", + "name": "Magnadata", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "0D", + "name": "Calmell", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "0E", + "name": "Mecstar", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "0F", + "name": "ACG Identification Technologies", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "10", + "name": "STMicroelectronics", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "11", + "name": "Calypso Networks Association", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "12", + "name": "Giesecke & Devrient", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "13", + "name": "OTI", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "14", + "name": "Gemalto", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "15", + "name": "Watchdata", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "16", + "name": "Alios", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "17", + "name": "S-P-S", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "18", + "name": "IRSA", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "20", + "name": "Calypso Networks Association", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "21", + "name": "Innovatron", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + }, + { + "id": "2E", + "name": "Calypso Networks Association", + "sources": [ + "https://github.com/zoobab/mobib-extractor/blob/master/MOBIB-Extractor.py" + ] + } +] diff --git a/client/resources/calypso/operators.json b/client/resources/calypso/operators.json new file mode 100644 index 000000000..c75635a16 --- /dev/null +++ b/client/resources/calypso/operators.json @@ -0,0 +1,93 @@ +[ + { + "id": "056001", + "name": "MOBIB / Brussels", + "sources": [ + "https://github.com/zoobab/mobib-extractor", + "https://github.com/metrodroid/metrodroid/blob/04a603ba6/src/commonMain/kotlin/au/id/micolous/metrodroid/transit/mobib/MobibTransitData.kt" + ] + }, + { + "id": "250000", + "name": "Pass Pass", + "sources": [ + "https://github.com/metrodroid/metrodroid/blob/04a603ba6/src/commonMain/kotlin/au/id/micolous/metrodroid/transit/intercode/IntercodeTransitData.kt" + ] + }, + { + "id": "250057", + "name": "Lyon TCL" + }, + { + "id": "250064", + "name": "TaM Montpellier", + "sources": [ + "https://github.com/metrodroid/metrodroid/blob/04a603ba6/src/commonMain/kotlin/au/id/micolous/metrodroid/transit/intercode/IntercodeTransitData.kt" + ] + }, + { + "id": "250069", + "name": "Lignes D Azur" + }, + { + "id": "250091", + "name": "CTS Strasbourg" + }, + { + "id": "250502", + "name": "Oura", + "sources": [ + "https://github.com/metrodroid/metrodroid/blob/04a603ba6/src/commonMain/kotlin/au/id/micolous/metrodroid/transit/intercode/IntercodeTransitData.kt" + ] + }, + { + "id": "250901", + "name": "Navigo", + "sources": [ + "https://github.com/metrodroid/metrodroid/blob/04a603ba6/src/commonMain/kotlin/au/id/micolous/metrodroid/transit/intercode/IntercodeTransitData.kt" + ] + }, + { + "id": "250908", + "name": "KorriGo", + "sources": [ + "https://github.com/metrodroid/metrodroid/blob/04a603ba6/src/commonMain/kotlin/au/id/micolous/metrodroid/transit/intercode/IntercodeTransitData.kt" + ] + }, + { + "id": "250916", + "name": "Tisseo / Pastel", + "sources": [ + "https://github.com/metrodroid/metrodroid/blob/04a603ba6/src/commonMain/kotlin/au/id/micolous/metrodroid/transit/intercode/IntercodeTransitData.kt" + ] + }, + { + "id": "250920", + "name": "Lignes D Azur / Envibus", + "sources": [ + "https://github.com/metrodroid/metrodroid/blob/04a603ba6/src/commonMain/kotlin/au/id/micolous/metrodroid/transit/intercode/IntercodeTransitData.kt" + ] + }, + { + "id": "250921", + "name": "TransGironde", + "sources": [ + "https://github.com/metrodroid/metrodroid/blob/04a603ba6/src/commonMain/kotlin/au/id/micolous/metrodroid/transit/intercode/IntercodeTransitData.kt" + ] + }, + { + "id": "380100", + "name": "Pisa Carta Mobile", + "sources": [ + "https://github.com/metrodroid/metrodroid/blob/04a603ba6/src/commonMain/kotlin/au/id/micolous/metrodroid/transit/pisa/PisaTransitData.kt" + ] + }, + { + "id": "802640", + "name": "CDMX" + }, + { + "id": "988008", + "name": "Andante / Transportes Metropolitanos do Porto" + } +]