Menu

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.

Show posts Menu

Messages - mk11174

#26
Quote from: a1ex on April 15, 2018, 09:38:42 AM

static void run_test()
{
    msleep(2000);
    MEM(0xC022C1FC) = 0x93D800;
    NotifyBox(2000, "LED should be on");
}


The above should also work on 700D, 650D, EOSM, 100D and 70D (same GPIO).

No LED ON on the 700D???

Or maybe I misunderstood and this only is meant if you have speedlight attached, specific, Canon, which I don't, if so, sorry.  :-[
#27
Same here, working very nice on my 32gig micro SD card, definitely an improvement with no signs of card dieing yet.
#28
Camera-specific Development / Re: Canon 600D / T3i
April 14, 2018, 04:07:19 AM
Well, it is def different than the last check!



#29
Camera-specific Development / Re: Canon 550D / T2i
April 11, 2018, 07:02:00 AM
OK, so, as I was testing dforts 550d110 port, I noticed one strange issue which neither of us have any idea whats going on.

When you start camera in a photo mode, and mode that does not start in live view, the Canon GUI is off, you have to manually press the Disp button everytime you restart camera to show Display, it is like it sets it to off each time you restart.

This is not the case though, because by accident, after camera was off for a bit, I turned it on, and there was the Canon GUI this time.

So I then ran some timed tests to see how long you actually need to wait while camera is off, to successfully start camera with Canon GUI on.

Turns out 2 minutes 45 seconds is how long, and less, it starts with Display off.

One interesting thing is, the battery also has to be in for this 2 minutes and 45 seconds, if its not, you can wait forever and when you go to restart camera, display will start in Off mode.

So, it seems like something is getting stuck running maybe, and it needs 2 minutes 45 seconds to reset and it needs power to do this.

Any ideas to help dfort with his port update????

Oh, FYI, I did compile a version that used the 1 instead of 0 in boot-hack.c to see if starting a limited ML would help, but still same results.

I also tried clearing camera settings in canon menu and deleted magic.cfg to start fresh, no change either.
#30
Camera-specific Development / Re: Canon 600D / T3i
April 10, 2018, 06:12:43 PM
[Pass] is_play_mode() => 0x1
[Pass] src = fio_malloc(size) => 0x422040a4
[Pass] dst = fio_malloc(size) => 0x42a080b4
[Pass] memcmp(dst, src, 4097) => 0x82
[Pass] edmac_memcpy(dst, src, 4097) => 0x42a080b4
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x42a080b4
[Pass] memcmp(dst, src, size) => 0xee
[Pass] edmac_memcpy(dst, src, size) => 0x42a080b4
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0xffffffd2
[Pass] edmac_memcpy_start(dst, src, size) => 0x42a080b4
       dt => 0x3200
[Pass] copied => 0x4016ec
[Pass] copied => 0x4016ec
[Pass] copied => 0x4016ec
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0xffffffdf
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0xc7dc8
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x570
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0xff
[Pass] tries[1] => 0x104
[Pass] tries[2] => 0xdd
[Pass] tries[3] => 0x108
[Pass] failr[0] => 0xa6
[Pass] failw[0] => 0xd3
[Pass] failr[1] => 0x82
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xba
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x2f
       times[1] / tries[1] => 0x39
       times[2] / tries[2] => 0x37
       times[3] / tries[3] => 0x38
Cache tests finished.

[Pass] f = FIO_CreateFile("test.dat") => 0x3
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
       FIO_CloseFile(f)
