Added PPU data display to debug window.
This commit is contained in:
parent
7d08906a89
commit
05de1a8356
|
@ -26,6 +26,7 @@
|
||||||
#include "../../cart.h"
|
#include "../../cart.h"
|
||||||
#include "../../ines.h"
|
#include "../../ines.h"
|
||||||
#include "../../asm.h"
|
#include "../../asm.h"
|
||||||
|
#include "../../ppu.h"
|
||||||
#include "../../x6502.h"
|
#include "../../x6502.h"
|
||||||
#include "../common/configSys.h"
|
#include "../common/configSys.h"
|
||||||
|
|
||||||
|
@ -37,6 +38,8 @@
|
||||||
#include "debugger.h"
|
#include "debugger.h"
|
||||||
|
|
||||||
extern Config *g_config;
|
extern Config *g_config;
|
||||||
|
extern int vblankScanLines;
|
||||||
|
extern int vblankPixel;
|
||||||
|
|
||||||
static int breakpoint_hit = 0;
|
static int breakpoint_hit = 0;
|
||||||
static void updateAllDebugWindows(void);
|
static void updateAllDebugWindows(void);
|
||||||
|
@ -449,7 +452,8 @@ void debuggerWin_t::bpListUpdate(void)
|
||||||
void debuggerWin_t::updateRegisterView(void)
|
void debuggerWin_t::updateRegisterView(void)
|
||||||
{
|
{
|
||||||
int stackPtr;
|
int stackPtr;
|
||||||
char stmp[32];
|
char stmp[64];
|
||||||
|
char str[32], str2[32];
|
||||||
std::string stackLine;
|
std::string stackLine;
|
||||||
|
|
||||||
sprintf( stmp, "%04X", X.PC );
|
sprintf( stmp, "%04X", X.PC );
|
||||||
|
@ -545,6 +549,56 @@ void debuggerWin_t::updateRegisterView(void)
|
||||||
sprintf(stmp, "%llu", break_instructions_limit);
|
sprintf(stmp, "%llu", break_instructions_limit);
|
||||||
gtk_entry_set_text( GTK_ENTRY(brk_instrs_lim_entry), stmp );
|
gtk_entry_set_text( GTK_ENTRY(brk_instrs_lim_entry), stmp );
|
||||||
|
|
||||||
|
sprintf(stmp, "PPU: 0x%04X", (int)FCEUPPU_PeekAddress());
|
||||||
|
gtk_label_set_text( GTK_LABEL(ppu_label), stmp );
|
||||||
|
|
||||||
|
sprintf(stmp, "Sprite: 0x%02X", PPU[3] );
|
||||||
|
gtk_label_set_text( GTK_LABEL(sprite_label), stmp );
|
||||||
|
|
||||||
|
extern int linestartts;
|
||||||
|
#define GETLASTPIXEL (PAL?((timestamp*48-linestartts)/15) : ((timestamp*48-linestartts)/16) )
|
||||||
|
|
||||||
|
int ppupixel = GETLASTPIXEL;
|
||||||
|
|
||||||
|
if (ppupixel>341) //maximum number of pixels per scanline
|
||||||
|
ppupixel = 0; //Currently pixel display is borked until Run 128 lines is clicked, this keeps garbage from displaying
|
||||||
|
|
||||||
|
// If not in the 0-239 pixel range, make special cases for display
|
||||||
|
if (scanline == 240 && vblankScanLines < (PAL?72:22))
|
||||||
|
{
|
||||||
|
if (!vblankScanLines)
|
||||||
|
{
|
||||||
|
// Idle scanline (240)
|
||||||
|
sprintf(str, "%d", scanline); // was "Idle %d"
|
||||||
|
} else if (scanline + vblankScanLines == (PAL?311:261))
|
||||||
|
{
|
||||||
|
// Pre-render
|
||||||
|
sprintf(str, "-1"); // was "Prerender -1"
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
// Vblank lines (241-260/310)
|
||||||
|
sprintf(str, "%d", scanline + vblankScanLines); // was "Vblank %d"
|
||||||
|
}
|
||||||
|
sprintf(str2, "%d", vblankPixel);
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
// Scanlines 0 - 239
|
||||||
|
sprintf(str, "%d", scanline);
|
||||||
|
sprintf(str2, "%d", ppupixel);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(newppu)
|
||||||
|
{
|
||||||
|
sprintf(str ,"%d",newppu_get_scanline());
|
||||||
|
sprintf(str2,"%d",newppu_get_dot());
|
||||||
|
}
|
||||||
|
|
||||||
|
sprintf( stmp, "Scanline: %s", str );
|
||||||
|
gtk_label_set_text( GTK_LABEL(scanline_label), stmp );
|
||||||
|
|
||||||
|
sprintf( stmp, "Pixel: %s", str2 );
|
||||||
|
gtk_label_set_text( GTK_LABEL(pixel_label), stmp );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is for "smart" scrolling...
|
// This function is for "smart" scrolling...
|
||||||
|
|
Loading…
Reference in New Issue