2020-11-11 21:15:27 +00:00
|
|
|
#pragma once
|
|
|
|
|
2020-12-29 21:45:56 +00:00
|
|
|
#include "Video.h" // NB. needed by GCC (for fwd enum declaration)
|
2020-12-29 21:17:03 +00:00
|
|
|
|
2014-12-31 22:53:55 +00:00
|
|
|
// Globals (Public)
|
2020-12-29 21:45:56 +00:00
|
|
|
extern uint16_t g_nVideoClockVert;
|
|
|
|
extern uint16_t g_nVideoClockHorz;
|
|
|
|
extern uint32_t g_nChromaSize;
|
2014-12-31 22:53:55 +00:00
|
|
|
|
|
|
|
// Prototypes (Public) ________________________________________________
|
2020-12-29 21:45:56 +00:00
|
|
|
void NTSC_SetVideoMode(uint32_t uVideoModeFlags, bool bDelay=false);
|
|
|
|
void NTSC_SetVideoStyle(void);
|
|
|
|
void NTSC_SetVideoTextMode(int cols);
|
|
|
|
uint32_t* NTSC_VideoGetChromaTable(bool bHueTypeMonochrome, bool bMonitorTypeColorTV);
|
|
|
|
void NTSC_VideoClockResync(const DWORD dwCyclesThisFrame);
|
|
|
|
uint16_t NTSC_VideoGetScannerAddress(const ULONG uExecutedCycles);
|
2022-10-02 19:23:54 +00:00
|
|
|
void NTSC_UpdateVideoHVForDebugger(void);
|
2020-12-29 21:45:56 +00:00
|
|
|
void NTSC_Destroy(void);
|
|
|
|
void NTSC_VideoInit(uint8_t *pFramebuffer);
|
|
|
|
void NTSC_VideoReinitialize(DWORD cyclesThisFrame, bool bInitVideoScannerAddress);
|
|
|
|
void NTSC_VideoInitAppleType(void);
|
|
|
|
void NTSC_VideoInitChroma(void);
|
|
|
|
void NTSC_VideoUpdateCycles(UINT cycles6502);
|
|
|
|
void NTSC_VideoRedrawWholeScreen(void);
|
2019-06-28 20:34:34 +00:00
|
|
|
|
2020-12-29 21:45:56 +00:00
|
|
|
void NTSC_SetRefreshRate(VideoRefreshRate_e rate);
|
|
|
|
UINT NTSC_GetCyclesPerFrame(void);
|
|
|
|
UINT NTSC_GetCyclesPerLine(void);
|
|
|
|
UINT NTSC_GetVideoLines(void);
|
|
|
|
UINT NTSC_GetCyclesUntilVBlank(int cycles);
|
|
|
|
bool NTSC_IsVisible(void);
|
2022-10-02 15:28:03 +00:00
|
|
|
uint16_t NTSC_GetScannerAddressAndData(uint32_t& data, int& dataSize);
|