Учимся писать патчи : Патчестроение : Форум

Страница 160 из 180: « 1 ... 156 157 158 159 [160] 161 162 163 164 ... 180 »

 blacklizard:
23.10.10, 10:57
 
D3mon пишет:
Уважаемые разработчики, подскажите, пожалуйста, как можно проверить играет ли музыка в данный момент?


You also can get the state with this:

Код: 
class CMusicServer : public IUnknown
{
public:
  virtual void* unk_0x10();
  virtual void* unk_0x14();
  virtual void* unk_0x18();
  virtual void* unk_0x1C();
  virtual void* unk_0x20();
  virtual void* unk_0x24();
  virtual void* unk_0x28();
  virtual int GetTags(int track_id,int bufsize,wchar_t* artist,wchar_t* album,wchar_t* title);
  virtual int GetFullInfo(int track_id,int bufsize,wchar_t* artist,wchar_t* album,wchar_t* title,wchar_t* filename,TIME* fulltime,TIME* ResumePosition,TBool* HaveAlbumArt,TBool* IsRealMediaFile);
  virtual int GetTrackFullpath(wchar_t track_id,int bufsize,wchar_t *buf);
  virtual int GetAlbumArt(int track_id,int bufsize,wchar_t* filename,int* Offset,int* Size,int* Type/*1=Jpeg,2=Gif,3=Png,4=Bmp,5=None,6=Embedded*/,TBool* IsDRMProtected);
  virtual int GetState(char* State); 
  virtual int Play(int track_id);
  virtual int Pause(void);
  virtual int FastFoward(void);
  virtual int Rewind(void);
  virtual void* unk_0x50();//next
  virtual int Previous(void);
  virtual int SetElapsedTime(TIME time);
  virtual int GetElapsedTime(TIME* time);
  virtual int SetWindowMode(char mode);
  virtual int SetStarted(TBool started);
  virtual int SetStereoWidening(TBool enable);
  virtual int EnableEqualizer(void);
  virtual int DisableEqualizer(void);
  virtual int EqualizerGain_Set(int band,int level);
};


But the UUID that I have currently is still wrong.

Any one can help with MusicServer Component ID and Interface ID?

Thanks is advance

 D3mon:
23.10.10, 13:59
 blacklizard, thanks for the answer! But I dont know how I can use it in writing patches..

 blacklizard:
23.10.10, 15:18
 D3mon, use IAR

Something like this

Код: 
template<typename T> void** PPINTERFACE(T** pp)
{
  //static_cast<IUnknown*>(*pp);
  return reinterpret_cast<void**>(pp);
}

typedef struct
{
  unsigned char data[16];
}UUID, *PUUID;

extern "C"
{
  int Alarm_GetCurrentTypeAndAlarmID( char* type, wchar_t* AlarmID );
  void CoCreateInstance( PUUID cid, PUUID iid, void* pInterface );
  int returnto();
};

typedef unsigned long FUint32;
typedef long FSint32;
typedef unsigned long TUnsigned;
typedef bool TBool;



UUID IID_IStatusrow={0x5D,0xFE,0x94,0xA1,0x93,0x80,0x49,0x27,0x84,0x62,0xA3,0xA1,0xEF,0xD5,0x72,0x43};
UUID CID_CStatusrow={0x50,0xD7,0xBA,0x40,0x0A,0x19,0x47,0x3C,0xAA,0x51,0xF9,0x5E,0xDF,0xFB,0x4E,0x29};

class IUnknown
{
public:
  virtual void* pguid();
  virtual void* QueryInterface();
  virtual void* AddRef();
  virtual void* Release();
};

class IUIStatusrow: public IUnknown
{
public:
  virtual int ShowIcon(int icon, TBool show);
  virtual int BlinkIcon(int icon, int mode);
  virtual int ShowClock(int display, TBool show);
};

extern "C"
void start()
{
  char type;
  wchar_t AlarmID;
  Alarm_GetCurrentTypeAndAlarmID( &type, &AlarmID );
  IUIStatusrow * pUIStatusrow=0;
  CoCreateInstance(&CID_CStatusrow, &IID_IStatusrow, PPINTERFACE(&pUIStatusrow));
  if(type==1)
  {
  pUIStatusrow->ShowIcon(0x92a,1);
  pUIStatusrow->BlinkIcon(0x92a, 1);
  }
  else
  {
  pUIStatusrow->ShowIcon(0x92a,0);
  }
  if(pUIStatusrow) pUIStatusrow->Release();
  //returnto();
}


 vetel:
26.10.10, 23:27
 Возможно ли сделать в этом патче:
