Omnimaga

Calculator Community => Other Calculators => Topic started by: critor on February 22, 2011, 09:39:31 pm

Title: TI-Nspire prototype 1.1.7320
Post by: critor on February 22, 2011, 09:39:31 pm
I've purchased 2 identical basic TI-Nspire prototypes.

They are very rare. Have a look there:
http://ti.bank.free.fr/index.php?mod=galerie&action=img&id_gal=9&id_img=129

They come with the oldest 1.1 OS/boot1/boot2/diags I've ever seen:

* OS 1.1.7320
* Boot1 1.1.7314
* Boot2 1.1.7314
* Diags 1.1.7387


They are detected as standard "TI-Nspire handheld" by Windows, but...

- None of the TI-Nspire Computer Link versions is listing them... Not even the 1.0 version, not even by updating/downdating the driver, not even by using the Computer Link 1.0 driver...

- The "Send OS" menu item is disabled.

- Unlike my other prototypes, they cannot exchange data with commercial TI-Nspire BAS/CAS, prototype TI-Nspire CAS/CAS+, and not even between themselves! The "Send" menu item simply returns immediatly, doing nothing.


If I'm guessing right, the USB link protocol had not been implemented yet in the 1.1.7320 OS. Seems it is going to be hard to dump anything without USB linking...

Any idea?
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on February 22, 2011, 11:12:53 pm
Sounds like you might have to go to the hardware level.
Open the calculator and compare with a production calculator, and if you are
lucky you might find a  JTAG interface on those older calcs. Then you can dump the OS.
They got the OS on there somehow ....

I saw an article where one person had to open an Hp Ipaq for example and soldered to the JTAG connections - usually 3 or 4 wires.
He had to do it because he bricked it, and reflashed his boot loader.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: DJ Omnimaga on February 22, 2011, 11:20:23 pm
Interesting, but it really sucks there are prototypes that looks so much like real calcs...
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on February 23, 2011, 06:03:04 am
I might have found a way to dump the 1.7 OS/Boot2/Diags (but not the 1.7 Boot1 yet).

In that very old diags software, the "additional functions" menu has more options.
It has a "NAND Flash read" option, which lets you input a nandflash address and then shows the Flash content.
You can move in the flash by using arrow keys.

Have a look at the start of the boot2:
(http://i73.servimg.com/u/f73/13/23/13/53/th/camdum10.jpg) (http://www.servimg.com/image_preview.php?i=1217&u=13231353)


Then the idea would be to stuck an arrow key and use a webcam for hours...

I'll have to dump:
* 00004200-0015A800 for the boot2
* 0016B000-00210000 for the diags
* the OS which seems to start at 00221040


I can take the time to do it but once done, I'll probably need some help with the video files... Does anybody have an OCR software that could then generate the hex data from the videos?

Or an easier idea?

Thanks.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on February 23, 2011, 09:53:56 am
I have Adobe Acrobat - it works for OCR.
If all you have is hexadecimal digits [0-9A-F] it should work.

I have had problems having it  distinguish small "L" from ones "1", and zeroes from capital "O" in other cases.
Look alike characters tend to be confusing to the OCR.
It gets worse when the Font size gets smaller.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: TIfanx1999 on February 24, 2011, 09:01:52 am
Didn't someone(Benjamin Moody?) do something similar to Dump the TI-81? Maybe he could give you some advice on the setup he used.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: DJ Omnimaga on February 25, 2011, 07:52:47 pm
Yeah that's what he did if I remember. Apparently the digital camera needs good lightning, though, and a good memory card+power source, because it had to film during one hour or so.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on February 25, 2011, 07:58:50 pm
The nand reader seem to freeze randomly.
(after severall minutes with the down-arrow key stuck)

It means more work for me, but it's still possible.
(although I might lose my nerves when I'm going to film the OS... I've filmed 66% of the boot2 up to now)

But the other problem,is that it means more workk for the OCR too, as each video segment will have to be calibrated separately.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on February 25, 2011, 08:19:27 pm
The nand reader seem to freeze randomly.
(after severall minutes with the down-arrow key stuck)
I checked out this routine in DIAGS 1.1.9266 (it's still there, just not called from anywhere, so I can test it in nspire_emu by hex-editing) and it has a bug - it uses another 72 bytes of stack memory every time you move up or down. Since the stack is only 32kB, this means after about 70 flash pages (420 movements) it will corrupt the heap :(

If you want to save a little time (and a lot of wear on the keypad connector) by not having to reboot, just leave the reader (by pressing esc - going back to the address entry screen with enter does not free the memory) whenever you've gone far enough that it's about to freeze.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Lionel Debroux on February 26, 2011, 02:26:28 am
That's a silly bug...
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on February 26, 2011, 11:30:14 am
Does it accept a Ti-84+ keypad ?
And if so - see if there are undocumented calls for this prototype .
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on February 27, 2011, 01:27:20 pm
Does it accept a Ti-84+ keypad ?
And if so - see if there are undocumented calls for this prototype .

It does accept a TI-84+ keypad.
It's running a 2.42 TI-84+ system.
I've dumped it, and it is different from the 2.42 system included in production OS 1.1. According to my hex reader, there are many differences, and many of them are in the OS area.


I have an unrelated question.
According to the above tests, it seems that prototype cannot exchange data through USB.
Where is the USB linking code?
In the OS? In the Boot2? In both of them?

I'm just wondering if I could remove the OS, then send a more recent compatible OS (which I don't have for now) and use it to dump Boot1, Boot2 & diags.
But if this 1.1.7xxx boot2 has no USB linking support, then the calculator will be totally unusable.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on February 27, 2011, 01:35:20 pm
According to the above tests, it seems that prototype cannot exchange data through USB.
Where is the USB linking code?
In the OS? In the Boot2? In both of them?

Both of them. But judging from the picture you posted, this boot2 is noticeably smaller than the later versions (0x1742EC bytes uncompressed, compared to 0x199B58 bytes for 1.1.8310) so most likely the linking code is not present in it.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on February 27, 2011, 03:10:35 pm
I'm just wondering if I could remove the OS, then send a more recent compatible OS (which I don't have for now) and use it to dump Boot1, Boot2 & diags.
But if this 1.1.7xxx boot2 has no USB linking support, then the calculator will be totally unusable.
You still have the option of upgrading the later developer boot2 through RS232
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on February 28, 2011, 10:13:05 am
I'm just wondering if I could remove the OS, then send a more recent compatible OS (which I don't have for now) and use it to dump Boot1, Boot2 & diags.
But if this 1.1.7xxx boot2 has no USB linking support, then the calculator will be totally unusable.
You still have the option of upgrading the later developer boot2 through RS232

Did you manage to build an adapter?
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on February 28, 2011, 10:31:29 am
No, but I have collected pieces to make one.

The connector itself will have to be homemade -
  a trimmed perferated circuit board where the wires are fastened that make contact with the nspire contacts.
  Then a heavy duty rubber band straps it down to those contacts, and keeps the cover from sliding
  down at the same time. A solder contact seems too unreliable and can damage those contacts.

They probably flashed boot1 onto those calculators, and then boot2,diags, and the OS through RS232.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: ExtendeD on February 28, 2011, 04:12:18 pm
I'm not really good at soldering but didn't damage the contacts, and I don't have any reliability issues. But having those wires hanging even when the adapter is not needed is annoying...
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 04, 2011, 05:29:02 pm
Ok guys. I've filmed the 1.1.7xxx diags code yesterday. It took me 90 minutes, with the finger on the down arrow, and exiting/restarting the NAND reader every 5-6 minutes as there is a bug (see above).

That diagnostics version is quite interesting, as it has a NAND reader and a NAND writer too. So you can read and modify anything in NAND, yes anything (like the downgrade protection for example).
It's very important to dump it, as we might be able to flash it on TI-Nspire CAS+ calculators for example and understand more about those older and strange prototypes running the 1.0 OS.

The range is 16B000-20FFFF.

But some some areas are filled with 0xFF bytes:
1CED0B-1FF7FF
200C90-20FFFF

So it seems we only have to dump:
16B000-1CED0A
1FF800-200C8F


Could some of you try to OCR the video with the appropriate tools?

I still have to dump the boot2 (it'll probably take me 3 hours) and the OS (...).
But I'd like to get some comments with the OCR first, before filming again.

Here are the files:
http://xandrean.free.fr/ns-1.1.7xxx-cam/


Thank you very much for helping.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on March 04, 2011, 05:59:47 pm
I will see what I can do.....

The Datalight shell has utilities for dumping and flashing, but you have to go through RS232.
Start the shell on the emulator and execute the 2 commands:
<pre>
REL:A:\documents\ndless\>FlashFXDump /?


FlashFX Image Dump Utility
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
</pre>
and
<pre>
REL:A:\documents\ndless\>FlashFXImage /?


FlashFX Image Flashing Tool
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
...
...
...
</pre>
The first one you can dump Nor/Nand
The second one read/write only the nand.
One more reason to build an RS232 adapter ???
Its possible to trace these utilities and Build Ndless programs from them and get around not using RS232  ;)
Title: Re: TI-Nspire prototype 1.1.7320
Post by: willrandship on March 04, 2011, 06:08:28 pm
I had an Idea regarding a dock connector. You Solder the pins to a pin header, and embed that into the spring-loaded plastic cover, and glue it down. You can still put on the slide case, so nothing's exposed during normal use.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on March 04, 2011, 09:37:17 pm
bsl: How do you launch the Datalight command shell? I looked, but I never found any way to call it, besides running an Ndless program of course (which can't be done without USB)
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on March 05, 2011, 02:16:31 am
I used an Ndless program here.
I think there is a key combination to launch it, but haven't found it - there is FlashFX strings in the boot code.
I also could not find it on OS2 with a simple binary search to patch that small Ndless program.

EDIT: I will add its Goplat's , charming, impresssive 16 byte program posted on another forum. :)
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on March 06, 2011, 07:09:09 pm
But having those wires hanging even when the adapter is not needed is annoying...
Its exactly why I want to keep the calculator portable.
I can connect it to other Nspires I have like a CAS+ , without having to solder more wires.
Finding a Wifi cradle online for parts is ideal for making an RS232 adapter - you already have a convenient
contact to the calculator. If the RS232 conversion circuit is already there , you need only solder
a cable with 3-4 wires with a DB9 on one end for the computer.   
Title: Re: TI-Nspire prototype 1.1.7320
Post by: ExtendeD on March 07, 2011, 11:26:02 am
But Wifi cradles cost quite much, don't they?
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 17, 2011, 03:24:08 pm
I managed to get the old 1.1.7xxx boot log through RS232.

Code: [Select]
Boot Loader Stage 1 (1.1.7314)
Build: 2007/2/23, 20:43:36
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Last boot progress: 17816
Clocks:  CPU = 90MHz   AHB = 45MHz   APB = 22MHz

Available system memory: 37292
PM is turning the device OFF
PM has turned the device ON
SDRAM memory test:   Pass
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
Boot option: Normal

Loading DIAGS software...

Error reading/validating DIAGS image

Error loading DIAGS. Switching to BOOT2.

Loading BOOT2 software...

99%
BOOT1: loading complete (339 ticks), launching image.



Boot Loader Stage 2 (1.1.7314)
Build: 2007/2/23, 20:48:12
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Clocks:  CPU = 90MHz   AHB = 45MHz   APB = 22MHz


Initializing graphics subsystem.
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
Boot option: Normal


Initializing filesystem.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.
Filesystem ready.

Loading Operating System...

100%
ðxâÀ~ÃÏàzó=~ÃCÀžOæâž'˜óñž?OhÌšžOx3Ï~h4€LÀ

Beginning system initialization.
Preparing file system. This takes a while...
   POSIX layer initialized.
   POSIX devices initialized.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.

   POSIX file system initialized.
File system ready.
* P3 mode battery door detection
System build date: Feb 26 2007, 10:28:12
Available memory: 25556776 bytes
Purging temporary files...
Launching system...
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 19, 2011, 11:26:32 am
In order to dump what's in the TI-XXXXXXXXXXX (oldest OS 1.1 based TI-Nspire prototype), I've made some flashing in RS232.
(it's not a problem, as I have 3 of them)

Remember the included OS doesn't seem to have an implemented USB linking protocol (device detected like all other TI-Nspire & TI-Nspire CAS prototype and production calculators, but not listed by TI-Nspire Computer Link).


Here are some pictures if you're messed up with all prototypes I've got:
http://ti.bank.free.fr/index.php?mod=galerie&action=img&id_gal=9&id_img=130


1) remove the 1.1.7320 OS

The 1.1.7314 boot2 "install OS" screen doesn't seem to provide any better USB linking protocol.

2) flash the newer 1.1.9227 OS (Ndlessable) in RS232

Failed...
See what I get:

Code: [Select]
Loading Operating System...

Error loading OS image. Removing OS remnants.
Deleting file [/phoenix/manuf.dat]
Removing directory [/phoenix/install/]

Waiting for OS download.
Starting Connectivity services.
Initializing USB subsystem...Done.
Setting Console Log Level = 0
RET - SC: TI_CN_Nspire_SC_Init called
NavNet Ready.
USB Download is enabled.
Press <Enter> to download through the serial port.
Checking battery level.
Battery level is OK.
Begin XMODEM file transfer.
File transfer complete. Saving pre-load file.
Error saving pre-load file.
BOOT2 Error: install failed

I tried to flash every developer tno file I've got: 1.1.8008, 1.1.8410, 1.1.9227.
Exactly the same error each time.
I even removed everything from the file system using the maintenance menu: no difference...

3) flash the newer 1.1.8007 boot2 (USB support) in RS232

ok
So there doesn't seem to be a problem with my serial interfacing.
I don't understand why I couldn't flash an OS...

4) flash the newer 1.1.9227 OS (Ndlessable) through USB

ok
No problem at all, which does confirm there's a problem with USB in 1.1.7314 boot2.

5) ndless the 1.1.9227 OS

ok

5) dump 1.1.7314 boot1 and 1.1.7387 diagnostics

ok


I still need to dump the 1.1.7314 boot2 and the 1.1.7320 OS from my other TI-XXXXXXXXXXX prototype.


I've tried to reflash an OS in RS232 with the installed 1.1.8007 boot2.
I've also tried after flashing all other developer boot2 files I have: the 1.1.8310 and 1.1.9170.

Same error...

What am I doing wrong?
Flashing an OS in RS232 seemed to "virtually" work in the early Goplat's emulator releases, as OSes were installed this way...


If I could flash the 1.1.9227 ndlessable OS on the other prototype in RS232, then i could dump the 1.1.7314 boot2.


Thanks for any advice.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on March 19, 2011, 12:46:48 pm
Thanks for saving me the trouble on those video files.
I learned something about Video Text Recognition
which seems to be more of an art than a science .
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 19, 2011, 01:01:04 pm
Thanks for saving me the trouble on those video files.
I learned something about Video Text Recognition
which seems to be more of an art than a science .

Thanks for all your hard work, bsl.


But we're not done yet...
I could take a video of the boot2 and the OS! :P

Note that even if I manage to dump the boot2 by flashing an Ndlessable OS using the 1.1.7314 boot2, I can't see any way of dumping the OS...


By the way, any idea about that RS232 OS flashing problem ?
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on March 19, 2011, 01:23:16 pm
It will be a custom video software setup, since I only
need to recognize 16 characters, and the video frames are
consistent from frame to frame.

The flashing problem - I am not sure.
See if you can get the shell --
Reboot the system - as its rebooting type "+++" . [This did not work with the CAS+]
If Datalight stays with the Hayes modem standard this could get you the shell ? 
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on March 19, 2011, 01:35:16 pm
Although boot2.img is sent on RS232 as-is, OSes must be sent with a 32-byte header. The first 24 bytes, as far as I know, are unused. Bytes 24-27 are the size of the data to write to /tmp/manifest_img (nspire_emu always just set this to 0, and it worked, so I guess it's not important. Probably something left over from the CAS+.), and bytes 28-31 are the size of the data to write to /tmp/TI-Nspire.tnc. (Note: these sizes are big-endian)

Quote from: nspire_emu v0.01 source code, exec_hack() function (run in place of the xmodem receive function)
printf("Loading OS from %s\n", os_filename);
FILE *f = fopen(os_filename, "rb");
if (f) {
        u8 *mem = ram_ptr(arm.reg[0]);
        u32 size = fread(mem + 32, 1, arm.reg[1], f);
        memset(mem, 0, 28);
        mem[28] = size >> 24;
        mem[29] = size >> 16;
        mem[30] = size >> 8;
        mem[31] = size;
        fclose(f);
        arm.reg[0] = 0;
} else {
        perror(os_filename);
        arm.reg[0] = 1;
}
arm.reg[15] = arm.reg[14];

Edit: Here's a possibility to recover the OS. Use Home-Enter-X to send a "temp image" (a .tno/.tnc file, without the 32 byte header) - it will run the sent OS without installing it. It will have to be compatible with the installed OS, though, in terms of filesystem contents. I tried using a modified nspire_emu to run 1.1.9227 on top of a 1.1.8008 installation; there were some messed-up text messages but other than that it seemed to work fine. If you could run a USB-capable OS on top of a 1.1.7320 installation, then you could probably just dump the old OS with TiLP.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 19, 2011, 04:24:14 pm
Although boot2.img is sent on RS232 as-is, OSes must be sent with a 32-byte header. The first 24 bytes, as far as I know, are unused. Bytes 24-27 are the size of the data to write to /tmp/manifest_img (nspire_emu always just set this to 0, and it worked, so I guess it's not important. Probably something left over from the CAS+.), and bytes 28-31 are the size of the data to write to /tmp/TI-Nspire.tnc. (Note: these sizes are big-endian)

Quote from: nspire_emu v0.01 source code, exec_hack() function (run in place of the xmodem receive function)
printf("Loading OS from %s\n", os_filename);
FILE *f = fopen(os_filename, "rb");
if (f) {
        u8 *mem = ram_ptr(arm.reg[0]);
        u32 size = fread(mem + 32, 1, arm.reg[1], f);
        memset(mem, 0, 28);
        mem[28] = size >> 24;
        mem[29] = size >> 16;
        mem[30] = size >> 8;
        mem[31] = size;
        fclose(f);
        arm.reg[0] = 0;
} else {
        perror(os_filename);
        arm.reg[0] = 1;
}
arm.reg[15] = arm.reg[14];

I've tried flashing an OS through RS232 on a "normal" Nspire and it worked - thanks!


Ok, I still have 3 prototypes running boot2 1.1.7314 and OS 1.1.7320.


I've just taken one of them:

1) remove the 1.1.7320 OS

ok

2) send the 1.1.9227 ndlessable OS in RS232 with its header

failed...

Code: [Select]
Boot Loader Stage 1 (1.1.7314)
Build: 2007/2/23, 20:43:36
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Last boot progress: 32
Clocks:  CPU = 90MHz   AHB = 45MHz   APB = 22MHz

Available system memory: 37292
SDRAM memory test:   Pass
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
Boot option: Normal

Loading DIAGS software...

Error reading/validating DIAGS image

Error loading DIAGS. Switching to BOOT2.

Loading BOOT2 software...

99%
BOOT1: loading complete (331 ticks), launching image.



Boot Loader Stage 2 (1.1.7314)
Build: 2007/2/23, 20:48:12
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Clocks:  CPU = 90MHz   AHB = 45MHz   APB = 22MHz


Initializing graphics subsystem.
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
Boot option: Normal


Initializing filesystem.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.
Filesystem ready.

Loading Operating System...

Error loading OS image. Removing OS remnants.
Deleting file [/phoenix/manuf.dat]
Removing directory [/phoenix/install/]