[Pass] FIO_GetFileSize("test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = (void*)_alloc_dma_memory(0x20000) => 0x409d2894
[Pass] f = FIO_OpenFile("test.dat", O_RDONLY | O_SYNC) => 0x3
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
       FIO_CloseFile(f)
       _free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] buf = fio_malloc(0x1000000) => 0x422040a4
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000000
[Pass] f = FIO_OpenFile("test.dat", O_RDWR | O_SYNC) => 0x3
[Pass] FIO_SeekSkipFile(f, 0, SEEK_END) => 0x82000000
[Pass] FIO_WriteFile(f, buf, 0x10) => 0x10
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_END) => 0x81fffff0
[Pass] FIO_WriteFile(f, buf, 0x30) => 0x30
[Pass] FIO_SeekSkipFile(f, 0x20, SEEK_SET) => 0x20
[Pass] FIO_SeekSkipFile(f, 0x30, SEEK_CUR) => 0x50
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_CUR) => 0x30
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000020
[Pass] is_file("test.dat") => 0x1
[Pass] FIO_RemoveFile("test.dat") => 0x0
[Pass] is_file("test.dat") => 0x0
[Pass] SetTimerAfter(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x80ba
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x7
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x80bc
       msleep(400)
       CancelTimer(timer)
[Pass] timer_func => 0x0
       msleep(1500)
[Pass] timer_func => 0x0
[Pass] SetHPTimerAfterNow(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetHPTimerAfterNow(100000, timer_cbr, overrun_cbr, 0) => 0x1c8
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x138
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0xfc
[Pass] ABS((get_us_clock_value() - t0) - 110000) => 0xe6
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x1ca
       msleep(80)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x3
       msleep(80)
[Pass] timer_func => 0x3
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 300000) => 0x17f
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x150
[Pass] ABS((get_us_clock_value() - t0) - 310000) => 0x103
       t0 = *(uint32_t*)0xC0242014 => 0x5522c
       msleep(250)
       t1 = *(uint32_t*)0xC0242014 => 0x91e99
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x2
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x21
       Date/time: 2018/04/10 12:26:33
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x22
[Pass] MOD(s1-s0, 60) => 0x1
[Pass] MOD(s1-s0, 60) => 0x1
       m0 = MALLOC_FREE_MEMORY => 0x3b5f8
[Pass] p = (void*)_malloc(50*1024) => 0xc9b18
[Pass] CACHEABLE(p) => 0xc9b18
       m1 = MALLOC_FREE_MEMORY => 0x2ede8
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x3b5f8
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0xfc120
[Pass] p = (void*)_AllocateMemory(256*1024) => 0xbe20b0
[Pass] CACHEABLE(p) => 0xbe20b0
       m1 = GetFreeMemForAllocateMemory() => 0xbc110
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0xfc120
[Pass] ABS((m0-m1) - 256*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x3b5f8
       m02 = GetFreeMemForAllocateMemory() => 0xfc120
[Pass] p = (void*)_alloc_dma_memory(256*1024) => 0x40be20f0
[Pass] UNCACHEABLE(p) => 0x40be20f0
[Pass] CACHEABLE(p) => 0xbe20f0
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40be20f0
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(24*1024*1024) => 0x42204084
[Pass] UNCACHEABLE(p) => 0x42204084
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x3b5f8
       m12 = GetFreeMemForAllocateMemory() => 0xfc120
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(24*1024*1024) => 0xa8b28
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1800000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xa8b50
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1800000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42204080
[Pass] UNCACHEABLE(p) => 0x42204080
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0xa8b28
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1df8000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xa8b50
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1df8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42204080
[Pass] UNCACHEABLE(p) => 0x42204080
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(64*1024*1024) => 0xa8b28
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x4
[Pass] suite->size => 0x4000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xa8b50
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1df8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42204080
[Pass] UNCACHEABLE(p) => 0x42204080
       chunk = GetNextMemoryChunk(suite, chunk) => 0xaff98
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x29fc000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xaffd0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2a90000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4bf68100
[Pass] UNCACHEABLE(p) => 0x4bf68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc4740
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4000000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0xa8b28
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x4
[Pass] suite->size => 0x4700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xa8b50
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1df8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42204080
[Pass] UNCACHEABLE(p) => 0x42204080
       chunk = GetNextMemoryChunk(suite, chunk) => 0xaff98
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x29fc000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xaffd0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2a90000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4bf68100
[Pass] UNCACHEABLE(p) => 0x4bf68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc4740
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4700000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x1990c4
[Pass] msg => 'hi there'
[Pass] snprintf(a, sizeof(a), "foo") => 0x3
[Pass] snprintf(b, sizeof(b), "foo") => 0x3
[Pass] strcmp(a, b) => 0x0
[Pass] snprintf(a, sizeof(a), "bar") => 0x3
[Pass] snprintf(b, sizeof(b), "baz") => 0x3
[Pass] strcmp(a, b) => 0xfffffff8
[Pass] snprintf(a, sizeof(a), "Display") => 0x7
[Pass] snprintf(b, sizeof(b), "Defishing") => 0x9
[Pass] strcmp(a, b) => 0x4
[Pass] snprintf(buf, 3, "%d", 1234) => 0x2
[Pass] buf => '12'
[Pass] memcpy(foo, bar, 6) => 0x1990a0
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x199080
[Pass] bar => '*****hjkl;'
       bzero32(bar + 5, 5)
[Pass] bar => '****'
       EngDrvOut(LCD_Palette[0], 0x1234)
[Pass] shamem_read(LCD_Palette[0]) => 0x1234
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       call("TurnOffDisplay")
[Pass] DISPLAY_IS_ON => 0x0
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       task_create("test", 0x1c, 0x1000, test_task, 0) => 0xc9200be
[Pass] test_task_created => 0x1
[Pass] get_current_task_name() => 'run_test'
[Pass] task_max => 0x68
[Pass] task_max => 0x68
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0xc940094
[Pass] msg_queue_post(mq, 0x1234567) => 0x0
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x0
[Pass] m => 0x1234567
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x9
[Pass] sem = sem ? sem : create_named_semaphore("test", 1) => 0xc9601f2
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] take_semaphore(sem, 500) => 0x9
[Pass] give_semaphore(sem) => 0x0
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] give_semaphore(sem) => 0x0
[Pass] rlock = rlock ? rlock : CreateRecursiveLock(0) => 0xc980042
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0xf
       SetGUIRequestMode(1); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x1
       SetGUIRequestMode(2); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x2
       SetGUIRequestMode(0); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x0
[Pass] display_idle() => 0x1
       GUI_Control(BGMT_PLAY, 0, 0, 0); msleep(1000);
[Pass] PLAY_MODE => 0x1
[Pass] MENU_MODE => 0x0
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(1000);
[Pass] MENU_MODE => 0x1
[Pass] PLAY_MODE => 0x0
[Pass] dialog->type => 'DIALOG'
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[Pass] PLAY_MODE => 0x0
       SW1(1,100)
[Pass] HALFSHUTTER_PRESSED => 0x1
       SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x1
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x1
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
#31
Camera-specific Development / Re: Canon 600D / T3i
April 10, 2018, 05:29:21 PM
Working!
#32
Camera-specific Development / Re: Canon 600D / T3i
April 10, 2018, 08:34:48 AM
Just tried, Def not just a QEMU thing, same Model Detection popped up right away.
#33



===================
2018/04/07 18:22:55
===================
Before the hack: r:43MB/s w:42MB/s  W:40MB/s R:43MB/s  8)  [best 42MB/s]
SDR50 @ 96MHz  : sd_check_function =>
00C8 8001 8001 800F 800F C001 801F 0000
8001 800F 800F C001 801F 0000 0100 0000
800F C001 801F 0000 0100 0000 0000 0000
801F 0000 0100 0000 0000 0000 0000 0000
Switch Function Status version 0
Max current: 200 mA
Function group 6 (Reserved)        0 (supported 0,F)
Function group 5 (Reserved)        0 (supported 0,F)
Function group 4 (Power Limit)     0 (supported 0,1,2,3,F)
Function group 3 (Driver Strength) 0 (supported 0,1,2,3,F)
Function group 2 (Command System)  0 (supported 0,E,F)
Function group 1 (Access Mode)     1 (supported 0,1,2,3,4,F)
sd_set_function =>
00C8 8001 8001 800F 800F C001 801F 0000
8001 800F 800F C001 801F 0000 0200 0000
800F C001 801F 0000 0200 0000 0000 0000
801F 0000 0200 0000 0000 0000 0000 0000
Switch Function Status version 0
Max current: 200 mA
Function group 6 (Reserved)        0 (supported 0,F)
Function group 5 (Reserved)        0 (supported 0,F)
Function group 4 (Power Limit)     0 (supported 0,1,2,3,F)
Function group 3 (Driver Strength) 0 (supported 0,1,2,3,F)
Function group 2 (Command System)  0 (supported 0,E,F)
Function group 1 (Access Mode)     2 (supported 0,1,2,3,4,F)
r:43MB/s w:39MB/s  W:41MB/s R:43MB/s  ::) [best 42MB/s]
SDR50 @ 96MHz  : sd_set_function =>
00C8 8001 8001 800F 800F C001 801F 0000
8001 800F 800F C001 801F 0000 0200 0000
800F C001 801F 0000 0200 0000 0000 0000
801F 0000 0200 0000 0000 0000 0000 0000
Switch Function Status version 0
Max current: 200 mA
Function group 6 (Reserved)        0 (supported 0,F)
Function group 5 (Reserved)        0 (supported 0,F)
Function group 4 (Power Limit)     0 (supported 0,1,2,3,F)
Function group 3 (Driver Strength) 0 (supported 0,1,2,3,F)
Function group 2 (Command System)  0 (supported 0,E,F)
Function group 1 (Access Mode)     2 (supported 0,1,2,3,4,F)
r:43MB/s w:41MB/s  W:41MB/s R:43MB/s  ::) [best 42MB/s]
Best: sd_set_function =>
00C8 8001 8001 800F 800F C001 801F 0000
8001 800F 800F C001 801F 0000 0200 0000
800F C001 801F 0000 0200 0000 0000 0000
801F 0000 0200 0000 0000 0000 0000 0000
Switch Function Status version 0
Max current: 200 mA
Function group 6 (Reserved)        0 (supported 0,F)
Function group 5 (Reserved)        0 (supported 0,F)
Function group 4 (Power Limit)     0 (supported 0,1,2,3,F)
Function group 3 (Driver Strength) 0 (supported 0,1,2,3,F)
Function group 2 (Command System)  0 (supported 0,E,F)
Function group 1 (Access Mode)     2 (supported 0,1,2,3,4,F)
r:43MB/s w:40MB/s  W:41MB/s R:43MB/s  ::) [best 42MB/s]
Best: sd_set_function =>
00C8 8001 8001 800F 800F C001 801F 0000
8001 800F 800F C001 801F 0000 0200 0000
800F C001 801F 0000 0200 0000 0000 0000
801F 0000 0200 0000 0000 0000 0000 0000
Switch Function Status version 0
Max current: 200 mA
Function group 6 (Reserved)        0 (supported 0,F)
Function group 5 (Reserved)        0 (supported 0,F)
Function group 4 (Power Limit)     0 (supported 0,1,2,3,F)
Function group 3 (Driver Strength) 0 (supported 0,1,2,3,F)
Function group 2 (Command System)  0 (supported 0,E,F)
Function group 1 (Access Mode)     2 (supported 0,1,2,3,4,F)
r:43MB/s w:40MB/s  W:41MB/s R:43MB/s  ::) [best 42MB/s]

