DTP-H1500 PSP Testing Tool - DVD Drive

Discussion in 'Sony Programming and Development' started by Brooklyn, Sep 16, 2014.

  1. Brooklyn

    Brooklyn Member

    Joined:
    Jan 12, 2014
    Messages:
    9
    Likes Received:
    0
    Hey guys, I got a DTP-H1500 with controller. It is really neat, works including UMD drive. Is there anything I can test the DVD drive with? Tried burning an .iso of a game I own, but says "could not read disc". Also tried a DVD movie and a PS1 game for the heck of it but they all got the error "could not read disc" Is my DVD drive bad?

    Thanks !
     
  2. XDMEN

    XDMEN Spirited Member

    Joined:
    Mar 3, 2013
    Messages:
    139
    Likes Received:
    1
    The TOOL can boot only Debugcode disc
     
  3. Brooklyn

    Brooklyn Member

    Joined:
    Jan 12, 2014
    Messages:
    9
    Likes Received:
    0
    Thanks XDMEN, is there any legal way to get a debug code disc so I can test the DVD drive?
     
  4. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    What XDMEN means is the PSP TOOL will only boot DVDR games with a valid BOOT.BIN file. You could try the original PSP release of Everybody's Golf, for example. That has a valid BOOT.BIN file.


    Edit: Retail consoles boot from the EBOOT.BIN file. So a retail game will have both EBOOT.BIN and BOOT.BIN. Later on when people started to hack games to work on older firmware (due to exploits) SONY started to zero out the BOOT.BIN file so newer games won't work for you as the BOOT.BIN file is usually blanked out.
     
    Last edited: Sep 18, 2014
  5. Brooklyn

    Brooklyn Member

    Joined:
    Jan 12, 2014
    Messages:
    9
    Likes Received:
    0
    I tried "burnout dominator" which does have boot.bin in the sysdir, but did not work. I did manage to go ahold of a development disc image that did boot on the testing tool. So my DVD drive does work, which is very good news.

    Also, often when I turn the system on it asks for date and time, but I did not see any battery to replace on the logic board. Is this normal?
     
  6. Keberasky

    Keberasky Spirited Member

    Joined:
    Mar 18, 2009
    Messages:
    102
    Likes Received:
    2
    There is an important detail you are missing. In order to use a DVD-R is has to be mastered using the Sony UMD tools. In other words burning the ISO straight to a DVD-R will not work. Sony UMD tools ends up creating a disc layout containing 4 to 5 files that you must burn instead of the iSO. The 5th file is used in instances where you have a second layer on the UMD.
     
  7. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    That's not a important detail. That's something specific to the data output by the authoring tool. The point was make sure that the files would not get bigger than a certain size. They did the same thing with the PS2 authoring tool. All you needed to do was combine the files and you would get a standard ISO.

    Obviously taking a RETAIL game ISO as is won't work as it will be missing the master disc header. But really that's something simple to fix.

    It got slightly complicated when the disc was a CD-ROM because they used a proprietary format for ECC generation. They had less data for the ECC than standard images. I made a python script to strip CD images made on the PS2 CDVDGEN program so people could then re-generate the ECC data using a generic tool like CDMAGE and out of that you would have a generic image which is compatible with modern recorders and tools.

    I can't say anything else about the PSP DVDRs as I have never seen the data in them but it should be something stupid simple. The PS2 stuff was.
     
    Last edited: Sep 19, 2014
  8. the7thchild

    the7thchild Spirited Member

    Joined:
    Feb 7, 2011
    Messages:
    101
    Likes Received:
    20
    Below is a better way to convert UMD9660 ISO to H1500 master in a lossless way. It could be very complicated ;)


    Tools required:
    HxD hex editor for hex editing and file splitting
    PRXdecrypter 2.7a or JPCSP (need to check an option in configuration -> Crypto tab) for EBOOT decrypting
    WQSG_UMD_R31 for LBA checking
    UMD Image Checker for master checking
    IMGBURN or Nero Burn for master burning


    1. Try to generate a master disc with size < 600 MB and another one with size > 1200 MB. This will allow you to obtain the templates (CONT_L0.IMG, MDI.IMG, UMD_AUTH.DAT) for single layer UMD and Dual Layer UMD for further Hex editing.

    #1 this involves the hacking of video UMDGEN found in google and converting it to game UMDGEN. Hex editing some PSP VIDEO to PSP Game will do the trick but even me do not remember how did I done it... to save you some time, please download the templates in the below URL:

    https://www.sendspace.com/file/u225bt

    2. Decrypt EBOOT.BIN into BOOT.BIN by PRXdecrypter 2.7a or JPCSP. Use WQSG_UMD_R31 to replace the blank BOOT.BIN in the ISO by the decrypted BOOT.BIN.
    a) If you use JPCSP, please make sure you have fixed the header from
    “7F 45 4C 46 00 01 01 01” to
    “7F 45 4C 46 01 01 01 00” (<- this is the correct header for all psp elf)

    3. Prepare the iso files:
    a) Check the file size of the ISO, if the file size is <= 906,362,880 bytes. It is a single layer image and just rename the ISO to USER_L0.IMG
    b) If the size is > 906,362,880 bytes, it is a Dual Layer image, split the ISO into 2 with boundary = 906,362,880 and name them USER_L0.IMG and USER_L1.IMG accordingly.
    #Use HxD -> Extras -> File tools -> Splitter. Set size to user defined and set partial size to 906,362,880 "bytes"!!!

    4. How to patch the files
    [Single Layer]
    CONT_L0.IMG
    a) Header should 80 00 01 E0
    b) This file is big endian
    c) 0x00000009 to 0x0000000B should contains the size of Layer 0 in Sector length + 03 00 00
    d) Sector length = ISO size in byte / 2048 – 1
    e) For example for Pacman (USA), the ISO size is 164,397,056 bytes, so sector length = 164,397,056 / 2,048 – 1 = 80271
    f) Convert 80271 to HEX and + 03 00 00 = 01 39 8F + 03 00 00 = 04 39 8F
    g) Write 04 39 8F to 0x00000009 to 0x0000000B
    h) [optional] patch the DISC_ID located at:
    0x00001000 0x00001800
    0x00002000 0x00002800
    0x00003000 0x00003800
    0x00004000 0x00004800
    0x00005000 0x00005800
    0x00006000 0x00006800
    0x00007000 0x00007800

    #Looks complicated but just use search and replace function will get it done in seconds.

    MDI.IMG
    a) This file is small endian
    b) [optional] patch the DISC_ID at 0x00000000 to 0x00000009
    c) Write in small endian, the sector length to 0x00000088 to 0x0000008A
    In this case, 8F 39 01

    UMD_AUTH.DAT
    a) This file is small endian
    b) Make sure the header is SGWYN instead of SGWYNY so that we don’t need a SYSTEM.IMG for mastering
    c) Use WQSG_UMD_R31 to check the LBA and LENGTH of BOOT.BIN and EBOOT.BIN
    d) Start from 0x00000040, write the files in the format:
    [BOOT LBA] 00 [BOOT LENGTH] 00 [EBOOT LBA] 00 [EBOOT LENGTH] 00
    Each [ ] above is 3 bytes long in small endian
    For example, pacman:
    BOOT.BIN LBA=2560 SIZE=5167756
    EBOOT.BIN LBA=32 SIZE=5168096

    Convert all to HEX in small endian
    BOOT.BIN LBA=00 0A 00 SIZE=8C DA 4E
    EBOOT.BIN LBA=20 00 00 SIZE=E0 DB 4E

    So starting from 0x00000040,
    00 0A 00 00 8C DA 4E 00 20 00 00 00 E0 DB 4E 00



    [Dual Layer]
    CONT_L0.IMG
    a) Header should 80 00 01 E0
    b) This file is big endian
    c) 0x00000009 to 0x0000000B should contains the ISO file size in sector length + EF 7E 80
    d) Sector length = ISO size in byte / 2048 – 1
    e) For example for Ultimate Alliance 2 (USA), the ISO size is 1,765,756,928 bytes, so sector length = 1,765,756,928 / 2,048 – 1 = 862185
    f) Convert 862185 to HEX and + EF 7E 80 = 0D 27 E9 + EF 7E 80 = FC A6 69
    g) Write FC A6 69 to 0x00000009 to 0x0000000B
    h) Make sure 0x0000000D to 0x0000000F is a constant: 09 C0 BF
    i) [optional] patch the DISC_ID located at:
    0x00001000 0x00001800
    0x00002000 0x00002800
    0x00003000 0x00003800
    0x00004000 0x00004800
    0x00005000 0x00005800
    0x00006000 0x00006800
    0x00007000 0x00007800

    #Looks complicated but just use search and replace function will get it done in seconds.

    MDI.IMG
    a) This file is small endian
    b) [optional] patch the DISC_ID at 0x00000000 to 0x00000009
    c) Write in small endian, the sector length to 0x0000008C to 0x0000008E
    In this case, E9 27 0D
    d) Make sure 0x00000088 to 0x0000008A is a constant: BF C0 06

    UMD_AUTH.DAT
    a) This file is small endian
    b) Make sure the header is OGWYN instead of OGWYNY so that we don’t need a SYSTEM.IMG for mastering
    c) Use WQSG_UMD_R31 to check the LBA and LENGTH of BOOT.BIN and EBOOT.BIN
    d) Start from 0x00000040, write the files in the format:
    [BOOT LBA] 00 [BOOT LENGTH] 00 [EBOOT LBA] 00 [EBOOT LENGTH] 00

    5. Check the image with image checker, if there is no errors to layer size and boot file information. Burn all files to a CD / DVD (root of the disc file structure) using IMGBURN or Nero Burn.
    6. Enjoy the game on DTP-H1500!!

    Question: Why don't we just play it on a CFW PSP??
     
    Last edited: Sep 22, 2014
    SONIC3D, mathieulh and l_oliveira like this.

Share This Page