--- hatari/src/includes/video.h 2019/04/09 08:47:19 1.1.1.12 +++ hatari/src/includes/video.h 2019/04/09 08:55:45 1.1.1.18 @@ -1,8 +1,8 @@ /* Hatari - video.h - This file is distributed under the GNU Public License, version 2 or at - your option any later version. Read the file gpl.txt for details. + This file is distributed under the GNU General Public License, version 2 + or at your option any later version. Read the file gpl.txt for details. */ #ifndef HATARI_VIDEO_H @@ -75,7 +75,7 @@ #define LINE_END_CYCLE_60 372 /* LINE_START_CYCLE_60 + 320 */ #define LINE_END_CYCLE_71 160 #define LINE_END_CYCLE_NO_RIGHT 460 /* 372 + 44*2 */ -#define LINE_END_CYCLE_50_2 (LINE_END_CYCLE_50+44*2) /* used in enchanted lands */ +#define LINE_END_CYCLE_50_2 (LINE_END_CYCLE_50+44*2) /* 464, used in enchanted lands */ #define LINE_END_CYCLE_FULL 512 /* used in enchanted lands */ #define LINE_SCROLL_13_CYCLE_50 20 /* 13 pixels right "hardware" scrolling */ #define LINE_SCROLL_9_CYCLE_50 24 /* 9 pixels right "hardware" scrolling */ @@ -89,6 +89,7 @@ /* Bytes for opened left and right border: */ #define BORDERBYTES_NORMAL 160 /* size of a "normal" line */ #define BORDERBYTES_LEFT 26 +#define BORDERBYTES_LEFT_2_STE 20 #define BORDERBYTES_RIGHT 44 #define BORDERBYTES_RIGHT_FULL 22 @@ -100,7 +101,7 @@ #define VBL_VIDEO_CYCLE_OFFSET_STE (64+4) /* 4 cycles difference on STE */ #define HBL_VIDEO_CYCLE_OFFSET 0 /* cycles after end of current line (ie on every 512 cycles in 50 Hz) */ -#define TIMERB_VIDEO_CYCLE_OFFSET 28 /* cycles after last displayed pixels : 376+28 in 50 Hz or 372+28 in 60 Hz */ +#define TIMERB_VIDEO_CYCLE_OFFSET 24 /* cycles after last displayed pixels : 376+24 in 50 Hz or 372+24 in 60 Hz */ /* This is when ff8205/07/09 are reloaded with the content of ff8201/03 (on line 310 in 50 Hz) */ #define RESTART_VIDEO_COUNTER_CYCLE_STF ( (SCANLINES_PER_FRAME_50HZ-3) * CYCLES_PER_LINE_50HZ + 48 ) @@ -112,16 +113,15 @@ extern int STRes; extern int TTRes; extern int nFrameSkips; -extern bool bUseSTShifter; extern bool bUseHighRes; extern int nVBLs; extern int nHBL; extern int nStartHBL; extern int nEndHBL; extern int OverscanMode; -extern Uint16 HBLPalettes[]; +extern Uint16 HBLPalettes[HBL_PALETTE_LINES]; extern Uint16 *pHBLPalettes; -extern Uint32 HBLPaletteMasks[]; +extern Uint32 HBLPaletteMasks[HBL_PALETTE_MASKS]; extern Uint32 *pHBLPaletteMasks; extern Uint32 VideoBase; extern int nScreenRefreshRate; @@ -132,14 +132,14 @@ extern int nCyclesPerLine; extern int LineTimerBCycle; extern int TimerBEventCountCycleStart; -extern int LastCycleHblException; - +#define HBL_JITTER_ARRAY_SIZE 5 extern int HblJitterIndex; -extern int HblJitterArray[]; -extern int HblJitterArrayPending[]; +extern const int HblJitterArray[HBL_JITTER_ARRAY_SIZE]; +extern const int HblJitterArrayPending[HBL_JITTER_ARRAY_SIZE]; +#define VBL_JITTER_ARRAY_SIZE 5 extern int VblJitterIndex; -extern int VblJitterArray[]; -extern int VblJitterArrayPending[]; +extern const int VblJitterArray[VBL_JITTER_ARRAY_SIZE]; +extern const int VblJitterArrayPending[VBL_JITTER_ARRAY_SIZE]; /*--------------------------------------------------------------*/ @@ -165,6 +165,7 @@ extern void Video_InterruptHandler_EndLi extern void Video_SetScreenRasters(void); extern void Video_GetTTRes(int *width, int *height, int *bpp); +extern bool Video_RenderTTScreen(void); extern void Video_AddInterruptTimerB ( int Pos ); @@ -196,6 +197,22 @@ extern void Video_Color12_WriteWord(void extern void Video_Color13_WriteWord(void); extern void Video_Color14_WriteWord(void); extern void Video_Color15_WriteWord(void); +extern void Video_Color0_ReadWord(void); +extern void Video_Color1_ReadWord(void); +extern void Video_Color2_ReadWord(void); +extern void Video_Color3_ReadWord(void); +extern void Video_Color4_ReadWord(void); +extern void Video_Color5_ReadWord(void); +extern void Video_Color6_ReadWord(void); +extern void Video_Color7_ReadWord(void); +extern void Video_Color8_ReadWord(void); +extern void Video_Color9_ReadWord(void); +extern void Video_Color10_ReadWord(void); +extern void Video_Color11_ReadWord(void); +extern void Video_Color12_ReadWord(void); +extern void Video_Color13_ReadWord(void); +extern void Video_Color14_ReadWord(void); +extern void Video_Color15_ReadWord(void); extern void Video_ShifterMode_WriteByte(void); extern void Video_HorScroll_Write_8264(void); extern void Video_HorScroll_Write_8265(void); @@ -204,4 +221,6 @@ extern void Video_TTShiftMode_WriteWord( extern void Video_TTColorRegs_WriteWord(void); extern void Video_TTColorSTRegs_WriteWord(void); +extern void Video_Info(FILE *fp, Uint32 dummy); + #endif /* HATARI_VIDEO_H */