Annotation of hatari/src/includes/intercept.h, revision 1.1.1.3

1.1       root        1: /*
1.1.1.3 ! root        2:   Hatari - intercept.h
1.1       root        3: 
1.1.1.3 ! root        4:   This file is distributed under the GNU Public License, version 2 or at
        !             5:   your option any later version. Read the file gpl.txt for details.
        !             6: */
1.1       root        7: 
1.1.1.3 ! root        8: #ifndef HATARI_INTERCEPT_H
        !             9: #define HATARI_INTERCEPT_H
1.1       root       10: 
                     11: 
1.1.1.3 ! root       12: #define INTERCEPT_WORKSPACE_SIZE  (10*1024)  /* 10k, size of intercept lists */
1.1.1.2   root       13: 
                     14: /* Hardware address details */
1.1.1.3 ! root       15: typedef struct
        !            16: {
1.1.1.2   root       17:   unsigned int Address;        /* ST hardware address */
                     18:   int SpanInBytes;             /* SIZE_BYTE, SIZE_WORD or SIZE_LONG */
                     19:   void *ReadFunc;              /* Read function */
                     20:   void *WriteFunc;             /* Write function */
1.1       root       21: } INTERCEPT_ACCESS_FUNC;
                     22: 
1.1.1.2   root       23: /* List of hardware address which are not documented, ie STe, TT, Falcon locations - should be unconnected on STfm */
1.1.1.3 ! root       24: typedef struct
        !            25: {
1.1       root       26:   unsigned int Start_Address;
                     27:   unsigned int End_Address;
                     28: } INTERCEPT_ADDRESSRANGE;
                     29: 
                     30: 
1.1.1.2   root       31: extern BOOL bEnableBlitter;
                     32: 
1.1       root       33: 
                     34: uae_u32 Intercept_ReadByte(uaecptr addr);
                     35: uae_u32 Intercept_ReadWord(uaecptr addr);
                     36: uae_u32 Intercept_ReadLong(uaecptr addr);
                     37: 
                     38: void Intercept_WriteByte(uaecptr addr, uae_u32 val);
                     39: void Intercept_WriteWord(uaecptr addr, uae_u32 val);
                     40: void Intercept_WriteLong(uaecptr addr, uae_u32 val);
                     41: 
                     42: 
