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; }
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; }