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

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

unix.superglobalmegacorp.com

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