Debugger: add NTSC_GetVideoVForDebugger() just to get vert position

This commit is contained in:
tomcw 2023-01-13 21:19:10 +00:00
parent d31a831ac2
commit 3d5ed4de04
3 changed files with 10 additions and 3 deletions

View File

@ -1350,8 +1350,7 @@ int CheckBreakpointsVideo()
if (pBP->eSource != BP_SRC_VIDEO_SCANNER) if (pBP->eSource != BP_SRC_VIDEO_SCANNER)
continue; continue;
uint16_t vert, horz; uint16_t vert = NTSC_GetVideoVForDebugger(); // update video scanner's vert/horz position - needed for when in fullspeed (GH#1164)
NTSC_GetVideoHVForDebugger(vert, horz); // update video scanner's vert/horz position - needed for when in fullspeed (GH#1164)
if (_CheckBreakpointValue(pBP, vert)) if (_CheckBreakpointValue(pBP, vert))
{ {
bBreakpointHit = BP_HIT_VIDEO_POS; bBreakpointHit = BP_HIT_VIDEO_POS;
@ -8520,7 +8519,7 @@ void DebugContinueStepping(const bool bCallerWillUpdateDisplay/*=false*/)
stopReason = (g_LBR == LBR_UNDEFINED) ? StrFormat("Interrupt occurred (LBR unknown)") stopReason = (g_LBR == LBR_UNDEFINED) ? StrFormat("Interrupt occurred (LBR unknown)")
: StrFormat("Interrupt occurred at $%04X", g_LBR); : StrFormat("Interrupt occurred at $%04X", g_LBR);
else if (g_bDebugBreakpointHit & BP_HIT_VIDEO_POS) else if (g_bDebugBreakpointHit & BP_HIT_VIDEO_POS)
stopReason = StrFormat("Video scanner position matches at vpos=$%04X", g_nVideoClockVert); stopReason = StrFormat("Video scanner position matches at vpos=$%04X", NTSC_GetVideoVForDebugger());
else if (g_bDebugBreakpointHit & BP_DMA_TO_IO_MEM) else if (g_bDebugBreakpointHit & BP_DMA_TO_IO_MEM)
stopReason = StrFormat("HDD DMA to I/O memory or ROM at $%04X", g_DebugBreakOnDMAIO.memoryAddr); stopReason = StrFormat("HDD DMA to I/O memory or ROM at $%04X", g_DebugBreakOnDMAIO.memoryAddr);
else if (g_bDebugBreakpointHit & BP_DMA_FROM_IO_MEM) else if (g_bDebugBreakpointHit & BP_DMA_FROM_IO_MEM)

View File

@ -1948,6 +1948,13 @@ void NTSC_GetVideoHVForDebugger(uint16_t& vert, uint16_t& horz)
horz = g_nVideoClockHorz; horz = g_nVideoClockHorz;
} }
uint16_t NTSC_GetVideoVForDebugger(void)
{
uint16_t vert, horz;
NTSC_GetVideoHVForDebugger(vert, horz);
return vert;
}
//=========================================================================== //===========================================================================
void NTSC_SetVideoTextMode( int cols ) void NTSC_SetVideoTextMode( int cols )
{ {

View File

@ -15,6 +15,7 @@ uint32_t* NTSC_VideoGetChromaTable(bool bHueTypeMonochrome, bool bMonitorTypeCol
void NTSC_VideoClockResync(const DWORD dwCyclesThisFrame); void NTSC_VideoClockResync(const DWORD dwCyclesThisFrame);
uint16_t NTSC_VideoGetScannerAddress(const ULONG uExecutedCycles); uint16_t NTSC_VideoGetScannerAddress(const ULONG uExecutedCycles);
void NTSC_GetVideoHVForDebugger(uint16_t& vert, uint16_t& horz); void NTSC_GetVideoHVForDebugger(uint16_t& vert, uint16_t& horz);
uint16_t NTSC_GetVideoVForDebugger(void);
void NTSC_Destroy(void); void NTSC_Destroy(void);
void NTSC_VideoInit(uint8_t *pFramebuffer); void NTSC_VideoInit(uint8_t *pFramebuffer);
void NTSC_VideoReinitialize(DWORD cyclesThisFrame, bool bInitVideoScannerAddress); void NTSC_VideoReinitialize(DWORD cyclesThisFrame, bool bInitVideoScannerAddress);