And here is today's testing.
! The MENU's I have tested is tested completely - So when nothing is mentioned I think it's working !
Prefs MENU:
- Image review settings: The silent .422 pictures doesn't show up (not on PC ither). With Compare Images the primary picture sometimes changes.
- Quick Zoom: "Full zoom on AF pt." allways zooms on the middle of screen - not on AF points.
- FlexInfo Settings: Buggy as hell

Debug MENU:
- Burn-in tests: "Stubs API test" 83 passed, 3 failed:
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x1acd00
[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) => 0x1acca0
[FAIL] foo => ''
[Pass] memset(bar, '*', 5) => 0x1acc80
[FAIL] bar => '*****ghjkl'
bzero32(bar + 5, 5)
[Pass] bar => '****'
t0 = *(uint32_t*)0xC0242014 => 0x84d0b
msleep(250)
t1 = *(uint32_t*)0xC0242014 => 0xc355a
[Pass] ABS(mod(t1-t0, 1048576)/1000 - 250) => 0x6
LoadCalendarFromRTC( &now )
s0 = now.tm_sec => 0x2c
Date/time: 2013/03/06 19:10:44
msleep(1500)
LoadCalendarFromRTC( &now )
s1 = now.tm_sec => 0x2d
[Pass] mod(s1-s0, 60) => 0x1
[Pass] mod(s1-s0, 60) => 0x1
m0 = MALLOC_FREE_MEMORY => 0x5f6c0
[Pass] p = malloc(50*1024) => 0xe0120
[Pass] CACHEABLE(p) => 0xe0120
m1 = MALLOC_FREE_MEMORY => 0x52eb0
free(p)
m2 = MALLOC_FREE_MEMORY => 0x5f6c0
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
m0 = GetFreeMemForAllocateMemory() => 0x37ca54
[Pass] p = AllocateMemory(256*1024) => 0xa7a498
[Pass] CACHEABLE(p) => 0xa7a498
m1 = GetFreeMemForAllocateMemory() => 0x33ca48
FreeMemory(p)
m2 = GetFreeMemForAllocateMemory() => 0x37ca54
[Pass] ABS((m0-m1) - 256*1024) => 0xc
[Pass] ABS(m0-m2) => 0x0
m01 = MALLOC_FREE_MEMORY => 0x5f6c0
m02 = GetFreeMemForAllocateMemory() => 0x37ca54
[Pass] p = alloc_dma_memory(256*1024) => 0x40a7a4d8
[Pass] UNCACHEABLE(p) => 0x40a7a4d8
[Pass] CACHEABLE(p) => 0xa7a4d8
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40a7a4d8
free_dma_memory(p)
[Pass] p = (void*)shoot_malloc(24*1024*1024) => 0x4a000068
[Pass] UNCACHEABLE(p) => 0x4a000068
shoot_free(p)
m11 = MALLOC_FREE_MEMORY => 0x5f6c0
m12 = GetFreeMemForAllocateMemory() => 0x37ca54
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
EngDrvOut(0xC0F14400, 0x1234)
[Pass] shamem_read(0xC0F14400) => 0x1234
call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
call("TurnOffDisplay")
[Pass] DISPLAY_IS_ON => 0x0
call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
SetGUIRequestMode(1); msleep(1000);
[Pass] CURRENT_DIALOG_MAYBE => 0x1
SetGUIRequestMode(2); msleep(1000);
[Pass] CURRENT_DIALOG_MAYBE => 0x2
SetGUIRequestMode(0); msleep(1000);
[Pass] CURRENT_DIALOG_MAYBE => 0x0
[Pass] display_idle() => 0x1
GUI_Control(BGMT_PLAY, 0, 0, 0); msleep(500);
[Pass] PLAY_MODE => 0x1
[Pass] MENU_MODE => 0x0
GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x1
[Pass] PLAY_MODE => 0x0
[Pass] MEM(dialog->type) => 0x4c414944
GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[Pass] PLAY_MODE => 0x0
task_create("test", 0x1c, 0x1000, test_task, 0) => 0x50d00004
[Pass] test_task_created => 0x1
[Pass] get_task_name_from_id(get_current_task()) => 'run_test'
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0x511e00ae
[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) => 0x51b60114
[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) => 0x52580082
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0xf
[Pass] f = FIO_CreateFileEx(CARD_DRIVE"test.dat") => 0x4
[Pass] FIO_WriteFile(f, (void*)ROMBASEADDR, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)ROMBASEADDR, 0x10000) => 0x10000
FIO_CloseFile(f)
[Pass] FIO_GetFileSize(CARD_DRIVE"test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = alloc_dma_memory(0x20000) => 0x407f9cc4
[Pass] f = FIO_Open(CARD_DRIVE"test.dat", O_RDONLY | O_SYNC) => 0x4
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
FIO_CloseFile(f)
free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] FIO_RemoveFile(CARD_DRIVE"test.dat") => 0x0
SW1(1,100)
[FAIL] HALFSHUTTER_PRESSED => 0x0
SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0
Help MENU:
- No documentation. Not when hitting info button on the rest of the munu's ither. Suppose it's because it's nightly..?
When the screen is turned (self shot mode?) it's still mirrored.
I really like the Junkie mode - it gives a quick overview!
And thats all for now! Now my testing will be normal use

nanomad if you need anything more to be tested, you know where to send it