Done.
Please run THOROUGH tests before using!!!





===================
2018/04/07 18:26:14
===================
Before the hack: r:43MB/s w:41MB/s  W:39MB/s R:44MB/s  8)  [best 41MB/s]
SDR50 @ 96MHz  : sd_check_function =>
00C8 8001 8001 8003 8001 C001 8017 0000
8001 8003 8001 C001 8017 0000 0100 0000
8001 C001 8017 0000 0100 0000 0000 0000
8017 0000 0100 0000 0000 0000 0000 0000
Switch Function Status version 0
Max current: 200 mA
Function group 6 (Reserved)        0 (supported 0,F)
Function group 5 (Reserved)        0 (supported 0,F)
Function group 4 (Power Limit)     0 (supported 0,1,F)
Function group 3 (Driver Strength) 0 (supported 0,F)
Function group 2 (Command System)  0 (supported 0,E,F)
Function group 1 (Access Mode)     1 (supported 0,1,2,4,F)
sd_set_function =>
00C8 8001 8001 8003 8001 C001 8017 0000
8001 8003 8001 C001 8017 0000 0200 0000
8001 C001 8017 0000 0200 0000 0000 0000
8017 0000 0200 0000 0000 0000 0000 0000
Switch Function Status version 0
Max current: 200 mA
Function group 6 (Reserved)        0 (supported 0,F)
Function group 5 (Reserved)        0 (supported 0,F)
Function group 4 (Power Limit)     0 (supported 0,1,F)
Function group 3 (Driver Strength) 0 (supported 0,F)
Function group 2 (Command System)  0 (supported 0,E,F)
Function group 1 (Access Mode)     2 (supported 0,1,2,4,F)
r:42MB/s w:41MB/s  W:40MB/s R:43MB/s  ::) [best 41MB/s]
SDR50 @ 96MHz  : sd_set_function =>
00C8 8001 8001 8003 8001 C001 8017 0000
8001 8003 8001 C001 8017 0000 0200 0000
8001 C001 8017 0000 0200 0000 0000 0000
8017 0000 0200 0000 0000 0000 0000 0000
Switch Function Status version 0
Max current: 200 mA
Function group 6 (Reserved)        0 (supported 0,F)
Function group 5 (Reserved)        0 (supported 0,F)
Function group 4 (Power Limit)     0 (supported 0,1,F)
Function group 3 (Driver Strength) 0 (supported 0,F)
Function group 2 (Command System)  0 (supported 0,E,F)
Function group 1 (Access Mode)     2 (supported 0,1,2,4,F)
r:43MB/s w:41MB/s  W:40MB/s R:43MB/s  ::) [best 41MB/s]
Best: sd_set_function =>
00C8 8001 8001 8003 8001 C001 8017 0000
8001 8003 8001 C001 8017 0000 0200 0000
8001 C001 8017 0000 0200 0000 0000 0000
8017 0000 0200 0000 0000 0000 0000 0000
Switch Function Status version 0
Max current: 200 mA
Function group 6 (Reserved)        0 (supported 0,F)
Function group 5 (Reserved)        0 (supported 0,F)
Function group 4 (Power Limit)     0 (supported 0,1,F)
Function group 3 (Driver Strength) 0 (supported 0,F)
Function group 2 (Command System)  0 (supported 0,E,F)
Function group 1 (Access Mode)     2 (supported 0,1,2,4,F)
r:43MB/s w:41MB/s  W:40MB/s R:43MB/s  :)  [best 41MB/s]
Best: sd_set_function =>
00C8 8001 8001 8003 8001 C001 8017 0000
8001 8003 8001 C001 8017 0000 0200 0000
8001 C001 8017 0000 0200 0000 0000 0000
8017 0000 0200 0000 0000 0000 0000 0000
Switch Function Status version 0
Max current: 200 mA
Function group 6 (Reserved)        0 (supported 0,F)
Function group 5 (Reserved)        0 (supported 0,F)
Function group 4 (Power Limit)     0 (supported 0,1,F)
Function group 3 (Driver Strength) 0 (supported 0,F)
Function group 2 (Command System)  0 (supported 0,E,F)
Function group 1 (Access Mode)     2 (supported 0,1,2,4,F)
r:43MB/s w:41MB/s  W:40MB/s R:43MB/s  :)  [best 41MB/s]

