Forum: multiMAN - Discussion related to the wonderful multiMan multifunctional tool for your PS3 by DeanK!


The above video goes away if you are a member and logged in, so log in now!




 
Would you like to get all the new info from
PSX-Scene in your email each day?




Want to learn more about the team keeping you up to date with the latest scene news?

Read about them now!

Check out our Developer bios, too!

 


User Tag List

Like Tree10Likes

Thread: How to compile multiMAN
  

Page 2 of 7 FirstFirst 1 2 3 4 ... LastLast
Results 11 to 20 of 66
  1. #11  
    xPreatorianx is offline Sleeping for real this time!
    Join Date
    Aug 2010
    Posts
    1,790
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    349
    Likes Received
    338
    Quote Originally Posted by subcon959 View Post
    If it needs psl1ght v1 then it might be a headache if you don't know which revision as stuff was changed around almost constantly.
    No MM just needs the official Sony SDK that's it.

    Quote Originally Posted by MateoGodlike View Post
    How Would i download the Whole SRC Folder?
    On which OS are you on? For windows use mecurial, for Linux use whatever the terminal says when you try and enter the command. It should be an easy apt-get install X command.

    Here's the command to clone the repo locally
    Code:
    hg clone https://multiman.googlecode.com/hg/ multiman
    Reply With Quote  

  2. #12  
    MateoGodlike's Avatar
    MateoGodlike is offline MateoGodlike
    Join Date
    Apr 2011
    Posts
    176
    Downloads
    15
    Uploads
    0
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    7
    Likes Received
    23
    Quote Originally Posted by xPreatorianx View Post
    No MM just needs the official Sony SDK that's it.



    On which OS are you on? For windows use mecurial, for Linux use whatever the terminal says when you try and enter the command. It should be an easy apt-get install X command.

    Here's the command to clone the repo locally
    Code:
    hg clone https://multiman.googlecode.com/hg/ multiman
    Windows 7 Starter.. .... .. . .
    Join me at www.MateoGodlike.com | Any Questions Email: mateowashere@gmail.com |
    Reply With Quote  

  3. #13  
    signupnow is offline Member
    Join Date
    May 2011
    Posts
    32
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    0
    Likes Received
    2
    I just have to find a working Official SDK for linux I guess, mine is incomplete!
    EDIT: (It's OK now)

    MateoGodlike: You can Use TortoiseHg if you want a GUI.
    Last edited by signupnow; 06-15-2011 at 05:02 AM.
    Reply With Quote  

  4. #14 Unhappy PSL1ght 
    signupnow is offline Member
    Join Date
    May 2011
    Posts
    32
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    0
    Likes Received
    2
    Quote Originally Posted by xPreatorianx View Post
    No MM just needs the official Sony SDK that's it.
    Unfortunately, it needs PSL1ght V1 to compile peek&poke.
    Reply With Quote  

  5. #15  
    xPreatorianx is offline Sleeping for real this time!
    Join Date
    Aug 2010
    Posts
    1,790
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    349
    Likes Received
    338
    Quote Originally Posted by signupnow View Post
    Unfortunately, it needs PSL1ght V1 to compile peek&poke.
    Well thats not hard. Just get PSl1GHT configured as well.
    Reply With Quote  

  6. #16  
    signupnow is offline Member
    Join Date
    May 2011
    Posts
    32
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    0
    Likes Received
    2
    Quote Originally Posted by xPreatorianx View Post
    Well thats not hard. Just get PSl1GHT configured as well.
    Yes I know and I've got PSL1ght V2 which works (Compiled openPS3FTP v2.3).

    But I need the "good" PSL1ght V1 release used by Dean.
    Reply With Quote  

  7. #17  
    deank's Avatar
    deank is offline multiMAN author
    Join Date
    Dec 2005
    Location
    Sofia, Bulgaria
    Posts
    2,655
    Downloads
    3
    Uploads
    0
    Mentioned
    68 Post(s)
    Tagged
    4 Thread(s)
    Likes Given
    511
    Likes Received
    2517
    As you can see from the makefile:

    -I/psl1ght/include

    and the headers

    #include <psl1ght/lv2.h>

    it only needs lv2.h and types.h (slightly modified)

    lv2.h

    Code:
    #pragma once
    
    #include <psl1ght/types.h>
    
    // lv2 retail 3.41
    #define LV2_SYSCALL_TABLE	0x80000000002EB128ULL
    
    #define LV2_INLINE static inline __attribute__((unused))
    #define LV2_SYSCALL LV2_INLINE s32
    
    #define __lv2syscallarg0 
    #define __lv2syscallarg1 __lv2syscallarg0, u64 a1
    #define __lv2syscallarg2 __lv2syscallarg1, u64 a2
    #define __lv2syscallarg3 __lv2syscallarg2, u64 a3
    #define __lv2syscallarg4 __lv2syscallarg3, u64 a4
    #define __lv2syscallarg5 __lv2syscallarg4, u64 a5
    #define __lv2syscallarg6 __lv2syscallarg5, u64 a6
    #define __lv2syscallarg7 __lv2syscallarg6, u64 a7
    #define __lv2syscallarg8 __lv2syscallarg7, u64 a8
    #define __lv2syscallargt0 
    #define __lv2syscallargt1 u64
    #define __lv2syscallargt2 __lv2syscallargt1, u64
    #define __lv2syscallargt3 __lv2syscallargt2, u64
    #define __lv2syscallargt4 __lv2syscallargt3, u64
    #define __lv2syscallargt5 __lv2syscallargt4, u64
    #define __lv2syscallargt6 __lv2syscallargt5, u64
    #define __lv2syscallargt7 __lv2syscallargt6, u64
    #define __lv2syscallargt8 __lv2syscallargt7, u64
    #define __lv2syscall0 
    #define __lv2syscall1 a1
    #define __lv2syscall2 __lv2syscall1, a2
    #define __lv2syscall3 __lv2syscall2, a3
    #define __lv2syscall4 __lv2syscall3, a4
    #define __lv2syscall5 __lv2syscall4, a5
    #define __lv2syscall6 __lv2syscall5, a6
    #define __lv2syscall7 __lv2syscall6, a7
    #define __lv2syscall8 __lv2syscall7, a8
    
    #ifdef LV2
    #define __lv2syscall(num) \
    	LV2_INLINE u64 Lv2Syscall##num(u64 syscall __lv2syscallarg##num) \
    	{ \
    		u64 (*syscallopd)(__lv2syscallargt##num) = (u64 (*)(__lv2syscallargt##num))*(u64*)(LV2_SYSCALL_TABLE + syscall * 8); \
    		return syscallopd(__lv2syscall##num); \
    	}
    
    __lv2syscall(0);
    __lv2syscall(1);
    __lv2syscall(2);
    __lv2syscall(3);
    __lv2syscall(4);
    __lv2syscall(5);
    __lv2syscall(6);
    __lv2syscall(7);
    __lv2syscall(8);
    #else
    #define __lv2syscallclobber8 "r0", "r2", "r12", "lr", \
    	"ctr", "xer", "cr0", "cr1", "cr5", "cr6", "cr7", \
    	"memory"
    #define __lv2syscallclobber7 __lv2syscallclobber8, "r10"
    #define __lv2syscallclobber6 __lv2syscallclobber7, "r9"
    #define __lv2syscallclobber5 __lv2syscallclobber6, "r8"
    #define __lv2syscallclobber4 __lv2syscallclobber5, "r7"
    #define __lv2syscallclobber3 __lv2syscallclobber4, "r6"
    #define __lv2syscallclobber2 __lv2syscallclobber3, "r5"
    #define __lv2syscallclobber1 __lv2syscallclobber2, "r4"
    #define __lv2syscallclobber0 __lv2syscallclobber1, "r3"
    #define __lv2syscallreg(num, reg) \
    	register u64 p##num __asm__(reg) = a##num
    #define __lv2syscallregs \
    	register u64 s __asm__("11") = syscall
    #define __lv2syscallparam1(reg) reg(p1), reg(s)
    #define __lv2syscallparam2(reg) reg(p1), reg(p2), reg(s)
    #define __lv2syscallparam3(reg) reg(p1), reg(p2), reg(p3), reg(s)
    #define __lv2syscallparam4(reg) reg(p1), reg(p2), reg(p3), reg(p4), reg(s)
    #define __lv2syscallparam5(reg) reg(p1), reg(p2), reg(p3), reg(p4), reg(p5), reg(s)
    #define __lv2syscallparam6(reg) reg(p1), reg(p2), reg(p3), reg(p4), reg(p5), reg(p6), reg(s)
    #define __lv2syscallparam7(reg) reg(p1), reg(p2), reg(p3), reg(p4), reg(p5), reg(p6), reg(p7), reg(s)
    #define __lv2syscallparam8(reg) reg(p1), reg(p2), reg(p3), reg(p4), reg(p5), reg(p6), reg(p7), reg(p8), reg(s)
    LV2_INLINE u64 Lv2Syscall0(u64 syscall __lv2syscallarg0) {
    	__lv2syscallregs;
    	register u64 p1 __asm__("3") = 0;
    	__asm__ volatile("sc"
    			: __lv2syscallparam1("=r")
    			: __lv2syscallparam1("r")
    			: __lv2syscallclobber1);
    	return p1;
    }
    LV2_INLINE u64 Lv2Syscall1(u64 syscall __lv2syscallarg1) {
    	__lv2syscallregs;
    	__lv2syscallreg(1, "3");
    	__asm__ volatile("sc"
    			: __lv2syscallparam1("=r")
    			: __lv2syscallparam1("r")
    			: __lv2syscallclobber1);
    	return p1;
    }
    LV2_INLINE u64 Lv2Syscall2(u64 syscall __lv2syscallarg2) {
    	__lv2syscallregs;
    	__lv2syscallreg(1, "3");
    	__lv2syscallreg(2, "4");
    	__asm__ volatile("sc"
    			: __lv2syscallparam2("=r")
    			: __lv2syscallparam2("r")
    			: __lv2syscallclobber2);
    	return p1;
    }
    LV2_INLINE u64 Lv2Syscall3(u64 syscall __lv2syscallarg3) {
    	__lv2syscallregs;
    	__lv2syscallreg(1, "3");
    	__lv2syscallreg(2, "4");
    	__lv2syscallreg(3, "5");
    	__asm__ volatile("sc"
    			: __lv2syscallparam3("=r")
    			: __lv2syscallparam3("r")
    			: __lv2syscallclobber3);
    	return p1;
    }
    LV2_INLINE u64 Lv2Syscall4(u64 syscall __lv2syscallarg4) {
    	__lv2syscallregs;
    	__lv2syscallreg(1, "3");
    	__lv2syscallreg(2, "4");
    	__lv2syscallreg(3, "5");
    	__lv2syscallreg(4, "6");
    	__asm__ volatile("sc"
    			: __lv2syscallparam4("=r")
    			: __lv2syscallparam4("r")
    			: __lv2syscallclobber4);
    	return p1;
    }
    LV2_INLINE u64 Lv2Syscall5(u64 syscall __lv2syscallarg5) {
    	__lv2syscallregs;
    	__lv2syscallreg(1, "3");
    	__lv2syscallreg(2, "4");
    	__lv2syscallreg(3, "5");
    	__lv2syscallreg(4, "6");
    	__lv2syscallreg(5, "7");
    	__asm__ volatile("sc"
    			: __lv2syscallparam5("=r")
    			: __lv2syscallparam5("r")
    			: __lv2syscallclobber5);
    	return p1;
    }
    LV2_INLINE u64 Lv2Syscall6(u64 syscall __lv2syscallarg6) {
    	__lv2syscallregs;
    	__lv2syscallreg(1, "3");
    	__lv2syscallreg(2, "4");
    	__lv2syscallreg(3, "5");
    	__lv2syscallreg(4, "6");
    	__lv2syscallreg(5, "7");
    	__lv2syscallreg(6, "8");
    	__asm__ volatile("sc"
    			: __lv2syscallparam6("=r")
    			: __lv2syscallparam6("r")
    			: __lv2syscallclobber6);
    	return p1;
    }
    LV2_INLINE u64 Lv2Syscall7(u64 syscall __lv2syscallarg7) {
    	__lv2syscallregs;
    	__lv2syscallreg(1, "3");
    	__lv2syscallreg(2, "4");
    	__lv2syscallreg(3, "5");
    	__lv2syscallreg(4, "6");
    	__lv2syscallreg(5, "7");
    	__lv2syscallreg(6, "8");
    	__lv2syscallreg(7, "9");
    	__asm__ volatile("sc"
    			: __lv2syscallparam7("=r")
    			: __lv2syscallparam7("r")
    			: __lv2syscallclobber7);
    	return p1;
    }
    LV2_INLINE u64 Lv2Syscall8(u64 syscall __lv2syscallarg8) {
    	__lv2syscallregs;
    	__lv2syscallreg(1, "3");
    	__lv2syscallreg(2, "4");
    	__lv2syscallreg(3, "5");
    	__lv2syscallreg(4, "6");
    	__lv2syscallreg(5, "7");
    	__lv2syscallreg(6, "8");
    	__lv2syscallreg(7, "9");
    	__lv2syscallreg(8, "10");
    	__asm__ volatile("sc"
    			: __lv2syscallparam8("=r")
    			: __lv2syscallparam8("r")
    			: __lv2syscallclobber8);
    	return p1;
    }
    #endif
    
    #ifdef __cplusplus
    #define __lv2syscallcomma0
    #define __lv2syscallcomma1 ,
    #define __lv2syscallcomma2 ,
    #define __lv2syscallcomma3 ,
    #define __lv2syscallcomma4 ,
    #define __lv2syscallcomma5 ,
    #define __lv2syscallcomma6 ,
    #define __lv2syscallcomma7 ,
    #define __lv2syscallcomma8 ,
    #define __lv2syscallcpp(num) \
    	LV2_INLINE u64 Lv2Syscall(u64 syscall __lv2syscallarg##num) \
    	{ \
    		return Lv2Syscall##num(syscall __lv2syscallcomma##num __lv2syscall##num); \
    	}
    __lv2syscallcpp(0);
    __lv2syscallcpp(1);
    __lv2syscallcpp(2);
    __lv2syscallcpp(3);
    __lv2syscallcpp(4);
    __lv2syscallcpp(5);
    __lv2syscallcpp(6);
    __lv2syscallcpp(7);
    __lv2syscallcpp(8);
    #endif
    types.h
    Code:
    #pragma once
    
    #include <stdint.h>
    
    #ifndef NULL
    #define NULL 0
    #endif
    
    typedef int8_t				s8;
    typedef uint8_t				u8;
    typedef int16_t				s16;
    typedef uint16_t			u16;
    typedef int32_t				s32;
    typedef uint32_t			u32;
    typedef int64_t				s64;
    typedef uint64_t			u64;
    typedef float				f32;
    typedef double				f64;
    typedef volatile int8_t		vs8;
    typedef volatile uint8_t	vu8;
    typedef volatile int16_t	vs16;
    typedef volatile uint16_t	vu16;
    typedef volatile int32_t	vs32;
    typedef volatile uint32_t	vu32;
    typedef volatile int64_t	vs64;
    typedef volatile uint64_t	vu64;
    typedef volatile float		vf32;
    typedef volatile double		vf64;
    
    typedef struct opd64 {
    	void* 	func;
    	void* 	rtoc;
    	u64 	zero;
    } opd64;
    
    typedef struct opd32 {
    	u32 func;
    	u32 rtoc;
    } opd32;
    
    extern opd64 opd64_start[];
    extern opd32 opd32_start[];
    #define OPD32(ptr) (opd32_start + ((opd64*)ptr - opd64_start))
    
    typedef u32 mem_container_t;
    
    // 32bit types
    typedef u32 lv2_void;
    typedef u32 lv2_size_t;
    
    typedef s64 system_time_t;
    
    struct timeval_32 {
    	u32 tv_sec;
    	s32 tv_usec;
    };
    
    
    #ifdef __cplusplus
    #define EXTERN_BEGIN	extern "C" {
    #define EXTERN_END		}
    #else
    #define EXTERN_BEGIN
    #define EXTERN_END
    #endif
    ozayturay likes this.
    If you like multiMAN or multiAVCHD, support the development with a small donation. Click here.
    ---
    Laugh and the world will laugh with you.
    Cry and you will be alone.
    Reply With Quote  

  8. #18  
    signupnow is offline Member
    Join Date
    May 2011
    Posts
    32
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    0
    Likes Received
    2
    The headers worked like a charm

    This error breaks my build:
    Code:
    No rules to build the target « -l./libpmsd », needed for « multiMAN2_BARE.elf »
    libpmsd.a is already built in the lib directory

    Grrrrr...
    Last edited by signupnow; 06-17-2011 at 08:36 AM.
    Reply With Quote  

  9. #19  
    ozayturay's Avatar
    ozayturay is offline multiMAN Addict / Turkish Translator
    Join Date
    Feb 2011
    Location
    Çanakkale, Türkiye
    Posts
    122
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    352
    Likes Received
    50
    Any progress signupnow.

    I wonder how will you change multiMAN source even when you cannot compile it.
    EFnet Web IRC #multiMAN
    http://chat.efnet.org:9090/?channels=%23multiman
    Reply With Quote  

  10. #20  
    signupnow is offline Member
    Join Date
    May 2011
    Posts
    32
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    0
    Likes Received
    2
    Quote Originally Posted by ozayturay View Post
    Any progress signupnow.

    I wonder how will you change multiMAN source even when you cannot compile it.
    Yeah, I feel like i'm a real noob here, I could compile ChromeOS & run it in a VM but I can't compile MM correctly, what a shame!
    Will try with Windows (like a noob ) to see if i get more luck!
    Reply With Quote  

Page 2 of 7 FirstFirst 1 2 3 4 ... LastLast
Tags for this Thread

View Tag Cloud

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •