fixed #551 (Crash Bugs in Trace Logger and Code/Data Logger Cooperation)
This commit is contained in:
parent
6bd8ece364
commit
2de90cafdd
|
@ -1,4 +1,9 @@
|
||||||
|
05-Nov-2012 - zeromus - support mapper 028
|
||||||
|
05-Nov-2012 - AnS - Taseditor: fixed lag adjustments when dealing with previously unknown lag state
|
||||||
|
30-Oct-2012 - zeromus - default stack pointer to $FD instead of $FF
|
||||||
|
29-Oct-2012 - CaH4e3 - mapper 252 added
|
||||||
29-Oct-2012 - AnS - Taseditor: update RAM Search and RAM Watch when jumping causes game state to change
|
29-Oct-2012 - AnS - Taseditor: update RAM Search and RAM Watch when jumping causes game state to change
|
||||||
|
21-Oct-2012 - CaH4e3 - sync mappers with fceu-mm
|
||||||
30-Sep-2012 - AnS - added "(Europe)" and "(PAL)" strings to region detection
|
30-Sep-2012 - AnS - added "(Europe)" and "(PAL)" strings to region detection
|
||||||
28-Sep-2012 - AnS - Hexeditor: Ctrl+F opens Find dialog
|
28-Sep-2012 - AnS - Hexeditor: Ctrl+F opens Find dialog
|
||||||
28-Sep-2012 - AnS - Hexeditor: display 0x5000-0x5FFF contents
|
28-Sep-2012 - AnS - Hexeditor: display 0x5000-0x5FFF contents
|
||||||
|
@ -6,7 +11,7 @@
|
||||||
26-Sep-2012 - AnS - Debugger: "Name" button in Bookmarks, total revamp of Bookmarks
|
26-Sep-2012 - AnS - Debugger: "Name" button in Bookmarks, total revamp of Bookmarks
|
||||||
26-Sep-2012 - AnS - Debugger: single click on any address copies this address to the "Seek To" field and "Bookmark Add" field
|
26-Sep-2012 - AnS - Debugger: single click on any address copies this address to the "Seek To" field and "Bookmark Add" field
|
||||||
26-Sep-2012 - AnS - Fixed replay engine bug that doubles the last input of the movie
|
26-Sep-2012 - AnS - Fixed replay engine bug that doubles the last input of the movie
|
||||||
26-Sep-2012 - AnS - Tracer: RTS instructions output caller address/name
|
26-Sep-2012 - AnS - Tracer: "RTS" instructions now output the subroutine address/name
|
||||||
23-Sep-2012 - AnS - Lua: clear previous frame drawings at the beginning of every frame
|
23-Sep-2012 - AnS - Lua: clear previous frame drawings at the beginning of every frame
|
||||||
23-Sep-2012 - AnS - Debugger: fixed mouseover when using Symbolic debug; mouseover works for the disassembly window too
|
23-Sep-2012 - AnS - Debugger: fixed mouseover when using Symbolic debug; mouseover works for the disassembly window too
|
||||||
23-Sep-2012 - CaH4e3 - CDLogger: Now can log VROM access (CHR banks of the ROM) when NewPPU is enabled
|
23-Sep-2012 - CaH4e3 - CDLogger: Now can log VROM access (CHR banks of the ROM) when NewPPU is enabled
|
||||||
|
@ -39,7 +44,7 @@
|
||||||
08-Aug-2012 - AnS - Debugger: improved stack display
|
08-Aug-2012 - AnS - Debugger: improved stack display
|
||||||
08-Aug-2012 - AnS - Debugger: doubleclick on the disassembly prompts "Add Execute breakpoint" dialog
|
08-Aug-2012 - AnS - Debugger: doubleclick on the disassembly prompts "Add Execute breakpoint" dialog
|
||||||
08-Aug-2012 - AnS - Debugger: fixed RAM peek by a rightclick on left pane
|
08-Aug-2012 - AnS - Debugger: fixed RAM peek by a rightclick on left pane
|
||||||
08-Aug-2012 - AnS - Debugger: ">" shows current line in disassembly
|
08-Aug-2012 - AnS - Debugger: ">" points at current line in disassembly
|
||||||
08-Aug-2012 - AnS - Debugger: show the number of breakpoints (enabled and total) above the breakpoints list
|
08-Aug-2012 - AnS - Debugger: show the number of breakpoints (enabled and total) above the breakpoints list
|
||||||
06-Aug-2012 - CaH4e3 - fixed bug when loading UNF games (#525 )
|
06-Aug-2012 - CaH4e3 - fixed bug when loading UNF games (#525 )
|
||||||
06-Aug-2012 - AnS - Tracer also updates its window when user pauses the game, not just when Debugger snaps
|
06-Aug-2012 - AnS - Tracer also updates its window when user pauses the game, not just when Debugger snaps
|
||||||
|
|
|
@ -297,11 +297,13 @@ void SaveCDLogFile(){ //todo make this button work before you've saved as
|
||||||
fclose(FP);
|
fclose(FP);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCDLogger()
|
// returns false if refused to start
|
||||||
|
bool DoCDLogger()
|
||||||
{
|
{
|
||||||
if (!GameInfo) {
|
if (!GameInfo)
|
||||||
|
{
|
||||||
FCEUD_PrintError("You must have a game loaded before you can use the Code Data Logger.");
|
FCEUD_PrintError("You must have a game loaded before you can use the Code Data Logger.");
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!hCDLogger)
|
if(!hCDLogger)
|
||||||
|
@ -312,9 +314,11 @@ void DoCDLogger()
|
||||||
ShowWindow(hCDLogger, SW_SHOWNORMAL);
|
ShowWindow(hCDLogger, SW_SHOWNORMAL);
|
||||||
SetForegroundWindow(hCDLogger);
|
SetForegroundWindow(hCDLogger);
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateCDLogger(){
|
void UpdateCDLogger()
|
||||||
|
{
|
||||||
if(!hCDLogger)return;
|
if(!hCDLogger)return;
|
||||||
|
|
||||||
char str[50];
|
char str[50];
|
||||||
|
@ -343,8 +347,10 @@ void UpdateCDLogger(){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SaveStrippedRom(int invert){ //this is based off of iNesSave()
|
void SaveStrippedRom(int invert)
|
||||||
//todo: make this support nsfs
|
{
|
||||||
|
//this is based off of iNesSave()
|
||||||
|
//todo: make this support NSFs
|
||||||
const char NESfilter[]="Stripped iNes Rom file (*.NES)\0*.nes\0All Files (*.*)\0*.*\0\0";
|
const char NESfilter[]="Stripped iNes Rom file (*.NES)\0*.nes\0All Files (*.*)\0*.*\0\0";
|
||||||
const char NSFfilter[]="Stripped NSF file (*.NSF)\0*.nsf\0All Files (*.*)\0*.*\0\0";
|
const char NSFfilter[]="Stripped NSF file (*.NSF)\0*.nsf\0All Files (*.*)\0*.*\0\0";
|
||||||
char sromfilename[MAX_PATH];
|
char sromfilename[MAX_PATH];
|
||||||
|
@ -352,12 +358,17 @@ void SaveStrippedRom(int invert){ //this is based off of iNesSave()
|
||||||
OPENFILENAME ofn;
|
OPENFILENAME ofn;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (GameInfo->type==GIT_NSF) {
|
if (!GameInfo)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (GameInfo->type==GIT_NSF)
|
||||||
|
{
|
||||||
MessageBox(NULL, "Sorry, you're not allowed to save optimized NSFs yet. Please don't optimize individual banks, as there are still some issues with several NSFs to be fixed, and it is easier to fix those issues with as much of the bank data intact as possible.", "Disallowed", MB_OK);
|
MessageBox(NULL, "Sorry, you're not allowed to save optimized NSFs yet. Please don't optimize individual banks, as there are still some issues with several NSFs to be fixed, and it is easier to fix those issues with as much of the bank data intact as possible.", "Disallowed", MB_OK);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(codecount == 0){
|
if(codecount == 0)
|
||||||
|
{
|
||||||
MessageBox(NULL, "Unable to Generate Stripped Rom. Get Something Logged and try again.", "Error", MB_OK);
|
MessageBox(NULL, "Unable to Generate Stripped Rom. Get Something Logged and try again.", "Error", MB_OK);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//#include <windows.h>
|
//#include <windows.h>
|
||||||
//
|
//
|
||||||
void DoCDLogger();
|
bool DoCDLogger();
|
||||||
void UpdateCDLogger();
|
void UpdateCDLogger();
|
||||||
//void LogPCM(int romaddress); //No longer used
|
//void LogPCM(int romaddress); //No longer used
|
||||||
//
|
//
|
||||||
|
|
|
@ -400,10 +400,10 @@ void GREENZONE::AdjustUp()
|
||||||
// reduce Piano Roll
|
// reduce Piano Roll
|
||||||
piano_roll.UpdateItemCount();
|
piano_roll.UpdateItemCount();
|
||||||
// register changes
|
// register changes
|
||||||
int first_input_chanes = history.RegisterAdjustLag(at, -1);
|
int first_input_changes = history.RegisterAdjustLag(at, -1);
|
||||||
// if Input in the frame above currFrameCounter has changed then invalidate Greenzone (rewind 1 frame back)
|
// if Input in the frame above currFrameCounter has changed then invalidate Greenzone (rewind 1 frame back)
|
||||||
// also if the frame above currFrameCounter is lag frame then rewind 1 frame (invalidate Greenzone), because maybe this frame also needs lag removal
|
// also if the frame above currFrameCounter is lag frame then rewind 1 frame (invalidate Greenzone), because maybe this frame also needs lag removal
|
||||||
if ((first_input_chanes >= 0 && first_input_chanes < currFrameCounter) || (laglog.GetLagInfoAtFrame(at) != LAGGED_NO))
|
if ((first_input_changes >= 0 && first_input_changes < currFrameCounter) || (laglog.GetLagInfoAtFrame(at) != LAGGED_NO))
|
||||||
{
|
{
|
||||||
// custom invalidation procedure, not retriggering LostPosition/PauseFrame
|
// custom invalidation procedure, not retriggering LostPosition/PauseFrame
|
||||||
Invalidate(at);
|
Invalidate(at);
|
||||||
|
|
|
@ -668,18 +668,24 @@ void EnableTracerMenuItems(void){
|
||||||
}
|
}
|
||||||
|
|
||||||
//this returns 1 if the CD logger is activated when needed, or 0 if the user selected no, not to activate it
|
//this returns 1 if the CD logger is activated when needed, or 0 if the user selected no, not to activate it
|
||||||
int PromptForCDLogger(void){
|
int PromptForCDLogger(void)
|
||||||
if((logging_options & (LOG_NEW_INSTRUCTIONS|LOG_NEW_DATA)) && (!FCEUI_GetLoggingCD())){
|
{
|
||||||
if(MessageBox(hTracer,"In order for some of the features you have selected to take effect,\
|
if ((logging_options & (LOG_NEW_INSTRUCTIONS|LOG_NEW_DATA)) && (!FCEUI_GetLoggingCD()))
|
||||||
|
{
|
||||||
|
if (MessageBox(hTracer,"In order for some of the features you have selected to take effect,\
|
||||||
the Code/Data Logger must also be running.\
|
the Code/Data Logger must also be running.\
|
||||||
Would you like to Start the Code/Data Logger Now?","Start Code/Data Logger?",
|
Would you like to Start the Code/Data Logger Now?","Start Code/Data Logger?",
|
||||||
MB_YESNO) == IDYES){
|
MB_YESNO) == IDYES)
|
||||||
DoCDLogger();
|
{
|
||||||
FCEUI_SetLoggingCD(1);
|
if (DoCDLogger())
|
||||||
SetDlgItemText(hCDLogger, BTN_CDLOGGER_START_PAUSE, "Pause");
|
{
|
||||||
return 1;
|
FCEUI_SetLoggingCD(1);
|
||||||
|
SetDlgItemText(hCDLogger, BTN_CDLOGGER_START_PAUSE, "Pause");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0; // CDLogger couldn't start, probably because the game is closed
|
||||||
}
|
}
|
||||||
return 0; //user selected no so 0 is returned
|
return 0; // user selected no so 0 is returned
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue