A1100 IS Porting thread - page 9 - DryOS Development - CHDK Forum

A1100 IS Porting thread

  • 647 Replies
  • 247505 Views
Re: A1100 IS Porting thread
« Reply #80 on: 25 / April / 2010, 07:59:19 »
Advertisements
Now I correct all the function in the stubs_min.s.
The camera turn on and I think everything is ok except the screen is not work.
If I do not hook the keyboard task.I can see the chdk logo.

Re: A1100 IS Porting thread
« Reply #81 on: 25 / April / 2010, 07:59:45 »
So,how can I let the screen work?

*

Offline ERR99

  • ****
  • 339
Re: A1100 IS Porting thread
« Reply #82 on: 25 / April / 2010, 08:23:05 »
Hmm, try this, maybe it helps: On the G11 port i discoverd something similar, i had to initialize the kbd_new_state[] array with the current status of physw_status[] instead with null, because at the first call of _GetKbdState(kbd_new_state); with at null initialized  kbd_new_state[] the display goes dark.

So give it a try and add this three line to the mykbd_task_proceed() function:

static void __attribute__((noinline)) mykbd_task_proceed()
{

   kbd_new_state[0] = physw_status[0]; // <---- Add this
   kbd_new_state[1] = physw_status[1]; // <---- Add this
   kbd_new_state[2] = physw_status[2]; // <---- Add this

   while (physw_run){
      _SleepTask(10);
      if (wrap_kbd_p1_f() == 1){
         _kbd_p2_f();
      }
    }
}

Re: A1100 IS Porting thread
« Reply #83 on: 25 / April / 2010, 08:27:02 »
If the above does not work, try disabling the call to kbd_process() in my_kbd_read_keys().

kbd_process(0 is in \core\kbd.c.


Re: A1100 IS Porting thread
« Reply #84 on: 25 / April / 2010, 08:38:27 »
As I do not see the sceen,So I can not update the
"
#define KEYS_MASK0 (0x00000000)
#define KEYS_MASK1 (0xC0800000)
#define KEYS_MASK2 (0x0FFC)

#define NEW_SS (0x2000)
#define SD_READONLY_FLAG (0x20000)
#define USB_MASK (0x80000)
#define USB_REG 2
"
and 

"keymap"


Re: A1100 IS Porting thread
« Reply #85 on: 25 / April / 2010, 08:41:53 »
both tried,still no work

*

Offline ERR99

  • ****
  • 339
Re: A1100 IS Porting thread
« Reply #86 on: 25 / April / 2010, 09:01:34 »
Modify the my_kbd_read_keys() in that way, that it does not mask out any bits in   kbd_new_state / physw_status.
e.g. disable this code:

    remote_key = (physw_status[2] & USB_MASK)==USB_MASK;
      if (remote_key)       remote_count += 1;
      else if (remote_count) {
         usb_power = remote_count;
         remote_count = 0;
      }

    if (conf.remote_enable) {
      physw_status[2] = physw_status[2] & ~(SD_READONLY_FLAG | USB_MASK);
     }
    else    physw_status[2] = physw_status[2] & ~SD_READONLY_FLAG;

Maybe your values for:
#define SD_READONLY_FLAG (0x20000)
#define USB_MASK (0x80000)

are wrong an does not depend to the SD-Card, but to the display. ;)

Re: A1100 IS Porting thread
« Reply #87 on: 25 / April / 2010, 09:10:09 »
So,how to find these values?
  #define SD_READONLY_FLAG (0x20000)
#define USB_MASK (0x80000)

diable these code,still work

Re: A1100 IS Porting thread
« Reply #88 on: 25 / April / 2010, 09:16:40 »
When I do not hook the keyboard task.
The chdk run with a logo for just one second.
But I see four small logo on the screen.
Is that ok?
----------------------------
|logo                     logo|
|                                 |
|                                 |
|logo                     logo|
----------------------------

Re: A1100 IS Porting thread
« Reply #89 on: 25 / April / 2010, 09:26:38 »
The bitmap buffer width may be incorrect.

Sometimes it is 720 wide even though only a 360 or 480 top-left section is used.

You find the USB mask value by displaying physw_status[0] to physw_status[2].

For now, disable AND'ing that mask.

Maybe other ports have notes indicating where SD_READONLY_FLAG is found.

 

Related Topics


SimplePortal © 2008-2014, SimplePortal