if you need a 64 bit capable hex editor, use HxD
Etiquette, expectations, entitlement...
@autoexec_bin | #magiclantern | Discord | Reddit | Server issues
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.
Show posts MenuQuote from: coutts on August 08, 2012, 03:16:47 PM
So instead of re-writing all of the boot code (which appears to be the problem with the 5dc, some cameras work some don't. The ones that don't are halting on the bootcode I have written), we call the camera's normal boot procedure directly and hardly have to do a thing
Quote from: coutts on August 08, 2012, 04:45:11 PM
Region 2, not sure about. I know the flag area is at 0xF8000000 so maybe related to that.
Quote from: Malcolm Debono on August 08, 2012, 01:02:51 AM
Edit: Movie recording stopped automatically at curr: 00004B35000000000.
Quote from: frspp on August 08, 2012, 10:59:58 AM
For me it's around 172–180 degrees.
Quote from: Malcolm Debono on August 06, 2012, 11:13:33 AM
I can't figure out how to record a longer video on a 60D. Card is formatted in exFAT and used EOScard to make it bootable. ML runs fine and I can see the text after clicking the 'Don't click me' button (before starting recording). However, I'm still getting the 'recording has been stopped automatically' error after around 13 minutes. Sound is also disabled.
#define BITBANG_BAUDRATE 9600
#define BITBANG_TIME_NORMAL 10000
#define BITBANG_TIME_TRANSFER (1000000/BITBANG_BAUDRATE)
uint32_t bitbang_orig_handler = 0;
uint32_t bitbang_time = 0;
uint32_t bitbang_bits = 0;
uint32_t bitbang_tb = 0;
uint32_t bitbang_hook_counter = 0;
void bitbang_main()
{
uint32_t *led_port = ((uint32_t*)0xC0220134);
uint32_t led_status = 0;
led_status = (*led_port) & (~0x02);
led_status |= ((bitbang_tb & 0x01) << 1);
(*led_port) = led_status;
bitbang_tb >>= 1;
bitbang_bits--;
}
void bitbang_transmit(uint32_t data, uint32_t bits)
{
/* called from user space. we have to wait until transfer is finished */
while(bitbang_bits)
{
msleep(1);
}
bitbang_tb = data;
bitbang_bits = bits;
}
void bitbang_transmit_rs232(uint8_t character)
{
uint32_t data = 0;
/* invert data bits */
character ^= 0xFF;
/* we transmit in RS232 mode 8,N,1. add 4 idle bits bit and start bit */
data |= (1 << 4);
data |= ((uint32_t)character << 5);
/* no parity, stop bits are zero, so we are done */
bitbang_transmit(data, 5 + 8 + 1);
}
uint32_t bitbang_timer_hook()
{
uint32_t *timer_reg = ((uint32_t*)0xC0210208);
uint32_t (*handler)() = bitbang_orig_handler;
/* for debugging */
bitbang_hook_counter++;
/* check if we have to transmit data */
if(bitbang_bits)
{
/* use high timer rate while shifting out the bits */
*timer_reg = BITBANG_TIME_TRANSFER - 1;
/* call the bitbanging routine */
bitbang_main();
/* get as close to 10 ms as we can get. for longer use, we need fraction correction */
if(bitbang_time > BITBANG_TIME_NORMAL)
{
bitbang_time -= BITBANG_TIME_NORMAL;
handler();
}
/* when we get called the next time, time has advanced by BITBANG_RATE_TRANSFER */
bitbang_time += BITBANG_TIME_TRANSFER;
}
else
{
/* no data to transmit, low timer rate, directly call original handler */
*timer_reg = BITBANG_TIME_NORMAL - 1;
handler();
}
return;
}
void run_test()
{
/* install bitbang handler */
bitbang_orig_handler = *((uint32_t*) 0x40000720);
*((uint32_t*) 0x40000720) = &bitbang_timer_hook;
int loops = 0;
while(1)
{
msleep(100);
bmp_printf(FONT_SMALL, 10,50, "Calls: %d", bitbang_hook_counter);
if((loops++ % 10) == 0)
{
bitbang_transmit_rs232(0xAA);
}
}
}
Page created in 0.151 seconds with 14 queries.