View Single Post
Old 04-15-2005, 12:38   #199 (permalink)
Seklth
Freak Poster
 
Join Date: Jun 2004
Location: Russia, Zelenograd
Age: 35
Posts: 336
Member: 70080
Status: Offline
Thanks Meter: 2
Code:
struct MSG
{
        void far *SenderPid;    // process which sent this MSG
        int Msg;
        int Param[6];
};

// kbd msg:
#define key_down        0xE9
#define key_up          0xEA 
#define long_press      0xEB
// EC - sent 1 second after last key release, but not always?
// ED - ? unknown kbd msg
// EE - ? unknown kbd msg

// For kbd msg:
// P0 - scan Code:
#define LEFT_SOFT       0x01
#define RIGHT_SOFT      0x04
#define RECORD_BUTTON   0x06
#define GREEN_BUTTON    0x0B
#define RED_BUTTON      0x0C
#define VOL_UP_BUTTON   0x0D
#define VOL_DOWN_BUTTON 0x0E
#define UP_BUTTON       0x3B
#define DOWN_BUTTON     0x3C
#define LEFT_BUTTON     0x3D
#define RIGHT_BUTTON    0x3E
#define PLAY_BUTTON     0x3F
// '*', '#', '0'-'9'
// P1 - 0 or garbage
// P2 - scan code (if >80h, the key is releeased, if 7B - long press)
// P3 - 
// P4 - scan code with high byte == ??? or FF
// P5 - unknown



typedef void huge p_DlgOnKey(void far* Unk, struct MSG far* msg);

struct DlgHndl
{
        p_DlgOnKey* pOnKey;
        void huge* pInit;
        void huge* pExit1;
        void huge* pExit2;
        void huge* pRun;
        int Flag1; //0x10
        int Flag2; //0xC4
};


typedef void huge p_ShowDialog( struct DlgHndl far* Struct, struct DlgBuff far* Buff);
p_ShowDialog *const far ShowDialog = (p_ShowDialog *)0xD60340;
//----------------------------------------------------
        SUB     R0,#010h
        MOV     R12,#POF _Main_Hndl
        MOV     R13,#PAG _Main_Hndl
        MOV     R14,R0
        MOV     R15,DPP1
        AND     R14,#03FFFh
        CALLS   _ShowDialog
        ADD     R0,#010h

Last edited by Seklth; 04-15-2005 at 16:27. Reason: found in mamaich sources
  Reply With Quote
 
Page generated in 0.06969 seconds with 7 queries