Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
I am proud to announce I have updated my TI-Tools+libti rom dumping program to support the TI-84Plus C Silver Edition.

The rom dumper makes use of the I/O link's memory dump commands which as of the TiLP 2 1.17 release are exported from the libticalcs2 library.

Since it does make use of this I/O protocol only feature it sadly requires the use of a SilverLink, BlackLink or GrayLink cables. The DirectLink USB cable can never support this rom dump method so don't ask. I may add support for TILP's standard rom dumping method once Color support is added to it.

The other side effect of this using the I/O port protocol is that it is slow. It is very slow, it takes close to 30 minutes to dump the 4MB TI-84 Plus C Silver Edition ROM. I suggest having the USB cable plugged into the charger while doing the rom dump to avoid running out of battery while dumping. Having it plugged into one of the computers other USB ports can cause issues with libti grabbing the wrong one and thus the dump failing.

Keep in mind that since this uses libticalcs you will need to have either the standard TiLP libusb0 driver or the libusb0.1 filter driver installed. (The filter driver is what Kerm suggested to be used with gCn.)

The source can be found in my romdump-test branch of TITools.
I have uploaded a windows build that is bundled with the libti* .dll's from the recent 1.17 TiLP release at http://jonimoose.net/calcstuff/tilp/TITools-romdumper.zip

To use just run tidump in a terminal or console. On windows assuming your calc is on and TILP is able to communicate with it via silverlink double clicking the tidump.exe should suffice. tidump -h will list full command line arguments if you wish to manually point it at your silverlink or other cables.

Please post here with questions or comments and success stories. Very Happy TI-84+ SE Smiling Cat
Good Smile

That's the first application of the libticalcs API expansion through exporting functions which were previously hidden - and in fact, the motivation for exporting them.
Jonimus' commit from a year ago, https://github.com/Jonimoose/TITools/commit/f7b12b6fee3cff3e23d87e29148cbcdfb65ad67a , opened my eyes about the necessity of exporting more functions to the public libticalcs API: in order to implement 83+ family DBUS memory page dump commands (and the ROM dumping wrapper on top of it), he had to copy & paste 2000+ lines of code (out of 2232 !) from libticalcs to tidump...
Oooh, this is great. Can't wait to dump my rom when I get home using this Smile It seems like a pretty straight-forward process, which is good.
Definitely going to have to try this when I get home Very Happy
merthsoft wrote:
Oooh, this is great. Can't wait to dump my rom when I get home using this Smile It seems like a pretty straight-forward process, which is good.
I can't be much easier than double clicking an .exe, waiting 26 minutes, and uploading the resultant TI84+.rom to jsTIfied.

And yes it really does take 26 minutes, I timed it on my final testing run last night before uploading.
Great news, TheStorm! I updated our TI-84 Plus C Silver Edition reference page to refer to this topic for ROM dumping. It's less than ideal that it's SilverLink-only, but I understand the technical limitations, and this is still a huge step forward.
Sadly I can't seem to use this, because my TiLP install only detects my 84+CSE via DirectUSB, not SilverLink. I get this error:

EDIT: Nevermind, the connection issue earlier, I restarted a virtual machine from scratch (Windows XP) and it works fine. However Now this is what happens when trying to get a ROM dump:

C:\Documents and Settings\XPMUser\Desktop\TITools-romdumper>tidump

Code:
Error 1
Receiving page 0 out of FF
Receiving page 1 out of FF
Receiving page 2 out of FF
Rom Dump Failed
Error 1


On my 2nd attempt I got this:

Code:
Error 1
Receiving page 0 out of FF
Receiving page 1 out of FF
Receiving page 2 out of FF
Receiving page 3 out of FF
Receiving page 4 out of FF
Rom Dump Failed
Error 1


On 3rd attempt I got the same thing, even with timeout set at 15000ms (after page 4 it just hung there then failed)

4th attempt with verbose stuff:


Code:
C:\Documents and Settings\XPMUser\Desktop\TITools-romdumper>tidump -c SilverLink
  -T 15000 -v
 [ticables] ticables library version 1.3.4
 [ticables] setlocale: English_United States.1252
 [ticables] bindtextdomain: C:\Documents and Settings\XPMUser\Desktop\TITools-ro
mdumper\..\share\locale
 [ticables] textdomain: messages
 [tifiles] tifiles library version 1.1.6
 [tifiles] setlocale: English_United States.1252
 [tifiles] bindtextdomain: C:\Documents and Settings\XPMUser\Desktop\TITools-rom
dumper\..\share\locale
 [tifiles] textdomain: messages
 [ticalcs] ticalcs library version 1.1.8
 [ticalcs] setlocale: English_United States.1252
 [ticalcs] bindtextdomain: C:\Documents and Settings\XPMUser\Desktop\TITools-rom
dumper\..\share\locale
 [ticalcs] textdomain: messages
 [ticables]  found TI-GRAPH LINK USB on #1, version <1.03>
 [ticables]  found TI-GRAPH LINK USB on #1, version <1.03>
 [ticables] found bulk in endpoint 0x81

 [ticables] found bulk out endpoint 0x02

 [ticalcs] Check for TIXX...
 [ticalcs]  PC->TI: RDY?
 [ticalcs]  TI->PC: ACK
 [ticalcs]  PC->TI: RDY?
 [ticalcs]  TI->PC: ACK
 [ticalcs] Check for TI8X...
 [ticalcs] Requesting version infos:
 [ticalcs]  PC->TI: VER
 [ticalcs]  TI->PC: ACK
 [ticalcs]  PC->TI: CTS
 [ticalcs]  TI->PC: ACK
 [ticables] CRITICAL: ticables_cable_recv: len = 0

 [ticalcs]  TI->PC: XDP (000B bytes)
 [ticalcs]  PC->TI: ACK
 [tifiles] 04 00 04 00 02 05 09 01 00 00 00 (11)
 [ticalcs]   OS: 4.00
 [ticalcs]   BIOS: 4.00
 [ticalcs]   HW: 5
 [ticalcs]   Battery: good
 [ticalcs] Calculator type: TI84+
Error 1
 [ticables]  found TI-GRAPH LINK USB on #1, version <1.03>
 [ticables] found bulk in endpoint 0x81

 [ticables] found bulk out endpoint 0x02

 [ticalcs] Checking hand-held status:
 [ticalcs]  PC->TI: RDY?
 [ticalcs]  TI->PC: ACK
 [ticalcs] Requesting version infos:
 [ticalcs]  PC->TI: VER
 [ticalcs]  TI->PC: ACK
 [ticalcs]  PC->TI: CTS
 [ticalcs]  TI->PC: ACK
 [ticables] CRITICAL: ticables_cable_recv: len = 0

 [ticalcs]  TI->PC: XDP (000B bytes)
 [ticalcs]  PC->TI: ACK
 [tifiles] 04 00 04 00 02 05 09 01 00 00 00 (11)
 [ticalcs]   OS: 4.00
 [ticalcs]   BIOS: 4.00
 [ticalcs]   HW: 5
 [ticalcs]   Battery: good
Receiving page 0 out of FF
 [ticalcs]  PC->TI: DUMP (page=00)
 [ticalcs]  TI->PC: ACK
 [ticalcs]  TI->PC: XDP (4000 bytes)
 [ticalcs]  PC->TI: ACK
Receiving page 1 out of FF
 [ticalcs]  PC->TI: DUMP (page=01)
 [ticalcs]  TI->PC: ACK
 [ticalcs]  TI->PC: XDP (4000 bytes)
 [ticalcs]  PC->TI: ACK
Receiving page 2 out of FF
 [ticalcs]  PC->TI: DUMP (page=02)
 [ticalcs]  TI->PC: ACK
 [ticalcs]  TI->PC: XDP (4000 bytes)
 [ticalcs]  PC->TI: ACK
