Esempio n. 1
0
static BOOL CALLBACK LogCon(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) {
    DSMFix(uMsg);
    switch (uMsg) {
    case WM_INITDIALOG:
        logwin = hwndDlg;
        RedoText();
        break;
    case WM_COMMAND:
        if (HIWORD(wParam) == BN_CLICKED) {
            DestroyWindow(hwndDlg);
            logwin = 0;
        }
        break;
    }
    return 0;
}
Esempio n. 2
0
static BOOL CALLBACK DebugCon(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  int32 scrollindex=0,ced=0;
  int type; 
  DSMFix(uMsg);
  switch(uMsg)
  {
   case WM_INITDIALOG:
                crs(hwndDlg);
                DoVecties(hwndDlg);
                FCEUI_SetCPUCallback(cpucb);
                RebuildBPointList(hwndDlg);
                break;
   case WM_VSCROLL:
                if(0!=instep) break;
                switch((int)LOWORD(wParam))
                {
                  case SB_TOP:
                        scrollindex=-32768;
                        ced=1;
                        break;
                  case SB_BOTTOM:
                        scrollindex=32767;
                        ced=1;
                        break;
                  case SB_LINEUP:
                        scrollindex=GetScrollPos(GetDlgItem(hwndDlg,101),SB_CTL);
                        if(scrollindex>-32768)
                        {
                         scrollindex--;
                         ced=1;
                        }
                        break;

                  case SB_PAGEUP:
                        scrollindex=GetScrollPos(GetDlgItem(hwndDlg,101),SB_CTL);
                        scrollindex-=27;
                        if(scrollindex<-32768)
                         scrollindex=-32768;
                        ced=1;
                        break;

                  case SB_LINEDOWN:
                        scrollindex=GetScrollPos(GetDlgItem(hwndDlg,101),SB_CTL);
                        if(scrollindex<32767)
                        {
                         scrollindex++;
                         ced=1;
                        }
                        break;

                  case SB_PAGEDOWN:
                        scrollindex=GetScrollPos(GetDlgItem(hwndDlg,101),SB_CTL);
                        scrollindex+=27;
                        if(scrollindex>32767)
                        {
                         scrollindex=32767;
                        }
                        ced=1;
                        break;

                  case SB_THUMBPOSITION:
                  case SB_THUMBTRACK:
                        scrollindex=(int16)(wParam>>16);
                        ced=1;
                        break;
                 }
                 if(ced)
                 {
                  SendDlgItemMessage(hwndDlg,101,SBM_SETPOS,scrollindex,1);
                  Disyou(scrollindex+32768);
                 }
                 break;


   case WM_CLOSE:
   case WM_QUIT: goto gornk;
   case WM_COMMAND:
                switch(HIWORD(wParam))
                {
                 case LBN_DBLCLK:
//                         if(0==instep)
//                         {
//                          Xsave->PC=asavers[SendDlgItemMessage(hwndDlg,100,LB_GETCURSEL,0,0)];
//                          RRegs(Xsave);
//                          Disyou(Xsave->PC);
//                         }
//                         break;
                         if((0==instep)&&(LOWORD(wParam)==0x64))
                         {
                            uint16 A1, A2;
                            type = BPOINT_READ|BPOINT_PC;
                            A1=A2=asavers[SendDlgItemMessage(hwndDlg,100,LB_GETCURSEL,0,0)];
                            FCEUI_AddBreakPoint(type,A1,A2,BPointHandler);
                            hWndCallB=hwndDlg;  /* Hacky hacky. */
                            RBPCallBack(type,A1,A2,0);
                         }
                         break;
                 case EN_KILLFOCUS:
                        {
                         char TempArray[64];
                         int id=LOWORD(wParam);
                         GetDlgItemText(hwndDlg,id,TempArray,64);

                         if(0==instep)
                         {
                          int tscroll=32768+SendDlgItemMessage(hwndDlg,101,SBM_GETPOS,0,0);

                          switch(id)
                          {
                           case 200:
                                    if(Xsave->PC!=StrToU16(TempArray))
                                    {
                                     Xsave->PC=StrToU16(TempArray);
                                     Disyou(Xsave->PC);
                                     RRegs(Xsave);
                                    }
                                    break;
                           case 201:Xsave->S=StrToU8(TempArray);
                                    RRegs(Xsave);
                                    Disyou(tscroll);
                                    break;
                           case 202:Xsave->P&=0x30;
                                    Xsave->P|=StrToU8(TempArray)&~0x30;
                                    RFlags(Xsave);
                                    Disyou(tscroll);
                                    break;
                           case 210:Xsave->A=StrToU8(TempArray);
                                    RRegs(Xsave);
                                    Disyou(tscroll);
                                    break;
                           case 211:Xsave->X=StrToU8(TempArray);
                                    RRegs(Xsave);
                                    Disyou(tscroll);
                                    break;
                           case 212:Xsave->Y=StrToU8(TempArray);
                                    RRegs(Xsave);
                                    Disyou(tscroll);
                                    break;
                          }
                         }
                        }
                        break;

                 case BN_CLICKED:
                         if(LOWORD(wParam)>=400 && LOWORD(wParam)<=407)
                         {
                          if(0==instep)
                          {
                           Xsave->P^=1<<(LOWORD(wParam)&7);
                           RFlags(Xsave);
                          }
                         }
                         else switch(LOWORD(wParam))
                         {
                          case 300:
                           instep=1;
                           crs(hwndDlg);
                           if((PPUViewer) && (scanline == PPUViewScanline)) UpdatePPUView(1);
                           break;
                          case 301:
                           instep=-1;
                           crs(hwndDlg);
                           break;
                          case 302:FCEUI_NMI();break;
                          case 303:FCEUI_IRQ();break;
                          case 310:FCEUI_ResetNES();
                                   if(instep>=0)
                                    instep=1;
                                   crs(hwndDlg);
                                   break;
                          case 311:DoMemmo(hwndDlg);break;

                          case 540:
                                   {
                                    LONG t;
                                    t=SendDlgItemMessage(hwndDlg,510,LB_GETCURSEL,0,0);
                                    if(t!=LB_ERR)
                                    {
                                     FCEUI_DeleteBreakPoint(t);
                                     SendDlgItemMessage(hWndCallB,510,LB_DELETESTRING,t,(LPARAM)(LPSTR)0);
                                    }
                                   }
                                   break;
                          case 541:
                                   {
                                    uint16 A1,A2;
                                    int type;
                                    FetchBPDef(hwndDlg, &A1, &A2, &type);
                                    FCEUI_AddBreakPoint(type, A1,A2,BPointHandler);
                                    hWndCallB=hwndDlg;  /* Hacky hacky. */
                                    RBPCallBack(type, A1,A2,0);
                                   }
                                   break;
                         }
                        break;
                }


                if(!(wParam>>16))
                switch(wParam&0xFFFF)
                {
                 case 1:
                        gornk:
                        instep=-1;
                        FCEUI_SetCPUCallback(0);
                        DestroyWindow(dwin);
                        dwin=0;
                        break;
                }
  }
  return 0;
}