-
Notifications
You must be signed in to change notification settings - Fork 0
M6 port #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
M6 port #1
Conversation
if (current_raw_addr) { | ||
return current_raw_addr; | ||
} | ||
return (char*) 0x48c57740; // TODO |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure about this ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I got that address by logging the raw buffers address used while shooting. It's used as fallback, for things like the benchmark module.
#define KEYS_MASK0 (0x00000006) // TODO: check | ||
#define KEYS_MASK1 (0x00063f80) // TODO: check | ||
#define KEYS_MASK2 (0x00000000) // TODO: check |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure about this ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those constants specify the buttons to be masked when CHDK is in ALT mode. For KEYS_MASK0, OR together key constants from group 0 of keymap (see include/kbd_common.h), etc.
// install CreateTask patch | ||
// use half words in case source or destination not word aligned | ||
" adr r0, patch_CreateTask\n"// src: patch data | ||
" ldr r1, =hook_CreateTask\n"// dest: address to patch | ||
" add r2, r0, #10\n"// 2.5 words as target is not word aligned | ||
"patch_hook_loop:\n" | ||
" ldrh r3, [r0],#2\n" | ||
" strh r3, [r1],#2\n" | ||
" cmp r0,r2\n" | ||
" blo patch_hook_loop\n" | ||
|
||
" ldr r0, =0xdffc4900\n" | ||
" ldr r1, =0x000152a0\n" | ||
" bl _dcache_clean_by_mva\n" | ||
" ldr r0, =0xdffc4900\n" | ||
" ldr r1, =0x000152a0\n" | ||
" bl _icache_branchpr_invalidate\n" | ||
" b loc_e0020032\n"// + | ||
|
||
" .align 2\n" | ||
" .short 0\n"// added for alignment | ||
"patch_CreateTask:\n" | ||
" ldr.w pc, _createtask_my\n"// jump to absolute address CreateTask_my | ||
" .short 0\n"// added for alignment | ||
"_createtask_my:\n" | ||
" .long CreateTask_my + 1\n"// has to be a thumb address |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@srsa-hu done the file modules; CHDK starts straightaway!
I'm staring at the M100's boot.c and I can't find where you are unlocking the card and enabling the ALT button...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You'll need to implement and override the keyboard task (mykbd_task) for them to work. Note that 1) you don't need the CAM_HAS_JOGDIAL parts for basic operation 2) you won't have control over the shutter button(s) until you implement the PhySw_ReleaseSw stuff. The workaround I use in kbd.c for the shoot/halfshoot states is not very good.
…fined in a specific header
No description provided.