Done.
Please run THOROUGH tests before using!!!
#34
Hey, been out of the loop for a long time, found new hobby with drones, LOL! Saw this very exciting module and thought I would share my results for the Devs. Here are the only 2 cards I have, my older 16gig and my newer 32gig I use with my drone mostly, but also use in the camera as well.

Tests were run in Photomode, no Live view.

Used the latest update of the module as of April 6th.

Keep up the great work guys!

Card Used



Before Bench



After Bench




Log

===================
2018/04/07 03:11:29
===================
Before the hack: r:43MB/s w:41MB/s  W:39MB/s R:43MB/s  8)  [best 41MB/s]
SDR50 @ 96MHz  : r:43MB/s w:41MB/s  W:40MB/s R:44MB/s  ::) [best 41MB/s]
SDR50 @ 96MHz  : r:43MB/s w:41MB/s  W:40MB/s R:43MB/s  :)  [best 41MB/s]
SDR50 @ 80MHz  : r:36MB/s w:35MB/s  W:34MB/s R:36MB/s  meh [best 41MB/s]
SDR50 @ 80MHz  : r:36MB/s w:35MB/s  W:34MB/s R:36MB/s  meh [best 41MB/s]
SDR50 @ 120MHz : r:53MB/s w:47MB/s  W:45MB/s R:54MB/s  8)  [best 47MB/s]
SDR50 @ 120MHz : r:53MB/s w:47MB/s  W:45MB/s R:54MB/s  ::) [best 47MB/s]
SDR104 @ 96MHz : r:43MB/s w:23MB/s  W:22MB/s R:43MB/s  ??? [best 47MB/s]
SDR104 @ 96MHz : r:43MB/s w:23MB/s  W:22MB/s R:43MB/s  ??? [best 47MB/s]
SDR104 @ 80MHz : r:36MB/s w:21MB/s  W:20MB/s R:36MB/s  ??? [best 47MB/s]
SDR104 @ 80MHz : r:36MB/s w:21MB/s  W:20MB/s R:36MB/s  ??? [best 47MB/s]
SDR104 @ 120MHz: r:45MB/s w:25MB/s  W:25MB/s R:46MB/s  meh [best 47MB/s]
SDR104 @ 120MHz: r:45MB/s w:25MB/s  W:25MB/s R:46MB/s  meh [best 47MB/s]
SDR104 @ 132MHz: r:45MB/s w:24MB/s  W:24MB/s R:46MB/s  meh [best 47MB/s]
SDR104 @ 132MHz: r:45MB/s w:24MB/s  W:24MB/s R:46MB/s  meh [best 47MB/s]
SDR104 @ 160MHz: r:45MB/s w:15MB/s  W:20MB/s R:22MB/s  ??? [best 47MB/s]
SDR104 @ 160MHz: r:22MB/s w:21MB/s  W:21MB/s R:22MB/s  ??? [best 47MB/s]
Best: r:22MB/s w:21MB/s  W:20MB/s R:22MB/s  ??? [best 47MB/s]
Best: r:22MB/s w:21MB/s  W:20MB/s R:22MB/s  ??? [best 47MB/s]

