diff --git a/libticables/trunk/src/probe.cc b/libticables/trunk/src/probe.cc index b504d1ac..907e00a0 100644 --- a/libticables/trunk/src/probe.cc +++ b/libticables/trunk/src/probe.cc @@ -360,6 +360,10 @@ void translate_usb_device_info(CableDeviceInfo *info, const USBCableInfo *usbinf { info->variant = CABLE_VARIANT_TI84PT; } + else if (!strcmp(usbinfo->product_str, "TI-82 Advanced Edition Python")) + { + info->variant = CABLE_VARIANT_TI82AEP; + } else if (usbinfo->version <= 0x0110) { info->variant = CABLE_VARIANT_TI84PSE; @@ -376,6 +380,10 @@ void translate_usb_device_info(CableDeviceInfo *info, const USBCableInfo *usbinf { info->variant = CABLE_VARIANT_TI83PCE; } + else if (usbinfo->version == 0x0660) + { + info->variant = CABLE_VARIANT_TI82AEP; + } else { info->variant = CABLE_VARIANT_UNKNOWN; diff --git a/libticables/trunk/src/ticables.h b/libticables/trunk/src/ticables.h index a1ec26fb..ca2898ce 100644 --- a/libticables/trunk/src/ticables.h +++ b/libticables/trunk/src/ticables.h @@ -192,7 +192,8 @@ typedef enum CABLE_VARIANT_NSPIRE_CAS, /* CABLE_FAMILY_USB_NSPIRE */ CABLE_VARIANT_NSPIRE_CRADLE, /* CABLE_FAMILY_USB_NSPIRE_CRADLE */ // The CX II series doesn't seem to make it possible to distinguish its four members (three product IDs and OS versions) at the USB level. - CABLE_VARIANT_NSPIRE_CXII /* CABLE_FAMILY_USB_NSPIRE_CXII */ + CABLE_VARIANT_NSPIRE_CXII, /* CABLE_FAMILY_USB_NSPIRE_CXII */ + CABLE_VARIANT_TI82AEP /* CABLE_FAMILY_USB_TI8X */ } CableVariant; /** diff --git a/libticalcs/trunk/po/de.po b/libticalcs/trunk/po/de.po index 93b2988b..def410ad 100644 --- a/libticalcs/trunk/po/de.po +++ b/libticalcs/trunk/po/de.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: libticalcs2 1.1.10\n" "Report-Msgid-Bugs-To: tilp-users@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-08-07 21:47+0200\n" +"POT-Creation-Date: 2023-09-13 22:08+0200\n" "PO-Revision-Date: 2016-11-18 19:30+0300\n" "Last-Translator: Andreas B. Mundt \n" "Language-Team: German \n" @@ -28,7 +28,7 @@ msgstr "Dummy Hand-Held" msgid "Dummy hand-held used when no calc is set" msgstr "Dummy Hand-Held verwendet, wenn kein calc gesetzt ist" -#: src/calc_73.cc:390 src/calc_84p.cc:302 src/calc_8x.cc:402 +#: src/calc_73.cc:390 src/calc_84p.cc:303 src/calc_8x.cc:402 #, c-format msgid "Parsing %s" msgstr "Lese und analysiere %s" @@ -49,17 +49,17 @@ msgstr "FLASH Name: \"%s\"" msgid "FLASH size: %i bytes." msgstr "FLASH Größe: %i Bytes." -#: src/calc_73.cc:1279 src/calc_84p.cc:1430 src/calc_84p.cc:1460 +#: src/calc_73.cc:1279 src/calc_84p.cc:1441 src/calc_84p.cc:1471 #: src/calc_9x.cc:1455 src/calc_89t.cc:856 msgid "Setting clock..." msgstr "Stelle Zeit..." -#: src/calc_73.cc:1325 src/calc_84p.cc:1376 src/calc_84p.cc:1526 +#: src/calc_73.cc:1325 src/calc_84p.cc:1387 src/calc_84p.cc:1537 #: src/calc_9x.cc:1499 src/calc_89t.cc:891 msgid "Getting clock..." msgstr "Hole Zeit..." -#: src/calc_73.cc:1409 src/calc_84p.cc:1645 src/calc_8x.cc:1254 +#: src/calc_73.cc:1409 src/calc_84p.cc:1656 src/calc_8x.cc:1254 #: src/calc_9x.cc:1563 src/calc_9x.cc:1595 src/calc_89t.cc:980 #: src/calc_nsp.cc:852 #, c-format @@ -102,35 +102,35 @@ msgstr "Header komplett gesendet." msgid "Receiving certificate" msgstr "Erhalte Zertifikat" -#: src/calc_84p.cc:1390 src/calc_84p.cc:1540 +#: src/calc_84p.cc:1401 src/calc_84p.cc:1551 #, c-format msgid "Could not determine clock type: %u %u" msgstr "Konnte Uhrentyp nicht ermitteln: %u %u" -#: src/calc_84p.cc:1399 +#: src/calc_84p.cc:1410 msgid "Will set classic clock" msgstr "Verwendet klassische Uhr" -#: src/calc_84p.cc:1458 +#: src/calc_84p.cc:1469 msgid "Will set new clock" msgstr "Verwende neue Uhr" -#: src/calc_84p.cc:1554 src/calc_89t.cc:919 +#: src/calc_84p.cc:1565 src/calc_89t.cc:919 msgid "Found valid classic clock" msgstr "Gültige klassische Uhr gefunden" -#: src/calc_84p.cc:1593 src/calc_89t.cc:958 +#: src/calc_84p.cc:1604 src/calc_89t.cc:958 #, c-format msgid "Found classic clock but failed to retrieve its parameters: %u %u %u %u" msgstr "" "Klassische Uhr gefunden, aber abrufen der Parameter fehlgeschlagen: %u %u %u " "%u" -#: src/calc_84p.cc:1611 +#: src/calc_84p.cc:1622 msgid "Found valid new clock" msgstr "Gültige neue Uhr gefunden" -#: src/calc_84p.cc:1626 +#: src/calc_84p.cc:1637 #, c-format msgid "" "Found new clock but failed to retrieve its parameters: %u %u %u %u %u %u" @@ -138,44 +138,48 @@ msgstr "" "Klassische Uhr gefunden, aber abrufen der Parameter fehlgeschlagen: %u %u %u " "%u %u %u" -#: src/calc_84p.cc:1728 src/calc_89t.cc:1169 +#: src/calc_84p.cc:1739 src/calc_89t.cc:1169 msgid "Getting version..." msgstr "Hole Versionsnummer..." -#: src/calc_84p.cc:1780 +#: src/calc_84p.cc:1791 msgid "That's odd, product ID and calc ID do not match ?" msgstr "Komisch, Produkt-ID und Rechner-ID stimmen nicht überein?" -#: src/calc_84p.cc:1998 src/calc_84p.cc:2007 src/calc_84p.cc:2016 -#: src/calc_84p.cc:2032 src/calc_84p.cc:2040 +#: src/calc_84p.cc:2009 src/calc_84p.cc:2018 src/calc_84p.cc:2027 +#: src/calc_84p.cc:2043 src/calc_84p.cc:2052 src/calc_84p.cc:2060 #, c-format msgid "Unhandled 84+ family member with product_id=%d hw_version=%d" msgstr "Unbekanntes 84+ Familienmitglied mit product_id=%d hw_version=%d" -#: src/calc_84p.cc:2058 +#: src/calc_84p.cc:2078 msgid "TI-84 Plus thru DirectLink" msgstr "TI-84 Plus mittels DirectLink" -#: src/calc_84p.cc:2129 +#: src/calc_84p.cc:2149 msgid "TI-84 Plus C Silver Edition thru DirectLink" msgstr "TI-84 Plus C Silver Edition mittels DirectLink" -#: src/calc_84p.cc:2200 +#: src/calc_84p.cc:2220 msgid "TI-83 Premium CE thru DirectLink" msgstr "TI-83 Premium CE mittels DirectLink" -#: src/calc_84p.cc:2271 +#: src/calc_84p.cc:2291 msgid "TI-84 Plus CE thru DirectLink" msgstr "TI-84 Plus CE mittels DirectLink" -#: src/calc_84p.cc:2342 +#: src/calc_84p.cc:2362 msgid "TI-82 Advanced thru DirectLink" msgstr "TI-82 Advanced mittels DirectLink" -#: src/calc_84p.cc:2413 +#: src/calc_84p.cc:2433 msgid "TI-84 Plus T thru DirectLink" msgstr "TI-84 Plus T mittels DirectLink" +#: src/calc_84p.cc:2504 +msgid "TI-82 Advanced Edition Python thru DirectLink" +msgstr "TI-82 Advanced Edition Python mittels DirectLink" + #: src/calc_8x.cc:493 src/calc_8x.cc:803 msgid "Waiting for user's action..." msgstr "Warte auf Aktion des Anwenders..." @@ -906,16 +910,16 @@ msgstr "Rechner Typ: %s" msgid "Unknown pixel format %d\n" msgstr "Unbekanntes Pixel Format %d\n" -#: src/ticalcs.cc:318 +#: src/ticalcs.cc:324 #, c-format msgid "ticalcs library version %s" msgstr "ticalcs Library Version %s" -#: src/ticalcs.cc:634 +#: src/ticalcs.cc:640 msgid "Link calc handle details:" msgstr "Verbindungs-Details:" -#: src/ticalcs.cc:635 +#: src/ticalcs.cc:641 #, c-format msgid " model : %s" msgstr " Modell : %s" diff --git a/libticalcs/trunk/po/fr.po b/libticalcs/trunk/po/fr.po index f194227c..e7e47138 100644 --- a/libticalcs/trunk/po/fr.po +++ b/libticalcs/trunk/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libticalcs2 1.1.10\n" "Report-Msgid-Bugs-To: tilp-users@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-08-07 21:47+0200\n" +"POT-Creation-Date: 2023-09-13 22:08+0200\n" "PO-Revision-Date: 2011-12-13 19:16+0100\n" "Last-Translator: Lionel Debroux \n" "Language-Team: Français \n" @@ -25,7 +25,7 @@ msgstr "Calculatrice vide" msgid "Dummy hand-held used when no calc is set" msgstr "Calculatrice vide utilisée quand aucune calculatrice n'est spécifiée" -#: src/calc_73.cc:390 src/calc_84p.cc:302 src/calc_8x.cc:402 +#: src/calc_73.cc:390 src/calc_84p.cc:303 src/calc_8x.cc:402 #, c-format msgid "Parsing %s" msgstr "Parcourt %s" @@ -46,17 +46,17 @@ msgstr "Nom FLASH: \"%s\"" msgid "FLASH size: %i bytes." msgstr "Taille FLASH: %i octets." -#: src/calc_73.cc:1279 src/calc_84p.cc:1430 src/calc_84p.cc:1460 +#: src/calc_73.cc:1279 src/calc_84p.cc:1441 src/calc_84p.cc:1471 #: src/calc_9x.cc:1455 src/calc_89t.cc:856 msgid "Setting clock..." msgstr "Mise à jour de l'horloge..." -#: src/calc_73.cc:1325 src/calc_84p.cc:1376 src/calc_84p.cc:1526 +#: src/calc_73.cc:1325 src/calc_84p.cc:1387 src/calc_84p.cc:1537 #: src/calc_9x.cc:1499 src/calc_89t.cc:891 msgid "Getting clock..." msgstr "Réception de l'horloge..." -#: src/calc_73.cc:1409 src/calc_84p.cc:1645 src/calc_8x.cc:1254 +#: src/calc_73.cc:1409 src/calc_84p.cc:1656 src/calc_8x.cc:1254 #: src/calc_9x.cc:1563 src/calc_9x.cc:1595 src/calc_89t.cc:980 #: src/calc_nsp.cc:852 #, c-format @@ -99,35 +99,35 @@ msgstr "En-tête envoyé complètement" msgid "Receiving certificate" msgstr "Réception du certificat" -#: src/calc_84p.cc:1390 src/calc_84p.cc:1540 +#: src/calc_84p.cc:1401 src/calc_84p.cc:1551 #, c-format msgid "Could not determine clock type: %u %u" msgstr "Impossible de déterminer le type d'horloge: %u %u" -#: src/calc_84p.cc:1399 +#: src/calc_84p.cc:1410 msgid "Will set classic clock" msgstr "Va régler l'horloge de type ancien" -#: src/calc_84p.cc:1458 +#: src/calc_84p.cc:1469 msgid "Will set new clock" msgstr "Va régler l'horloge de type nouveau" -#: src/calc_84p.cc:1554 src/calc_89t.cc:919 +#: src/calc_84p.cc:1565 src/calc_89t.cc:919 msgid "Found valid classic clock" msgstr "Trouvé une horloge valide de type ancien" -#: src/calc_84p.cc:1593 src/calc_89t.cc:958 +#: src/calc_84p.cc:1604 src/calc_89t.cc:958 #, c-format msgid "Found classic clock but failed to retrieve its parameters: %u %u %u %u" msgstr "" "Trouvé une horloge de type ancien mais impossible de récupérer ses " "paramètres: %u %u %u %u" -#: src/calc_84p.cc:1611 +#: src/calc_84p.cc:1622 msgid "Found valid new clock" msgstr "Trouvé une horloge valide de type nouveau" -#: src/calc_84p.cc:1626 +#: src/calc_84p.cc:1637 #, c-format msgid "" "Found new clock but failed to retrieve its parameters: %u %u %u %u %u %u" @@ -135,46 +135,50 @@ msgstr "" "Trouvé une horloge de type nouveau mais impossible de récupérer ses " "paramètres: %u %u %u %u %u %u" -#: src/calc_84p.cc:1728 src/calc_89t.cc:1169 +#: src/calc_84p.cc:1739 src/calc_89t.cc:1169 msgid "Getting version..." msgstr "Récupération de la version..." -#: src/calc_84p.cc:1780 +#: src/calc_84p.cc:1791 msgid "That's odd, product ID and calc ID do not match ?" msgstr "" "C'est bizarre, le numéro de produit et le numéro de calculatrice ne " "correspondent pas ?" -#: src/calc_84p.cc:1998 src/calc_84p.cc:2007 src/calc_84p.cc:2016 -#: src/calc_84p.cc:2032 src/calc_84p.cc:2040 +#: src/calc_84p.cc:2009 src/calc_84p.cc:2018 src/calc_84p.cc:2027 +#: src/calc_84p.cc:2043 src/calc_84p.cc:2052 src/calc_84p.cc:2060 #, c-format msgid "Unhandled 84+ family member with product_id=%d hw_version=%d" msgstr "Membre inconnu de la famille 84+ avec product_id=%d hw_version=%d" -#: src/calc_84p.cc:2058 +#: src/calc_84p.cc:2078 msgid "TI-84 Plus thru DirectLink" msgstr "TI-84 Plus via DirectLink" -#: src/calc_84p.cc:2129 +#: src/calc_84p.cc:2149 msgid "TI-84 Plus C Silver Edition thru DirectLink" msgstr "TI-84 Plus C Silver Edition via DirectLink" -#: src/calc_84p.cc:2200 +#: src/calc_84p.cc:2220 msgid "TI-83 Premium CE thru DirectLink" msgstr "TI-83 Premium CE via DirectLink" -#: src/calc_84p.cc:2271 +#: src/calc_84p.cc:2291 msgid "TI-84 Plus CE thru DirectLink" msgstr "TI-84 Plus CE via DirectLink" -#: src/calc_84p.cc:2342 +#: src/calc_84p.cc:2362 msgid "TI-82 Advanced thru DirectLink" msgstr "TI-82 Advanced via DirectLink" -#: src/calc_84p.cc:2413 +#: src/calc_84p.cc:2433 msgid "TI-84 Plus T thru DirectLink" msgstr "TI-84 Plus T via DirectLink" +#: src/calc_84p.cc:2504 +msgid "TI-82 Advanced Edition Python thru DirectLink" +msgstr "TI-82 Advanced Edition Python via DirectLink" + #: src/calc_8x.cc:493 src/calc_8x.cc:803 msgid "Waiting for user's action..." msgstr "Attente d'une action de la part de l'utilisateur..." @@ -905,16 +909,16 @@ msgstr " Type de calculatrice: %s" msgid "Unknown pixel format %d\n" msgstr "Format de pixel %d inconnu\n" -#: src/ticalcs.cc:318 +#: src/ticalcs.cc:324 #, c-format msgid "ticalcs library version %s" msgstr "librairie ticalcs version %s" -#: src/ticalcs.cc:634 +#: src/ticalcs.cc:640 msgid "Link calc handle details:" msgstr "Détails du descripteur de calculatrice:" -#: src/ticalcs.cc:635 +#: src/ticalcs.cc:641 #, c-format msgid " model : %s" msgstr " modèle : %s" diff --git a/libticalcs/trunk/po/libticalcs2.pot b/libticalcs/trunk/po/libticalcs2.pot index 7304a52c..40573273 100644 --- a/libticalcs/trunk/po/libticalcs2.pot +++ b/libticalcs/trunk/po/libticalcs2.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libticalcs2 1.1.10\n" "Report-Msgid-Bugs-To: tilp-users@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-08-07 21:47+0200\n" +"POT-Creation-Date: 2023-09-13 22:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,7 +25,7 @@ msgstr "" msgid "Dummy hand-held used when no calc is set" msgstr "" -#: src/calc_73.cc:390 src/calc_84p.cc:302 src/calc_8x.cc:402 +#: src/calc_73.cc:390 src/calc_84p.cc:303 src/calc_8x.cc:402 #, c-format msgid "Parsing %s" msgstr "" @@ -46,17 +46,17 @@ msgstr "" msgid "FLASH size: %i bytes." msgstr "" -#: src/calc_73.cc:1279 src/calc_84p.cc:1430 src/calc_84p.cc:1460 +#: src/calc_73.cc:1279 src/calc_84p.cc:1441 src/calc_84p.cc:1471 #: src/calc_9x.cc:1455 src/calc_89t.cc:856 msgid "Setting clock..." msgstr "" -#: src/calc_73.cc:1325 src/calc_84p.cc:1376 src/calc_84p.cc:1526 +#: src/calc_73.cc:1325 src/calc_84p.cc:1387 src/calc_84p.cc:1537 #: src/calc_9x.cc:1499 src/calc_89t.cc:891 msgid "Getting clock..." msgstr "" -#: src/calc_73.cc:1409 src/calc_84p.cc:1645 src/calc_8x.cc:1254 +#: src/calc_73.cc:1409 src/calc_84p.cc:1656 src/calc_8x.cc:1254 #: src/calc_9x.cc:1563 src/calc_9x.cc:1595 src/calc_89t.cc:980 #: src/calc_nsp.cc:852 #, c-format @@ -99,76 +99,80 @@ msgstr "" msgid "Receiving certificate" msgstr "" -#: src/calc_84p.cc:1390 src/calc_84p.cc:1540 +#: src/calc_84p.cc:1401 src/calc_84p.cc:1551 #, c-format msgid "Could not determine clock type: %u %u" msgstr "" -#: src/calc_84p.cc:1399 +#: src/calc_84p.cc:1410 msgid "Will set classic clock" msgstr "" -#: src/calc_84p.cc:1458 +#: src/calc_84p.cc:1469 msgid "Will set new clock" msgstr "" -#: src/calc_84p.cc:1554 src/calc_89t.cc:919 +#: src/calc_84p.cc:1565 src/calc_89t.cc:919 msgid "Found valid classic clock" msgstr "" -#: src/calc_84p.cc:1593 src/calc_89t.cc:958 +#: src/calc_84p.cc:1604 src/calc_89t.cc:958 #, c-format msgid "Found classic clock but failed to retrieve its parameters: %u %u %u %u" msgstr "" -#: src/calc_84p.cc:1611 +#: src/calc_84p.cc:1622 msgid "Found valid new clock" msgstr "" -#: src/calc_84p.cc:1626 +#: src/calc_84p.cc:1637 #, c-format msgid "" "Found new clock but failed to retrieve its parameters: %u %u %u %u %u %u" msgstr "" -#: src/calc_84p.cc:1728 src/calc_89t.cc:1169 +#: src/calc_84p.cc:1739 src/calc_89t.cc:1169 msgid "Getting version..." msgstr "" -#: src/calc_84p.cc:1780 +#: src/calc_84p.cc:1791 msgid "That's odd, product ID and calc ID do not match ?" msgstr "" -#: src/calc_84p.cc:1998 src/calc_84p.cc:2007 src/calc_84p.cc:2016 -#: src/calc_84p.cc:2032 src/calc_84p.cc:2040 +#: src/calc_84p.cc:2009 src/calc_84p.cc:2018 src/calc_84p.cc:2027 +#: src/calc_84p.cc:2043 src/calc_84p.cc:2052 src/calc_84p.cc:2060 #, c-format msgid "Unhandled 84+ family member with product_id=%d hw_version=%d" msgstr "" -#: src/calc_84p.cc:2058 +#: src/calc_84p.cc:2078 msgid "TI-84 Plus thru DirectLink" msgstr "" -#: src/calc_84p.cc:2129 +#: src/calc_84p.cc:2149 msgid "TI-84 Plus C Silver Edition thru DirectLink" msgstr "" -#: src/calc_84p.cc:2200 +#: src/calc_84p.cc:2220 msgid "TI-83 Premium CE thru DirectLink" msgstr "" -#: src/calc_84p.cc:2271 +#: src/calc_84p.cc:2291 msgid "TI-84 Plus CE thru DirectLink" msgstr "" -#: src/calc_84p.cc:2342 +#: src/calc_84p.cc:2362 msgid "TI-82 Advanced thru DirectLink" msgstr "" -#: src/calc_84p.cc:2413 +#: src/calc_84p.cc:2433 msgid "TI-84 Plus T thru DirectLink" msgstr "" +#: src/calc_84p.cc:2504 +msgid "TI-82 Advanced Edition Python thru DirectLink" +msgstr "" + #: src/calc_8x.cc:493 src/calc_8x.cc:803 msgid "Waiting for user's action..." msgstr "" @@ -869,16 +873,16 @@ msgstr "" msgid "Unknown pixel format %d\n" msgstr "" -#: src/ticalcs.cc:318 +#: src/ticalcs.cc:324 #, c-format msgid "ticalcs library version %s" msgstr "" -#: src/ticalcs.cc:634 +#: src/ticalcs.cc:640 msgid "Link calc handle details:" msgstr "" -#: src/ticalcs.cc:635 +#: src/ticalcs.cc:641 #, c-format msgid " model : %s" msgstr "" diff --git a/libticalcs/trunk/src/calc_84p.cc b/libticalcs/trunk/src/calc_84p.cc index 70a07866..88e890a1 100644 --- a/libticalcs/trunk/src/calc_84p.cc +++ b/libticalcs/trunk/src/calc_84p.cc @@ -175,6 +175,7 @@ static int recv_screen (CalcHandle* handle, CalcScreenCoord* sc, uint8_t** bitm } case CALC_TI83PCE_USB: case CALC_TI84PCE_USB: + case CALC_TI82AEP_USB: { if (size == TI84PC_ROWS * TI84PC_COLS * 2) { @@ -243,7 +244,7 @@ static int get_dirlist (CalcHandle* handle, GNode** vars, GNode** apps) ve = tifiles_ve_create(); // Actually, "RclWindw" works even on an old 84+ running OS 2.43, but libticalcs // has been using "RclWin" successfully on TI-Z80 DUSB models since the beginning... - ticalcs_strlcpy(ve->name, (handle->model == CALC_TI84PC_USB || handle->model == CALC_TI83PCE_USB || handle->model == CALC_TI84PCE_USB) ? "RclWindw" : "RclWin", sizeof(ve->name)); + ticalcs_strlcpy(ve->name, (handle->model == CALC_TI84PC_USB || handle->model == CALC_TI83PCE_USB || handle->model == CALC_TI84PCE_USB || handle->model == CALC_TI82AEP_USB) ? "RclWindw" : "RclWin", sizeof(ve->name)); ve->type = TI84p_ZSTO; node = dirlist_create_append_node(ve, &folder); if (node != NULL) @@ -1286,25 +1287,35 @@ static int dump_rom_1 (CalcHandle* handle) if (!ret) { PAUSE(100); - if (infos.model == CALC_TI84P_USB) + switch (infos.model) + { + case CALC_TI84P_USB: { ret = rd_send_dumper(handle, "romdump.8Xp", romDumpSize84p, romDump84p); + break; } - else if (infos.model == CALC_TI84PC_USB) + case CALC_TI84PC_USB: { ret = rd_send_dumper(handle, "romdump.8Xp", romDumpSize84pcu, romDump84pcu); + break; } - else if (infos.model == CALC_TI82A_USB) + case CALC_TI82A_USB: { ret = rd_send_dumper(handle, "romdump.8Xp", romDumpSize82a, romDump82a); + break; } - else if (infos.model == CALC_TI84PCE_USB || infos.model == CALC_TI83PCE_USB) + case CALC_TI84PCE_USB: + case CALC_TI83PCE_USB: + case CALC_TI82AEP_USB: { ret = rd_send_dumper(handle, "romdump.8Xp", romDumpSize834pceu, romDump834pceu); + break; } - else + default: { ret = 0; + break; + } } } @@ -1320,7 +1331,7 @@ static int dump_rom_2 (CalcHandle* handle, CalcDumpSize size, const char *filen if (!ret) { PAUSE(100); - if (infos.model == CALC_TI84PCE_USB || infos.model == CALC_TI83PCE_USB) + if (infos.model == CALC_TI84PCE_USB || infos.model == CALC_TI83PCE_USB || infos.model == CALC_TI82AEP_USB) { // The TI-eZ80 series does no longer provide direct remote program launch... // Therefore, use a less sophisticated and more complicated way to queue keypresses. @@ -2033,6 +2044,15 @@ static int get_version (CalcHandle* handle, CalcInfos* infos) } break; } + case PRODUCT_ID_TI82AEP: + { + infos->model = CALC_TI82AEP_USB; + if (!infos->exact_math || infos->hw_version < 8) + { + ticalcs_warning(_("Unhandled 84+ family member with product_id=%d hw_version=%d"), product_id, infos->hw_version); + } + break; + } default: { // Default to generic 84+(SE). @@ -2475,3 +2495,74 @@ extern const CalcFncts calc_84pt_usb = &send_all_vars_backup, &tixx_recv_all_vars_backup }; + +extern const CalcFncts calc_82aep_usb = +{ + CALC_TI82AEP_USB, + "TI82AEP", + "TI-82 Advanced Edition Python", + N_("TI-82 Advanced Edition Python thru DirectLink"), + OPS_ISREADY | OPS_SCREEN | OPS_DIRLIST | OPS_VARS | OPS_FLASH | OPS_OS | + /*OPS_IDLIST |*/ OPS_ROMDUMP | OPS_CLOCK | OPS_DELVAR | OPS_VERSION | OPS_BACKUP | OPS_KEYS | + OPS_RENAME | OPS_CHATTR | + FTS_SILENT | FTS_MEMFREE | FTS_FLASH, + PRODUCT_ID_TI82AEP, + {"", /* is_ready */ + "", /* send_key */ + "", /* execute */ + "1P", /* recv_screen */ + "1L", /* get_dirlist */ + "", /* get_memfree */ + "", /* send_backup */ + "", /* recv_backup */ + "2P1L", /* send_var */ + "1P1L", /* recv_var */ + "", /* send_var_ns */ + "", /* recv_var_ns */ + "2P1L", /* send_app */ + "2P1L", /* recv_app */ + "2P", /* send_os */ + "1L", /* recv_idlist */ + "2P", /* dump_rom_1 */ + "2P", /* dump_rom_2 */ + "", /* set_clock */ + "", /* get_clock */ + "1L", /* del_var */ + "1L", /* new_folder */ + "", /* get_version */ + "1L", /* send_cert */ + "1L", /* recv_cert */ + "", /* rename */ + "", /* chattr */ + "2P", /* send_all_vars_backup */ + "2P", /* recv_all_vars_backup */ }, + &is_ready, + &send_key, + &execute, + &recv_screen, + &get_dirlist, + &get_memfree, + &noop_send_backup, + &noop_recv_backup, + &send_var, + &recv_var, + &noop_send_var_ns, + &noop_recv_var_ns, + &noop_send_flash, + &noop_recv_flash, + &send_os_834pce, + &recv_idlist, + &dump_rom_1, + &dump_rom_2, + &set_clock, + &get_clock, + &del_var, + &noop_new_folder, + &get_version, + &noop_send_cert, + &noop_recv_cert, + &rename_var, + &change_attr, + &send_all_vars_backup, + &tixx_recv_all_vars_backup +}; diff --git a/libticalcs/trunk/src/calc_xx.h b/libticalcs/trunk/src/calc_xx.h index a864461c..d37cc141 100644 --- a/libticalcs/trunk/src/calc_xx.h +++ b/libticalcs/trunk/src/calc_xx.h @@ -53,6 +53,7 @@ extern const CalcFncts calc_83pce_usb; extern const CalcFncts calc_84pce_usb; extern const CalcFncts calc_82a_usb; extern const CalcFncts calc_84pt_usb; +extern const CalcFncts calc_82aep_usb; extern const CalcFncts calc_nsp_cradle; diff --git a/libticalcs/trunk/src/dirlist.cc b/libticalcs/trunk/src/dirlist.cc index 2284c0e5..63bf95c1 100644 --- a/libticalcs/trunk/src/dirlist.cc +++ b/libticalcs/trunk/src/dirlist.cc @@ -262,8 +262,9 @@ VarEntry *TICALL ticalcs_dirlist_ve_exist(GNode* tree, VarEntry *s) if ( !strcmp(ve->name, s->name) && ( !((info->model >= CALC_TI73 && info->model <= CALC_TI84P) || info->model == CALC_TI84P_USB || info->model == CALC_TI83PCE_USB - || info->model == CALC_TI84PCE_USB || info->model == CALC_TI82A_USB) - || info->model == CALC_TI84PT_USB || (ve->type == s->type))) + || info->model == CALC_TI84PCE_USB || info->model == CALC_TI82A_USB + || info->model == CALC_TI84PT_USB || info->model == CALC_TI82AEP_USB) + || (ve->type == s->type))) { return ve; } diff --git a/libticalcs/trunk/src/dusb_rpkt.cc b/libticalcs/trunk/src/dusb_rpkt.cc index 665b2ed9..30aefe0b 100644 --- a/libticalcs/trunk/src/dusb_rpkt.cc +++ b/libticalcs/trunk/src/dusb_rpkt.cc @@ -155,7 +155,7 @@ int TICALL dusb_recv(CalcHandle* handle, DUSBRawPacket* pkt) { ticalcs_warning("Raw packet is unexpectedly large: %u bytes", pkt->size); } - else if ( (handle->model == CALC_TI83PCE_USB || handle->model == CALC_TI84PCE_USB) + else if ( (handle->model == CALC_TI83PCE_USB || handle->model == CALC_TI84PCE_USB || handle->model == CALC_TI82AEP_USB) && pkt->size > 1018) { ticalcs_warning("Raw packet is unexpectedly large: %u bytes", pkt->size); diff --git a/libticalcs/trunk/src/dusb_vpkt.cc b/libticalcs/trunk/src/dusb_vpkt.cc index 1218f9f9..dab6046b 100644 --- a/libticalcs/trunk/src/dusb_vpkt.cc +++ b/libticalcs/trunk/src/dusb_vpkt.cc @@ -520,7 +520,7 @@ static void workaround_send(CalcHandle *handle, DUSBRawPacket *raw, DUSBVirtualP ticables_cable_send(handle->cable, buf, 0); } } - else if (handle->model == CALC_TI83PCE_USB || handle->model == CALC_TI84PCE_USB) + else if (handle->model == CALC_TI83PCE_USB || handle->model == CALC_TI84PCE_USB || handle->model == CALC_TI82AEP_USB) { if (raw->type == DUSB_RPKT_VIRT_DATA_LAST && ((((raw->size + 5) % 64) == 0)/* || (vtl->size > 1018 && ((vtl->size + 6) % 1018) == 0)*/)) { @@ -676,7 +676,7 @@ int TICALL dusb_send_data(CalcHandle *handle, DUSBVirtualPacket *vtl) #if (VPKT_DBG == 2) ticalcs_info(" PC->TI: Virtual Packet Data Final"); #endif - // XXX is that workaround necessary on 83PCE/84+CE/84+CE-T ? + // XXX is that workaround necessary on 83PCE/84+CE/84+CE-T/82AEP ? if (handle->model != CALC_TI84P_USB && handle->model != CALC_TI84PC_USB && handle->model != CALC_TI82A_USB && handle->model != CALC_TI84PT_USB) { workaround_send(handle, &raw, vtl); @@ -729,7 +729,7 @@ static void workaround_recv(CalcHandle *handle, DUSBRawPacket * raw, DUSBVirtual ticables_cable_recv(handle->cable, buf, 0); } } - else if (handle->model == CALC_TI83PCE_USB || handle->model == CALC_TI84PCE_USB) + else if (handle->model == CALC_TI83PCE_USB || handle->model == CALC_TI84PCE_USB || handle->model == CALC_TI82AEP_USB) { // These models don't seem to need receive workarounds. } diff --git a/libticalcs/trunk/src/probe.cc b/libticalcs/trunk/src/probe.cc index 8359b036..e654cf4b 100644 --- a/libticalcs/trunk/src/probe.cc +++ b/libticalcs/trunk/src/probe.cc @@ -618,6 +618,10 @@ CalcModel TICALL ticalcs_device_info_to_model(const CableDeviceInfo *info) { model = CALC_TI84PT_USB; } + else if (info->variant == CABLE_VARIANT_TI82AEP) + { + model = CALC_TI82AEP_USB; + } else { ticalcs_warning("Unexpected variant %d for TI-(e)Z80 USB cable, assuming 84+CE", info->variant); diff --git a/libticalcs/trunk/src/ticalcs.cc b/libticalcs/trunk/src/ticalcs.cc index 365519a1..3cae0d81 100644 --- a/libticalcs/trunk/src/ticalcs.cc +++ b/libticalcs/trunk/src/ticalcs.cc @@ -154,6 +154,9 @@ static CalcFncts const *const calcs[] = #endif #ifndef NO_NSPIRE_CXIIT_CAS &calc_nsp_cxiit_cas, +#endif +#ifndef NO_TI82AEP_USB + &calc_82aep_usb, #endif NULL }; @@ -265,6 +268,9 @@ static const uint64_t supported_calcs = #ifndef NO_NSPIRE_CXIIT_CAS | (UINT64_C(1) << CALC_NSPIRE_CXIIT_CAS) #endif +#ifndef NO_TI82AEP_USB + | (UINT64_C(1) << CALC_TI82AEP_USB) +#endif ; static const uint32_t supported_protocols = @@ -829,7 +835,8 @@ int TICALL ticalcs_model_supports_dusb(CalcModel model) || model == CALC_TI83PCE_USB || model == CALC_TI84PCE_USB || model == CALC_TI82A_USB - || model == CALC_TI84PT_USB)); + || model == CALC_TI84PT_USB + || model == CALC_TI82AEP_USB)); } /** @@ -859,6 +866,7 @@ int TICALL ticalcs_model_supports_installing_flashapps(CalcModel model) { return ticonv_model_has_flash_memory(model) && !( model == CALC_TI82A_USB || model == CALC_TI84PT_USB + || model == CALC_TI82AEP_USB || ticonv_model_is_tinspire(model)); } diff --git a/libticalcs/trunk/src/ticalcs.h b/libticalcs/trunk/src/ticalcs.h index 9489b9dd..5950b5e0 100644 --- a/libticalcs/trunk/src/ticalcs.h +++ b/libticalcs/trunk/src/ticalcs.h @@ -143,7 +143,7 @@ typedef enum ROMSIZE_512KB = 512, /* TI-83+ */ ROMSIZE_1MB = 1024, /* TI-84+, TI-92, TI-82A */ ROMSIZE_2MB = 2048, /* TI-83+SE, TI-84+SE, TI-89, TI-92 II, TI-92+, TI-84+T */ - ROMSIZE_4MB = 4096, /* TI-84+CSE, TI-89T, V200, TI-83PCE, TI-84+CE */ + ROMSIZE_4MB = 4096, /* TI-84+CSE, TI-89T, V200, TI-83PCE, TI-84+CE, TI-82AEP */ } CalcDumpSize; /** diff --git a/libticonv/trunk/src/ticonv.cc b/libticonv/trunk/src/ticonv.cc index b13cfbbd..0d3b9efb 100644 --- a/libticonv/trunk/src/ticonv.cc +++ b/libticonv/trunk/src/ticonv.cc @@ -194,7 +194,8 @@ char* TICALL ticonv_charset_utf16_to_ti_s(CalcModel model, const unsigned short case CALC_TI83PCE_USB: case CALC_TI84PCE_USB: case CALC_TI82A_USB: - case CALC_TI84PT_USB: return ticonv_utf16_to_ti84pusb(utf16, ti); break; + case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: return ticonv_utf16_to_ti84pusb(utf16, ti); break; case CALC_TI89T_USB: return ticonv_utf16_to_ti89tusb(utf16, ti); break; case CALC_NSPIRE: case CALC_NSPIRE_CRADLE: @@ -309,7 +310,8 @@ unsigned short* TICALL ticonv_charset_ti_to_utf16_s(CalcModel model, const char case CALC_TI83PCE_USB: case CALC_TI84PCE_USB: case CALC_TI82A_USB: - case CALC_TI84PT_USB: return ticonv_ti84pusb_to_utf16(ti, utf16); break; + case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: return ticonv_ti84pusb_to_utf16(ti, utf16); break; case CALC_TI89T_USB: return ticonv_ti89tusb_to_utf16(ti, utf16); break; case CALC_NSPIRE: case CALC_NSPIRE_CRADLE: @@ -767,7 +769,7 @@ char* TICALL ticonv_varname_to_tifile(CalcModel model, const char *src, unsigned dst = ticonv_varname_tokenize(CALC_TI84P, ti, type); ticonv_ti_free(ti); } - else if (model == CALC_TI84PC_USB || model == CALC_TI83PCE_USB || model == CALC_TI84PCE_USB) + else if (model == CALC_TI84PC_USB || model == CALC_TI83PCE_USB || model == CALC_TI84PCE_USB || model == CALC_TI82AEP_USB) { utf16 = ticonv_charset_ti_to_utf16(CALC_TI84PC_USB, src); @@ -906,7 +908,7 @@ char* TICALL ticonv_varname_from_tifile(CalcModel model, const char *src, unsign dst = ticonv_charset_utf16_to_ti(CALC_TI84P_USB, utf16); ticonv_utf16_free(utf16); } - else if (model == CALC_TI84PC_USB || model == CALC_TI83PCE_USB || model == CALC_TI84PCE_USB) + else if (model == CALC_TI84PC_USB || model == CALC_TI83PCE_USB || model == CALC_TI84PCE_USB || model == CALC_TI82AEP_USB) { ti = ticonv_varname_detokenize(CALC_TI84PC, src, type); @@ -998,7 +1000,8 @@ int TICALL ticonv_model_is_tiez80(CalcModel model) { return ( /*model < CALC_MAX &&*/ ( model == CALC_TI83PCE_USB - || model == CALC_TI84PCE_USB)); + || model == CALC_TI84PCE_USB + || model == CALC_TI82AEP_USB)); } /** @@ -1080,6 +1083,7 @@ int TICALL ticonv_model_has_usb_ioport(CalcModel model) || model == CALC_TI84PCE_USB || model == CALC_TI82A_USB || model == CALC_TI84PT_USB + || model == CALC_TI82AEP_USB || ticonv_model_is_tinspire(model))); } @@ -1170,6 +1174,7 @@ int TICALL ticonv_model_has_color_screen(CalcModel model) || model == CALC_TI84PC_USB || model == CALC_TI83PCE_USB || model == CALC_TI84PCE_USB + || model == CALC_TI82AEP_USB || (model >= CALC_NSPIRE_CX && model <= CALC_NSPIRE_CXIIT_CAS))); } @@ -1207,6 +1212,7 @@ TIEXPORT4 CalcProductIDs TICALL ticonv_model_to_product_id(CalcModel model) case CALC_TI84PCE_USB: return PRODUCT_ID_TI84PCE; case CALC_TI82A_USB: return PRODUCT_ID_TI82A; case CALC_TI84PT_USB: return PRODUCT_ID_TI84PT; + case CALC_TI82AEP_USB: return PRODUCT_ID_TI82AEP; case CALC_NSPIRE_CRADLE: return PRODUCT_ID_LABCRADLE; case CALC_NSPIRE_CLICKPAD: return PRODUCT_ID_NSPIRE; case CALC_NSPIRE_CLICKPAD_CAS: return PRODUCT_ID_NSPIRE_CAS; diff --git a/libticonv/trunk/src/ticonv.h b/libticonv/trunk/src/ticonv.h index 89dfab07..0199e383 100644 --- a/libticonv/trunk/src/ticonv.h +++ b/libticonv/trunk/src/ticonv.h @@ -72,6 +72,7 @@ typedef enum CALC_NSPIRE_CLICKPAD, CALC_NSPIRE_CLICKPAD_CAS, CALC_NSPIRE_TOUCHPAD, CALC_NSPIRE_TOUCHPAD_CAS, // 27 CALC_NSPIRE_CX, CALC_NSPIRE_CX_CAS, CALC_NSPIRE_CMC, CALC_NSPIRE_CMC_CAS, // 31 CALC_NSPIRE_CXII, CALC_NSPIRE_CXII_CAS, CALC_NSPIRE_CXIIT, CALC_NSPIRE_CXIIT_CAS, // 35 + CALC_TI82AEP_USB, // 36 CALC_MAX } CalcModel; @@ -104,7 +105,9 @@ typedef enum PRODUCT_ID_NSPIRE_CMC = 0x12, PRODUCT_ID_TI83PCE = 0x13, // These two similar models use the same ID as well. PRODUCT_ID_TI84PCE = 0x13, - // No known calculators or lab equipments use 0x14-0x1A. + // No known calculators or lab equipments use 0x14. + PRODUCT_ID_TI82AEP = 0x15, + // No known calculators or lab equipments use 0x16-0x1A. PRODUCT_ID_TI84PT = 0x1B, PRODUCT_ID_NSPIRE_CXII_CAS = 0x1C, PRODUCT_ID_NSPIRE_CXII = 0x1D, diff --git a/libticonv/trunk/src/tokens.cc b/libticonv/trunk/src/tokens.cc index cd29f90e..bd9a770d 100644 --- a/libticonv/trunk/src/tokens.cc +++ b/libticonv/trunk/src/tokens.cc @@ -85,6 +85,7 @@ static char *detokenize_vartype(CalcModel model, const char *src, unsigned char case CALC_TI84PCE_USB: case CALC_TI82A_USB: case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: if (type == 0x0F) { return (dst = g_strdup("Window")); @@ -533,6 +534,7 @@ char* TICALL ticonv_varname_detokenize(CalcModel model, const char *src, unsigne case CALC_TI84PCE_USB: case CALC_TI82A_USB: case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: case CALC_TI89T_USB: return g_strdup(src); case CALC_NSPIRE: diff --git a/libticonv/trunk/src/type2str.cc b/libticonv/trunk/src/type2str.cc index cb8b526e..2f2aead4 100644 --- a/libticonv/trunk/src/type2str.cc +++ b/libticonv/trunk/src/type2str.cc @@ -59,6 +59,7 @@ const char * TICALL ticonv_model_to_string(CalcModel model) case CALC_TI83PCE_USB: return "TI83PCE USB"; case CALC_TI84PCE_USB: return "TI84+CE USB"; case CALC_TI82A_USB: return "TI82A USB"; + case CALC_TI82AEP_USB: return "TI82AEP USB"; case CALC_TI84PT_USB: return "TI84+T USB"; case CALC_NSPIRE_CRADLE: return "Nspire Cradle"; case CALC_NSPIRE_CLICKPAD: return "Nspire Clickpad"; @@ -223,6 +224,14 @@ CalcModel TICALL ticonv_string_to_model(const char *str) || !g_ascii_strcasecmp(str, "82A") ) return CALC_TI82A_USB; + else if ( !g_ascii_strcasecmp(str, "TI-82AEP USB") + || !g_ascii_strcasecmp(str, "TI82AEP USB") + || !g_ascii_strcasecmp(str, "TI-82AEP") + || !g_ascii_strcasecmp(str, "TI82AEP") + || !g_ascii_strcasecmp(str, "82AEP USB") + || !g_ascii_strcasecmp(str, "82AEP") + ) + return CALC_TI82AEP_USB; else if ( !g_ascii_strcasecmp(str, "TI-84+T USB") || !g_ascii_strcasecmp(str, "TI-84PT USB") || !g_ascii_strcasecmp(str, "TI84+T USB") diff --git a/libtifiles/trunk/po/de.po b/libtifiles/trunk/po/de.po index 3ab23c7d..a8c83a05 100644 --- a/libtifiles/trunk/po/de.po +++ b/libtifiles/trunk/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libtifiles2 1.1.8\n" "Report-Msgid-Bugs-To: tilp-users@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-08-07 21:47+0200\n" +"POT-Creation-Date: 2023-09-13 22:08+0200\n" "PO-Revision-Date: 2019-10-29 14:15+0100\n" "Last-Translator: Andreas B. Mundt \n" "Language-Team: \n" @@ -110,20 +110,20 @@ msgstr "" "Grund: Das Programm, das diese Bibliothek benützt, ist\n" "Fehlerhaft. Kontaktieren Sie den Entwickler!" -#: src/filetypes.cc:1630 src/filetypes.cc:1752 src/types68k.cc:74 +#: src/filetypes.cc:1642 src/filetypes.cc:1766 src/types68k.cc:74 #: src/types83p.cc:70 src/typesoldz80.cc:75 msgid "OS upgrade" msgstr "Betriebssystem-Aktualisierung" -#: src/filetypes.cc:1641 src/filetypes.cc:1763 +#: src/filetypes.cc:1653 src/filetypes.cc:1777 msgid "TIGroup" msgstr "Tigroup" -#: src/filetypes.cc:1654 src/filetypes.cc:1776 +#: src/filetypes.cc:1666 src/filetypes.cc:1790 msgid "Group/Backup" msgstr "Gruppe/Backup" -#: src/filetypes.cc:1657 src/filetypes.cc:1779 +#: src/filetypes.cc:1669 src/filetypes.cc:1793 msgid "Group" msgstr "Gruppe" diff --git a/libtifiles/trunk/po/fr.po b/libtifiles/trunk/po/fr.po index 7379c8d2..fcb6eba6 100644 --- a/libtifiles/trunk/po/fr.po +++ b/libtifiles/trunk/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libtifiles2 1.1.8\n" "Report-Msgid-Bugs-To: tilp-users@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-08-07 21:47+0200\n" +"POT-Creation-Date: 2023-09-13 22:08+0200\n" "PO-Revision-Date: 2011-12-13 19:16+0100\n" "Last-Translator: Lionel Debroux \n" "Language-Team: Français \n" @@ -110,20 +110,20 @@ msgstr "" "Cause: le programme qui utilise cette librairie est buggé. Virez le " "développeur!" -#: src/filetypes.cc:1630 src/filetypes.cc:1752 src/types68k.cc:74 +#: src/filetypes.cc:1642 src/filetypes.cc:1766 src/types68k.cc:74 #: src/types83p.cc:70 src/typesoldz80.cc:75 msgid "OS upgrade" msgstr "maj OS" -#: src/filetypes.cc:1641 src/filetypes.cc:1763 +#: src/filetypes.cc:1653 src/filetypes.cc:1777 msgid "TIGroup" msgstr "TIGroup" -#: src/filetypes.cc:1654 src/filetypes.cc:1776 +#: src/filetypes.cc:1666 src/filetypes.cc:1790 msgid "Group/Backup" msgstr "Groupe/sauvegarde" -#: src/filetypes.cc:1657 src/filetypes.cc:1779 +#: src/filetypes.cc:1669 src/filetypes.cc:1793 msgid "Group" msgstr "Groupe" diff --git a/libtifiles/trunk/po/libtifiles2.pot b/libtifiles/trunk/po/libtifiles2.pot index 9d16dfcb..72a60405 100644 --- a/libtifiles/trunk/po/libtifiles2.pot +++ b/libtifiles/trunk/po/libtifiles2.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libtifiles2 1.1.8\n" "Report-Msgid-Bugs-To: tilp-users@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-08-07 21:47+0200\n" +"POT-Creation-Date: 2023-09-13 22:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -102,20 +102,20 @@ msgid "" "Cause: the program which uses this library is buggy. Fire-up the developer!" msgstr "" -#: src/filetypes.cc:1630 src/filetypes.cc:1752 src/types68k.cc:74 +#: src/filetypes.cc:1642 src/filetypes.cc:1766 src/types68k.cc:74 #: src/types83p.cc:70 src/typesoldz80.cc:75 msgid "OS upgrade" msgstr "" -#: src/filetypes.cc:1641 src/filetypes.cc:1763 +#: src/filetypes.cc:1653 src/filetypes.cc:1777 msgid "TIGroup" msgstr "" -#: src/filetypes.cc:1654 src/filetypes.cc:1776 +#: src/filetypes.cc:1666 src/filetypes.cc:1790 msgid "Group/Backup" msgstr "" -#: src/filetypes.cc:1657 src/filetypes.cc:1779 +#: src/filetypes.cc:1669 src/filetypes.cc:1793 msgid "Group" msgstr "" diff --git a/libtifiles/trunk/src/files8x.cc b/libtifiles/trunk/src/files8x.cc index 37225b7a..b3314a15 100644 --- a/libtifiles/trunk/src/files8x.cc +++ b/libtifiles/trunk/src/files8x.cc @@ -60,7 +60,7 @@ static int is_ti83p(CalcModel model) { return ((model == CALC_TI83P) || (model == CALC_TI84P) || (model == CALC_TI84P_USB) || (model == CALC_TI84PC) || (model == CALC_TI84PC_USB) - || (model == CALC_TI83PCE_USB) || (model == CALC_TI84PCE_USB) || (model == CALC_TI82A_USB) || (model == CALC_TI84PT_USB)); + || (model == CALC_TI83PCE_USB) || (model == CALC_TI84PCE_USB) || (model == CALC_TI82A_USB) || (model == CALC_TI84PT_USB) || (model == CALC_TI82AEP_USB)); } static uint16_t compute_backup_sum(BackupContent* content, uint16_t header_size) diff --git a/libtifiles/trunk/src/filetypes.cc b/libtifiles/trunk/src/filetypes.cc index 6c9e48c3..42afbd12 100644 --- a/libtifiles/trunk/src/filetypes.cc +++ b/libtifiles/trunk/src/filetypes.cc @@ -47,9 +47,10 @@ static const char GROUP_FILE_EXT[CALC_MAX + 1][4] = "8Xg", "89g", "", "", // 16 "8Xg", "8Xg", "8Xg", "8Xg", "8Xg", "8xg", // 22 "", // 23 - "", "", "", "", // 27 - "", "", "", "", // 31 - "", "", "", "", // 35 + "", "", "", "", // 27 + "", "", "", "", // 31 + "", "", "", "", // 35 + "8xg", // 36 "" }; @@ -61,9 +62,10 @@ static const char BACKUP_FILE_EXT[CALC_MAX + 1][4] = "8Xg", "89g", "", "", // 16 "8Cb", "8Cb", "", "", "8Xb", "8Xb", // 22 "", // 23 - "", "", "", "", // 27 - "", "", "", "", // 31 - "", "", "", "", // 35 + "", "", "", "", // 27 + "", "", "", "", // 31 + "", "", "", "", // 35 + "8Xb", // 36 "" }; @@ -103,6 +105,7 @@ const char * TICALL tifiles_fext_of_group (CalcModel model) case CALC_TI84PCE_USB: case CALC_TI82A_USB: case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: return "8Xg"; // There's also 8Cg. case CALC_TI85: return "85g"; @@ -172,6 +175,7 @@ const char * TICALL tifiles_fext_of_backup (CalcModel model) case CALC_TI84P_USB: case CALC_TI82A_USB: case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: return "8Xb"; case CALC_TI84PC: case CALC_TI84PC_USB: @@ -255,6 +259,7 @@ const char * TICALL tifiles_fext_of_flash_app (CalcModel model) return "8Ek"; case CALC_TI82A_USB: case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: return NULL; case CALC_TI85: return NULL; @@ -322,6 +327,7 @@ const char * TICALL tifiles_fext_of_flash_os(CalcModel model) case CALC_TI83P: case CALC_TI84P: case CALC_TI84P_USB: + case CALC_TI84PT_USB: return "8Xu"; case CALC_TI84PC: case CALC_TI84PC_USB: @@ -332,8 +338,8 @@ const char * TICALL tifiles_fext_of_flash_os(CalcModel model) return "8Eu"; case CALC_TI82A_USB: return "82u"; - case CALC_TI84PT_USB: - return "8Xu"; + case CALC_TI82AEP_USB: + return "8Yu"; case CALC_TI85: return NULL; case CALC_TI86: @@ -423,6 +429,7 @@ const char * TICALL tifiles_fext_of_certif(CalcModel model) return "8Eq"; case CALC_TI82A_USB: case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: return NULL; case CALC_TI85: return NULL; @@ -835,6 +842,7 @@ int TICALL tifiles_model_to_dev_type(CalcModel model) case CALC_TI84PCE_USB: case CALC_TI82A_USB: case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: return DEVICE_TYPE_83P; #endif #ifndef DISABLE_TI9X @@ -1443,6 +1451,10 @@ CalcModel TICALL tifiles_fext_to_model(const char *ext) { type = CALC_TI84PCE_USB; } + else if (c2 == 'y') + { + type = CALC_TI82AEP_USB; + } else if (c2 == '5') { type = CALC_TI85; @@ -1683,6 +1695,8 @@ const char *TICALL tifiles_file_get_type(const char *filename) return ti83pce_byte2desc(ti83pce_fext2byte(e)); case CALC_TI84PCE_USB: return ti84pce_byte2desc(ti84pce_fext2byte(e)); + case CALC_TI82AEP_USB: + return ti82aep_byte2desc(ti82a_fext2byte(e)); case CALC_TI85: return tixx_byte2desc(TI85_CONST, TI85_MAXTYPES, tixx_fext2byte(TI85_CONST, TI85_MAXTYPES, e)); case CALC_TI86: @@ -1805,6 +1819,8 @@ const char *TICALL tifiles_file_get_icon(const char *filename) return ti83pce_byte2icon(ti83pce_fext2byte(e)); case CALC_TI84PCE_USB: return ti84pce_byte2icon(ti84pce_fext2byte(e)); + case CALC_TI82AEP_USB: + return ti82aep_byte2icon(ti82a_fext2byte(e)); case CALC_TI85: return tixx_byte2icon(TI85_CONST, TI85_MAXTYPES, tixx_fext2byte(TI85_CONST, TI85_MAXTYPES, e)); case CALC_TI86: diff --git a/libtifiles/trunk/src/internal.h b/libtifiles/trunk/src/internal.h index 6a06f1ee..e0835ab2 100644 --- a/libtifiles/trunk/src/internal.h +++ b/libtifiles/trunk/src/internal.h @@ -40,6 +40,7 @@ typedef struct { const char * fext84pce; const char * fext82a; const char * fext84pt; + const char * fext82aep; const char * icon; const char * desc; } TI83p_DATA; @@ -110,6 +111,12 @@ static inline const char *ti84pt_byte2type(uint8_t data) return (data < TI84pt_MAXTYPES) ? ((TI83p_CONST[data].fext84pt[2] != '?') ? TI83p_CONST[data].type : "") : ""; } +static inline const char *ti82aep_byte2type(uint8_t data) +{ + //if(data >= TI82aep_MAXTYPES) tifiles_warning(_("%s: unknown type %02X >= %02X."), __FUNCTION__, data, TI82aep_MAXTYPES); + return (data < TI82aep_MAXTYPES) ? ((TI83p_CONST[data].fext82aep[2] != '?') ? TI83p_CONST[data].type : "") : ""; +} + static inline const char *ti89_byte2type(uint8_t data) { //if(data >= TI89_MAXTYPES) tifiles_warning(_("%s: unknown type %02X >= %02X."), __FUNCTION__, data, TI89_MAXTYPES); @@ -253,6 +260,22 @@ static inline uint8_t ti84pt_type2byte(const char *s) return i; } +static inline uint8_t ti82aep_type2byte(const char *s) +{ + uint8_t i; + + for (i = 0; i < TI82aep_MAXTYPES; i++) + { + if (!strcmp(TI83p_CONST[i].type, s) && TI83p_CONST[i].fext82aep[2] != '?') + { + break; + } + } + + //if (i == maxtypes) tifiles_warning(_("%s: unknown type %s."), __FUNCTION__, s); + return i; +} + static inline uint8_t ti89_type2byte(const char *s) { uint8_t i; @@ -366,6 +389,12 @@ static inline const char *ti84pt_byte2fext(uint8_t data) return (data < TI84pt_MAXTYPES) ? TI83p_CONST[data].fext84pt : "8X?"; } +static inline const char *ti82aep_byte2fext(uint8_t data) +{ + //if(data >= TI82aep_MAXTYPES) tifiles_warning(_("%s: unknown type %02X >= %02X."), __FUNCTION__, data, TI82aep_MAXTYPES); + return (data < TI82aep_MAXTYPES) ? TI83p_CONST[data].fext82aep : "8X?"; +} + static inline const char *ti89_byte2fext(uint8_t data) { //if(data >= TI89_MAXTYPES) tifiles_warning(_("%s: unknown type %02X >= %02X."), __FUNCTION__, data, TI89_MAXTYPES); @@ -509,6 +538,22 @@ static inline uint8_t ti84pt_fext2byte(const char *s) return i; } +static inline uint8_t ti82aep_fext2byte(const char *s) +{ + uint8_t i; + + for (i = 0; i < TI82aep_MAXTYPES; i++) + { + if (!g_ascii_strcasecmp(TI83p_CONST[i].fext82aep, s)) + { + break; + } + } + + //if (i == maxtypes) tifiles_warning(_("%s: unknown fext %s."), __FUNCTION__, s); + return i; +} + static inline uint8_t ti89_fext2byte(const char *s) { uint8_t i; @@ -622,6 +667,12 @@ static inline const char *ti84pt_byte2desc(uint8_t data) return (data < TI84pt_MAXTYPES) ? ((TI83p_CONST[data].fext84pt[2] != '?') ? TI83p_CONST[data].desc : _("Unknown")) : _("Unknown"); } +static inline const char *ti82aep_byte2desc(uint8_t data) +{ + //if(data >= TI82aep_MAXTYPES) tifiles_warning(_("%s: unknown type %02X >= %02X."), __FUNCTION__, data, TI82aep_MAXTYPES); + return (data < TI82aep_MAXTYPES) ? ((TI83p_CONST[data].fext82aep[2] != '?') ? TI83p_CONST[data].desc : _("Unknown")) : _("Unknown"); +} + static inline const char *ti89_byte2desc(uint8_t data) { //if(data >= TI89_MAXTYPES) tifiles_warning(_("%s: unknown type %02X >= %02X."), __FUNCTION__, data, TI89_MAXTYPES); @@ -695,6 +746,12 @@ static inline const char *ti84pt_byte2icon(uint8_t data) return (data < TI84pt_MAXTYPES) ? ((TI83p_CONST[data].fext84pt[2] != '?') ? TI83p_CONST[data].icon : "Unknown") : "Unknown"; } +static inline const char *ti82aep_byte2icon(uint8_t data) +{ + //if(data >= TI82aep_MAXTYPES) tifiles_warning(_("%s: unknown type %02X >= %02X."), __FUNCTION__, data, TI82aep_MAXTYPES); + return (data < TI82aep_MAXTYPES) ? ((TI83p_CONST[data].fext82aep[2] != '?') ? TI83p_CONST[data].icon : "Unknown") : "Unknown"; +} + static inline const char *ti89_byte2icon(uint8_t data) { //if(data >= TI89_MAXTYPES) tifiles_warning(_("%s: unknown type %02X >= %02X."), __FUNCTION__, data, TI89_MAXTYPES); diff --git a/libtifiles/trunk/src/misc.cc b/libtifiles/trunk/src/misc.cc index e1490d65..67e51ba5 100644 --- a/libtifiles/trunk/src/misc.cc +++ b/libtifiles/trunk/src/misc.cc @@ -127,6 +127,7 @@ int TICALL tifiles_has_backup(CalcModel calc_type) (calc_type == CALC_TI83) || (calc_type == CALC_TI83P) || (calc_type == CALC_TI84P) || (calc_type == CALC_TI84PC) || (calc_type == CALC_TI84PC_USB) || (calc_type == CALC_TI82A_USB) || + (calc_type == CALC_TI82AEP_USB) || (calc_type == CALC_TI84PT_USB) || (calc_type == CALC_TI85) || (calc_type == CALC_TI86) || (calc_type == CALC_TI92)); } diff --git a/libtifiles/trunk/src/types83p.cc b/libtifiles/trunk/src/types83p.cc index 27d0aba5..bcc3780c 100644 --- a/libtifiles/trunk/src/types83p.cc +++ b/libtifiles/trunk/src/types83p.cc @@ -32,54 +32,54 @@ const TI83p_DATA TI83p_CONST[TI83p_MAXTYPES + 1] = { - {"REAL", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "Real", N_("Real")}, // 0 - {"LIST", "8Xl", "8Xl", "8Xl", "8Xl", "8Xl", "8Xl", "List", N_("List")}, - {"MAT", "8Xm", "8Xm", "8Xm", "8Xm", "8Xm", "8Xm", "Matrix", N_("Matrix")}, - {"EQU", "8Xe", "8Xe", "8Xe", "8Xe", "8Xe", "8Xe", "Equation", N_("Equation")}, // Also 8Xy - {"STR", "8Xs", "8Xs", "8Xs", "8Xs", "8Xs", "8Xs", "String", N_("String")}, - {"PRGM", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "Program", N_("Program")}, // 5 - {"PPRGM", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "Asm Program", N_("Asm Program")}, - {"PIC", "8Xi", "8Ci", "8Ci", "8Ci", "8Xi", "8Xi", "Picture", N_("Picture")}, - {"GDB", "8Xd", "8Xd", "8Xd", "8Xd", "8Xd", "8Xd", "GDB", N_("GDB")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, // 10, 0xA - {"EQU", "8Xe", "8Xe", "8Xe", "8Xe", "8Xe", "8Xe", "Equation", N_("Equation")}, /* NewEqu */ // Also 8Xy - {"CPLX", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "Complex", N_("Complex")}, - {"LIST", "8Xl", "8Xl", "8Xl", "8Xl", "8Xl", "8Xl", "List", N_("List")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, - {"WINDW", "8Xw", "8Xw", "8Xw", "8Xw", "8Xw", "8Xw", "Window Setup", N_("Window Setup")}, // 15, 0xF - {"ZSTO", "8Xz", "8Xz", "8Xz", "8Xz", "8Xz", "8Xz", "Zoom", N_("Zoom")}, - {"TABLE", "8Xt", "8Xt", "8Xt", "8Xt", "8Xt", "8Xt", "Table Setup", N_("Table Setup")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, - {"BKUP", "8Xb", "8Xb", "8Xb", "8Xb", "8Xb", "8Xb", "Backup", N_("Backup")}, - {"APPOBJ", "8Xv", "8Xv", "8Xv", "8Xv", "8Xv", "8Xv", "Unknown", N_("App Obj")}, /* AppObj */ // 20, 0x14 - {"APPV", "8Xv", "8Xv", "8Xv", "8Xv", "8Xv", "8Xv", "App Var", N_("App Var")}, - {"TPRGM", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "Program", N_("Program")}, /* TempProgObj */ - {"GRP", "8Xo", "8Xo", "8Xo", "8Xo", "8Xo", "8Xo", "Group Var", N_("Group Var")}, // Also 8Xg - {"REAL", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "Real", N_("Real")}, /* Fraction */ - {"DIR", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, // 25, 0x19 - {"IMAGE", "8Xa", "8Ca", "8Ca", "8Ca", "8Xa", "8Xa", "Image", N_("Image")}, - {"CPLX", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "Complex", N_("Complex")}, - {"REAL", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "Real", N_("Real")}, - {"CPLX", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "Complex", N_("Complex")}, - {"CPLX", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "Complex", N_("Complex")}, // 30, 0x1E - {"CPLX", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "Complex", N_("Complex")}, - {"REAL", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "Real", N_("Real")}, - {"REAL", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "Real", N_("Real")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, - {"AMS", "8Xu", "8Cu", "8Pu", "8Eu", "82u", "8Xu", "OS upgrade", N_("OS upgrade")}, // 35, 0x23 - {"APPL", "8Xk", "8Ck", "8Ek", "8Ek", "8X?", "8X?", "Application", N_("Application")}, - {"CERT", "8Xq", "8Cq", "8Pq", "8Eq", "8X?", "8X?", "Certificate", N_("Certificate")}, - {"IDLIST", "8Xidl", "8Cidl", "8Pidl", "8Eidl", "8Xidl", "8Xidl", "Unknown", N_("Unknown")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, // 40, 0x28 - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, // 45, 0x2D - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, - {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, + {"REAL", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "Real", N_("Real")}, // 0 + {"LIST", "8Xl", "8Xl", "8Xl", "8Xl", "8Xl", "8Xl", "8Xl", "List", N_("List")}, + {"MAT", "8Xm", "8Xm", "8Xm", "8Xm", "8Xm", "8Xm", "8Xm", "Matrix", N_("Matrix")}, + {"EQU", "8Xe", "8Xe", "8Xe", "8Xe", "8Xe", "8Xe", "8Xe", "Equation", N_("Equation")}, // Also 8Xy + {"STR", "8Xs", "8Xs", "8Xs", "8Xs", "8Xs", "8Xs", "8Xs", "String", N_("String")}, + {"PRGM", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "Program", N_("Program")}, // 5 + {"PPRGM", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "Asm Program", N_("Asm Program")}, + {"PIC", "8Xi", "8Ci", "8Ci", "8Ci", "8Xi", "8Xi", "8Xi", "Picture", N_("Picture")}, + {"GDB", "8Xd", "8Xd", "8Xd", "8Xd", "8Xd", "8Xd", "8Xd", "GDB", N_("GDB")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, // 10, 0xA + {"EQU", "8Xe", "8Xe", "8Xe", "8Xe", "8Xe", "8Xe", "8Xe", "Equation", N_("Equation")}, /* NewEqu */ // Also 8Xy + {"CPLX", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "Complex", N_("Complex")}, + {"LIST", "8Xl", "8Xl", "8Xl", "8Xl", "8Xl", "8Xl", "8Xl", "List", N_("List")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, + {"WINDW", "8Xw", "8Xw", "8Xw", "8Xw", "8Xw", "8Xw", "8Xw", "Window Setup", N_("Window Setup")}, // 15, 0xF + {"ZSTO", "8Xz", "8Xz", "8Xz", "8Xz", "8Xz", "8Xz", "8Xz", "Zoom", N_("Zoom")}, + {"TABLE", "8Xt", "8Xt", "8Xt", "8Xt", "8Xt", "8Xt", "8Xt", "Table Setup", N_("Table Setup")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, + {"BKUP", "8Xb", "8Xb", "8Xb", "8Xb", "8Xb", "8Xb", "8Xb", "Backup", N_("Backup")}, + {"APPOBJ", "8Xv", "8Xv", "8Xv", "8Xv", "8Xv", "8Xv", "8Xv", "Unknown", N_("App Obj")}, /* AppObj */ // 20, 0x14 + {"APPV", "8Xv", "8Xv", "8Xv", "8Xv", "8Xv", "8Xv", "8Xv", "App Var", N_("App Var")}, + {"TPRGM", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "8Xp", "Program", N_("Program")}, /* TempProgObj */ + {"GRP", "8Xo", "8Xo", "8Xo", "8Xo", "8Xo", "8Xo", "8Xo", "Group Var", N_("Group Var")}, // Also 8Xg + {"REAL", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "Real", N_("Real")}, /* Fraction */ + {"DIR", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, // 25, 0x19 + {"IMAGE", "8Xa", "8Ca", "8Ca", "8Ca", "8Xa", "8Xa", "8Xa", "Image", N_("Image")}, + {"CPLX", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "Complex", N_("Complex")}, + {"REAL", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "Real", N_("Real")}, + {"CPLX", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "Complex", N_("Complex")}, + {"CPLX", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "Complex", N_("Complex")}, // 30, 0x1E + {"CPLX", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "8Xc", "Complex", N_("Complex")}, + {"REAL", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "Real", N_("Real")}, + {"REAL", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "8Xn", "Real", N_("Real")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, + {"AMS", "8Xu", "8Cu", "8Pu", "8Eu", "82u", "8Xu", "8Yu", "OS upgrade", N_("OS upgrade")}, // 35, 0x23 + {"APPL", "8Xk", "8Ck", "8Ek", "8Ek", "8X?", "8X?", "8X?", "Application", N_("Application")}, + {"CERT", "8Xq", "8Cq", "8Pq", "8Eq", "8X?", "8X?", "8X?", "Certificate", N_("Certificate")}, + {"IDLIST", "8Xidl", "8Cidl", "8Pidl", "8Eidl", "8Xidl", "8Xidl", "8Xidl", "Unknown", N_("Unknown")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, // 40, 0x28 + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, // 45, 0x2D + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, + {"", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "8X?", "Unknown", N_("Unknown")}, {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL} }; diff --git a/libtifiles/trunk/src/types84p.h b/libtifiles/trunk/src/types84p.h index 8ced576b..5215ba4f 100644 --- a/libtifiles/trunk/src/types84p.h +++ b/libtifiles/trunk/src/types84p.h @@ -30,6 +30,7 @@ #define TI84pce_MAXTYPES 48 #define TI82a_MAXTYPES 48 #define TI84pt_MAXTYPES 48 +#define TI82aep_MAXTYPES 48 #define TI84p_REAL 0x00 #define TI84p_LIST 0x01 diff --git a/libtifiles/trunk/src/typesxx.cc b/libtifiles/trunk/src/typesxx.cc index ab16f87c..1ea12494 100644 --- a/libtifiles/trunk/src/typesxx.cc +++ b/libtifiles/trunk/src/typesxx.cc @@ -70,6 +70,8 @@ const char *TICALL tifiles_vartype2string(CalcModel model, uint8_t data) return ti83pce_byte2type(data); case CALC_TI84PCE_USB: return ti84pce_byte2type(data); + case CALC_TI82AEP_USB: + return ti82aep_byte2type(data); case CALC_TI85: return tixx_byte2type(TI85_CONST, TI85_MAXTYPES, data); case CALC_TI86: @@ -151,6 +153,8 @@ uint8_t TICALL tifiles_string2vartype(CalcModel model, const char *s) return ti83pce_type2byte(s); case CALC_TI84PCE_USB: return ti84pce_type2byte(s); + case CALC_TI82AEP_USB: + return ti82aep_type2byte(s); case CALC_TI85: return tixx_type2byte(TI85_CONST, TI85_MAXTYPES, s); case CALC_TI86: @@ -226,6 +230,8 @@ const char *TICALL tifiles_vartype2fext(CalcModel model, uint8_t data) return ti83pce_byte2fext(data); case CALC_TI84PCE_USB: return ti84pce_byte2fext(data); + case CALC_TI82AEP_USB: + return ti82aep_byte2fext(data); case CALC_TI85: return tixx_byte2fext(TI85_CONST, TI85_MAXTYPES, data, "85?"); case CALC_TI86: @@ -307,6 +313,8 @@ uint8_t TICALL tifiles_fext2vartype(CalcModel model, const char *s) return ti83pce_fext2byte(s); case CALC_TI84PCE_USB: return ti84pce_fext2byte(s); + case CALC_TI82AEP_USB: + return ti82aep_fext2byte(s); case CALC_TI85: return tixx_fext2byte(TI85_CONST, TI85_MAXTYPES, s); case CALC_TI86: @@ -383,6 +391,8 @@ const char *TICALL tifiles_vartype2type(CalcModel model, uint8_t vartype) return ti83pce_byte2desc(vartype); case CALC_TI84PCE_USB: return ti84pce_byte2desc(vartype); + case CALC_TI82AEP_USB: + return ti82aep_byte2desc(vartype); case CALC_TI85: return tixx_byte2desc(TI85_CONST, TI85_MAXTYPES, vartype); case CALC_TI86: @@ -459,6 +469,8 @@ const char *TICALL tifiles_vartype2icon(CalcModel model, uint8_t vartype) return ti83pce_byte2icon(vartype); case CALC_TI84PCE_USB: return ti84pce_byte2icon(vartype); + case CALC_TI82AEP_USB: + return ti82aep_byte2icon(vartype); case CALC_TI85: return tixx_byte2icon(TI85_CONST, TI85_MAXTYPES, vartype); case CALC_TI86: @@ -534,6 +546,7 @@ uint8_t TICALL tifiles_folder_type(CalcModel model) case CALC_TI84PCE_USB: case CALC_TI82A_USB: case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: return TI83p_DIR; case CALC_TI85: return -1; @@ -608,6 +621,7 @@ uint8_t TICALL tifiles_flash_type(CalcModel model) return TI83p_APPL; case CALC_TI82A_USB: case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: return -1; case CALC_TI85: return -1; @@ -681,6 +695,7 @@ uint8_t TICALL tifiles_idlist_type(CalcModel model) case CALC_TI84PCE_USB: case CALC_TI82A_USB: case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: return TI83p_IDLIST; case CALC_TI85: return -1; @@ -757,6 +772,7 @@ const char *TICALL tifiles_calctype2signature(CalcModel model) case CALC_TI84PCE_USB: case CALC_TI82A_USB: case CALC_TI84PT_USB: + case CALC_TI82AEP_USB: return "**TI83F*"; case CALC_TI85: return "**TI85**";