1 2{$IFDEF OGC_INTERFACE} 3const 4 LC_BASEPREFIX = $e000; 5 LC_BASE = ( LC_BASEPREFIX shl 16 ); 6 7procedure DCEnable; cdecl; external; 8 9procedure DCDisable; cdecl; external; 10 11procedure DCFreeze; cdecl; external; 12 13procedure DCUnfreeze; cdecl; external; 14 15procedure DCFlashInvalidate; cdecl; external; 16 17procedure DCInvalidateRange(startaddress: pointer; len: cuint32); cdecl; external; 18 19procedure DCFlushRange(startaddress: pointer; len: cuint32); cdecl; external; 20 21procedure DCStoreRange(startaddress: pointer; len: cuint32); cdecl; external; 22 23procedure DCFlushRangeNoSync(startaddress: pointer; len: cuint32); cdecl; external; 24 25procedure DCStoreRangeNoSync(startaddress: pointer; len: cuint32); cdecl; external; 26 27procedure DCZeroRange(startaddress: pointer; len: cuint32); cdecl; external; 28 29procedure DCTouchRange(startaddress: pointer; len: cuint32); cdecl; external; 30 31procedure ICSync; cdecl; external; 32 33procedure ICFlashInvalidate; cdecl; external; 34 35 36{$ifdef HW_RVL} 37procedure L2Enhance(); cdecl; external; 38{$endif} 39 40procedure ICEnable; cdecl; external; 41 42procedure ICDisable; cdecl; external; 43 44procedure ICFreeze; cdecl; external; 45 46procedure ICUnfreeze; cdecl; external; 47 48procedure ICBlockInvalidate(startaddress: pointer); cdecl; external; 49 50procedure ICInvalidateRange(startaddress: pointer; len: cuint32); cdecl; external; 51 52procedure LCEnable; cdecl; external; 53 54procedure LCDisable; cdecl; external; 55 56procedure LCLoadBlocks(par0, par1: pointer; par2: cuint32); cdecl; external; 57 58procedure LCStoreBlocks(par0, par1: pointer; par2: cuint32); cdecl; external; 59 60function LCLoadData(par0, par1: pointer; par2: cuint32): cuint32; cdecl; external; 61 62function LCStoreData(par0, par1: pointer; par2: cuint32): cuint32; cdecl; external; 63 64function LCQueueLength: cuint32; cdecl; external; 65 66function LCQueueWait(par0: cuint32): cuint32; cdecl; external; 67 68procedure LCFlushQueue; cdecl; external; 69 70procedure LCAlloc(par0: pointer; par1: cuint32); cdecl; external; 71 72procedure LCAllocNoInvalidate(par0: pointer; par1: cuint32); cdecl; external; 73 74procedure LCAllocOneTag(par0: cBOOL; par1: pointer); cdecl; external; 75 76procedure LCAllocTags(par0: cBOOL; par1: pointer; par2: cuint32); cdecl; external; 77 78 79function LCGetBase(): cint32; inline; 80{$ENDIF OGC_INTERFACE} 81 82{$IFDEF OGC_IMPLEMENTATION} 83function LCGetBase(): cint32; inline; 84begin 85 LCGetBase := cint32(pointer(LC_BASE)^); 86end; 87{$ENDIF OGC_IMPLEMENTATION} 88