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 - petabyte

Pages: [1] 2 3 ... 5
General Chat / Re: New PTP Camera Controller App for Android
« on: May 25, 2023, 09:50:32 PM »
Had put it up on Google play a while ago:
I had intended to add a lot more features (WiFi support, Nikon/Sony/Fuji support, more ML features),
but development ended up taking way too long (over 6 months). 70% of the app was written in HTML/CSS/JS, so
I ended up having to write a ton of boilerplate code to manage things like hardware communication, background tasks, and UI.
Also made a site:

General Chat / Re: Sony needs some ML treatment more than anything
« on: May 19, 2023, 06:43:38 PM »
Sony cameras run a stripped down Android, and are very easy to hack:

General Development / Re: ML USB Installation Tool
« on: May 18, 2023, 09:20:59 PM »
I don't need it very often, but it comes in very handy when I need it  :D Great tool  8)
Thanks. I think for now the entire tool is stable and won't get any more major changes. Next updates will probably be a MacOS port, and maybe localization.
MacOS should be pretty easy, camlib is very stable and has been tested on Macs, so it should just be a matter of some makefile tweaks.

General Development / Re: ML USB Installation Tool
« on: April 17, 2023, 11:54:44 PM »
mlinstall 1.0.0 is finally released.
Github release:

I knew from the start how painful all the libusb nonsense was, but there was no other option at the time. This release deletes all the PTP/USB backend and replaces it with a library I wrote from scratch.
Native Windows support is now available without any modification to the system drivers. This means you won't install Zadig or libusb if you're on Windows.

Camera-specific Development / Re: Canon EOS 1300D / Rebel T6
« on: April 09, 2023, 05:13:12 AM »
This is potentially dangerous advice.

Enabling the feature will cause ML to write to registers.  If these addresses have changed it could permanently damage the camera.

Do not enable this feature unless you have verified the register values still hold for the new cam.

E.g. here in lv-img-engio.c, EngDrvOutLV() triggers writes:

Code: [Select]
  25 #define SHAD_GAIN      0xc0f08030       // controls clipping point (digital ISO)
  26 #define SHAD_PRESETUP  0xc0f08034       // controls black point? as in "dcraw -k"
  27 #define ISO_PUSH_REGISTER 0xc0f0e0f8    // like display gain, 0x100 = 1 stop, 0x700 = max of 7 stops
 828     if (mv)
 829     {
 830         if (digic_iso_gain_movie_for_gradual_expo == 0) digic_iso_gain_movie_for_gradual_expo = 1024;
 831         int total_movie_gain = DIGIC_ISO_GAIN_MOVIE * digic_iso_gain_movie_for_gradual_expo / 1024;
 832         if (total_movie_gain != 1024)
 833         {
 834             autodetect_default_white_level();
 835             int boost_stops = 0;
 836             int new_gain = get_new_white_level(total_movie_gain, &boost_stops);
 837             EngDrvOutLV(SHAD_GAIN, new_gain);
 838             shad_gain_last_written = new_gain;
 839             #ifndef CONFIG_DIGIC_V
 840             EngDrvOutLV(ISO_PUSH_REGISTER, boost_stops << 8);
 841             #endif
 842         }
Didn't know that. Thanks for letting me know.

Camera-specific Development / Re: Canon EOS 1300D / Rebel T6
« on: April 09, 2023, 02:45:45 AM »
Any chance to enable it and create a test build? I'll take the risk and will test it.

You can remove that line and compile it yourself. In the future I might look into it.

Camera-specific Development / Re: Canon EOS 1300D / Rebel T6
« on: April 08, 2023, 05:06:30 PM »
Just installed ML 1300D 1.2.0. It works, but there is no ISO setting/submenu under the Expo menu:

ISO feature was disabled, probably several years ago during development:
I don't know if it works or why it's disabled.

does it make sense to you?
Yes, that makes sense.

Do GH orgs work for the repos that aren't already in github?  I'm assuming it doesn't, is that right?
No reason why it wouldn't. Are you referring to mercurial repositories?

It looks like you need an org admin as a minimum, and that admin can delete repos.  So how would that work if we have multiple repos, previously owned and controlled by one person?  There's an additional layer of responsibility and we'd need to have a plan.

GitHub permissions are customizable. I suggest creating a test organization to try it out if you haven't already. Other than that I'm not sure what youre asking.

I've used it for several projects, it's very useful for keeping development organized. Admins can create and modify existing repos, and you can allow certain people to modify certain repos. Not sure what you know and dont know about this stuff. Honestly don't see how it would mean more responsibility over a single repo.

I think having an org is more about making a project look like less of a personal fork and more of an official fork. Gives people a nice overview of the project info, people who participate, and the repos in development. But that's just how I see it.

I think having an 'official' github organization containing the active forks would be useful. Could add your repo and maybe the 1300d repository too. I think that would make the most sense to new devs approaching the project.

Also need to post more updates, especially to the site. I remember thinking the project was dead back when I first saw it.

Camera-specific Development / Re: Canon EOS 1300D / Rebel T6
« on: April 03, 2023, 10:45:45 PM »
1.2.0 version has no new features.
As for RAW, I wasn't able to get anything that good, only a few seconds of decent footage at a time on my 80mbs SansDisk ultra.

Also, as an update to this thread, I've recently modified mlinstall to work with my camlib/libwpd libraries, which work on Windows natively. No more libusb nonsense soon. Works great on my end, I'll release it once I've done more testing.

crop_rec and derived builds / Re: Crop mood - WYSIWYG Edition
« on: April 01, 2023, 07:01:07 PM »
First ML on ML, then my DOOM port, and now this. Too many amazing things happening today 8)

