bugfix to windows debugger and mainloop, enhanced docs
This commit is contained in:
parent
4025828176
commit
e20b6b82d9
78
AUTHORS
78
AUTHORS
|
@ -1,28 +1,68 @@
|
||||||
A list of people who have contributed code to FCE Ultra, or have had their code placed in
|
A list of people who have contributed code to FCE Ultra, or have had their code
|
||||||
FCE Ultra by others.
|
placed in FCE Ultra by others.
|
||||||
Please note that the "Contributions" field may not be all inclusive;
|
|
||||||
the coder may have done more than what is listed.
|
|
||||||
|
|
||||||
Name/Alias Contributions Contact Information
|
-----------------------------------------
|
||||||
------------------------------------------------------------------------------
|
<2.0 - These authors contributed exclusively to pre-2.0 versions,
|
||||||
Aaron Oneal Many changes to compile http://www.morphgear.com
|
but much of their code remains in 2.0 builds
|
||||||
with MSVC and first frame
|
|
||||||
skipping code.
|
|
||||||
|
|
||||||
Lukas Sabota build system punkrockguy318 at comcast.net
|
BERO - bero at geocities.co.jp
|
||||||
|
Base FCE code.
|
||||||
|
|
||||||
BERO Base FCE code. bero at geocities.co.jp
|
Xodnizel
|
||||||
|
Most of the base FCE Ultra code
|
||||||
|
|
||||||
CaH4e3 Some mapper code. CaH4e3 at mail dot ru
|
Aaron Oneal - http://www.morphgear.com
|
||||||
|
Many changes to compile with MSVC and first frame skipping code
|
||||||
|
|
||||||
Joe Nahmias man pages.
|
Joe Nahmias
|
||||||
|
Man pages
|
||||||
|
|
||||||
Mitsutaka YM2413 emulator.
|
Paul Kuliniewicz - kuliniew at purdue.edu
|
||||||
Okazaki
|
Various code for the official SDL port.
|
||||||
|
|
||||||
Paul Various code for the official kuliniew at purdue.edu
|
Quietust - quietust at ircN dot org
|
||||||
Kuliniewicz SDL port.
|
VRC7 "translation" code.
|
||||||
|
|
||||||
Quietust VRC7 "translation" code. quietust at ircN dot org
|
Ben Parnell
|
||||||
|
Windows debugging tools
|
||||||
|
|
||||||
Xodnizel Most of the FCE Ultra code. http://xodnizel.net/
|
Parasyte & bbitmaster
|
||||||
|
Enhanced Windows debugging tools
|
||||||
|
|
||||||
|
blip & nitsuja
|
||||||
|
Rerecording support
|
||||||
|
|
||||||
|
-----------------------------------------
|
||||||
|
>= 2.0 - Incorporates new contributions from:
|
||||||
|
|
||||||
|
CaH4e3 - CaH4e3 at mail dot ru
|
||||||
|
Mappers
|
||||||
|
|
||||||
|
Luke Gustafson - document thyself
|
||||||
|
Windows TAS and movie recording enhancements
|
||||||
|
|
||||||
|
SP - document thyself
|
||||||
|
Enhanced Windows debugging tools
|
||||||
|
|
||||||
|
zeromus - mgambrell at gmail dot com
|
||||||
|
Core architecture refactoring
|
||||||
|
Windows driver maintenance
|
||||||
|
|
||||||
|
Lukas Sabota - punkrockguy318 at comcast.net
|
||||||
|
Build system
|
||||||
|
|
||||||
|
Soules - document thyself
|
||||||
|
|
||||||
|
Radsaq - document thyself
|
||||||
|
|
||||||
|
-----------------------------------------
|
||||||
|
Included components:
|
||||||
|
|
||||||
|
Mitsutaka Okazaki
|
||||||
|
YM2413 emulator.
|
||||||
|
|
||||||
|
Andrea Mazzoleni
|
||||||
|
Scale2x/Scale3x scalers
|
||||||
|
|
||||||
|
Gilles Vollant
|
||||||
|
unzip.c PKZIP fileio
|
2
INSTALL
2
INSTALL
|
@ -1,3 +1,3 @@
|
||||||
To compile and install FCE Ultra, follow these steps:
|
To compile and install FCE Ultra, follow these steps:
|
||||||
1. Ensure that SCons is installed on your system.
|
1. Ensure that SCons and SDL are installed on your system.
|
||||||
2. Run "scons"
|
2. Run "scons"
|
||||||
|
|
|
@ -26,10 +26,10 @@ Configfile parsing - lukas
|
||||||
* verify in windows - zeromus
|
* verify in windows - zeromus
|
||||||
|
|
||||||
Do we really need vc7 project? Cah4e3? - zeromus
|
Do we really need vc7 project? Cah4e3? - zeromus
|
||||||
|
|
||||||
Source code docs cleaning - zeromus
|
Source code docs cleaning - zeromus
|
||||||
Homepage docs - zeromus
|
Homepage docs - zeromus
|
||||||
Move to sourceforge SVN = zeromus
|
|
||||||
|
What is the proper gnu way to do CREDITS from the homepage? e.g. Marat Fayzullin - General NES information
|
||||||
|
|
||||||
Freenode registration - lukas
|
Freenode registration - lukas
|
||||||
* homepage update
|
* homepage update
|
||||||
|
@ -39,11 +39,15 @@ Default hotkey philosophy (there are different philosophies from XD and TAS) - A
|
||||||
Netplay - FUTURE STUFF
|
Netplay - FUTURE STUFF
|
||||||
Move server code into tree - DONE
|
Move server code into tree - DONE
|
||||||
Ensure netplay compiles
|
Ensure netplay compiles
|
||||||
|
verify netplay
|
||||||
|
|
||||||
|
----done-----
|
||||||
|
|
||||||
Move to scons - DONE
|
Move to scons - DONE
|
||||||
|
|
||||||
Merge garnet and sf repos - DONE
|
Merge garnet and sf repos - DONE
|
||||||
* Ensure gnome frontend is in repo - DONE
|
* Ensure gnome frontend is in repo - DONE
|
||||||
|
* Move to sourceforge SVN - DONE
|
||||||
|
|
||||||
--strategic--
|
--strategic--
|
||||||
|
|
||||||
|
|
|
@ -272,9 +272,13 @@ void FCEUI_FDSSelect(void);
|
||||||
|
|
||||||
int FCEUI_DatachSet(const uint8 *rcode);
|
int FCEUI_DatachSet(const uint8 *rcode);
|
||||||
|
|
||||||
|
///returns flags indicating whether emulation is paused (bit0) and whether it is single-stepping (bit1)
|
||||||
int FCEUI_EmulationPaused(void);
|
int FCEUI_EmulationPaused(void);
|
||||||
void FCEUI_SetEmulationPaused(int val); //mbg merge 7/18/06 added
|
///sets the EmulationPaused flags
|
||||||
|
void FCEUI_SetEmulationPaused(int val);
|
||||||
|
///toggles the paused bit (bit0) for EmulationPaused. caused FCEUD_DebugUpdate() to fire if the emulation pauses
|
||||||
void FCEUI_ToggleEmulationPause(void);
|
void FCEUI_ToggleEmulationPause(void);
|
||||||
|
|
||||||
void FCEUI_FrameAdvance(void);
|
void FCEUI_FrameAdvance(void);
|
||||||
|
|
||||||
/* AVI Output */
|
/* AVI Output */
|
||||||
|
|
|
@ -485,8 +485,12 @@ void UpdateRegs(HWND hwndDlg) {
|
||||||
X.PC = GetEditHex(hwndDlg,307);
|
X.PC = GetEditHex(hwndDlg,307);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///indicates whether we're under the control of the debugger
|
||||||
|
bool inDebugger = false;
|
||||||
|
|
||||||
void FCEUD_Update(uint8 *XBuf, int32 *Buffer, int Count); //HACK
|
void FCEUD_Update(uint8 *XBuf, int32 *Buffer, int Count); //HACK
|
||||||
void FCEUD_DebugBreakpoint() {
|
void FCEUD_DebugBreakpoint() {
|
||||||
|
inDebugger = true;
|
||||||
DoDebug(1);
|
DoDebug(1);
|
||||||
UpdateLogWindow();
|
UpdateLogWindow();
|
||||||
if(hMemView)UpdateMemoryView(0);
|
if(hMemView)UpdateMemoryView(0);
|
||||||
|
@ -494,6 +498,7 @@ void FCEUD_DebugBreakpoint() {
|
||||||
FCEUD_Update(0,0,0);
|
FCEUD_Update(0,0,0);
|
||||||
//FCEUD_BlitScreen(XBuf+8); //this looks odd, I know. but the pause routine is in here!!
|
//FCEUD_BlitScreen(XBuf+8); //this looks odd, I know. but the pause routine is in here!!
|
||||||
//if(logging)LogInstruction(); //logging might have been started while we were paused
|
//if(logging)LogInstruction(); //logging might have been started while we were paused
|
||||||
|
inDebugger = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateDebugger() {
|
void UpdateDebugger() {
|
||||||
|
@ -1128,7 +1133,6 @@ BOOL CALLBACK DebuggerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
|
||||||
if (FCEUI_EmulationPaused()) {
|
if (FCEUI_EmulationPaused()) {
|
||||||
UpdateRegs(hwndDlg);
|
UpdateRegs(hwndDlg);
|
||||||
FCEUI_ToggleEmulationPause();
|
FCEUI_ToggleEmulationPause();
|
||||||
UpdateDebugger();
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 105: //Step Into
|
case 105: //Step Into
|
||||||
|
@ -1151,7 +1155,7 @@ BOOL CALLBACK DebuggerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
|
||||||
else dbgstate.jsrcount = 0;
|
else dbgstate.jsrcount = 0;
|
||||||
dbgstate.stepout = 1;
|
dbgstate.stepout = 1;
|
||||||
FCEUI_SetEmulationPaused(0);
|
FCEUI_SetEmulationPaused(0);
|
||||||
UpdateDebugger();
|
//UpdateDebugger();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 107: //Step Over
|
case 107: //Step Over
|
||||||
|
|
|
@ -21,6 +21,8 @@ extern void AddBreakList();
|
||||||
void UpdateDebugger();
|
void UpdateDebugger();
|
||||||
void DoDebug(uint8 halt);
|
void DoDebug(uint8 halt);
|
||||||
|
|
||||||
|
extern bool inDebugger;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#include "../../types.h"
|
#include "../../types.h"
|
||||||
#include "../../fceu.h"
|
#include "../../fceu.h"
|
||||||
#include "../../state.h"
|
#include "../../state.h"
|
||||||
|
#include "../../debug.h"
|
||||||
#include "ppuview.h"
|
#include "ppuview.h"
|
||||||
#include "debugger.h"
|
#include "debugger.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
|
@ -67,7 +68,6 @@ int SetMainWindowStuff(void);
|
||||||
int GetClientAbsRect(LPRECT lpRect);
|
int GetClientAbsRect(LPRECT lpRect);
|
||||||
void UpdateFCEUWindow(void);
|
void UpdateFCEUWindow(void);
|
||||||
|
|
||||||
|
|
||||||
HWND hAppWnd=0;
|
HWND hAppWnd=0;
|
||||||
HINSTANCE fceu_hInstance;
|
HINSTANCE fceu_hInstance;
|
||||||
|
|
||||||
|
@ -817,13 +817,22 @@ void FCEUD_Update(uint8 *XBuf, int32 *Buffer, int Count)
|
||||||
FCEUD_BlitScreen(XBuf);
|
FCEUD_BlitScreen(XBuf);
|
||||||
_updateWindow();
|
_updateWindow();
|
||||||
|
|
||||||
//delay until we unpause
|
//delay until we unpause. we will only stick here if we're paused by a breakpoint or debug command
|
||||||
while(FCEUI_EmulationPaused())
|
while(FCEUI_EmulationPaused() && inDebugger)
|
||||||
{
|
{
|
||||||
Sleep(50);
|
Sleep(50);
|
||||||
BlockingCheck();
|
BlockingCheck();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//something of a hack, but straightforward:
|
||||||
|
//if we were paused, but not in the debugger, then unpause ourselves and step.
|
||||||
|
//this is so that the cpu won't cut off execution due to being paused, but the debugger _will_
|
||||||
|
//cut off execution as soon as it makes it into the main cpu cycle loop
|
||||||
|
if(FCEUI_EmulationPaused() && !inDebugger) {
|
||||||
|
FCEUI_ToggleEmulationPause();
|
||||||
|
FCEUI_Debugger().step = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// if(soundo) //&& temp_fps_scale >= 64
|
// if(soundo) //&& temp_fps_scale >= 64
|
||||||
// {
|
// {
|
||||||
|
|
|
@ -1783,10 +1783,6 @@
|
||||||
RelativePath="..\src\conddebug.h"
|
RelativePath="..\src\conddebug.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\src\crc32.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\debug.h"
|
RelativePath="..\src\debug.h"
|
||||||
>
|
>
|
||||||
|
@ -1799,10 +1795,6 @@
|
||||||
RelativePath="..\src\driver.h"
|
RelativePath="..\src\driver.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\src\endian.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\fceu.h"
|
RelativePath="..\src\fceu.h"
|
||||||
>
|
>
|
||||||
|
@ -1823,10 +1815,6 @@
|
||||||
RelativePath="..\src\filter.h"
|
RelativePath="..\src\filter.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\src\general.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\git.h"
|
RelativePath="..\src\git.h"
|
||||||
>
|
>
|
||||||
|
@ -1847,10 +1835,6 @@
|
||||||
RelativePath="..\src\input.h"
|
RelativePath="..\src\input.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\src\md5.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\memory.h"
|
RelativePath="..\src\memory.h"
|
||||||
>
|
>
|
||||||
|
|
Loading…
Reference in New Issue