Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Ant123

Pages: [1] 2 3 ... 7
1
Camera-specific Development / Re: Porting ML to XSi (450D)
« on: August 07, 2021, 10:11:08 PM »
This source code came from the official ML bitbucket repo last year before they removed all mercurial repos.
It contains my 450D related changes. Some code was taken from heder's 40D project.
But there was no changes since summer 2020. I was trying to convert mercurial to git locally but without success. Maybe I am wrong  but it's strange that bitbucket do not provide mercurial to git conversion like github doing it (AFAIK).

2
Camera-specific Development / Re: Porting ML to XSi (450D)
« on: August 07, 2021, 08:09:55 PM »
I uploded the source code and the latest build to bitbucket.
But the modules can't be built because of missing the ".hg" folder. How to fix that?
Motion Jpeg movie recording is still experimental. It is limited to the SD controller speed.  Maybe there need to increase somehow the compression of JPEG frames.

3
General Development / Re: Magic Lantern USB Installation Tools
« on: July 19, 2021, 09:21:11 PM »
Is there the way to run event procedures with arguments?

4
General Development / Re: Magic Lantern USB Installation Tools
« on: July 19, 2021, 08:28:09 PM »
Yes. It works.

5
General Development / Re: Magic Lantern USB Installation Tools
« on: July 19, 2021, 08:15:18 PM »
Just because of Canon's firmware:
Code: [Select]
uint handle_PTP_OC_0x9050
               (undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,
               undefined4 param_5)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  undefined2 local_38 [2];
  undefined4 local_34;
  undefined4 uStack48;
  undefined4 local_2c;
 
  uVar7 = 0;
  j_bzero(local_38,0x24);
  uStack48 = param_5;
  local_2c = 0;
  DAT_0000ef68 += 1;
  local_34 = param_4;
  if (DAT_0000ef68 == 3) {
    uVar1 = add_ptp_handler(&DAT_00009052,handle_PTP_OC_0x9052 + 1,0);
    uVar2 = add_ptp_handler(&DAT_00009053,handle_PTP_OC_0x9053 + 1,0);
    uVar3 = add_ptp_handler(&DAT_00009057,handle_PTP_OC_0x9057 + 1,0);
    uVar4 = add_ptp_handler(&DAT_00009058,handle_PTP_OC_0x9058 + 1,0);
    uVar5 = add_ptp_handler(&DAT_00009059,handle_PTP_OC_0x9059 + 1,0);
    uVar6 = add_ptp_handler(&DAT_0000905a,handle_PTP_OC_0x905a + 1,0);
    uVar7 = add_ptp_handler(&DAT_0000905b,handle_PTP_OC_0x905b + 1,0);
    uVar7 |= uVar6 | uVar5 | uVar4 | uVar3 | uVar2 | uVar1;
    DAT_0000ef64 = 1;
  }
  if ((uVar7 & 1) == 0) {
    local_38[0] = 0x2001;
    (*(code *)param_2[3])(*param_2,local_38);
  }
  else {
    local_38[0] = 0x201f;
    (*(code *)param_2[3])(*param_2,local_38);
    uVar7 = 1;
  }
  return uVar7;
}


6
General Development / Re: Magic Lantern USB Installation Tools
« on: July 19, 2021, 07:58:08 PM »
I already found that the command 0x9052 becomes available after calling the command 0x9050 three times.