Waiting for OS download.
Starting Connectivity services.
Initializing USB subsystem...Done.
Initializing interim USB loader...Done.
USB Download is enabled.
Press <Enter> to download through the serial port.
Checking battery level.
Battery level is OK.
Begin XMODEM file transfer.
File transfer complete. Saving pre-load file.
File saved. Installing new Operating System...
TI_OS_INSTALL_PRECHECK (5)
TI_OS_INSTALL_VERIFYING_IMAGE (10)
IMAGE: verifying file "/tmp/TI-Nspire.tno"
IMAGE: file length is 0
TI_OS_INSTALL_VERIFYING_RESOURCE (95)
Deleting file [/tmp/TI-Nspire.tnc]
TI_OS_INSTALL_FAILED
  TI_OS_INSTALL_IMAGE_INVALID



Boot Loader Stage 1 (1.1.7314)
Build: 2007/2/23, 20:43:36
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Last boot progress: 35
Clocks:  CPU = 90MHz   AHB = 45MHz   APB = 22MHz

Available system memory: 37292
PM is turning the device OFF

Stupid bug... TI messed up with /tmp/TI-Nspire.tno and /tmp/TI-Nspire.tnc.
I suppose the send OS is stored to /tmp/TI-Nspire.tnc.
But the boot2 does check /tmp/TI-Nspire.tno, and complains that the file length is 0 (as it doesn't exist).
But guess what... as the check did fail, it then removes /tmp/TI-Nspire.tnc!!!

Any idea to bypass this problem ?


So now, I have only 2 prototypes running boot2 1.1.7314 and OS 1.1.7320 left.
By using such "destructive" methods, I can only fail 1 more time...


Quote
Edit: Here's a possibility to recover the OS. Use Home-Enter-X to send a "temp image" (a .tno/.tnc file, without the 32 byte header) - it will run the sent OS without installing it. It will have to be compatible with the installed OS, though, in terms of filesystem contents. I tried using a modified nspire_emu to run 1.1.9227 on top of a 1.1.8008 installation; there were some messed-up text messages but other than that it seemed to work fine. If you could run a USB-capable OS on top of a 1.1.7320 installation, then you could probably just dump the old OS with TiLP.

Going to try that.

Doesn't seem dangerous! :)


By the way... any info on the RS232 diags image?
Sending my 640Kb images through RS232 just doesn't work...
(no error message: the Nspire just turns off, and Esc+Menu+G doesn't trigger anything)
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on March 19, 2011, 04:52:18 pm
Stupid bug... TI messed up with /tmp/TI-Nspire.tno and /tmp/TI-Nspire.tnc.
I suppose the send OS is stored to /tmp/TI-Nspire.tnc.
But the boot2 does check /tmp/TI-Nspire.tno, and complains that the file length is 0 (as it doesn't exist).
But guess what... as the check did fail, it then removes /tmp/TI-Nspire.tnc!!!

Any idea to bypass this problem ?
Hex-edit the .tno file you're trying to send. In the header, change "TI-Nspire.tno" to "TI-Nspire.tnc". (This header has no signature protection :D)

Quote
By the way... any info on the RS232 diags image?
Sending my 640Kb images through RS232 just doesn't work...
(no error message: the Nspire just turns off, and Esc+Menu+G doesn't trigger anything)
Maybe they got the size check wrong so a full 640kB isn't allowed. (Note that the last 64kB of the space reserved for diags is actually used for storing test results, so the actual image will never be larger than 576kB.) Try truncating it to just the size of the actual image (for a development-signed diags, the last few bytes are 24 57 c3 c6 90 ff f0).
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on March 19, 2011, 05:21:23 pm
I was able to run that diags with the DiagsLauncher program.
Runs on the emulator, should run on the calc without signature checking.
Subtract 8 more bytes from that program I sent for the larger diags proto header.


EDIT: change one line to look like:
Code: [Select]
if (fread((void *)0x117FFFB4 , 1, DIAGS_SIZE, ifile) != DIAGS_SIZE) {
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 19, 2011, 06:34:12 pm
Stupid bug... TI messed up with /tmp/TI-Nspire.tno and /tmp/TI-Nspire.tnc.
I suppose the send OS is stored to /tmp/TI-Nspire.tnc.
But the boot2 does check /tmp/TI-Nspire.tno, and complains that the file length is 0 (as it doesn't exist).
But guess what... as the check did fail, it then removes /tmp/TI-Nspire.tnc!!!

Any idea to bypass this problem ?
Hex-edit the .tno file you're trying to send. In the header, change "TI-Nspire.tno" to "TI-Nspire.tnc". (This header has no signature protection :D)

Very interesting! :)


So again, I tried to flash the ndlessable 1.1.9227 OS in RS232 with boot2 1.1.7314.
My goal is to dump this boot2.


This time I don't get this error... but it still doesn't work.

Strangely, after the OS is verified, the calculator just turns off (doesn't install the OS) and I'm not getting any error...

I tried 2 times, the 2nd time with brand new batteries but I got the same problem.


Have a look at the log:

Code: [Select]
Boot Loader Stage 1 (1.1.7314)
Build: 2007/2/23, 20:43:36
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Last boot progress: 17816
Clocks:  CPU = 90MHz   AHB = 45MHz   APB = 22MHz

Available system memory: 37292
PM is turning the device OFF
PM has turned the device ON
SDRAM memory test:   Pass
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
Boot option: Normal

Loading DIAGS software...

Error reading/validating DIAGS image

Error loading DIAGS. Switching to BOOT2.

Loading BOOT2 software...

99%
BOOT1: loading complete (339 ticks), launching image.



Boot Loader Stage 2 (1.1.7314)
Build: 2007/2/23, 20:48:12
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Clocks:  CPU = 90MHz   AHB = 45MHz   APB = 22MHz


Initializing graphics subsystem.
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
Boot option: Normal


Initializing filesystem.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.
Filesystem ready.

Loading Operating System...

Error loading OS image. Removing OS remnants.
Deleting file [/phoenix/manuf.dat]
Removing directory [/phoenix/install/]

Waiting for OS download.
Starting Connectivity services.
Initializing USB subsystem...Done.
Initializing interim USB loader...Done.
USB Download is enabled.
Press <Enter> to download through the serial port.
Checking battery level.
Battery level is OK.
Begin XMODEM file transfer.
File transfer complete. Saving pre-load file.
File saved. Installing new Operating System...
TI_OS_INSTALL_PRECHECK (5)
TI_OS_INSTALL_VERIFYING_IMAGE (10)
IMAGE: verifying file "/tmp/TI-Nspire.tnc"
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (11)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (13)
TI_OS_INSTALL_INSTALLING_RESOURCES (15)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (17)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (19)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (21)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (23)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (25)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (27)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (29)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (31)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (33)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (35)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (37)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (39)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (41)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (43)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (45)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (47)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (49)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (51)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (53)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (55)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (57)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (59)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (61)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (63)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (65)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (67)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (69)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (71)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (73)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (75)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (77)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (79)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (81)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (83)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (85)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (87)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (89)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (91)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (93)
TI_OS_INSTALL_VERIFYING_RESOURCE (95)
TI_OS_INSTALL_VERIFICATION_COMPLETE (99)



Boot Loader Stage 1 (1.1.7314)
Build: 2007/2/23, 20:43:36
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Last boot progress: 35
Clocks:  CPU = 90MHz   AHB = 45MHz   APB = 22MHz

Available system memory: 37292
PM is turning the device OFF
PM has turned the device ON
SDRAM memory test:   Pass
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
Boot option: Normal

Loading DIAGS software...

Error reading/validating DIAGS image

Error loading DIAGS. Switching to BOOT2.

Loading BOOT2 software...

99%
BOOT1: loading complete (340 ticks), launching image.



Boot Loader Stage 2 (1.1.7314)
Build: 2007/2/23, 20:48:12
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Clocks:  CPU = 90MHz   AHB = 45MHz   APB = 22MHz


Initializing graphics subsystem.
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
Boot option: Normal


Initializing filesystem.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.
Filesystem ready.

Loading Operating System...

Error loading OS image. Removing OS remnants.
Deleting file [/phoenix/manuf.dat]
Removing directory [/phoenix/install/]

Waiting for OS download.
Starting Connectivity services.
Initializing USB subsystem...Done.
Initializing interim USB loader...Done.
USB Download is enabled.
Press <Enter> to download through the serial port.

What's your guess?
Should I test the modified OS file on another calculator with a different boot2?
(the unmodified OS file was installed successfully through RS232 on a calculator running the 1.1.9170 boot2)


Thanks for helping me. Your posts are very instructive! :)
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on March 19, 2011, 07:20:29 pm
It worked with boot2 1.1.8008 in nspire_emu... I guess 1.1.7314 probably has yet another bug. (With all these boot2 bugs, it's a wonder TI managed to ever get the OS on these calcs in the first place.) An alternative would be to try to use our exploit (modified to dump boot2 to rs232 instead of to a file) but you know how finicky that can be.

The message "Initializing interim USB loader...Done." is intriguing - the current boot2 still has unused vestiges of this "interim USB loader".

I'd like to help more, but I have school work to deal with right now. :( Maybe tomorrow.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 19, 2011, 10:25:49 pm
Using boot2 1.1.9170, I've tried to run a test image over the 1.1.7320 OS.

I've tried OSes 1.1.8008, 1.1.8410, and 1.1.9227.
(I've sent the original tno files, without adding any header)

It didn't work.
I'm getting the same error each time:

Code: [Select]
Keypad request, preparing to load a test image.
Checking battery level.
Battery level is OK.
Begin XMODEM file transfer.
§§File transfer complete. Saving file.
File saved. Loading temp image...
21% Error loading temp image.

It allways stops at 21%...

Strangely, I've tried my modified 1.1.9227 OS (with the added header), and I got the same error, but at 97%...


Something I've missed again?
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on March 19, 2011, 11:45:36 pm
It allways stops at 21%...

Strangely, I've tried my modified 1.1.9227 OS (with the added header), and I got the same error, but at 97%...
You can prepend almost whatever you want at the beginning of the file - boot2 searches for the first 0x1A byte and starts working from there, so as long as you don't add a 0x1A byte, it shouldn't affect things. Maybe there's an xmodem issue that's truncating the file? Try some different amounts of padding, like try to make the file a multiple of 0x400 bytes (the maximum xmodem packet size) or something.

Edit: it also tolerates padding at the end; 0x400 extra null bytes at the end should fix any xmodem truncation issues.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on March 20, 2011, 02:35:32 am
It might become necessary to rewrite the Ndless loader
assuming you get the test image working.
There is a reboot in the Ndless installation which might mean
loosing the test image.
The loader would be rewritten to hexdump the nand to RS232
and would not install Ndless - just using the exploit to dump the nand.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 20, 2011, 11:44:52 am
I had RS232 transfer problems with the 1.1.9170 boot2 (several "retry" requests, and as you could see the file was bad...)
Strangely, without modifying anything to the interface, those errors didn't happen again after downgrading the boot2 to 1.1.8007 or 1.1.8310.

With 1.1.8007 boot2, I couldn't launch any developer OS as a test image (1.1.8008, 1.1.8410, 1.1.9227).
The calculator just turned off after reading/verifying the image up to 100%

With 1.1.8310 boot2, I could launch the 1.1.8008 OS as a test image.


After using TI-Nspire Computer Link modified code, OS 1.1.7320 has just been dumped.
Thank you all for your great help.



We are only missing boot2 1.1.7314 now.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on March 20, 2011, 12:23:50 pm
It will be interesting to look at OS 1.1.7320 .
Without USB support, it would be unusual to see
that it would not support more shell/RS232 utilities,
then what we have been seeing.
If we are really lucky debugging information on those old OS's
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 20, 2011, 01:25:45 pm
Ok. We're still missing Boot2 1.1.7314.


Let's sum up what's left for dumping:
- a TI-Nspire with Boot2 1.1.7314 and with OS 1.1.7320.
- a TI-Nspire with Boot2 1.1.7314 and without any OS.

According to previous tests, it seems it's not possible to install a newer OS without updating the Boot2.
(no full USB support in this Boot2, and seems OSes can't be installed through RS232 because of some bugs)


I've tried "exploit1" for 1.1 boot2, by sending special TNC files (adding them the header needed for RS232) targetting various addresses.

With newer 1.1 boot2, most of the time the calculator just freezed. The rest of the time, it displayed some artifacts, or rebooted. And when the right address was targetted, it displayed what we wanted.

With this oldest boot2, on the 1st try (targetting address 0x11b00000) I got a strange garbage I've never seen on the screen. I was just thinking "why not?...".

But then I targetted:
0x11b08000
0x11b10000
0x11b18000
0x11b20000
0x11b28000
0x11b30000

I allways got exactly the same garbage on the screen.

Knowing that this boot2 is smaller than newer boot2, I targetted the minimum and maximum address:
0x11a00000
0x11cf8000

Again, the same garbage on the screen.

(http://i63.servimg.com/u/f63/13/23/13/53/img_6112.jpg)


Seems exploit1 is not working correctly on this oldest boot2... (or in RS232).
Any idea?
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on March 20, 2011, 01:53:46 pm
In OS 1.1.7320, the NavNet code is present, but appears to be unused. (TI_NN_Init is at address 10291578, and is not called from anywhere)

The growth in size from 1.1.7320 to 1.1.8008 was due to added flash apps in the TI-84+ emulator.

Seems exploit1 is not working correctly on this oldest boot2... (or in RS232).
Any idea?
The right address is going to be a lot lower if you're using rs232. For 1.1.8007 it would be around 11a00000. Since 1.1.7314 is about 150kB smaller when uncompressed, I would try 119d8000.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 20, 2011, 02:19:21 pm
Seems exploit1 is not working correctly on this oldest boot2... (or in RS232).
Any idea?
The right address is going to be a lot lower if you're using rs232. For 1.1.8007 it would be around 11a00000. Since 1.1.7314 is about 150kB smaller when uncompressed, I would try 119d8000.

While I go on getting this pattern on the screen, does it mean I'm still "too high" to your advice?
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on March 20, 2011, 02:21:12 pm
I don't know. I haven't yet tested exploiting the bug over rs232 in nspire_emu.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 20, 2011, 09:30:54 pm
Seems exploit1 is not working correctly on this oldest boot2... (or in RS232).
Any idea?
The right address is going to be a lot lower if you're using rs232. For 1.1.8007 it would be around 11a00000. Since 1.1.7314 is about 150kB smaller when uncompressed, I would try 119d8000.

Thank you very very much Goplat, you're very accurate! :)
"Exploit1" worked by targetting 0x119e0000 on my OSless Nspire with boot2 1.1.7314.

(http://i63.servimg.com/u/f63/13/23/13/53/img_6113.jpg)


Now we should have all addresses needed for "exploit2".
Do they seem correct to you?

But there seems to be a little problem...
If you remember my previous experiences with "exploit2", in some situations it seemed to work (got the progress bar and could reboot by pressing on), but the files weren't created in the filesystem...

And I can't check if the files were created correctly without upgrading boot2...
(no USB and no OS untill that...)
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on March 20, 2011, 10:20:03 pm
I think we should forget about creating files on the calc, and instead just send the contents of boot2 out over the RS232, since you already have that set up. I'll email you a file when I finish writing and testing it.

Is it ok for it to just output raw binary or will your terminal program not be able to log that properly?
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 20, 2011, 10:21:42 pm
I should be able to handle raw binary I think.
Thanks.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on March 21, 2011, 12:18:30 am
After you dump boot2 , see if you can reflash boot2_1.1.7314 and OS1.1.7320 back on
as an integrity check.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 21, 2011, 08:08:19 am
Goplat, thank you for your file.

Unfortunately, I've tried it something like 10 times and I allways get this:

Code: [Select]
Boot Loader Stage 1 (1.1.7314)
Build: 2007/2/23, 20:43:36
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Last boot progress: 26008
Clocks:  CPU = 90MHz   AHB = 45MHz   APB = 22MHz

Available system memory: 37292
PM is turning the device OFF
PM has turned the device ON
SDRAM memory test:   Pass
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
Boot option: Normal

Loading DIAGS software...

Error reading/validating DIAGS image

Error loading DIAGS. Switching to BOOT2.

Loading BOOT2 software...

99%
BOOT1: loading complete (340 ticks), launching image.



Boot Loader Stage 2 (1.1.7314)
Build: 2007/2/23, 20:48:12
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Clocks:  CPU = 90MHz   AHB = 45MHz   APB = 22MHz


Initializing graphics subsystem.
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
Boot option: Normal


Initializing filesystem.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.
Filesystem ready.

Loading Operating System...

Error loading OS image. Removing OS remnants.
Deleting file [/phoenix/manuf.dat]
Removing directory [/phoenix/install/]

Waiting for OS download.
Starting Connectivity services.
Initializing USB subsystem...Done.
Initializing interim USB loader...Done.
USB Download is enabled.
Press <Enter> to download through the serial port.
Checking battery level.
Battery level is OK.
Begin XMODEM file transfer.
File transfer complete. Saving pre-load file.
Error saving pre-load file.
BOOT2 Error: install failed

Note I was randomly getting this with exploit1 (even when targetting the right address), but with this exploit2 it seems to happen each time...
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on March 21, 2011, 05:00:12 pm
Did you remember the 32-byte header?

You could also try sending it as a temp image (headerless)...
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 21, 2011, 06:23:20 pm
Did you remember the 32-byte header?

You could also try sending it as a temp image (headerless)...

Sorry, I completly forgot that! :P
Going to try again.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: Goplat on March 21, 2011, 08:50:27 pm
Actually, sending it as a temp image doesn't work, sorry (just tested in nspire_emu)
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on March 21, 2011, 08:57:36 pm
Can this procedure also work for other unknown boot2's like the CAS+ ?
First you have to hunt for valid points then write the exploit.
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 21, 2011, 09:00:34 pm
Can this procedure also work for other unknown boot2's like the CAS+ ?
First you have to hunt for valid points then write the exploit.

Maybe, but it won't work through USB with TI-Nspire Computer Link 1.0 "as is".
The PC-side TNC format checking will fail.
It might work through RS232, as there is no file checking prior to sending.


Goplat, could I have an "exploit2" version which would wait some seconds prior to sending?
I'm under Windows, and I unless you've got a better idea, I have to use 2 terminal softwares (disconnect/reconnect):
- HyperTerminal Private Edition which supports Xmodem transfers
- DockLight which supports ascii & hex file logs

Edit: thanks!
I was just missing the first 512 bytes (wasn't quick enough to switch terminals).
Apparently, there aren't many good terminal softwares for Windows.
Linux would have been much easier I suppose with the "cat" command :P


Edit2: dumped.
All my basic & CAS Nspire prototypes are now fully dumped.
Now, back to the CAS+! :P
Title: Re: TI-Nspire prototype 1.1.7320
Post by: bsl on March 21, 2011, 11:28:19 pm
There are a lot more capable terminal programs written for MsDOS back then, because of the
direct hardware access that Window$ doesn't give you. Here is a link to some of them:
http://www.eunet.bg/simtel.net/msdos/commprog.html
Title: Re: TI-Nspire prototype 1.1.7320
Post by: critor on March 22, 2011, 09:11:38 am
The 1.1.73xx boot1/boot2/OS/diags are the only developer versions which have visible differences with the newer 1.1 developer and production versions.

They seem to be an intermediate between TI-Nspire CAS+ and basic/CAS TI-Nspire.

You can find lots of screen captures and photos of the matching prototype below:
http://tibank.forumactif.com/t6809-les-secrets-des-ti-xxxxxxxxxxx
http://ti.bank.free.fr/index.php?mod=galerie&action=img&id_gal=9&id_img=130
(with comments in french)


A very big thanks to everybody.
Omnimaga is great!
Title: Re: TI-Nspire prototype 1.1.7320
Post by: DJ Omnimaga on April 03, 2011, 02:54:06 pm
I'm glad you like the site. Also thanks a lot for your work in finding these prototypes, trying to hack them and all the other discoveries you made. I unfortunately cannot help much, though, since I know nothing about hardware stuff.