PS2 DVD Player modifications

Discussion in 'Sony Programming and Development' started by krHACKen, Jan 26, 2013.

  1. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    Last edited: Feb 12, 2013
  2. karsten

    karsten Member of The Cult Of Kefka

    Joined:
    Mar 14, 2004
    Messages:
    4,015
    Likes Received:
    149
    can someone in 2 words explain me what all this is about? getting a region free firmware?
     
  3. angelwolf71885

    angelwolf71885 Dauntless Member

    Joined:
    Jun 5, 2010
    Messages:
    795
    Likes Received:
    6
  4. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    One of the things that could be achieved with this is permanently patched region free DVD player installed on the memory card.

    Macrovision complete removal and Component/RGB free select behavior of DVD player 1.00 restored.
     
  5. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    As for me, it's about getting an updated DVD player. None of the DVD Player update discs were released for my region, so I only have whatever that Sony provided with the consoles... even if it's really old and/or broken.

    The problem with the region locking is, I'll be looking at most of my region-locked discs unplayable as those newer DVD players are usually designed for the wrong regions (Regions 1, 2, 4 and 5 - USA, Japan and European regions).

    I've got a couple of region 1, 2 and 4 discs, but I need a region-free player to play them on my PS2s either way.

    If one has to bother with this fix, he bought the video disc legally, somehow.

    The patcher shall not contain copyrighted code, and the user is responsible if his/her country deems such activities as illegal.

    We also want progressive video support, if that is possible. This was added with the v3.xx DVD players, so an update is necessary.
     
    Last edited: Feb 16, 2013
  6. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    Foreign pr0n:encouragement:
     
  7. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
  8. Kensou

    Kensou Active Member

    Joined:
    Apr 11, 2012
    Messages:
    27
    Likes Received:
    1
    I have a question, how do I unpack the DVD player elf installed on my memory card? So far any unpacker I've tried says "it's not an elf file", I copied the BAEXEC-DVDPLAYER from my memory card to a USB device and tried to unpack the dvdplayer.elf but can't seem to make it work, if I use the DVD RPC patcher it does nothing and outputs an identical file.
     
  9. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    dvdplayer.elf is a MG KryptoELF and dvdplayer.irx is a MG KryptoIRX. What you need is :
    1) Some tool for decrypting dvdplayer.elf/dvdplayer.irx (perhaps "HdProjectX" can do it)...
    2) An unpacker which emulates the dvdplayer.elf payload.
    I'm not sure that Neme's embed tool unpacks dvdplayer.elf properly (command -u) and it may be unable to unpack the IRX, since it scans for SetupThread and FlushCache (parts of the FMCB code injection exploit). But if you look at the public FMCB src, maybe you can code an unpacker. Plan B : you can also hack a dvdplayer.elf unpacker stub for the execution to stop before ExecPS2 (or perhaps it's an unconditional jump to 0x00200000) and dump the memory with PCSX2 or in a real PS2. dvdplayer.elf/irx have to be decrypted first.
     
  10. fresh

    fresh Spirited Member

    Joined:
    Jul 15, 2012
    Messages:
    131
    Likes Received:
    0
    Ahoy!

    Is it possible to shorten loading times?

    My V7 boots the hddosd, but it looks twice on the mc for updates.
    My dvdplayer 3.02 update on mc is ~1MB big and so this produce loooong booting times.
    Any idea?


    Rgds.
     
    Last edited: May 20, 2013
  11. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    Greets,

    I'm not sure it could impact the boot time, but you can try to shrink the ELF, by NULLing all non-english textures, fixing the cursor to English OSD and re-compressing the final ELF. The resulting ELF should be smaller, so I guess that would speed up the loading time, especially when using the slow-ass Datel MAX Memory card. Note that repacking the ELF may break the compatibility with some region-freeing software.
    3.04J, since it only has got Jap and Eng textures, should be smaller and boot faster. Though I recommend to mess up with the rom1/erom0 based 3.02E, as it also supports PAL movies natively... Oh, IIRC, the Russian 3.02D is Multi 2 (Rus/Eng) and accepts PAL movies as well.
     
    Last edited: May 20, 2013
  12. fresh

    fresh Spirited Member

    Joined:
    Jul 15, 2012
    Messages:
    131
    Likes Received:
    0
    Greets, too!

    Thanks for your answer!

    Meanwhile i had the idea of a "loader".
    Is it possible a small "loader" satisfies the os when looking for an update on memory card and only loads the real (big) dvd player update when needed?


    Rgds.
     
    Last edited: May 20, 2013
  13. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    You mean a loader which is called by OSDSYS (BREXEC-DVDPLAYER/dvdplayer.elf) and which determines whether the inserted DVD-Video requires a "cracked" DVD Player (the memcard one) to be executed for playback ? If so, yep it's possible, but boot time consuming.
    The most reliable and clever solution would be a homebrew app which patches the built-in DVDELF or the MC version (if the MC version is newer than the erom0 verson) on-load. A no-crabcode softmod in other terms. It is more or less the topic right here.

    As for official (untouched) MC files, the most recent ones (3.04J, 3.02U, 2.14E) were ripped out of update discs and leaked. 3.11x reassembly would be a cool challenge, although I don't see what could be the benefit for the end user to run that version.
     
  14. fresh

    fresh Spirited Member

    Joined:
    Jul 15, 2012
    Messages:
    131
    Likes Received:
    0
    Ahoy!

    Yes, a very small kelf loader that loads the real updated player when a video-dvd is insert would be great.
    :encouragement:


    Rgds.
     
    Last edited: May 21, 2013
  15. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    Maybe I missed something... but does that really happen? At least on my SCPH-10000, I never noticed a long pause upon bootup except during the initial reset where the v1.00 kernel is getting updated. I never got any DVD player updates working on my SCPH-39006 (even after adjusting the dvdplayer ID files), so I don't know whether it only happens on newer consoles.
     
  16. cde

    cde Site Supporter 2017

    Joined:
    Mar 5, 2008
    Messages:
    284
    Likes Received:
    15
    Yes, I agree for the v1.00 Kernel loading. There is a noticeable pause while it updates, but with just the dvd player on the memory card (3.04J) the ps2 boots at the same speed as without a memory card at all.

    On a slightly different topic but still related, is it ever going to be possible to allow PAL DVD playback on NTSC consoles? Or does the smaller frame buffer rule this out forever?
     
    Last edited: May 21, 2013
  17. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    Hacking a PAL DVD player to work on a NTSC console works wonders. kHACKen has a series of DVD players modified to launch from USB. Give them a try.

    Unfortunately only Japanese DVD players will work correctly on a SCPH-10000 due to it's Jurassic boot ROM...
     
  18. fresh

    fresh Spirited Member

    Joined:
    Jul 15, 2012
    Messages:
    131
    Likes Received:
    0
    Ahoy!

    I checked it again and i think was a little bit wrong. Sorry.

    The dvd player update size is ~1.4MB.
    When inserting a video dvd it loads the player update and after that it loads it again.
    Maybe it checks after loading the mc for updates again, but this doubles the loading/start time of the dvd.


    Rgds.
     
    Last edited: May 21, 2013
  19. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    DVD player loads, then it loads dvdplayer.irx then it starts playing. That's how it works.
     
  20. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    All MC based dvdplayer.elf are executed once, by OSDSYS (thru modload2 IIRC), as long as the version of your dvdplayer.id is higher than the version of rom1:DVDID.
    When loading an official DVD player update, dvdplayer.elf is executed and it resets the IOP with dvdplayer.irx.
    When loading a "rebuilt" DVD Player, the homebrewn launcher resets the IOP with the embedded IOPRP (from the buffer) and executes the embedded DVDELF code. The memory card isn't accessed for loading dvdplayer.irx, as the DVD Player was executed with the argument "erom0:".
    erom0:DVDELF based DVD Players don't check the MCs either, as the boot path "erom0:DVDELF" is sent as argument.

    Original update case :
    OSDSYS -> dvdplayer.elf (mc#:/BREXEC-DVDPLAYER/dvdplayer.elf as argument) -> dvdplayer.irx -> playback

    Rebuilt DVD Player case :
    OSDSYS -> dvdplayer.elf (erom0: as argument) -> IOP reset from buffer -> playback

    Built in DVDELF case :
    OSDSYS -> IOP reset with rom1:DVDCNF -> erom0:UDFIO is loaded -> erom0:DVDELF is executed (erom0:DVDELF as argument) -> playback
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page