PSX-SCENE Forum Discussion for Sony PlayStation/PsOne/PS2/PS3/PSP/PS VITA
  • multiMAN / Showtime mM edition Updates

    multiMAN receives another minor update today by deank bringing it to version 04.19.07. This update provides support for multi-disc games when using the PS1_NETEMU emulator for PSone games. Also below you will find an announcement by deank about future support of lower CFW's starting in the v05.00.00 release of multiMAN. Deank has also updated Showtime (multiMAN edition) to v04.03.010 following the works of Andreas Öman. For all the details check all the release quotes and announcements below



    multiMAN 04.19.07 minor update is available online and in the web column.

    multiMAN ver 04.19.07 UPD (20130212).zip (21.77MB) (CEX/DEX/STEALTH updates)
    multiMAN ver 04.19.07 UPD (20130212).zip

    * Added support for multi-disc games when using PS1_NETEMU emulator


    With this update the ps1 backups support saga should be concluded.

    Dean

    p.s. Here are the two major patches in ps1_netemu. Iris no longer uses 'patched emulators' but provides syscall emulation, but I prefer to keep it this way - it is much clear and simple.

    ATAPI 0x4A GET EVENT/STATUS NOTIFICATION

    Code:
    //case 8 = [fill sector buffer with 0xFF]
    //case 7 = [0xBE READ CD]
    //case 6 = [0x51 READ DISC INFORMATION]
    //case 5 = [0x4A GET EVENT/STATUS NOTIFICATION]
    //case 4 = [fill sector buffer with 0xFF]
    //case 3 = [0x00 TEST UNIT READY]
    //case 2 = [sys_storage_close()]
    //case 1 = [sys_storage_open() ]
    
    //4.30
    //#define BASE        (0x11C8F8)    // GET EVENT/STATUS NOTIFICATION in ps1_netemu
    //#define RETURN        (0x11CA10)    //+118 // case 5 return
    //#define RETURN_ERR    (0x11CFC4)    //+6CC // case 5 return
    
    //4.20
    //#define BASE        (0x11C7E8)    // GET EVENT/STATUS NOTIFICATION in ps1_netemu
    //#define RETURN        (0x11C900)    // case 5 return
    //#define RETURN_ERR    (0x11CEB4)    // case 5 return
    
    //3.55
    //#define BASE        (0x11B038)    // GET EVENT/STATUS NOTIFICATION in ps1_netemu
    //#define RETURN        (0x11B150)    // case 5 return
    //#define RETURN_ERR    (0x11B704)    // case 5 return
    
    //3.41
    #define BASE        (0x11B2D8)    // GET EVENT/STATUS NOTIFICATION in ps1_netemu
    #define RETURN        (0x11B3F0)    // case 5 return
    #define RETURN_ERR    (0x11B9A4)    // case 5 return
    
    
    #define SECTOR_SIZE    (0xD0)        // address in lv2 memory to store sector size
    #define HANDLE        (0xD8)        // address in lv2 memory to store fd (open handle)
    #define DISC        (0xE0)       // address in lv2 memory to store current disc number (0..7)
    
    #define ABS(target)        ((target) - (BASE) - .)
    #define ABS2(target)    ((target) - .)
    
    #define MEM_BASE(dest) \
        li dest, 1; \
        rldicr dest, dest, 63, 0;
    
    #define LOAD_LABEL(base, dest, source, address) \
        oris   dest, source, ((base) + (address))@h; \
        ori    dest, dest, ((base) + (address))@l;
    
    #define LOAD_LABEL2(dest, source, address) \
        LOAD_LABEL(BASE, dest, source, address)
    
    #define PEEK(address) \
        ori     %r3, %r25, address; \
        li      %r11, 6; \
        sc;
    
    #define POKE(address) \
        ori     %r3, %r25, address; \
        li      %r11, 7; \
        sc;
    
    #define SLEEP(ms) \
        li      %r3, ms; \
        li      %r11, 0x8D; \
        sc;
    
    #define RED        0
    #define GREEN    1
    #define YELLOW    2
    
    #define OFF        0
    #define ON        1
    #define BLINK    2
    
    #define LED(color, mode) \
        li      %r3, color; \
        li      %r4, mode; \
        li      %r11, 386; \
        sc;
    
    // IN:
    // %r26 -> address of local stack buffer
    // %r27 -> reserved
    // %r28 -> reserved
    
    .org 0
    
        MEM_BASE(%r25)
    
        lis        %r4, 0x0002
        stw        %r4, 0x78(%sp)    // 00 02 00 00 = packet length
        stw        %r4, 0x7C(%sp)    // 00 02 00 00 = disc in tray, tray closed
    
        li        %r3, 0
        LOAD_LABEL2(%r3, %r3, disc_name)
        ld        %r4, 0(%r3)
        std        %r4, 0(%r26)
        ld        %r4, 8(%r3)
        std        %r4, 8(%r26)
    
        mr        %r3, %r26
        addi    %r4, %r26, 0x10
        li        %r11, 805        // opendir
        sc
        cmplwi  %r3, 0
        bne        next_disc
    
        lwz        %r3, 0x10(%r26)
        li        %r11, 807        // closedir
        sc
        b       ABS(RETURN)
    
    
    next_disc:
    
        PEEK(HANDLE)
        cmplwi    %r3, 0
        beq        file_closed
    
        li      %r11, 804        // close
        sc
    
        li        %r4, 0            // invalidate handle
        POKE(HANDLE)
    
        PEEK(DISC)
        addi    %r4, %r3, 1
        andi.   %r4, %r4, 7
        POKE(DISC)
    
    file_closed:
        lis        %r4, 0x0001        // tray open
        stw        %r4, 0x7C(%sp)    // 00 01 00 00 = no disc in tray, tray opened
    
        SLEEP(1000)
        b        ABS(RETURN_ERR)
    
        .align 2
    
    disc_name:
        .string    "/psx_cdrom0"
    ATAPI 0xBE READ CD

    Code:
    //4.30
    //#define BASE        (0x11C310)    // READCD+0x10 in ps1_netemu
    //#define RETURN        (0x11BFDC)    // +334 // case 7 return
    
    //4.20
    //#define BASE        (0x11C200)    // READCD+0x10 in ps1_netemu
    //#define RETURN        (0x11BECC)    // case 7 return
    
    //3.55
    //#define BASE        (0x11AA50)    // READCD+0x10 in ps1_netemu
    //#define RETURN        (0x11A71C)    // case 7 return
    
    //3.41
    #define BASE        (0x11ACF0)    // READCD+0x10 in ps1_netemu
    #define RETURN        (0x11A9BC)    // case 7 return
    
    //case 8 = [fill sector buffer with 0xFF]
    //case 7 = [0xBE READ CD]
    //case 6 = [0x51 READ DISC INFORMATION]
    //case 5 = [0x4A GET EVENT/STATUS NOTIFICATION]
    //case 4 = [fill sector buffer with 0xFF]
    //case 3 = [0x00 TEST UNIT READY]
    //case 2 = [sys_storage_close()]
    //case 1 = [sys_storage_open() ]
    
    #define SECTOR_SIZE    (0xD0)        // address in lv2 memory to store sector size
    #define HANDLE        (0xD8)        // address in lv2 memory to store fd (open handle)
    #define DISC        (0xE0)       // address in lv2 memory to store current disc number (0..7)
    
    #define ABS(target)        ((target) - (BASE) - .)
    #define ABS2(target)    ((target) - .)
    
    #define MEM_BASE(dest) \
        li dest, 1; \
        rldicr dest, dest, 63, 0;
    
    #define LOAD_LABEL(base, dest, source, address) \
        oris   dest, source, ((base) + (address))@h; \
        ori    dest, dest, ((base) + (address))@l;
    
    #define LOAD_LABEL2(dest, source, address) \
        LOAD_LABEL(BASE, dest, source, address)
    
    #define PEEK(address) \
        ori     %r3, %r25, address; \
        li      %r11, 6; \
        sc;
    
    #define POKE(address) \
        ori     %r3, %r25, address; \
        li      %r11, 7; \
        sc;
    
    // IN:
    // %r24 -> address of local stack buffer
    // %r29 -> address of readcd data buffer
    // %r9  -> sector number
    
    .org 0
    
        MEM_BASE(%r25)
    
        PEEK(SECTOR_SIZE)
        mullw   %r30, %r9, %r3
    
        PEEK(HANDLE)
        mr        %r27, %r3
        cmplwi  %r3, 0
        bne     read_sector        // handle is valid, file already opened
    
        LOAD_LABEL2(%r3, %r3, iso_name)
        ld        %r4, 0(%r3)
    
        PEEK(DISC)
        sldi    %r3, %r3, 8
        add        %r4, %r4, %r3
    
        std        %r4, 0(%r24)
    
        mr        %r3, %r24
        li      %r4, 0
        addi    %r5, %sp, 0xE0
        li      %r6, 511
        li      %r7, 0
        li      %r8, 0
        li      %r11, 801        // open
        sc
        cmpldi  %r3, 0
        bne        abort
    
        lwz        %r4, 0xE0(%sp)    // store file handle
        POKE(HANDLE)
        mr        %r27, %r4
    
    
    read_sector:
    
        mr        %r3, %r27
        mr      %r4, %r30
        li      %r5, 0
        addi    %r6, %sp, 0xE8
        li      %r11, 818        // seek
        sc
        cmpldi  %r3, 0
        bne     close
    
        mr        %r3, %r27
        mr      %r4, %r29
        li        %r5, 0x940
        addi    %r6, %sp, 0xE8
        li      %r11, 802        // read
        sc
        cmpldi  %r3, 0
        beq     return
    
    close:
        mr        %r3, %r27
        li      %r11, 804        // close
        sc
    
        li        %r4, 0            // invalidate handle
        POKE(HANDLE)
    
    abort:
        lis     %r3, 0x8001
        ori     %r3, %r3, 0x000A // (BUSY 0x8001000A)
        extsw   %r3, %r3
    
    return:
        mr      %r25, %r3
        b       ABS(RETURN)
    
        .align 2
    
    iso_name:
        .string    "/psx_d0"
    Announcement from Deank

    mM's main source file would become over 100 000 if I spend the time to follow the 'break line' rule when more than 50-60 characters are used per line and if I used comments. I started with mM as a tool for myself so I don't really care if other people can continue with it, nor I'm weary about someone adopting the code to turn it into a bigger mess. It contains about 200 lines from the original "Open Backup Manager" (which afaik was ~3000 lines) - if you wish you can start with it.

    ***

    With multiMAN 05.00.00 only 4.30 and higher firmwares will be supported. Supporting 14 different firmwares is too hard to maintain compatibility with.

    These will no longer be supported:

    3.41 OFW
    3.41 OFW + DONGLE
    3.41 MFW (HERMES)
    3.55 OFW
    3.55 CFW KMEAW
    3.55 CFW COBRA
    3.55 CFW TB
    3.55 CFW REBUG/ROGERO
    3.55 OFW DEX
    3.55 CFW DEX
    4.21 OFW DEX
    4.21 CFW REBUG
    4.21 CFW ROGERO 1.00..2.03

    These and later will be supported:

    4.30 CFW ROGERO 2.05..
    4.30 CFW REBUG
    4.31 CFW

    In the beginning mM used to support 1.90/3.00/3.14/3.21 firmwares but then suddenly the new additions started to cause issues with these old firmwares so I leveled up at 3.41. Now 2 years and 6 months later I think it is time to go up again.

    Users of unsupported firmwares can stay with 04.19.00 or lower multiMAN version - anyway - it has more than everything one may need. Or switch to Iris.
    Showtime for multiMAN Update

    Showtime by Andreas Öman 4.03.010 (for mM and Standalone) are available online and in the web column.

    Showtime 04.03.010 [CEX].pkg (5.58MB)
    Download Showtime 04.03.010 [CEX].pkg from Sendspace.com - send big files the easy way

    Showtime 04.03.010 [DEX].pkg (5.64MB)
    Download Showtime 04.03.010 [DEX].pkg from Sendspace.com - send big files the easy way

    Dean


    multiMAN
    Download: multiMAN ver 04.19.07 UPD (20130212).zip (21.77MB) (CEX/DEX/STEALTH)
    Mirror: Brewology

    Source: Deank via PS3Crunch


    Showtime for multiMAN
    Download CEX: Showtime 04.03.010 [CEX].pkg (5.58MB)
    Download DEX: Showtime 04.03.010 [DEX].pkg (5.64MB)
    Mirror: Brewology (CEX/DEX)

    Source: Deank via PS3Crunch



    PSX-SCENE: The Pinnacle Scene Xenocracy
    COSMOS43 and xX3esahXx like this.
    Comments 118 Comments
    1. JOshISPoser's Avatar
      JOshISPoser -
      oh i hope it's not concluded with covers not working properly and stuff. i think he could do so much more with it like make an exit command to quit back to multiman or something. that and i keep getting weird save issues.
    1. psxpimp's Avatar
      psxpimp -
      So I have a broken blu ray. 4.21 rebug has the bd emu thing. What firmware should ppl with broken drives upgrade to?
    1. Jay-Jay's Avatar
      Jay-Jay -
      @deank , what CFW are you using? This way we can adopt the CFW you plan to continue with?
    1. Srachi's Avatar
      Srachi -
      Old 4x8 list please Deank, thanks!!

      P.S. version 5.0 will work with Rogero 4.30 v.1?
    1. Hollywood's Avatar
      Hollywood -
      I'm fine with this. I waited a long time to upgrade from 3.55 but it's not worth the headache of waiting for fixes, especially with the new baseball games coming up, which I wait all year for. I had a bit of a problem after updating, mostly PSN games that had to be fixed, and I made the mistake of turning off the USB resetting multiman option. But in the end, there's no reason not to, and I'm a lot happier.
    1. JOshISPoser's Avatar
      JOshISPoser -
      Quote Originally Posted by Srachi View Post
      Old 4x8 list please Deank, thanks!!

      P.S. version 5.0 will work with Rogero 4.30 v.1?
      yes. anything 4.3 or above should work

      Quote Originally Posted by psxpimp View Post
      So I have a broken blu ray. 4.21 rebug has the bd emu thing. What firmware should ppl with broken drives upgrade to?
      well, sad to say that dex isn't supported yet on 4.3... then again, signing to make it work on 4.21 is easy, you just might have little issues here and there.
    1. STLcardsWS's Avatar
      STLcardsWS -
      @Srachi

      These and later will be supported:

      4.30 CFW ROGERO 2.05..
    1. cassiusmj's Avatar
      cassiusmj -
      Hey guys! I have a doubt. Can I play online nowadays??? Cuz my SEN is banned and I on Rogero firmware. Is there any way to play online, might be with Ps_Unban or whatever. I would like to know it if nowadays there is a solution for SEN banned. Thanks!
    1. steve51184's Avatar
      steve51184 -
      can anyone please explain the 'CEX/DEX/STEALTH' to me please thanks
    1. jalaneme's Avatar
      jalaneme -
      i don't care if older 3.55 firmwares are not supported, as soon as v4 has run it's course then that is that, i don't need any other new features anyway, i am sure another developer will cater to people on older cfw so it's no loss.
    1. indirect76's Avatar
      indirect76 -
      Quote Originally Posted by cassiusmj View Post
      Hey guys! I have a doubt. Can I play online nowadays??? Cuz my SEN is banned and I on Rogero firmware. Is there any way to play online, might be with Ps_Unban or whatever. I would like to know it if nowadays there is a solution for SEN banned. Thanks!
      Off topic.
    1. bitsbubba's Avatar
      bitsbubba -
      kind of upset about no more support for REBUG 4.21 REX (hopefully they bring out 4.30 REX soon)
    1. alternativejohnsmith's Avatar
      alternativejohnsmith -
      F**k ps3hax, GregoryRasputin is trolling his own forum acting like a 12 year old, that's why this is the only site I'll use for ps3 scene news from now on. People here respect devs
      Supporting 14 different firmwares is too hard to maintain compatibility with
      If it's too much then it's his decision, he's doing all of it for free. Thanks deank for all your work
    1. cassiusmj's Avatar
      cassiusmj -
      Quote Originally Posted by indirect76 View Post
      Off topic.
      I don't care man. PSX Scene is everyday posting a new and repetitive post about another update of Multiman and nobody is caring about it. So, I think I have total freedom to take doubts out and I wouldn't like to create a new post just because of a doubt. I hope that tolerant people won't care about where I am posting and answer my questions.
    1. bitsbubba's Avatar
      bitsbubba -
      Quote Originally Posted by cassiusmj View Post
      I don't care man. PSX Scene is everyday posting a new and repetitive post about another update of Multiman and nobody is caring about it. So, I think I have total freedom to take doubts out and I wouldn't like to create a new post just because of a doubt. I hope that tolerant people won't care about where I am posting and answer my questions.
      it was off topic because your question had absolutely nothing to do with multiMAN (in which this thread is) if you want your question answered it is suggested that you post it in the appropriate section as to where it will probably get answered more promptly, quite frankly "I don't care man" for your attitude (which only brings drama, which this site and all it's moderators frown upon)
    1. szczuru's Avatar
      szczuru -
      Sad about no more support for 4.21 A lot of people still using 4.21 REX Rebug due to CEX/DEX functionality.
    1. ffgriever's Avatar
      ffgriever -
      Too bad Rebug 4.21REX won't be spported anymore. I's the most complete CFW to date. Not that I play games that much (current multiman is enough).
    1. Slander's Avatar
      Slander -
      Hi all,

      Quote Originally Posted by psxpimp View Post
      So I have a broken blu ray. 4.21 rebug has the bd emu thing. What firmware should ppl with broken drives upgrade to?
      You can still use the 4.19.00 version of multiMan and everything will work as it works now... So there is no need for you to change your CFW for now.

      Maybe when CFW 4.31 REX will come out you should consider moving, but for now, you can stay on your 4.21 Rebug REX.

      Have a good day,

      Slander
    1. Hakuoro's Avatar
      Hakuoro -
      Well, i can live with that. I don't know why people still need 3.55 firmwares nowadays.
      I hope that Rogero releases his 4.31 CFW CEX soon, and Rebug releases a 4.31 REX.
      That would be awesome.
      Deank, it would be great if you release a super full version of mM, containing PS3 and PS1 game covers.
      Is it possible to select a music to play on mM everytime i navigate, instead of Enigma's TEOT? Also, is it possible to change the paths of the files? I mean, if i can change the name of the 'games' folder(and other ones too) to whatever i like and still play them? Like a 'custom path' option.
      Thank you all.
      Thank you, deank!
    1. deank's Avatar
      deank -
      You can change the theme music (off/theme/music) and you can change the paths in the options.ini.