Alright, i know this post has been dead for a while, i just had to say that i have finished the algorithm, and it works very well. It has the fidelity to calculate angles with up to a precision of 22.5º! That may not sound like a lot, but it is actually more than enough for a screen as small and coarse as TI84's.
It also has an interesting feature that detects corners of objects, so that if you hit the corner of a strait line, it will not rebound as if had hit a straight line.
I have also implemented a feature that allows you to render the simulation (up to 999 frames) and then play it back at a higher speed and with a larger ball. This wouldn't be very effective for games, but it sure does look nice! :)
It also only supports a 1 pxl ball, since the collision pxltesting needed for ny larger ball would slow the simulation down considerably. And since the collision detection is done when the ball is off, it would flicker more.
Right now it is still in the testing phases, because the ball still gets stuck sometimes, and the rebound algorithm takes too long (In my opinion). I will upload the code shortly, Along with the testing area that i ran all my tests on. it includes a multitude of objects such as boxes, triangles, walls, curves, and spheres.