Done.
Please run THOROUGH tests before using!!!


Card Used



Before Bench



After Bench



Log
===================
2018/04/07 02:52:24
===================
Before the hack: r:44MB/s w:41MB/s  W:41MB/s R:44MB/s  8)  [best 41MB/s]
SDR50 @ 96MHz  : r:44MB/s w:40MB/s  W:41MB/s R:44MB/s  ::) [best 41MB/s]
SDR50 @ 96MHz  : r:44MB/s w:41MB/s  W:41MB/s R:44MB/s  ::) [best 41MB/s]
SDR50 @ 80MHz  : r:37MB/s w:34MB/s  W:35MB/s R:37MB/s  meh [best 41MB/s]
SDR50 @ 80MHz  : r:37MB/s w:33MB/s  W:34MB/s R:37MB/s  meh [best 41MB/s]
SDR50 @ 120MHz : r:55MB/s w:50MB/s  W:49MB/s R:55MB/s  8)  [best 50MB/s]
SDR50 @ 120MHz : r:55MB/s w:52MB/s  W:50MB/s R:55MB/s  :)  [best 52MB/s]
SDR104 @ 96MHz : r:44MB/s w:40MB/s  W:41MB/s R:44MB/s  meh [best 52MB/s]
SDR104 @ 96MHz : r:44MB/s w:40MB/s  W:41MB/s R:44MB/s  meh [best 52MB/s]
SDR104 @ 80MHz : r:37MB/s w:34MB/s  W:35MB/s R:37MB/s  meh [best 52MB/s]
SDR104 @ 80MHz : r:37MB/s w:36MB/s  W:35MB/s R:37MB/s  meh [best 52MB/s]
SDR104 @ 120MHz: r:55MB/s w:49MB/s  W:50MB/s R:55MB/s  ::) [best 52MB/s]
SDR104 @ 120MHz: r:55MB/s w:48MB/s  W:52MB/s R:55MB/s  ::) [best 52MB/s]
SDR104 @ 132MHz: r:51MB/s w:46MB/s  W:48MB/s R:51MB/s  meh [best 52MB/s]
SDR104 @ 132MHz: r:51MB/s w:49MB/s  W:47MB/s R:51MB/s  ::) [best 52MB/s]
SDR104 @ 160MHz: r:73MB/s w:64MB/s  W:65MB/s R:72MB/s  8)  [best 64MB/s]
SDR104 @ 160MHz: r:72MB/s w:61MB/s  W:67MB/s R:72MB/s  ::) [best 64MB/s]
Best: r:73MB/s w:64MB/s  W:66MB/s R:72MB/s  :)  [best 64MB/s]
Best: r:72MB/s w:68MB/s  W:64MB/s R:72MB/s  :)  [best 68MB/s]

