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
    You're welcome. Thanks to the person who sent me the disc dump. I've been looking for 3.04 FOR AGES. Had a MC dump of it but didn't have the DISK sigs in my dict.

    I'm doing a bunch of tests in order to verify the 3D icon extra blob doesn't outerpass dvdplayer.id. Apparently it doesn't forbid the "downgrade" of the DVD Player. Been able to run homebrew code from BREXEC-DVDPLAYER, as dvdplayer.elf, with the original 2.10E icon (including the blob), in a 2.13E powered unit (isn't that what ESR users do ?)
    Gonna test some other things like mismatching dvdplayer.id region, blob replacement...

    I don't know for protokernels, but it should be possible on 30K units. l_oliveira, have you tried a 3.1# "mass build" in your 10K ?

    It should be possible to rebuild the 3.1# entirely. I stopped rebuilding it after putting CMN executable segments together because I lacked the time, but I'm sure the other resources can be merged and the load/decompress functions killed. Although, forget about having a multilanguage firmware, as each lang has its resource files and resource files might use the same address range for decompression.
    If I had the time, I'd dump the EE RAM whilst the firmware is running, disassemble the dump, take a note of each load address, search for calls/links....

    On a side note, I've no debugging tool hooked to my unit and cannot feel the powah of Kermit over Firewire :( ... but PCSX2 can run all DVDP firmwares, including 3.1# if my launcher is modified for using the host FS as source.

    @fresh, I send you the 2.10E sig as soon as I can (don't have the unpacked DISK packages in my hands ATM)
     
  2. fresh

    fresh Spirited Member

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

    KrHACKen uses the usb mass to run the dvd player above 3.0[2/4].
    For me it's not clear why this methode and the additional files are needed.


    Rgds.
     
  3. fresh

    fresh Spirited Member

    Joined:
    Jul 15, 2012
    Messages:
    131
    Likes Received:
    0
    Thanks.
    :D
     
  4. fresh

    fresh Spirited Member

    Joined:
    Jul 15, 2012
    Messages:
    131
    Likes Received:
    0
    Next stop: Green fix, right?
    ;)
     
  5. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    I have been really busy recently, and didn't get to check over whatever you have shared with me. 3.04 is rare you say? I should thank you for your work and your willingness to share. :)

    Especially since I have never seen a real DVD Player update disc here... especially one that is meant for my region (HK/Asia).

    Sorry, but you have lost me here: So it's really... natural if the OSD cannot boot DVD Player versions below the one in the EROM, and it's not only because of the DVDID file of the DVD Player update?

    Hmm... how about replacing the jumps to the file I/O functions from within the decompression function? Maybe you can pass the right data back to the decompression function with memcpy(), based on the filename which the decompression function passes.

    It's just an idea, and I'm not saying that it's going to be easy.

    It's because of how the slimline DVD player is stored and is run. It doesn't exist as ONE piece in the EROM.
     
  6. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    Not extremely rare, as the PSBBN 0.32 disc (which contains 3.04) is the most easy to find version in Japanese auction sites (disproportionate shipping fees for buying from my location). But the only dump that was floating on filesharing forums was Hackchip's modified ISO (2006, Linux RTE/Kernel Loader method, buggy Multiloader, badly patched ATAD.IRX, no DVD Player package).
    The dedicated 3.04 DVD Player update disc... I saw 2 or 3 poor quality pictures of it. Cannot find more info about it.

    That's what I'm trying to verify. Normally the version check operates like I said in my email (mc#:/BREXEC-DVDPLAYER/dvdplayer.id Vs. rom1:DVDID). I just want to make sure that the Giant Enemy Crab didn't add an harder protection involving the extra code of the DVD Player icon.


    Out of my skills, as I didn't figure out how the payload handles other resource files haha, but yep, sounds possible.
     
  7. cde

    cde Site Supporter 2017

    Joined:
    Mar 5, 2008
    Messages:
    284
    Likes Received:
    15
    The patched DVD player 3.04 works fine on my SCPH-10000 alongside the HDD-OSD kernal patch, I cant play any of my films though as of the NTSC limitations. I'm in a PAL territory and all my films are obviously PAL too. The NYSC J PS2 will not play a PAL film it seems... I'm gonna convert a movie to NTSC to test it.
     
  8. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    Running an non Japanese DVD player on the SCPH-10000 is not possible due to the Japanese DVD player having changes in it to make it compatible with the protokernel bios.

    I mean, if you try KrHACKen USB based DVD players and run a PAL version on your 10K you will notice it will play the videos you have, but the playback will be "jumpy".

    There's a problem with the way the old bios handle the I/O (maybe SIF/GIF) and the JPN DVD player will detect a 10k and adapt itself, I think.
     
  9. cde

    cde Site Supporter 2017

    Joined:
    Mar 5, 2008
    Messages:
    284
    Likes Received:
    15
    Ah, that makes sense. The update on my memory card is the 3.04J version. I'll update when I've burnt a NTSC DVD disc..

    Update: Installed (Memory Card) DVD Player 3.04

    Running PSBBN .32
    NTSC Region 0 (Free) DVD's skip.
    PAL Region 0 (Free) Incorrect TV message

    Running Browser 2.00 HDD-OSD
    NTSC Region 0 (Free) DVD's work great.
    PAL Region 0 (Free) Incorrect TV message
     
    Last edited: Feb 5, 2013
  10. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    KrHACKen, I was busy today running 3.04J on a lot of consoles here including US and PAL and it worked fine even on the slims I tested.

    On the SCPH-79001 console it did display "Progressive" as option. Circle was confirm and X was cancel.

    AND MOST impressive, it detected it was running on a English console and it presented itself in english.

    I didn't test it (with the OSD set to English) on the JP consoles but you happen to know if it does follow the OSD language settings ??



    So, forget about that "code bubble" on the icon file. My problem with the DVD driver failing to detect back then would probably be due to wonky KELFs ... Or malformed files.
     
    Last edited: Feb 5, 2013
  11. fresh

    fresh Spirited Member

    Joined:
    Jul 15, 2012
    Messages:
    131
    Likes Received:
    0
    So, where are the routines that disable the rgb video dvd output?
    Is it a dvdplayer thing or system based?


    Rgds.
     
    Last edited: Feb 5, 2013
  12. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    Apparently yes.
    Test 1 :
    With the OSDSYS language set to French, I've run 3.04. Its OSD was in Japanese, so I did set it to English, pressed stop 2 times and ejected the DVD to go back to OSDSYS. Then I did run 3.04 again and its OSD language reverted to Japanese.
    Test 2 :
    With the OSDSYS language set to English, I've run 3.04. Its OSD was in English, so I did set it to Japanese, pressed stop 2 times and ejected the DVD to go back to OSDSYS. Then I did run 3.04 again and its OSD language stayed in Japanese.
    I went back to OSDSYS, I've set the language to French, then to English, and run 3.04. The DVD Player OSD popped up in English.

    SCPH-39004 [0160EC20020319], internal DVD Player = 2.13E.



    Okay.
    If the problem is ELF execution related : Black screen of death
    If the problem is KELF decryption related : "DVD Player is not set up" message
    but I've never encountered a failure which causes the internal DVD Player to be run instead of the MC based DVD Player (except when the problem is relative to the content of dvdplayer.id).
    EDIT : For example, a DISK signed KELF as dvdplayer.elf kicks back to the Ps2Browser with "DVD Player is not set up"
     
    Last edited: Feb 5, 2013
  13. fresh

    fresh Spirited Member

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

    Okay, i install the original dvdplayer 2.10E and unpacked it.
    Using the rpc patcher 0.03 it says all was successfully done.
    But, comparing binary the source and the destination are identically... ?!?


    Rgds.
     
    Last edited: Feb 5, 2013
  14. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    dvdvzone.exe 2.10E.BIN BUFFER.BIN repack
    2.10E.BIN (input) Vs BUFFER.BIN (output) :
    Verify that :
    - You specified an output file different than your input file
    - Your dvdplayer.elf is properly decrypted and unpacked (put the unpacked dvdplayer.elf and the IOPRP in the loader dir, compile and test with PCSX2 or in your PS2).

    NOTE : The upacked 2.10E is 7 056 432 bytes long, CRC32 62B18A55.
     
  15. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    Like krHACKen said before, I think that it's related to the EE. On the IOP, the normal (non-X) modules are compatible with all newer PS2's, although I didn't really look into that. He even said that the DVD Player IOPRP image is the same.

    I believe that it may be related to the sluggish performance of the HDDOSD on some consoles, when the region of the console cannot be detected properly.
     
  16. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    I did compare the IOPRP of 2.14J with the IOPRP of 2.14E = they're identical.
    As for slimline units, obviously all DVDPLx regions use the same rom1 modules and the same CMN executable parts, so if there's something to search for, it's on unpacked DVDPLx I guess.

    Unrelated : If I remember correctly, the only difference between 3.10 and 3.11 DVDCNF modules is the UDFIO (which is stored in erom)...
     
    Last edited: Feb 6, 2013
  17. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    I could possibly attempt a test on whether the performance issue is caused by the 10K's Protokernel by either:
    1. Patching SetOsdConfig() and GetOsdConfig() to use replacement functions which function similarly to a 30K's.
    2. Loading my 10K's kernel on my SCPH-39006.
    3. Loading my SCPH-39006's kernel on my SCPH-10000.

    I can't say when I'll be able to do that though. :/

    Huh... that's a funny change. :/

    I wonder what they changed in UDFIO - maybe a minor bugfix?
     
    Last edited: Feb 6, 2013
  18. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    Last edited: Feb 6, 2013
  19. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    They changed the Mechacon and the BIOS severely at SCPH-7500x. At that point they completed the engineering move to using a generic BIOS that works for all regions and moved the region flag to mechacon EEPROM. Before that the consoles had a specific MASK ROM and MECHACON chip for each region.

    :)
     
  20. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    sceCdMmode() is to ensure that the inserted disc... matches the type of disc the software was developed for (0x2 -> DVD). Obviously, a DVD Player will only play DVD discs. Who knows why they even bothered doing that... :very_drunk::topsy_turvy:

    If another sort of disc is inserted, the MECHACON will just automatically fail all requests. This has been implemented since the SCPH-10000.

    Sony: muhwahwahwahwa... now the DVD Player will play only DVD discs!
    Us: YOU DON'T SAY?

    Why does it seem like there is a pointless evaluation of the return value of sceCdMMode? Unless I'm wrong... it doesn't do anything either way? How does one get GCC to generate such code? :S

    EDIT: maybe it's because they started becoming stricter on complying with their own TRC:
     
    Last edited: Feb 6, 2013
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page