mirror of
https://github.com/ARMSX2/ARMSX2.git
synced 2026-08-24 16:50:16 -07:00
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@409 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
@@ -1,87 +0,0 @@
|
||||
Pcsx2 Compilation Guide
|
||||
|
||||
Linux Users
|
||||
-----------
|
||||
|
||||
Make sure you have these packages:
|
||||
gtk2
|
||||
opengl
|
||||
libbz2
|
||||
libjpeg
|
||||
glew-dev
|
||||
libxxf86vm-dev
|
||||
x11proto-xf86vidmode
|
||||
automake and autoconf (verion >= 1.9)
|
||||
Nvidia Cg-Toolkit (http://developer.nvidia.com/object/cg_toolkit.html)
|
||||
libasound-dev
|
||||
joystick
|
||||
|
||||
When first building, the Pcsx2 programs need to configure the Makefiles for your specific OS. type:
|
||||
|
||||
# sh build.sh all
|
||||
|
||||
The program and all plugins will be installed in the pcsx2 bin dir. After that, just launch pcsx2 (make sure you have a PS2 bios dump in the bios directory).
|
||||
|
||||
To rebuild any changes to the source code type:
|
||||
# sh build.sh install
|
||||
|
||||
Typeing sh build.sh without the install will just build the programs without copying them to the bin dirctory (bin/plugins for all plugins).
|
||||
|
||||
To clean all object files type:
|
||||
# sh build.sh clean
|
||||
|
||||
If there is a plugin that is giving you errors and you want to skip it, modify the corresponding build.sh to skip it (otherwise execution of the script will stop until the error is resolved).
|
||||
|
||||
Special Options (modify PCSX2OPTIONS in build.sh)
|
||||
|
||||
--enable-debug {Build with symbols and no optimizations}
|
||||
--enable-devbuild {Build with extra tests}
|
||||
--disable-recbuild {Disables all architecture dependent recompilation code}
|
||||
--enable-sse2 {Enables x86 SSE2 extensions}
|
||||
--enable-sse3 {Force enables x86 SSE3 extensions}
|
||||
|
||||
For plugin authors: Your Makefile should support the 'install' option.
|
||||
|
||||
When debugging, make sure to add
|
||||
|
||||
handle SIGSEGV noprint ignore pass
|
||||
|
||||
to .gdbinit
|
||||
|
||||
Windows Users
|
||||
-------------
|
||||
|
||||
Make sure you have: Nvidia Cg-Toolkit (for ZeroGS)
|
||||
|
||||
Open the corresponding Visual Studio sln files for all projects, compile, and move the executables appropriately. Pcsx2 and some plugins require masm to assemble (ml for win32, ml64 for win64).
|
||||
|
||||
At the moment, MinGW is not supported, however there's a good chance the cygwin toolset will work.
|
||||
|
||||
|
||||
email zerofrog@gmail.com for any compilation/linking issues in any Linux/Windows distribution.
|
||||
|
||||
Global defines
|
||||
--------------
|
||||
|
||||
Pcsx2 uses global defines to detect the OS, architecture, and different compilation options. They are:
|
||||
|
||||
_MSC_VER - used to detect Visual Studio's cl compiler
|
||||
|
||||
_WIN32 - used to detect windows compilation
|
||||
|
||||
__LINUX__ - used to detect linux compilation (a lot of times it is assumed that linux is running when _WIN32 is missing)
|
||||
|
||||
__x86_64__ - defined for x86-64 architectures only.
|
||||
|
||||
PCSX2_DEVBUILD - used to enable runtime debugging and developer specific features of pcsx2 (disabled on releases)
|
||||
|
||||
PCSX2_VIRTUAL_MEM - switches the way pcsx2 handles memory. VM enabled builds are valid for both windows and linux and they speed up games. However, there are less stable than TLB builds.
|
||||
|
||||
PCSX2_NORECBUILD - ignore all recompiler code so that Pcsx2 can be built for different architectures. Note that there are a couple of places that use asm code even in interpreter (coroutines in IPU).
|
||||
|
||||
_DEBUG - build with extra debug information
|
||||
NDEBUG - build without absolutely no debug information
|
||||
|
||||
ZEROGS_SSE2 - controls sse2 usage in zerogs
|
||||
|
||||
compile with -D_FILE_OFFSET_BITS=64 if iso is failing to load large files
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 245 KiB |
@@ -1,183 +0,0 @@
|
||||
<!-- NOTES:
|
||||
When converting a 'Master Code', do NOT include the patch if it's address starts with '9' or 'F'.
|
||||
memory.c:
|
||||
RAM
|
||||
0x00100000-0x01ffffff this is the physical address for the ram.its cached there
|
||||
0x20100000-0x21ffffff uncached
|
||||
0x30100000-0x31ffffff uncached & acceleretade
|
||||
0xa0000000-0xa1ffffff MIRROR might...???
|
||||
0x80000000-0x81ffffff MIRROR might... ????
|
||||
|
||||
1xxxxxxx is reserved for mapping of hardware registers (GS, IPU, DMA etc.), If your patch address
|
||||
(when porting from CB, AR, GS etc) is in this range, simply change the leading '1' to 0 (to be
|
||||
consitant, though it could be put at 2,3).
|
||||
|
||||
IOP is mapped at 0xbc000000 - 0xbc1fffff.
|
||||
|
||||
GAME:
|
||||
The master container for the entire patch, all your patches must fall within the openning tag and
|
||||
the closing tag!
|
||||
title=""
|
||||
The games name, it's prefered that you follow the standard layout used in betatesting, this is
|
||||
clear to the end user as it is displayed in the console window. I personally place the CRC of
|
||||
the patch in addition to the title, so they can clearly see what patch is in operation.
|
||||
|
||||
COMMENT:
|
||||
The <comment> tag is the traditional comment tag which displays in the console output, you can put
|
||||
anything here, though it's recommended that the Author / Source Authors (eg; Cheat Author) names
|
||||
are placed here.
|
||||
|
||||
XML COMMENT:
|
||||
You may notice that this piece of text is contained within XML comment tags, you can use these freely
|
||||
to add notes, disable areas (so they don't show in the GUI) etc
|
||||
|
||||
GROUP:
|
||||
Acts as a 'folder', to contain groups, multi liner grouped patches and single line patches. A <group>
|
||||
allows you to enable or disable everything contained within it. If you wrap a <group></group> around
|
||||
-untitled- <patch> entries, it causes the grouped <patch>'es to act as one - aka 'multi liner grouped'
|
||||
(eg; patches that write multiple values to memory, but have one effect, such as 4 values to raise
|
||||
character X's MP).
|
||||
title=""
|
||||
Gives the groups name that will be displayed in the GUI.
|
||||
enabled=""
|
||||
All patches are off by default, until turned on via the GUI via a tickbox, however by setting
|
||||
enabled="true" in the patch, this overrides the default state, usefull for "Emulation Fixes" that
|
||||
force the game to work!
|
||||
|
||||
PATCH:
|
||||
The core reason this whole thing exists!
|
||||
title=""
|
||||
If the patch only requires one address for data to be written to, the patch must have a name! This
|
||||
allows it to show up in the GUI as "whatever title you gave it" and can be toggled on and off via
|
||||
the GUI. If the patch needs multiple addresses it must have -no- title="" text and be wrapped in a
|
||||
<group> so that all <patch> enties are enabled at once.
|
||||
applymode=""
|
||||
Has two values "startup"/"vsync", exactly the same as the old patch=0/1, if set to "startup" the
|
||||
patch will be applied when the ELF boots (or once if game is already running), if set to "vsync"
|
||||
the patch is applied every vsync (50/60
|
||||
times per second).
|
||||
Startup: is best used when the address only needs to be patched once and isn't effected anywhere by
|
||||
the game.
|
||||
Vsync: is best used when the value could be altered by the game, eg; INF money, INF HP etc.
|
||||
address="FFFFFFFF"
|
||||
Where are you putting the 'value'?
|
||||
size=""
|
||||
This can be set to 8,16,32,64
|
||||
8 (Byte): Address can have any ending. Max 8bit value FF.
|
||||
16 (Short): Address must end with 0, 2, 4, 6, 8, a, c, e. Max 16bit value FFFF.
|
||||
32 (Word): Address must end with 0, 4, 8, c. Max 32bit value FFFFFFFF.
|
||||
64 (Double): Address must end with 0, 8. Max 64bit value FFFFFFFFFFFFFFFF.
|
||||
value="FFFFFFFF"
|
||||
What are you writing to 'address'? -->
|
||||
|
||||
<GAME title="Final Fantasy X [SCES 50490] (E) [A39517AB]">
|
||||
<COMMENT>patches by CKemu</COMMENT>
|
||||
|
||||
<GROUP title="General Cheats">
|
||||
<PATCH title="Max Gil" applymode="vsync" address="0031D218" size="32" value="05F5E0FF"/>
|
||||
<GROUP title="All Aeons Activated">
|
||||
<PATCH applymode="vsync" address="0031EFFC" size="8" value="11"/>
|
||||
<PATCH applymode="vsync" address="0031F090" size="8" value="11"/>
|
||||
<PATCH applymode="vsync" address="0031F124" size="8" value="11"/>
|
||||
<PATCH applymode="vsync" address="0031F1B8" size="8" value="11"/>
|
||||
<PATCH applymode="vsync" address="0031F24C" size="8" value="11"/>
|
||||
<PATCH applymode="vsync" address="0031F2E0" size="8" value="11"/>
|
||||
<PATCH applymode="vsync" address="0031F374" size="8" value="11"/>
|
||||
<PATCH applymode="vsync" address="0031F408" size="8" value="11"/>
|
||||
<PATCH applymode="vsync" address="0031F49C" size="8" value="11"/>
|
||||
</GROUP>
|
||||
<GROUP title="Have All Items">
|
||||
<PATCH applymode="vsync" address="000FFF30" size="32" value="96F30000"/>
|
||||
<PATCH applymode="vsync" address="000FFF38" size="32" value="26730001"/>
|
||||
<PATCH applymode="vsync" address="000FFF3C" size="32" value="A6F30002"/>
|
||||
<PATCH applymode="vsync" address="000FFF40" size="32" value="8FA20000"/>
|
||||
<PATCH applymode="vsync" address="000FFF48" size="32" value="080932B5"/>
|
||||
<PATCH applymode="vsync" address="0024CACC" size="32" value="0803FFCC"/>
|
||||
<PATCH applymode="vsync" address="0024C9D4" size="32" value="24110063"/>
|
||||
<PATCH applymode="vsync" address="0024C9E0" size="32" value="A2D10000"/>
|
||||
<PATCH applymode="vsync" address="0031D39C" size="32" value="20012000"/>
|
||||
</GROUP>
|
||||
<GROUP title="Have All Key Items">
|
||||
<PATCH applymode="vsync" address="0031D95C" size="32" value="FFFFFFFF"/>
|
||||
<PATCH applymode="vsync" address="0031D960" size="32" value="000FFFFB"/>
|
||||
<PATCH applymode="vsync" address="0031983C" size="32" value="00000101"/>
|
||||
</GROUP>
|
||||
<GROUP title="All OverDrives">
|
||||
<PATCH applymode="vsync" address="0031D23C" size="32" value="FFFFFFFF"/>
|
||||
<PATCH applymode="vsync" address="0031D240" size="32" value="FFFFFFFF"/>
|
||||
<PATCH applymode="vsync" address="0031D244" size="32" value="FFFFFFFF"/>
|
||||
</GROUP>
|
||||
<GROUP title="All OverDrive Modes for Everyone">
|
||||
<PATCH applymode="vsync" address="0031EB24" size="32" value="0001FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EC4C" size="32" value="0001FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EE9C" size="32" value="0001FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031ED74" size="32" value="0001FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EBB8" size="32" value="0001FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EE08" size="32" value="0001FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031ECE0" size="32" value="0001FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EF30" size="32" value="0001FFFF"/>
|
||||
</GROUP>
|
||||
<GROUP title="HyperMode">
|
||||
<PATCH applymode="vsync" address="0011ADA4" size="32" value="00000003"/>
|
||||
<PATCH applymode="vsync" address="0057F68C" size="32" value="43800000"/>
|
||||
</GROUP>
|
||||
</GROUP>
|
||||
|
||||
<GROUP title="Tidus">
|
||||
<PATCH title="Overdrive Meter Maxed" applymode="vsync" address="0031EAD5" size="8" value="FF"/>
|
||||
<PATCH title="Max Sphere Level (99)" applymode="vsync" address="0031EAD7" size="8" value="63"/>
|
||||
<PATCH title="Max Strength (255)" applymode="vsync" address="0031EACB" size="8" value="FF"/>
|
||||
<PATCH title="Max Defence (255)" applymode="vsync" address="0031EACC" size="8" value="FF"/>
|
||||
<PATCH title="Max Magic (255)" applymode="vsync" address="0031EACD" size="8" value="FF"/>
|
||||
<PATCH title="Max Magic Defence (255)" applymode="vsync" address="0031EACE" size="8" value="FF"/>
|
||||
<PATCH title="Max Agility (255)" applymode="vsync" address="0031EACF" size="8" value="FF"/>
|
||||
<PATCH title="Max Luck (255)" applymode="vsync" address="0031EAD0" size="8" value="FF"/>
|
||||
<PATCH title="Max Evasion (255)" applymode="vsync" address="0031EAD1" size="8" value="FF"/>
|
||||
<PATCH title="Max Accuracy (255)" applymode="vsync" address="0031EAD2" size="8" value="FF"/>
|
||||
<GROUP title="Max HP (99,999)">
|
||||
<PATCH applymode="vsync" address="0031EAB8" size="32" value="0001869F"/>
|
||||
<PATCH applymode="vsync" address="0031EAC0" size="32" value="0001869F"/>
|
||||
</GROUP>
|
||||
<GROUP title="Max MP (9,999)">
|
||||
<PATCH applymode="vsync" address="0031EABC" size="16" value="270F"/>
|
||||
<PATCH applymode="vsync" address="0031EAC4" size="16" value="270F"/>
|
||||
</GROUP>
|
||||
<GROUP title="Have All Skills, White Magics and Black Magic">
|
||||
<PATCH applymode="vsync" address="0031EADA" size="16" value="FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EADC" size="16" value="FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EADE" size="16" value="FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EAE0" size="16" value="FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EAE2" size="16" value="FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EAE4" size="16" value="FFFF"/>
|
||||
</GROUP>
|
||||
</GROUP>
|
||||
|
||||
<GROUP title="Auron">
|
||||
<PATCH title="Overdrive Meter Maxed" applymode="vsync" address="0031EBFD" size="8" value="FF"/>
|
||||
<PATCH title="Max Sphere Level (99)" applymode="vsync" address="0031EBFF" size="8" value="63"/>
|
||||
<PATCH title="Max Strength (255)" applymode="vsync" address="0031EBF3" size="8" value="FF"/>
|
||||
<PATCH title="Max Defence (255)" applymode="vsync" address="0031EBF4" size="8" value="FF"/>
|
||||
<PATCH title="Max Magic (255)" applymode="vsync" address="0031EBF5" size="8" value="FF"/>
|
||||
<PATCH title="Max Magic Defence (255)" applymode="vsync" address="0031EBF6" size="8" value="FF"/>
|
||||
<PATCH title="Max Agility (255)" applymode="vsync" address="0031EBF7" size="8" value="FF"/>
|
||||
<PATCH title="Max Luck (255)" applymode="vsync" address="0031EBF8" size="8" value="FF"/>
|
||||
<PATCH title="Max Evasion (255)" applymode="vsync" address="0031EBF9" size="8" value="FF"/>
|
||||
<PATCH title="Max Accuracy (255)" applymode="vsync" address="0031EBFA" size="8" value="FF"/>
|
||||
<GROUP title="Max HP (99,999)">
|
||||
<PATCH applymode="vsync" address="0031EBE8" size="32" value="0001869F"/>
|
||||
<PATCH applymode="vsync" address="0031EBE0" size="32" value="0001869F"/>
|
||||
</GROUP>
|
||||
<GROUP title="Max MP (9,999)">
|
||||
<PATCH applymode="vsync" address="0031EBEC" size="16" value="270F"/>
|
||||
<PATCH applymode="vsync" address="0031EBE4" size="16" value="270F"/>
|
||||
</GROUP>
|
||||
<GROUP title="Have All Skills, White Magics and Black Magic">
|
||||
<PATCH applymode="vsync" address="0031EC02" size="16" value="FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EC04" size="16" value="FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EC06" size="16" value="FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EC08" size="16" value="FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EC0A" size="16" value="FFFF"/>
|
||||
<PATCH applymode="vsync" address="0031EC0C" size="16" value="FFFF"/>
|
||||
</GROUP>
|
||||
</GROUP>
|
||||
</GAME>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user