7
General Development / Re: Magic Lantern USB Installation Tools
« on: July 19, 2021, 01:29:58 PM »
Does this mean that ptp command 0x9052 (36946) is not supported?
Quote
python3 ./print_device_info.py
Container:
    StandardVersion = 100
    VendorExtensionID = Microsoft
    VendorExtensionVersion = 100
    VendorExtensionDesc =
    FunctionalMode = 0
    OperationsSupported = ['GetDevicePropDesc', 'GetDevicePropValue', 'SetDevicePropValue', 'ResetDevicePropValue', 'GetDeviceInfo', 'OpenSession', 'CloseSession', 'CheckEvent', 36956, 36957, 'ChangeUSBProtocol', 'GetStorageIDs', 'GetStorageInfo', 'GetNumObjects', 'GetObjectHandles', 'GetObjectInfo', 'GetObject', 'GetThumb', 'GetPartialObject', 'SendObjectInfo', 'SendObject', 'DeleteObject', 'FormatStore', 'SetObjectProtection', 'GetObjectSize', 'GetObjectInfoEx', 'GetPartialObjectEx', 'GetObjectAttributes', 'SendPartialObject', 'GetObjectHandleByName', 'SetObjectTime', 'SetObjectArchive', 36940, 'SendObjectInfoByPath', 'SendObjectByPath', 36920, 36921, 36922, 36923, 36939, 36960, 36962, 38913, 38914, 38915, 38916, 38917, 'EOSGetEvent', 'EOSGetStorageIDs', 'EOSGetStorageInfo', 'EOSGetObjectInfo', 'EOSDeleteObject', 'EOSFormatStore', 'EOSGetPartialObject', 'EOSGetObjectInfoEx', 'EOSGetThumbEx', 'EOSSetObjectAttributes', 'EOSTransferComplete', 'EOSCancelTransfer', 37164, 37170, 37173, 37184, 37185, 37187, 'EOSPCHDDCapacity', 37183, 'EOSSetEventMode', 'EOSSetUILock', 'EOSResetUILock', 'EOSKeepDeviceOn', 37181, 37174, 37175, 'EOSSetRemoteMode', 'EOSGetViewFinderImage', 'EOSRemoteReleaseOn', 'EOSRemoteReleaseOff', 'EOSZoom', 'EOSZoomPosition', 'EOSDoAf', 'EOSAfCancel', 'EOSDriveLens', 37211, 36911, 'EOSSetDevicePropValueEx', 'EOSRequestDevicePropValue', 37250, 37251, 37252, 37253, 36944, 36945]
    EventsSupported = ['CancelTransaction', 'ObjectAdded', 'ObjectRemoved', 'StoreAdded', 'StoreRemoved', 'DevicePropChanged', 'ObjectInfoChanged', 'DeviceInfoChanged', 'RequestObjectTransfer', 'StoreFull', 'DeviceReset', 'StorageInfoChanged', 'UnreportedStatus', 49153, 49157, 49162, 49409]
    DevicePropertiesSupported = [53317, 53322, 53294, 53295, 'BatteryLevel', 53250, 'ViewfinderMode', 'UnixTime', 53319, 53318, 53296, 53321, 'CameraModel', 'CameraOwner', 'FlashMemory', 53328, 53329, 53330, 53331, 53332, 53335, 54274, 54278, 54279, 54019]
    CaptureFormats = ['EXIF_JPEG']
    ImageFormats = ['Association', 'Script', 'DPOF', 'WAV', 'EXIF_JPEG', 'UndefinedImage', 'CRW3', 47490, 45317, 48897]
    Manufacturer = Canon Inc.
    Model = Canon EOS M3
    DeviceVersion = 3-14.0.1.0
    SerialNumber = *

8
General Development / Re: How to run Magic Lantern into QEMU?!...
« on: May 29, 2021, 11:05:34 AM »
Good and bad at the same time.
Bad - considering XimrContext struct changed multiple times in Digic6 gen and then for each next generation. It will require work for multiple models.
It's not a big problem. Look at CHDK: they support 160 cameras and 320+ firmwares.

Quote
Good - I noticed this week that GUI code on R swaps buffer addresses inside VRAM struct used for 1st layer (GUI) somewhere on early boot. If I grab GUI VRAM struct fast enough, I get pBitmap address of overlays buffer instead of GUI. Thus hardcoded addresses would fail quickly.

The current YUV Bitmap address can be obtained from MMIO register of display controller.

9
General Development / Re: How to run Magic Lantern into QEMU?!...
« on: May 29, 2021, 09:38:39 AM »
Static source and destination addresses or you somehow parsed XimrContext?
The second one. ATM I use only one RGBA buffer. It's should be enough for playback mode

