|
|
1.1 root 1: /*
2: Hatari
3: */
4:
5: typedef struct {
6: unsigned int Address; /* Address we accessed, eg VideoSync(0xff820a) or VideoShifter(0xff8260) */
7: unsigned char Byte; /* Byte we wrote */
8: int FrameCycles; /* Clock cycles into frame */
9: } SYNCSHIFTER_ACCESS;
10:
11: typedef struct {
12: int nCount; /* Number of matching entries - when equal 'nChecks' this table is complete */
13: int nChecks; /* Number of address/byte/cycle checks in match table */
14: SYNCSHIFTER_ACCESS *pSyncShifterAccess; /* Checks to compare with */
15: void *pFunc; /* Handler function to call when table is found to match */
16: int Value; /* Value to pass to above function via 'SyncHandler_Value' */
17: } SYNCSHIFTER_ACCESS_TABLE;
18:
19: #define BORDERMASK_NONE 0x0000 /* Borders masks */
20: #define BORDERMASK_TOP 0x0001
21: #define BORDERMASK_BOTTOM 0x0002
22: #define BORDERMASK_LEFT 0x0004
23: #define BORDERMASK_RIGHT 0x0008
24:
25: extern long VideoAddress;
26: extern unsigned char VideoSyncByte,VideoShifterByte;
27: extern BOOL bUseHighRes;
28: extern int nVBLs,nHBL;
29: extern int nStartHBL,nEndHBL;
30: extern int OverscanMode;
31: extern unsigned short int HBLPalettes[(NUM_VISIBLE_LINES+1)*16];
32: extern unsigned long HBLPaletteMasks[NUM_VISIBLE_LINES+1];
33: extern unsigned short int *pHBLPalettes;
34: extern unsigned long *pHBLPaletteMasks;
35: extern unsigned long VideoBase;
36: extern unsigned long VideoRaster;
1.1.1.2 ! root 37: extern volatile int VBLCounter;
! 38: extern volatile int OldVBLCounter;
1.1 root 39:
40: extern void Video_Reset(void);
41: extern void Video_MemorySnapShot_Capture(BOOL bSave);
42: extern void Video_ClearOnVBL(void);
43: extern void Video_CalculateAddress(void);
44: extern unsigned long Video_ReadAddress(void);
45: extern void Video_InterruptHandler_VBL(void);
46: extern void Video_InterruptHandler_VBL_Pending(void);
47: extern void Video_InterruptHandler_EndLine(void);
48: extern void Video_InterruptHandler_HBL(void);
49: extern void Video_SyncHandler_SetLeftRightBorder(void);
50: extern void Video_SyncHandler_SetSyncScrollOffset(void);
51: extern void Video_SyncHandler_SetTopBorder(void);
52: extern void Video_SyncHandler_SetBottomBorder(void);
53: extern void Video_WriteToShifter(void);
54: extern void Video_WriteToSync(void);
55: extern void Video_StoreSyncShifterAccess(unsigned int Address,unsigned char Byte);
56: extern void Video_StartHBL(void);
57: extern void Video_CopyVDIScreen(void);
58: extern void Video_EndHBL(void);
59: extern void Video_SetScreenRasters(void);
60: extern void Video_SetHBLPaletteMaskPointers(void);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.