Since the previous public build, there have been, guess what... improvements and bugfixes
Excerpt of the changelog:
- internal: added per-handle pre / post receive and pre / post send hooks functionality. It's the foundation for more interesting stuff which shall be implemented later.
- added DUSB packet dissection to libticalcs and CLI front-end to it. It makes it possible to input packets straight of, say, Wireshark, and have them analyzed in a human-readable way:
Enter calc model (usually 13, 14, 18-21): 14
Enter raw DUSB packet as hex string of up to 4 * max raw packet size (non-hex characters ignored; CTRL+D to end):
00:00:00:2E:04:00:00:00:28:00:07:00:13:00:0A:00:08:00:02:00:03:00:04:00:06:00:07:00:09:00:0B:00:0C:00:0D:00:0E:00:0F:00:10:00:11:00:1E:00:1F:00:2D:00:4B
0000002E (04) | PC>TI: Virtual Packet Data Final
00000028 {0007} | CMD: Parameter Request
00 13 00 0A 00 08 00 02 00 03 00 04 00 06 00 07
00 09 00 0B 00 0C 00 0D 00 0E 00 0F 00 10 00 11
00 1E 00 1F 00 2D 00 4B
Requested 19 (13) parameter IDs:
000A (OS mode)
0008 (Device type)
0002 (Product name)
0003 (Main part ID)
0004 (Hardware version)
0006 (Language ID)
0007 (Sub-language ID)
0009 (Boot version)
000B (OS version)
000C (Physical RAM)
000D (User RAM)
000E (Free RAM)
000F (Physical Flash)
0010 (User Flash)
0011 (Free Flash)
001E (LCD width)
001F (LCD height)
002D (Battery level)
004B (Exact math engine)
- added automatic detection of 83PCE vs. 84+CE. When USB scan at startup is enabled (it has been by default for years), TILP will now correctly detect 84+CE calculators, which used to be detected as 83PCE calculators. This item was implemented thanks to the previous feature;
- added 7 new functions related to screenshots: one receives and converts the result to RGB888, five convert raw screenshot data from the calculator to RGB888 (four of them used to be part of TILP, but they belong to libticalcs), and the last one is a helper for freeing screen data returned by ticalcs_calc_recv_screen() and ticalcs_calc_recv_screen_rgb888() (part of the ongoing software engineering work to abstract the memory allocator behind libti*, so that clients have fewer hard-coded g_free() calls).
The usual links:
EDIT in 2021: updated the link to the *nix install script.