Quote
Good to see a progress on that.
It is bad that A1ex and other 'guru' developers  show little activity now. There are less than 20 commits for two years.  :(

10
General Development / Re: How to run Magic Lantern into QEMU?!...
« on: May 29, 2021, 08:36:58 AM »
qemu-2.5.0
These steps are performed on special hardware(zico and display controller) independently of the main (ARM) core. So they could be emulated by the second thread independently...

11
General Development / Re: How to run Magic Lantern into QEMU?!...
« on: May 29, 2021, 12:38:04 AM »
Some progress with GUI emulation on EOS M3:




Is it possible to utilize more than one host's core by QEMU?
For example for display redrawing.
My current implementation converts zico's rgba buffer to yuv bitmap+opacity, then converts yuv image and yuv bitmap buffers to rgb, mix them using opacity buffer and put the result to QEMU's output buffer. This is a job for the second core.

12
Reverse Engineering / Re: Battery grip pins / UART
« on: May 07, 2021, 10:18:38 PM »

13
Camera-specific Development / Re: Canon 40D
« on: January 16, 2021, 01:23:00 PM »
FIO_SeekSkipFile: should be testable in QEMU, with a large SD image and the test code from selftest.mo. That test will create a large file (2GB) and seek within that file.

There are two versions in Canon firmware: one that accepts 32 bits for the position and another one that accepts 64 bits. They are not interchangeable at binary level.

15
General Help Q&A / Re: WARNING: FPS Override may damage Lenses
« on: October 18, 2020, 07:57:49 PM »
This delay can apparently cause some electronic parts of the lens to take physical damage, perhaps due to an ongoing electrical impulse
(so the guy at the repair center told me)

He had to come up with a justification for the cost of the repair. But perhaps he actually replaced only this part:)

16
Camera-specific Development / Re: Canon 40D
« on: October 01, 2020, 02:22:29 PM »
I am excited to take a look into MJPEG code :D
You can look into my current version

But:
On newer models (DIGIC 5, IIRC also 60D and newer DIGIC 4), this function no longer runs automagically while in LiveView, so this approach is only valid for older models.

17
Camera-specific Development / Re: Canon 5D Mark IV
« on: September 17, 2020, 07:15:19 PM »
Your best bet would be to find someone who backed up the BitBucket Hg repos and grab a copy of my code from what used to be https://bitbucket.org/chris_miller, and see how you go from there.

Probably archive.org can help...

18
Camera-specific Development / Re: Canon EOS R5 / R6
« on: September 08, 2020, 11:09:24 PM »
This shouldn't be a big problem for people who have decided to remove the rubber.

19
General Development / Re: Portable ROM dumper
« on: September 05, 2020, 06:35:59 PM »
I'm not a mod, I'm not an administrator.
You are in second on this forum by the number of posts, so I confused you with moderator. Sorry.
But aren't you tired of answering the same stupid newbie questions over and over again?

Quote
I simply wanted to express my opinion that we will see abuse of this gem and we should be prepared to handle it.
I also do not prefer "security by obscurity".
But forcing users to read the FAQ formally shifts the responsibility for the negative consequences of their actions on them.

20
General Development / Re: Portable ROM dumper
« on: September 05, 2020, 06:00:34 PM »
Walter Schulz
If this bothers you, why don't you force new users to read the FAQ before they can post on the forum. It would also be possible to hide links and attachments from unregistered visitors.

21
Camera-specific Development / Re: Canon EOS R5 / R6
« on: September 05, 2020, 04:13:06 PM »
Is simply cutting the pin 6 signal enough for not triggering the IRQ signal and shoot forever? (and keep time of the day and date active?)

If it was your question my answer is "no".
The processor has enough timers to count the heat and RTC is needed only when camera is powered off.
On EOS R cameras RTC probably can be used to wake up the camera.
Anyway cutting PCB lines is bad idea. It's better to wait for a software solution.

22
General Development / Re: Portable ROM dumper
« on: September 05, 2020, 11:32:38 AM »
I should be able to troubleshoot it in QEMU

Please don't forget to commit the QEMU branch to the repository. :)
The "Source code" link from the main page at this moment leads to the removed repisitory on bitbucket.org

23
Camera-specific Development / Re: Canon EOS R5 / R6
« on: September 05, 2020, 08:47:53 AM »
Walter Schulz
You should understand that EOS M100 uses PowerShot based firmware and Canon Basic command set could be different for EOS R. Finding a string in a ROM dump doesn't mean that it can be easily accessed with Canon Basic, especially without testing it on a real camera.

24
Camera-specific Development / Re: Canon EOS R5 / R6
« on: September 05, 2020, 08:28:04 AM »
Probably easier to reverse the rom to find out the reason :)

I assume that on SDXC cards the system uses a separate driver / library for EXFAT, which is loaded after checking the card for a signature.
I have the opposite situation with the EOS M3: I would not want to buy a SDXC card if it does not work with a CHDK.
Perhaps the same situation will be with ML when (and if) it will be implemented for new cameras.

25
General Development / Re: Canon Basic scripting (DIGIC 8 models)
« on: September 04, 2020, 09:59:23 PM »
There need to try SD or SDHC(not SDXC) card first. Is that so hard?

Pages: [1] 2 3 ... 7