1.1.1.2   root       43: /* Read intercept functions */
1.1       root       44: extern void Intercept_VideoHigh_ReadByte(void);
                     45: extern void Intercept_VideoMed_ReadByte(void);
                     46: extern void Intercept_VideoLow_ReadByte(void);
                     47: extern void Intercept_VideoSync_ReadByte(void);
                     48: extern void Intercept_VideoBaseLow_ReadByte(void);
                     49: extern void Intercept_LineWidth_ReadByte(void);
                     50: extern void Intercept_Colour0_ReadWord(void);
                     51: extern void Intercept_Colour1_ReadWord(void);
                     52: extern void Intercept_Colour2_ReadWord(void);
                     53: extern void Intercept_Colour3_ReadWord(void);
                     54: extern void Intercept_Colour4_ReadWord(void);
                     55: extern void Intercept_Colour5_ReadWord(void);
                     56: extern void Intercept_Colour6_ReadWord(void);
                     57: extern void Intercept_Colour7_ReadWord(void);
                     58: extern void Intercept_Colour8_ReadWord(void);
                     59: extern void Intercept_Colour9_ReadWord(void);
                     60: extern void Intercept_Colour10_ReadWord(void);
                     61: extern void Intercept_Colour11_ReadWord(void);
                     62: extern void Intercept_Colour12_ReadWord(void);
                     63: extern void Intercept_Colour13_ReadWord(void);
                     64: extern void Intercept_Colour14_ReadWord(void);
                     65: extern void Intercept_Colour15_ReadWord(void);
                     66: extern void Intercept_ShifterMode_ReadByte(void);
                     67: extern void Intercept_DiskControl_ReadWord(void);
                     68: extern void Intercept_DmaStatus_ReadWord(void);
                     69: extern void Intercept_PSGRegister_ReadByte(void);
                     70: extern void Intercept_PSGData_ReadByte(void);
                     71: extern void Intercept_MicrowireData_ReadWord(void);
                     72: extern void Intercept_Monitor_ReadByte(void);
                     73: extern void Intercept_ActiveEdge_ReadByte(void);
                     74: extern void Intercept_DataDirection_ReadByte(void);
                     75: extern void Intercept_EnableA_ReadByte(void);
                     76: extern void Intercept_EnableB_ReadByte(void);
                     77: extern void Intercept_PendingA_ReadByte(void);
                     78: extern void Intercept_PendingB_ReadByte(void);
                     79: extern void Intercept_InServiceA_ReadByte(void);
                     80: extern void Intercept_InServiceB_ReadByte(void);
                     81: extern void Intercept_MaskA_ReadByte(void);
                     82: extern void Intercept_MaskB_ReadByte(void);
                     83: extern void Intercept_VectorReg_ReadByte(void);
                     84: extern void Intercept_TimerACtrl_ReadByte(void);
                     85: extern void Intercept_TimerBCtrl_ReadByte(void);
                     86: extern void Intercept_TimerCDCtrl_ReadByte(void);
                     87: extern void Intercept_TimerAData_ReadByte(void);
                     88: extern void Intercept_TimerBData_ReadByte(void);
                     89: extern void Intercept_TimerCData_ReadByte(void);
                     90: extern void Intercept_TimerDData_ReadByte(void);
                     91: extern void Intercept_KeyboardControl_ReadByte(void);
                     92: extern void Intercept_KeyboardData_ReadByte(void);
                     93: extern void Intercept_MidiControl_ReadByte(void);
                     94: extern void Intercept_MidiData_ReadByte(void);
1.1.1.2   root       95: extern void Intercept_BlitterEndmask1_ReadWord(void);
                     96: extern void Intercept_BlitterEndmask2_ReadWord(void);
                     97: extern void Intercept_BlitterEndmask3_ReadWord(void);
                     98: extern void Intercept_BlitterDst_ReadLong(void);
                     99: extern void Intercept_BlitterWPL_ReadWord(void);
                    100: extern void Intercept_BlitterLPB_ReadWord(void);
                    101: extern void Intercept_BlitterHalftoneOp_ReadByte(void);
                    102: extern void Intercept_BlitterLogOp_ReadByte(void);
                    103: extern void Intercept_BlitterLineNum_ReadByte(void);
                    104: extern void Intercept_BlitterSkew_ReadByte(void);
1.1       root      105: 
1.1.1.2   root      106: 
                    107: /* Write intercept functions */
