/[pcsx2_0.9.7]/trunk/pcsx2/vtlb.h
ViewVC logotype

Diff of /trunk/pcsx2/vtlb.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 31 by william, Tue Sep 7 03:24:11 2010 UTC revision 62 by william, Tue Sep 7 11:08:22 2010 UTC
# Line 1  Line 1 
1    /*  PCSX2 - PS2 Emulator for PCs
2     *  Copyright (C) 2002-2010  PCSX2 Dev Team
3     *
4     *  PCSX2 is free software: you can redistribute it and/or modify it under the terms
5     *  of the GNU Lesser General Public License as published by the Free Software Found-
6     *  ation, either version 3 of the License, or (at your option) any later version.
7     *
8     *  PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
9     *  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
10     *  PURPOSE.  See the GNU General Public License for more details.
11     *
12     *  You should have received a copy of the GNU General Public License along with PCSX2.
13     *  If not, see <http://www.gnu.org/licenses/>.
14     */
15    
16  #pragma once  #pragma once
17    
18    #include "MemoryTypes.h"
19    
20  // Specialized function pointers for each read type  // Specialized function pointers for each read type
21  typedef  mem8_t __fastcall vtlbMemR8FP(u32 addr);  typedef  mem8_t __fastcall vtlbMemR8FP(u32 addr);
22  typedef  mem16_t __fastcall vtlbMemR16FP(u32 addr);  typedef  mem16_t __fastcall vtlbMemR16FP(u32 addr);
# Line 51  extern void vtlb_VMapUnmap(u32 vaddr,u32 Line 67  extern void vtlb_VMapUnmap(u32 vaddr,u32
67    
68  //Memory functions  //Memory functions
69    
70  extern mem8_t __fastcall vtlb_memRead8(u32 mem);  template< typename DataType >
71  extern mem16_t __fastcall vtlb_memRead16(u32 mem);  extern DataType __fastcall vtlb_memRead(u32 mem);
72  extern u32 __fastcall vtlb_memRead32(u32 mem);  extern void __fastcall vtlb_memRead64(u32 mem, mem64_t *out);
73  extern void __fastcall vtlb_memRead64(u32 mem, u64 *out);  extern void __fastcall vtlb_memRead128(u32 mem, mem128_t *out);
74  extern void __fastcall vtlb_memRead128(u32 mem, u64 *out);  
75  extern void __fastcall vtlb_memWrite8 (u32 mem, mem8_t  value);  template< typename DataType >
76  extern void __fastcall vtlb_memWrite16(u32 mem, mem16_t value);  extern void __fastcall vtlb_memWrite(u32 mem, DataType value);
77  extern void __fastcall vtlb_memWrite32(u32 mem, u32 value);  extern void __fastcall vtlb_memWrite64(u32 mem, const mem64_t* value);
78  extern void __fastcall vtlb_memWrite64(u32 mem, const u64* value);  extern void __fastcall vtlb_memWrite128(u32 mem, const mem128_t* value);
 extern void __fastcall vtlb_memWrite128(u32 mem, const u64* value);  
79    
80  extern void vtlb_DynGenWrite(u32 sz);  extern void vtlb_DynGenWrite(u32 sz);
81  extern void vtlb_DynGenRead32(u32 bits, bool sign);  extern void vtlb_DynGenRead32(u32 bits, bool sign);
# Line 72  extern void vtlb_DynGenRead32_Const( u32 Line 87  extern void vtlb_DynGenRead32_Const( u32
87    
88  namespace vtlb_private  namespace vtlb_private
89  {  {
90          static const uint VTLB_ALLOC_SIZE = 0x2900000;  //this is a bit more than required          // Allocate enough memory for both EE and IOP memory space (IOP is roughly 2.5mb,
91            // so we alloc 4mb for now -- a little more than is needed).
92            static const uint VTLB_ALLOC_SIZE = sizeof(*eeMem) + (_1mb*4);
93    
94          static const uint VTLB_PAGE_BITS = 12;          static const uint VTLB_PAGE_BITS = 12;
95          static const uint VTLB_PAGE_MASK = 4095;          static const uint VTLB_PAGE_MASK = 4095;

Legend:
Removed from v.31  
changed lines
  Added in v.62

  ViewVC Help
Powered by ViewVC 1.1.22