USP patch - utility to change FPS, timelimits, frame size 1) Download from http://osf1.gmu.edu/~rmansfi2/usppatch/
2) Extract usppatch.exe to some directory
3) Using Ops, download USP.BIN from your camera to the same directory as usppatch.exe
4) Run usppatch.exe
5) Using Ops, upload the new USP.BIN.patched file over your camera's USP.BIN
6) **IMPORTANT:** Click powerdown camcorder
7) Enjoy!
hevnsnt- 08-24-2005
:D sweet! Thanks@
carpespasm- 08-24-2005
very nice! so much easier not having to worry about messing up a field in a hex editor
Thor- 08-24-2005
Excellent, sure beats mucking around in the hex editor.
GWRedDragon- 08-24-2005
Released version 0.2:
-Created a new serial number option that sets the serial number to a string that describes the settings in the file. For instance, the default camera settings generate this string:
320x240 30f 25hl
Which means the resolution is 320x240, it records at 30 frames per second, and the hard limit is 25 minutes. The soft limit, of course, can be seen at the normal idle screen.
The idea of this feature is to allow you to easily check your camera settings without hooking it up to the PC, downloading your USP file or a video, etc. All you have to do to know what resolution and such you set is to start the camera up with the nerve pinch.
-Included readme with the same instructions that are at the top of this thread
-Included source code. Should easily compile in any C++ compiler on any platform, but assumes a little endian machine. Not that that should be a big deal.
radarman- 08-24-2005
Hey, that's a pretty good idea! (much more useful than a generic vanity serial)
BTW - your program seems to crash if you attempt to start it without a file. Not a big deal, but it might be worth trapping.
Maxwell Smart- 08-24-2005
Great! You should make an option
"Would you to replace the challenge/response key with 0's?"
Anyway, excellent work!
qodsec- 08-24-2005
great app. Thanks
FruitCake- 08-24-2005
very nicely done
camerabuser- 08-24-2005
-Included source code. Should easily compile in any C++ compiler on any platform, but assumes a little endian machine. Not that that should be a big deal.
It is a big deal. There are lots of Macs. Sales figures are misleading
because Mac users don't often buy new computers. (less spyware,
fewer gamers...)
At least mark the places in the code that need fixing. You could do this
with do-nothing macros, like so:
#define CPU_TO_LE32(x) (x)
#define LE32_TO_CPU(x) (x)
#define CPU_TO_LE16(x) (x)
#define LE16_TO_CPU(x) (x)
Then I just need to change the definitions and I'm all set.
BillW- 08-24-2005
Or you could do it yourself and submit the patch to GWRedDragon. That's the beauty of having access to the source.
I haven't looked at the source, but it should be pretty easy to identify - basically look for any code that converts character strings into short ints (or equivalent), and visa versa. There won't be a lot of them.
camerabuser- 08-24-2005
Or you could do it yourself and submit the patch to GWRedDragon. That's the beauty of having access to the source.
I sure know this, which is why I only really begged to have the spots
marked right. I can add the byte swapping code myself.
I haven't looked at the source, but it should be pretty easy to identify - basically look for any code that converts character strings into short ints (or equivalent), and visa versa. There won't be a lot of them.
Depending on the camera, some might not need conversion. I guess I
can assume that the USB protocol itself is little-endian, but I don't know
if it still is after it passes through the chipset, OS, and libusb.
BillW- 08-24-2005
I took a quick look at GWRedDragon's source. The only endian specific code I see is...
//Make a descriptive serial number
string camid;
camid.clear();
camid+=tos(*((unsigned short *)(&buffer[0x1c8])));
camid+="x";
camid+=tos(*((unsigned short *)(&buffer[0x1ca])));
The short passed to tos may will be the wrong byte order on an endian-different machine. Using your macro scheme, this is what you want...
camid+=tos(LE16_TO_CPU(*((unsigned short *)(&buffer[0x1c8]))));
camid+="x";
camid+=tos(LE16_TO_CPU(*((unsigned short *)(&buffer[0x1ca]))));
GWRedDragon- 08-25-2005
Okay, I added big endian support and uploaded as 0.3. All you should have to do is comment out the line that defines "LITTLE_ENDIAN" at the top of the file.
Dang! Too late...I should have called it "FOLLOWER_OF_LILLIPUT".
Still no middle endian support :P
FRAMEDNLV- 08-25-2005
utility I used the utility to make the new bin file. It seems to work but not completely. When I let it record to the maximum time it will stop recording and say ready. After I down load the movie it will not play with windows player. It will play with the divx player. When I list the properties for the movie file it doesn't have any summary listing. It is like the file was not completed properly. Does any one else have this problem? I set the clip time for less than maximum time.
Chris
Forumer™ is Voted #1 Free Forum Hosting provider
Build your own community today with the largest message board hosting company.