Патч:
;W610 SW-R6BC002
;Информация о напряжении и температуре
;Отображение инфы о напряжении и температуре батареи во время зарядки и из Стэндбай
;Показ инфы - долгое нажатие "Громкость -"
;Работает и в плеере/радио!
;(c) blacklizard
;(p) Grinvich

чтобы работало только на главном экране? а то оно везде работает что не есть гуд

 den_po:
26.10.10, 23:28
 vetel, запросы на патчи в другом топике

 vetel:
27.10.10, 00:47
 den_po, Это не запрос, а лишь вопрос какой код добавить или отредактировать патч

 den_po:
27.10.10, 00:49
 vetel, ты спорить собрался? ну давай, если так, объясни, что и как делает нынешний код в этом патче

 vetel:
27.10.10, 00:56
 den_po, Да нет не собирался, темы по редактированию патчей или что то подобное не нашел, поэтому сюда и написал

 den_po:
27.10.10, 00:59
 vetel, хочешь редактировать - читай эту и подобные темы с самого начала и до конца

 Emp:
31.10.10, 23:51
 Доброе времени суток господа!

Помогите пожалуйста. Пытаюсь портировать патч:
;K810 R8BA024
;Отображение дня недели в режиме ожидания

На: ;W995 SW-R1AG026

у меня такая вот ошибка:

Код: 
flat assembler for ARM  version 1.69.11  (1449709 kilobytes memory)
dayofweek995v1.asm [7]:
        LDR     R7, off_453CC91C
x.inc [122] ldr [37]:
      ldr rg , [pc,(p1-($ and 0xFFFFFFFC)-4)]
error: Immediate offset out of range.
cant open temp.bin



Вот исходник:

Код: 
include "x.inc"
;------------------
patch = 0x15E2DA00
;------------------

org 0x15368D48
    LDR     R7, off_453CC91C
    BLX     R7


org 0x155FAAC0
    B       0x453CC94C


org 0x155FAAC4
off_453CC91C    DCD patch+1


org 0x155FAAC0
    B       0x453CC94C




code16
org patch
loc_45CB3660:
        LDR    R7, dword_45CB36CC
        ADDS    R0, R5,    0
        PUSH    {R0-R6,LR}
        SUB    SP, SP,    0x168
        LDR    R0, off_45CB36C0
        LDR    R0, [R0]
        MOV    R1, SP
        LDR    R7, off_45CB36C4
        BLX    R7
        MOV    R0, SP
        MOV    R1, SP
        LDR    R7, off_45CB36C8
        BLX    R7
        MOV    R0, SP
        LDRB    R0, [R0]
        MOVLS    R7, 0x220
        CMP    R0, 0
        BNE    loc_45CB368A
        SUBS    R7, 0x6A
        B    loc_45CB36BC
; ---------------------------------------------------------------------------

loc_45CB368A:
        CMP    R0, 1
        BNE    loc_45CB3692
        ADDS    R7, 0x18
        B    loc_45CB36BC
; ---------------------------------------------------------------------------

loc_45CB3692:
        CMP    R0, 2
        BNE    loc_45CB369A
        ADDS    R7, 0x32
        B    loc_45CB36BC
; ---------------------------------------------------------------------------

loc_45CB369A:
        CMP    R0, 3
        BNE    loc_45CB36A2
        ADDS    R7, 0xA
        B    loc_45CB36BC
; ---------------------------------------------------------------------------

loc_45CB36A2:
        CMP    R0, 4
        BNE    loc_45CB36AA
        SUBS    R7, 0x98
        B    loc_45CB36BC
; ---------------------------------------------------------------------------

loc_45CB36AA:
        CMP    R0, 5
        BNE    loc_45CB36B2
        SUBS    R7, 0x25
        B    loc_45CB36BC
; ---------------------------------------------------------------------------

loc_45CB36B2:
        CMP    R0, 6
        BNE    loc_45CB36BA
        ADDS    R7, 6
        B    loc_45CB36BC
; ---------------------------------------------------------------------------

loc_45CB36BA:
        LDR    R7, dword_45CB36CC

loc_45CB36BC:
        ADD    SP, SP,    0x168
        POP    {R0-R6,PC}
; ---------------------------------------------------------------------------
off_45CB36C0    DCD 0x15A538AC
off_45CB36C4    DCD 0x1434FAC4+1
off_45CB36C8    DCD 0x1434FC80+1
dword_45CB36CC    DCD 0x6FFFFFFF


Не понимаю в чем дело :-( :cry: Помогите пожалуйста разобраться! Заранее Большое Спасибо!

[ Редактировано Emp в 31.10.10 21:53 ]
Страница 160 из 180: « 1 ... 156 157 158 159 [160] 161 162 163 164 ... 180 »

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=965&start=1590

© 2005-2018 supertrubka.org