Make S3IS Record 1080p Video By Brute Force? - Script Writing - CHDK Forum supplierdeeply

Make S3IS Record 1080p Video By Brute Force?

  • 10 Replies
  • 2847 Views
Make S3IS Record 1080p Video By Brute Force?
« on: 13 / December / 2022, 19:47:57 »
Advertisements
We know that the "set_resolution" has the ability to set the resolution of the imaging modes from 0,1,2,4,8 for L,M1,M2,S,W, in the S3IS. We also know the video settings in the S3IS are 640(30fps), 640(15fps), 320(60fps), 320(30fps), and 320(15fps). However, I can find no "set_video_resolution" in the CHDK commands. Also, is there a way to directly change values in the hardware/chips to force different resolutions? The thing is, in PlayStation2 games, I can change certain values using "Cheat Engine" while a game is running to mod certain aspects. For example, while a game was running, while I was changing my car's wheel size in the garage, I monitored a hex value that changed with each size change. When I entered a larger value, my wheels became much larger than what was possible. In fact, I managed to find unused parts and paints that were locked away because they were unfinished, and weren't supposed to be accessed, but I managed to do so by directly changing values while it was running, and when I left the garage and saved the car's settings, it was saved, along with the modifications! Is there a way to accomplish the same thing on the Canon S3IS? A way to inject values to change the video resolution? Every device has a certain place where it stores the settings, and there has to be a way to inject values in there to modify the settings, right? Any ideas?

*

Offline reyalp

  • ******
  • 14080
Re: Make S3IS Record 1080p Video By Brute Force?
« Reply #1 on: 14 / December / 2022, 00:50:52 »
Any ideas?
I'm afraid nothing has changed since we last talked about this. What you've described is reverse engineering, and the tools and required skillset remain the same.

In your PS2 example, you used a tool that was made by someone else who did the reverse engineering to change some variables. You can use the CHDK memory browser or chdkptp to explore memory, but as several people with knowledge of these have already explained, it's extremely unlikely you can set arbitrary video resolutions with simple variable changes, and even it it could, finding them would require reverse engineering.
Don't forget what the H stands for.

Re: Make S3IS Record 1080p Video By Brute Force?
« Reply #2 on: 14 / December / 2022, 23:04:02 »
Any ideas?
I'm afraid nothing has changed since we last talked about this. What you've described is reverse engineering, and the tools and required skillset remain the same.

In your PS2 example, you used a tool that was made by someone else who did the reverse engineering to change some variables. You can use the CHDK memory browser or chdkptp to explore memory, but as several people with knowledge of these have already explained, it's extremely unlikely you can set arbitrary video resolutions with simple variable changes, and even it it could, finding them would require reverse engineering.

Just as a quick question. By changing variables, I can't permanently change something in the camera, and damage it, right?

Re: Make S3IS Record 1080p Video By Brute Force?
« Reply #3 on: 16 / December / 2022, 15:10:45 »
Depends what you mean.  If you change things at random in the camera's memory, yes, you can permanently damage the hardware or leave the camera unbootable.


Re: Make S3IS Record 1080p Video By Brute Force?
« Reply #4 on: 16 / December / 2022, 19:54:45 »
Depends what you mean.  If you change things at random in the camera's memory, yes, you can permanently damage the hardware or leave the camera unbootable.

Is there a way I can hook up my camera to my computer and see which values change in the camera's Operating System when I change the resolutions? That's how I managed to do the modifications in the game. I monitored the value changes, while I scrolled through the car paint job types, and saw that 00 was for Matte, 01 was for Glossy, 02 was for Pearlescent, and 03 was for color shift, however, after seeing this single value change in Cheat Engine, I changed the value to 04, thus opening a hidden paint job type, Enamel. I was wondering if it is possible to do the same, by hooking up the camera to a computer, change the resolution types on the camera, and monitor the values to then manually change some values and maybe unlock some hidden ones...

Re: Make S3IS Record 1080p Video By Brute Force?
« Reply #5 on: 17 / December / 2022, 03:08:14 »
Is there a known, existing, clean way to do this?  Probably not.  I know Magic Lantern code and cams a lot better than CHDK project, so I might be wrong.