Done.
Please run THOROUGH tests before using!!!
#35
On the 700D, I finally found the reg needed to fix the darkened lower half of the image when trying for higher resolution than 2048x1152.
It was ADTG2[82B6].
Best fps I can get without a freeze at this res is 10.639fps.
Don't mind the crappy image quality, room was dark and was to lazy to turn on the light for testing, LOL, was shooting 3200ISO.

#36
QuotePosted by: dfort
@mk11174 -- Did you already get 14-bit lossless compression working?

I have only been working with resolution changes for fun just to see what happens and of course sharing what I find.  :)
#37
I managed to get height going by adjusting

6804  0xc3b0422     4096x3096
713c  0x4a7 to 0xca7
8172  0x6fd to 0x8fd
8178  0x6fd to 0x8fd


But I end up with this image, not sure how to fix this????
#38
This is where I am at with 700D so far, just trying to figure out how to change height without it getting all scrambled, was able to change width past 4096 but was getting borders so brought it down to an even number, am able to go to almost 1500 on height until it scrambles, so I am assuming other registers need to be adjusted to make it work.

Also, fps drops to 6.5fps with the register changes to make it work, was able to force it to 9fps with C0F0[6014], any higher caused some sort of overlap on image.

Here are some examples of resolutions I would get by adjusting C0F0[6804]. It seems as I adjust the 3 on the left, the height would change, the 3 on the right, the width would change, the middle 0 seems it has to stay 0. I can go much higher on the height, but as I said, it gets crazy looking, shifty and predator vision like.

4550204   1920 x 1080
4540298   1928 x 1144
4e40448   4248 x 1217   
4cc0422   4096 x 1193
45b0422   4096 x 1080  current
50b0564   5384 x 1256




#39
So, any hints on how i can port any of the high resolution options to 700d, or are the high res options just not going to work for the lower end models like the rebels?

I looked around and read about needing to look at fps timers, but also see there's mem_engio_write address that has to be found, no idea how to find that one?
#40
Right, just had to keep going, just found it at 0x390 on CMOS 5, now looks great!

Update to values for 3x 1080p/720 mode
CMOS 5 0x20 to 0x390 changes width so not tall stretched and horizontal
works on crop_rec module just fine
    if (is_700D)
    {
        switch (crop_preset)
        {
            /* 1:1 (3x) */
            case CROP_PRESET_3X:
                /* start/stop scanning line, very large increments */
                /* note: these are two values, 6 bit each, trial and error */
                cmos_new[7] = (is_720p())
                ? PACK12(12,9)
                : PACK12(10,10);
                cmos_new[5] = 0x390;    /* read every column, centered crop */
                break;
            case CROP_PRESET_3x3_1X:
                /* start/stop scanning line, very large increments */
                cmos_new[7] = (is_720p())
                ? PACK12(6,60)
                : PACK12(0,0);
                break;
        }
    }
#41
I am working on 700D with adtg.gui tool and found after adjusting
ADTG[8000c] to 0x0 gives the tall x3 preview
Then adjusting
CMOS 5 to 0x10 from 0x20 fixes tall stretch to normal 3x preview
CMOS 7 from 0x800 to 0x809 fixes vertical adjust
ADTG2[8000] needs to be set to 0x5 while in this mode or you get weird artifacts.
Cant find a way to adjust horizontal though.

One thing I noticed, is while in this mode, its offset so much, that the pixel dots are only an issue on the far lower right side.

3x mode 1080P Canon


