tilibs icon indicating copy to clipboard operation
tilibs copied to clipboard

libti*: add support for the CBL/CBR/CBL2/CBR2/LabPro/TI-Presenter

Open debrouxl opened this issue 7 years ago • 2 comments

Suggested by critor 2017/02/28.

Quick implementation notes:

  • [x] libticonv: add new model, add new ticonv_is_*().
  • [x] libtifiles: at least support for the .c2u file extension, with **TIFL** header and TI-Z80-style Intel Hex data.
  • [x] libticables: perform changes in the model detection.
  • [x] libticalcs: add new CalcFncts instance, new functions in cmdz80.*, etc. dbus_pkt.h was already expanded with CBL-related Machine IDs in late 2014, following tests by CVSoft, Kerm and others.

debrouxl avatar Mar 01 '17 08:03 debrouxl

NTS: there's a CBL2 OS upgrade in e.g. the TI-Connect 4.0.0.218 distribution.

debrouxl avatar May 18 '19 08:05 debrouxl

The initial, reduced version of the support for these models now lives on the experimental2 branch. Adding it has been far more complex than imagined, because a new area of the DBUS protocol had to be reverse-engineered (thanks to the existing capabilities of libticables, libticalcs, TIEmu and TilEm) and then implemented in libticalcs; also, I greatly expanded test_ticalcs_2's scriptability, to help with testing.

Probing and obtaining a bit of information from the 5 lab equipments works, but the code has a number of functional holes: I only implemented support for the computer faking a TI-68k calculator; depending on the calculator model, the TI-Z80 series probably uses at least two variants of another protocol, as I saw two different formats for floating-point numbers. Also, I only implemented support for exchanging lists, wheras scalar expressions, indexed access in lists and matrices, sometimes strings and even pictures are supported for Get in most or some conditions... and even the list parser is simplistic: no support for spaces around '{', ',' and '}', no support for '.' (effectively restricting lists to integer values).

debrouxl avatar Jul 16 '19 06:07 debrouxl