Receiving page 3 out of FF
 [ticalcs]  PC->TI: DUMP (page=03)
 [ticalcs]  TI->PC: ACK
 [ticalcs]  TI->PC: XDP (4000 bytes)
 [ticalcs]  PC->TI: ACK
Receiving page 4 out of FF
 [ticalcs]  PC->TI: DUMP (page=04)
 [ticalcs]  TI->PC: ACK
 [ticalcs]  TI->PC: XDP (4000 bytes)
 [ticalcs]  PC->TI: ACK
Receiving page 5 out of FF
 [ticalcs]  PC->TI: DUMP (page=05)
 [ticalcs]  TI->PC: ACK
 [ticalcs]  TI->PC: XDP (4000 bytes)
 [ticalcs]  PC->TI: ACK
Receiving page 6 out of FF
 [ticalcs]  PC->TI: DUMP (page=06)
 [ticalcs]  PC->TI: ACK
Rom Dump Failed
Error 1


It just seems to randomly stop... Shock

EDIT Attempt 5: This time I setup tidump process priority to real time and I reached page 1C out of FF before it failed. It seems that even just moving the mouse by 1 pixel is enough to make it fail because it's so sensitive. Is there an solution to the sensitivity issue? I had similar problems with VTI ROM dumper.
There is most likely just too much latency between the OS and the IO link cable when talking though a virtual machine. My suggestion would be to try the using the libusb0 filter driver with the silverlink and running it natively rather than in a virtual machine.

Most likely it'll work fine for smaller variables but unless you have a beefy CPU and basically nothing going on getting a long enough period where the USB code involved is not interrupted is going to be difficult.
My problem is that the only computer I have right now has TI-Connect installed and I don't want to have to uninstall TI-Connect nor risk messing its install up with TiLP, hence why I was using a virtual machine.

I have a first-gen Intel Core i7 by the way.
*Bump*

Does anyone know a place where I can download a legit libglib-2.0-0.dll ?
For instance, it's part of the GTK+-win32 runtime (which the TILP installer can automatically download, http://gtk-win.sf.net ).
I can also find references to Win32 Glib at e.g. http://www.gtk.org/download/win32.php
I got all required dll's now. I ran it using this command:
tidump.exe -m auto --cable=blacklink:1

It said the DhaHelper driver and/or library was not found. What is this driver?
DhaHelper is a special driver used on 32-bit Windows for serial and parallel links. Unless you have a BlackLink / $4 cable, or ParallelLink ("$5 cable"), you don't need it (it doesn't matter if it doesn't work).
I got the black graphlink serial cable. I also have a usb cable. Can I use that with the program?

Edit: I checked if usb would work, but it says there was no directlink cable detected.
Which version and type (32-bit, 64-bit) of Windows are you using ?

And try using the TILP beta build from the beta-testing topic on Cemetech, it's more recent than TILP II 1.17.
Using win-32 Windows 7 professional.
I tried this:"
tidump.exe -m auto --cable=usb:1
It told me I needed libusb-win32
I downloaded it and I am in the process of installing the driver. Such a convoluted installation process Razz
Well, the TILP installer automatically installs the driver, and it can download the appropriate GTK+ runtime (which contains libglib-2.0-0.dll). Replicating steps in a fully manual way is indeed cumbersome, there's a reason there's an automated installer Wink
Where can I find this installer?
edit: never mind. found it on sourceforge. Thanks for the help!
Use the build from http://tiplanet.org/beta/setup.exe instead, as described in the beta-testing topic I mentioned above ( http://www.cemetech.net/forum/viewtopic.php?p=208470#208470 ): it's newer than TILP II 1.17.

The memory dump command leveraged by this dumper is supported only through legacy I/O, BTW. Without a SilverLink, use the DirectLink dumper built into libticalcs.
I just get so many link errors timeout errors and so forth. What does this suggest?

Edit: running it as administrator helped!
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement