Ok, get ready to do deep debugging. Not sure how good your Unix commandline is.
note: The touch screen is driven by
ads7846. So a
find / |grep ads7846 will give you plenty of files to check.
if you use strings on
/usr/bin/ts_calibrate, you get some files, and I _think_ that
/etc/pointercal is the file that holds your calibration data.
1. Lets check if the file holding the calibration data is corrupt...
Check if that file contains the same values after reboot. if not, use cp to copy the file, then rename the old file as .old:
# become root
sudo su
cp -p /usr/bin/ts_calibrate /usr/bin/ts_calibrate.new
mv /usr/bin/ts_calibrate /usr/bin/ts_calibrate.old
cp /usr/bin/ts_calibrate.new /usr/bin/ts_calibrate
if you cat this file I get:
> cat /usr/bin/ts_calibrate
-13876 -77 54666296 6 -8724 32887930 6553666
To re-read this file:
sudo /usr/pandora/scripts/op_touchinit.sh
2. Try if running that sudo command after booting, maybe this restores your calibration settings... if so, we can add the command in the boot sequence.
3. Flash new Firmware
That's all the ideas I can come up with, short of reflashing to the new firmware, which in the past automagically fixed many problems for many users...
https://pyra-handheld.com/boards/threads/superzaxxon-v1-73-maintenance-release.76703/
Weblinks
http://lxr.free-electrons.com/source/drivers/input/touchscreen/ads7846.c
https://groups.google.com/forum/#!topic/beagleboard/PrXTGqQ1Oi4