|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.