NetPlay: completely redone - should be somewhat usable when using Single Core and...
[dolphin.git] / Source / Core / Core / Src / HW / EXI_DeviceIPL.h
blobb2e3dcc54f848a8e8dc5dce29b06e633ef446d46
1 // Copyright (C) 2003 Dolphin Project.
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, version 2.0.
7 // This program is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 // GNU General Public License 2.0 for more details.
12 // A copy of the GPL 2.0 should have been included with the program.
13 // If not, see http://www.gnu.org/licenses/
15 // Official SVN repository and contact information can be found at
16 // http://code.google.com/p/dolphin-emu/
18 #ifndef _EXIDEVICE_IPL_H
19 #define _EXIDEVICE_IPL_H
21 #include "EXI_Device.h"
22 #include "Sram.h"
24 class CEXIIPL : public IEXIDevice
26 public:
27 CEXIIPL();
28 virtual ~CEXIIPL();
30 virtual void SetCS(int _iCS);
31 bool IsPresent();
32 void DoState(PointerWrap &p);
34 static u32 GetGCTime();
35 static u32 GetNetGCTime();
37 static void Descrambler(u8* data, u32 size);
39 private:
40 enum
42 ROM_SIZE = 1024*1024*2,
43 ROM_MASK = (ROM_SIZE - 1)
46 // Region
47 bool m_bNTSC;
49 //! IPL
50 u8* m_pIPL;
52 // STATE_TO_SAVE
53 //! RealTimeClock
54 u8 m_RTC[4];
56 //! SRam
57 SRAM m_SRAM;
59 //! Helper
60 u32 m_uPosition;
61 u32 m_uAddress;
62 u32 m_uRWOffset;
64 char m_szBuffer[256];
65 int m_count;
66 bool m_FontsLoaded;
68 virtual void TransferByte(u8 &_uByte);
70 void LoadFileToIPL(std::string filename, u32 offset);
73 #endif