1.1       root      108: extern void Intercept_VideoHigh_WriteByte(void);
                    109: extern void Intercept_VideoMed_WriteByte(void);
                    110: extern void Intercept_VideoLow_WriteByte(void);
                    111: extern void Intercept_VideoSync_WriteByte(void);
                    112: extern void Intercept_VideoBaseLow_WriteByte(void);
                    113: extern void Intercept_LineWidth_WriteByte(void);
                    114: extern void Intercept_Colour0_WriteWord(void);
                    115: extern void Intercept_Colour1_WriteWord(void);
                    116: extern void Intercept_Colour2_WriteWord(void);
                    117: extern void Intercept_Colour3_WriteWord(void);
                    118: extern void Intercept_Colour4_WriteWord(void);
                    119: extern void Intercept_Colour5_WriteWord(void);
                    120: extern void Intercept_Colour6_WriteWord(void);
                    121: extern void Intercept_Colour7_WriteWord(void);
                    122: extern void Intercept_Colour8_WriteWord(void);
                    123: extern void Intercept_Colour9_WriteWord(void);
                    124: extern void Intercept_Colour10_WriteWord(void);
                    125: extern void Intercept_Colour11_WriteWord(void);
                    126: extern void Intercept_Colour12_WriteWord(void);
                    127: extern void Intercept_Colour13_WriteWord(void);
                    128: extern void Intercept_Colour14_WriteWord(void);
                    129: extern void Intercept_Colour15_WriteWord(void);
                    130: extern void Intercept_ShifterMode_WriteByte(void);
                    131: extern void Intercept_DiskControl_WriteWord(void);
                    132: extern void Intercept_DmaStatus_WriteWord(void);
                    133: extern void Intercept_PSGRegister_WriteByte(void);
                    134: extern void Intercept_PSGData_WriteByte(void);
                    135: extern void Intercept_MicrowireData_WriteWord(void);
                    136: extern void Intercept_Monitor_WriteByte(void);
                    137: extern void Intercept_ActiveEdge_WriteByte(void);
                    138: extern void Intercept_DataDirection_WriteByte(void);
                    139: extern void Intercept_EnableA_WriteByte(void);
                    140: extern void Intercept_EnableB_WriteByte(void);
                    141: extern void Intercept_PendingA_WriteByte(void);
                    142: extern void Intercept_PendingB_WriteByte(void);
                    143: extern void Intercept_InServiceA_WriteByte(void);
                    144: extern void Intercept_InServiceB_WriteByte(void);
                    145: extern void Intercept_MaskA_WriteByte(void);
                    146: extern void Intercept_MaskB_WriteByte(void);
                    147: extern void Intercept_VectorReg_WriteByte(void);
                    148: extern void Intercept_TimerACtrl_WriteByte(void);
                    149: extern void Intercept_TimerBCtrl_WriteByte(void);
                    150: extern void Intercept_TimerCDCtrl_WriteByte(void);
                    151: extern void Intercept_TimerAData_WriteByte(void);
                    152: extern void Intercept_TimerBData_WriteByte(void);
                    153: extern void Intercept_TimerCData_WriteByte(void);
                    154: extern void Intercept_TimerDData_WriteByte(void);
                    155: extern void Intercept_KeyboardControl_WriteByte(void);
                    156: extern void Intercept_KeyboardData_WriteByte(void);
                    157: extern void Intercept_MidiControl_WriteByte(void);
                    158: extern void Intercept_MidiData_WriteByte(void);
1.1.1.2   root      159: extern void Intercept_BlitterEndmask1_WriteWord(void);
                    160: extern void Intercept_BlitterEndmask2_WriteWord(void);
                    161: extern void Intercept_BlitterEndmask3_WriteWord(void);
                    162: extern void Intercept_BlitterDst_WriteLong(void);
                    163: extern void Intercept_BlitterWPL_WriteWord(void);
                    164: extern void Intercept_BlitterLPB_WriteWord(void);
                    165: extern void Intercept_BlitterHalftoneOp_WriteByte(void);
                    166: extern void Intercept_BlitterLogOp_WriteByte(void);
                    167: extern void Intercept_BlitterLineNum_WriteByte(void);
                    168: extern void Intercept_BlitterSkew_WriteByte(void);
                    169: 
1.1       root      170: 
                    171: extern void Intercept_Init(void);
                    172: extern void Intercept_UnInit(void);
                    173: extern void Intercept_CreateTable(unsigned long *pInterceptTable[],int Span,int ReadWrite);
1.1.1.2   root      174: extern void Intercept_EnableBlitter(BOOL enableFlag);
1.1       root      175: extern void Intercept_ModifyTablesForBusErrors(void);
1.1.1.3 ! root      176: extern void Intercept_NoMansLand_ReadWrite(void);
1.1       root      177: extern void Intercept_ModifyTablesForNoMansLand(void);
1.1.1.3 ! root      178: 
        !           179: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.