Tim Hentenaar's Blog

iPhone 3G NOR Restore

I recently solved a painful dilemma with an iPhone 3G. For the fun of it, after installing OpeniBoot and backing up the NOR, I thought it would be fun to randomly corrupt the NOR and see what happened. :-P

Here's how I restored my NOR backup...

Continue reading...

Published on: May 30, 2011

TI Basic Simulator

Recently I wrote a TI Basic (not Extended Basic) simulator as a proof of concept to determine whether or not such a simulator would be feasable in Javascript. Why TI Basic? Because it was the first programming language I ever learned. Yes, I still have a working TI-99/4A to this day. :-)

PRINT is implemented enough to print simple values, and expressions. the ";" modifier isn't implemented. However, statements such as LET, IF-THEN-ELSE, FOR-NEXT, GOSUB-RETURN, DIM, most math functions, RANDOMIZE/RND, the CHAR subroutines, and most other commands have been implemented.

Continue reading...

Published on: Nov 16, 2009

Reverse Engineering the TI BASIC PRNG

The other day, I decided to reverse engineer the TI BASIC pseudo-random number generator. I was curious to see what sort of algorithm it used, and I couldn't find such an analysis elsewhere on the internet.

I've read the book TI 99/4A Intern by Heiner Martin (I'd recommend it to any TI enthusiast), and it provides a ton of useful insight into the inner workings of the BASIC ROMs. However, I wanted to reverse engineer the algorithm myself, without the comments from the book...

Continue reading...

Published on: Nov 13, 2009

Control Software for the Inland USB LED Badge

I bought one of these at Micro Center a couple of weeks ago because I wanted to flex my reverse engineering muscles, and work with libhid. I knew there was no way in hell it would come with control software for Linux, and at $14.99 it was quite affordable. Therefore, I went about writing some software to do the job...

Continue reading...

Published on: Mar 24, 2009