General Development / Re: Magic Lantern USB Installation Tool
« on: February 27, 2023, 04:17:40 AM »
Finished porting mlinstall to camlib/WPD. It's a very early test, still needs some work. It only reads the first device found, so it might try and open a phone or USB drive.
This means that eventually there should be no more libusb/zadig/filter nonsense on Windows. Everything should work out of the box. On Linux, it should function the same.

For the 1.0.0 release, hoping to implement shutter count reading, and the ability to update to any firmware version over USB.

General Development / Re: State of Magic Lantern development
« on: February 16, 2023, 11:01:39 PM »
Agreed. A configure script would be very useful. I had made a half-finished PR to do that a while ago:

General Chat / Re: AI and magic lantern
« on: February 15, 2023, 07:39:09 PM »
I gave it some decompiled functions straight from Ghidra, and it was able to perfectly describe what each function did most of the time. Good for identifying functions like memcpy/strcpy/strncpy, math operation functions, etc. Helped a good bit with my Fujifilm reverse engineering since there aren't any debug strings in the RTOS. Success rate is maybe 80% (also considering that Ghidra can mess up sometimes)

General Chat / Re: New PTP Camera Controller App for Android
« on: February 02, 2023, 07:48:26 PM »
Thanks. Hopefully will have WiFi support for the next release. I know how to do it, but it would be tedious. iOS support is also theoretically possible, just need to get my hands on a mac and iphone.

General Development / Re: Magic Lantern USB Installation Tool
« on: January 29, 2023, 03:33:51 AM »
2023 Update:
I'm currently slowly working on a DLL that will help me interface with PTP devices on Windows natively.
I spent a lot of time writing code that will interface with the ancient WIA driver, but I had to scrap it because it was too slow.
This time, I'm interfacing with WPD (Windows Portable Devices). Like Wia, the driver is completely different compared to something like libusb.
WPD requires sending the command opcode, parameters, and data separately, letting Windows handle transaction IDs, and determining whether the response will have a data phase or not before sending the command. My camlib library is young enough for me to port it, but existing code may need major refactoring.

This DLL will be written in C++ and compiled with Visual Studio, and I will then host the binaries on Github.

Moving mlinstall from ptpcam to camlib will be relatively easy, but I might end up rewriting it the front end and trying another GUI library. GTK is nice but I'd like to try something different. Open to suggestions.

General Chat / Re: New PTP Camera Controller App for Android
« on: January 29, 2023, 03:08:07 AM »
And finally, after 4 months... I'm still not finished yet.

I've finished most of the features I planned for v0.1.0. ML + EOS Liveview, remote capture/bulb, get/set WB, ISO, shutter speed, aperture, focus lens, basic file manager, etc. I've also got about a dozen other small things I need to implement and test.

I decided to build a new app on top of my existing camlib/camcontrol code. It's a very basic intervalometer app, with a section for JS scripting, standard and bulb capture.
This is mainly a basic tech demo to test my current implementation of PTP, and my understanding of Android USB communication. I've tested it as much as I can, but I haven't fuzz/stress tested it yet, so there's a slight chance it may have some bugs. After stress testing, I will upload it to the play store.

APK Download:

Camera-specific Development / Re: Canon EOS 1300D / Rebel T6
« on: January 02, 2023, 03:22:59 AM »
Magic Lantern 1300D 1.2.0: I've been testing this for a while to make sure there aren't any random crashes, and it's worked okay so far.
I updated every single address I could find (and checked all the ifdefs). The code is copied directly from critix's 0.1.0 repository.
Passed self test. I went ahead and deleted a few modules I wasn't confident with, but left mlvlite in. I've recorded a good bit of raw (maybe 10-20 minutes) and I haven't had any issues so far, but I should still warn you, it might break your camera. No guarantees.

EDIT: The 1.2.0 port has been removed. Newer and more stable version will be released in the future.

I've made a few attempts to port the 1300D port to the names_are_hard magiclantern_simplified fork, but the camera crashes after trying to register some property handlers. I probably won't continue trying (no point in doing so), but if anybody else wants to give it a shot:

There was somebody on Youtube who beat Minecraft with a steering wheel, I'd say the next logical step should be beating Minecraft with a DSLR.

General Help Q&A / Re: Can PC read button press/dial turn info from camera?
« on: December 30, 2022, 03:05:12 AM »
Yep, you would have to poll. It's fast enough for grabbing things like ISO and shutter speed from the camera. No idea on how slow it would feel as a controller. I'd say it should be possible to poll maybe 200 per second from the camera, maybe more.

General Help Q&A / Re: Can PC read button press/dial turn info from camera?
« on: December 29, 2022, 07:55:08 PM »
You could do it by creating a custom PTP command that reports keypresses. You could do it in a module, like I did recently:
For receiving the data, you could use Python ptpy and to run custom opcodes.

Modules Development / Re: ML Tetris (
« on: December 28, 2022, 11:55:46 PM »
I've abandoned the archived tetris module ( but the last one I've worked on is (complete rewrite)
It's been a while since I've touched the two, but the more recent one is much better at rendering, but has slight game logic issues. Can't remember exactly what.

Modules Development / Re: ML Tetris (
« on: December 28, 2022, 04:55:13 AM »
I think the speed should start off slower and increase over time
Good idea! I'll implement this when I have the time.

Currently I haven't touched the tetris code since August, so I'll have to find the time to re-read the source code and fix a few things.
Eventually, it should end up in the magiclantern_simplified repository or other forks as it has a compatible license.

Pages: [1] 2 3 ... 5