summaryrefslogtreecommitdiff
path: root/src/ps3
diff options
context:
space:
mode:
Diffstat (limited to 'src/ps3')
-rw-r--r--src/ps3/ReadMe.md24
-rw-r--r--src/ps3/cell_loader.cpp1
-rw-r--r--src/ps3/cell_loader.h1
-rw-r--r--src/ps3/ps3.cpp1
4 files changed, 25 insertions, 2 deletions
diff --git a/src/ps3/ReadMe.md b/src/ps3/ReadMe.md
new file mode 100644
index 0000000..0c263ff
--- /dev/null
+++ b/src/ps3/ReadMe.md
@@ -0,0 +1,24 @@
+# ps3ldr
+An IDA Pro loader for PS3 Cell Lv-2 OS.
+
+## Features
+* Loads symbols
+* Processes and labels exports and imports
+* PRX relocation
+* Find and set TOC address
+
+## Usage
+### NID Database
+This loader expects an NID xml database named `ps3.xml` to be present within IDA's loaders directory. For convenience, it is the same xml database format that was used in xorloser's loader.
+
+Example:
+
+ <?xml version="1.0"?>
+ <IdaInfoDatabase>
+ <Group name="moduleName">
+ <Entry id="0x1529E506" name="cellAdecDecodeAu"/>
+ </Group>
+ </IdaInfoDatabase>
+
+### PRX Relocation
+Relocation of PRX's is possible by checking the *Manual Load* checkbox in IDA's *Load New File* dialog, then before loading the loader will ask for a relocation base address. \ No newline at end of file
diff --git a/src/ps3/cell_loader.cpp b/src/ps3/cell_loader.cpp
index f548185..f6be58a 100644
--- a/src/ps3/cell_loader.cpp
+++ b/src/ps3/cell_loader.cpp
@@ -20,6 +20,7 @@ cell_loader::cell_loader(elf_reader<elf64> *elf,
inf.demnames |= DEMNAM_GCC3; // assume gcc3 names
inf.af |= AF_PROCPTR; // Create function if data xref data->code32 exists
+ inf.filetype = f_ELF;
char databasePath[QMAXPATH];
diff --git a/src/ps3/cell_loader.h b/src/ps3/cell_loader.h
index 40581d5..fc8a386 100644
--- a/src/ps3/cell_loader.h
+++ b/src/ps3/cell_loader.h
@@ -1,4 +1,3 @@
-
#pragma once
#include "elf_reader.h"
diff --git a/src/ps3/ps3.cpp b/src/ps3/ps3.cpp
index 19920a8..53243cc 100644
--- a/src/ps3/ps3.cpp
+++ b/src/ps3/ps3.cpp
@@ -1,4 +1,3 @@
-
#include "../elf_common/elf_reader.h"
#include "cell_loader.h"
#include "sce.h"