This again goes back to what reyalp is saying: it's possible, but you need to do the work.  How were you able to monitor changes on PS2?  How did you know that certain values were related to certain changes?  Because somebody else had done the work to make that possible.  If you want to do similar on your cam, somebody needs to make it possible first.  That's the hard part.

Re: Make S3IS Record 1080p Video By Brute Force?
« Reply #6 on: 17 / December / 2022, 03:18:30 »
Is there a known, existing, clean way to do this?  Probably not.  I know Magic Lantern code and cams a lot better than CHDK project, so I might be wrong.

This again goes back to what reyalp is saying: it's possible, but you need to do the work.  How were you able to monitor changes on PS2?  How did you know that certain values were related to certain changes?  Because somebody else had done the work to make that possible.  If you want to do similar on your cam, somebody needs to make it possible first.  That's the hard part.

I used Cheat Engine that just displays the address memory banks used by programs, and allows full manipulation. I just figured out the values myself. But the camera isn't a program running on my computer, so I cannot analyze anything...

*

Offline blackhole

  • *****
  • 937
  • A590IS 101b
    • Planetary astrophotography
Re: Make S3IS Record 1080p Video By Brute Force?
« Reply #7 on: 17 / December / 2022, 04:14:43 »
Is there a way I can hook up my camera to my computer and see which values change in the camera's Operating System when I change the resolutions? That's how I managed to do the modifications in the game. I monitored the value changes, while I scrolled through the car paint job types, and saw that 00 was for Matte, 01 was for Glossy, 02 was for Pearlescent, and 03 was for color shift, however, after seeing this single value change in Cheat Engine, I changed the value to 04, thus opening a hidden paint job type, Enamel. I was wondering if it is possible to do the same, by hooking up the camera to a computer, change the resolution types on the camera, and monitor the values to then manually change some values and maybe unlock some hidden ones...
In the CHDK world the variables you are talking about are called "Property cases", they are the basis for every CHDK port and are well researched and known for all generations of cameras.
There are no locked features on your camera that could increase the video resolution, it's a hardware issue.
https://chdk.fandom.com/wiki/PropertyCase


Re: Make S3IS Record 1080p Video By Brute Force?
« Reply #8 on: 17 / December / 2022, 04:32:05 »
Is there a way I can hook up my camera to my computer and see which values change in the camera's Operating System when I change the resolutions? That's how I managed to do the modifications in the game. I monitored the value changes, while I scrolled through the car paint job types, and saw that 00 was for Matte, 01 was for Glossy, 02 was for Pearlescent, and 03 was for color shift, however, after seeing this single value change in Cheat Engine, I changed the value to 04, thus opening a hidden paint job type, Enamel. I was wondering if it is possible to do the same, by hooking up the camera to a computer, change the resolution types on the camera, and monitor the values to then manually change some values and maybe unlock some hidden ones...
In the CHDK world the variables you are talking about are called "Property cases", they are the basis for every CHDK port and are well researched and known for all generations of cameras.
There are no locked features on your camera that could increase the video resolution, it's a hardware issue.
https://chdk.fandom.com/wiki/PropertyCase

There's a reason why I kind of have some doubts about that. The camera can take 6MP photos, so technically, it is possible to take any photos smaller than 6MP, and yet I am only stuck to the L,M1,M2,S,W presets. I believe that if I can access the software portion that controls the capturing resolution, and force it to use a resolution of at least 720p, but maybe make it completely disable the live screen and completely focus all resources on recording video, I might be able to do it. Even IF this was a hardware issue, the hardware itself will tell us if it can or cannot handle it. When I am using a software that is too heavy, and my laptop cannot handle it, the software crashes. However, I can still try it. Same here. I want to at least try it, but I cannot see any values at all because the computer cannot run my camera like a software...

Re: Make S3IS Record 1080p Video By Brute Force?
« Reply #9 on: 17 / December / 2022, 11:34:25 »
As previously mentioned, this is where reverse engineering comes in.  CHDK allows running code you choose on your cam.  You can use this to inspect and modify memory if you want.  You can also dump the ROM and inspect that code outside of the camera (Ghidra does this and is free, IDA Pro is another option), to learn how normal functionality is implemented.

My earlier warning still applies: you can permanently damage your camera if you do the wrong things.

People have been telling you for a while now that what you want probably isn't possible, but it *might* be possible, but you're going to have to do a lot of work to find out.

 

Related Topics