Normal mode 1080P Canon
#42
Trying to see what the next step is to see if there are any modes 700d can get, first i messed with atdg tool to try to reproduce the 3x3bin mode while in 720p by changing 0x4 to 0x2 on 800c just to understand how the tool works since those values are posted. I then set the tool to show values that have been changed more then twice and screen captured every value for 1080p, 1080p x5 and x10, 720p, 720p x5 and x10, crop mode in 1080p and also photo mode just to track all the values that are changing in case it was needed.

Thats where i am at now though, not sure what values to change though, gets scary when you see the crazy images on live view that make u think u burned sensor out. Only thing i saw that did anything as far as the size was 800c changing to 0x0 makes a zoomed version but its stretched tall. Other then that another one moved the image up and down.

Dont know how to cross reference with the 5d3 cause i see Pack12(?,?)  for example and the values are not like what you see in the tool. So pretty much clueless on where to go from here??
#43
Working nicely here, love the grayed out amount of how many seconds you can get when selecting a to high of a pre-buffer, very nice addon!

Man, if this had motion detection and luminance detection this would be the ultimate module, not that it isn't already, but damn, this is working very nice for those addons to be of use.
#44
If your not making the module from the actual module folder then it wont remake it as far as i remember, thats why you modify the default file so when you make it from the platform folder for your model it will remake it. So modify the default file, then run a make clean from the modules main folder to clean everything up first, then rmake your 600d from the platform and camera model folder, but i would also make clean that one to just to clean everything up.

Also delete ml folder and bin file from card to start fresh there to so you are only using modules from your compiled source.
#45
I had this happen back in the days i played around, first start camera, unload the module, shut down camera, check card for duplicate modules by showing hidden files look for a version with a ~ in the module name, delete it if its there, also delete the cfg file related to your module if there  is one. Then restart camera and enable module, then restart camera again to see if it loads.
#46
Hey, not around much anymore, BUT, I really would like to say I am loving the way this feature progressed! I find the 1 frame with pre record for 2 seconds very useful, VERY COOL! Other options work just fine as well! Glad Alex kept going on this one, love how it works with my DIY half shutter press button for my 700D. I will surely test this during storm season, should work fine, already tested in flash, and it captures them all just as good as Bolt Trigger module does. But this will be perfect as well for capturing nature events for sure or any kind of action that is hard to capture without record constantly, LOVE IT!!!
#47
Camera-specific Development / Re: Canon 700D / T5i
August 20, 2016, 09:05:56 AM
Yes, depending what time amount I have it set in Canon, it reviews image then comes back to LV.

If I try some weird setting like say set fps to 5fps, but shutter to 1/200, it shows a brighter LV then 1/200, but not as bright as if it was set to 1/5 from being set to 5fps.

If I then take a picture, it will review, then come back to LV, for like 1 second show a live view exposed at 1/5 because its obviously much brighter, but then settles and shows the live view exposed as it was before I took picture.
#48
Camera-specific Development / Re: Canon 1200D
July 30, 2016, 08:36:58 PM
Ran this in debug: In hopes it will help a developer see why Full_Res gives raw error and seemed to take a picture at one point and only one successful image another time, most of the time its a raw error.

Thanks Sergio de la Torre for running test.

static void run_test()
{
    msleep(2000);

    void debug_intercept();
    debug_intercept();
    info_led_on();
    void* job = (void*) call("FA_CreateTestImage");
    call("FA_CaptureTestImage", job);
    call("FA_DeleteTestImage", job);
    info_led_off();
    debug_intercept();
}


DM.LOG
http://dropcanvas.com/052mi/1
#49
Camera-specific Development / Re: Canon 1200D
July 30, 2016, 05:42:38 PM
Great!, good to hear regular silent is working fine.

Am curious why you got the one picture the one time but cant repeat?

Maybe Alex will see this and save the day? LOL

At least you got the one shot to get overlay aligned, so thats good news!
#50
Camera-specific Development / Re: Canon 1200D
July 30, 2016, 05:18:10 PM
Ok, updated it, can you check again, also check if the overlay for Histogram and focus peaking in Photo Review mode are aligned since that is what this test was really for?

Just upload from Latest link again : http://www.magiclantern.fm/forum/index.php?topic=12627.msg170329#msg170329