This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
iso_tool 1.981
#1
This homebrew utility was tested with revision bbf6500. Although JPCSP is able to load iso_tool, most of the options do not work as the log shows invalid memory address errors. I have included a Debug Log of iso_tool being used on PPSSPP v1.0.1-777-gf4e0034.


Attached Files Thumbnail(s)
               

.zip   Log_rbbf6500(64bit)_INFO.zip (Size: 228.46 KB / Downloads: 112)
Reply
#2
(07-22-2015, 01:30 AM)DragonNeos Wrote: This homebrew utility was tested with revision bbf6500. Although JPCSP is able to load iso_tool, most of the options do not work as the log shows invalid memory address errors.
Should now be fixed with e8ca352
Always include a complete log file at INFO level in your reports. Thanks! How to post a log
Reply
#3
There are errors that still occur when trying to use certain options in the homebrew such as Game Update. I place the game in the ISO folder created by iso_tool and the patch/update files in the GAME folder. When I press on Game Update, the operation goes smoothly until this error appears:
Code:
22:01:53 ERROR      hle - user_main - Unmapped import at 0x08002D4C [0xBC31C1B9] Module 'ThreadManForKernel' - $a0=0x00002000 $a1=0x080007D8 $a2=0x09FBF614
The homebrew acts as if the operation was finished, however checking the game using programs such as UMDGen show that the EBOOT.BIN file is 0 KB.


Attached Files
.zip   Log_ra7dcb95(64bit)_INFO.zip (Size: 80.3 KB / Downloads: 120)
Reply
#4
This homebrew application was tested with revision 6493ea6. The function Game Update now works on JPCSP, although a few errors pop up as the patching process occurs.
Code:
22:26:19 ERROR      hle - user_main - Unmapped import at 0x08002D1C [0x4C537C72] Module 'semaphore' - $a0=0x09FFEE6C $a1=0x000000A4 $a2=0x09FFEE6C
22:26:21 ERROR      hle - user_main - Unmapped import at 0x08002D1C [0x4C537C72] Module 'semaphore' - $a0=0x09FFEE6C $a1=0x00000064 $a2=0x09FFEE6C
22:26:21 ERROR      hle - user_main - Unmapped import at 0x08002D1C [0x4C537C72] Module 'semaphore' - $a0=0x09FFEC68 $a1=0x00000074 $a2=0x09FFEC68
22:26:22 ERROR      hle - user_main - Unmapped import at 0x08002D1C [0x4C537C72] Module 'semaphore' - $a0=0x09FFEE6C $a1=0x00000150 $a2=0x09FFEE6C

When JPCSP tries to load a game that was updated through iso_tool, a window pops up that says "Critical error: Check console output for details."
Code:
java.lang.IndexOutOfBoundsException
    at java.io.ByteArrayOutputStream.write(Unknown Source)
    at jpcsp.crypto.AES128.doUpdateCMAC(AES128.java:140)
    at jpcsp.crypto.KIRK.executeKIRKCmd10(KIRK.java:662)
    at jpcsp.crypto.KIRK.executeKIRKCmd1(KIRK.java:402)
    at jpcsp.crypto.KIRK.hleUtilsBufferCopyWithRange(KIRK.java:859)
    at jpcsp.crypto.PRX.DecryptPRX(PRX.java:749)
    at jpcsp.format.PSP.decrypt(PSP.java:162)
    at jpcsp.Loader.LoadPSP(Loader.java:332)
    at jpcsp.Loader.LoadModule(Loader.java:173)
    at jpcsp.Emulator.load(Emulator.java:160)
    at jpcsp.Emulator.load(Emulator.java:153)
    at jpcsp.MainGUI.loadUMD(MainGUI.java:1859)
    at jpcsp.MainGUI.loadUMDGame(MainGUI.java:2027)
    at jpcsp.MainGUI.loadUMD(MainGUI.java:1899)
    at jpcsp.MainGUI$RecentElementActionListener.actionPerformed(MainGUI.java:3118)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.AbstractButton.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$300(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)


Attached Files
.zip   Log_r6493ea6(64bit)_INFO (iso_tool).zip (Size: 74.05 KB / Downloads: 106)
.zip   Log_r6493ea6(64bit)_INFO (Bleach - Heat The Soul 7 Ver 1.01).zip (Size: 3.15 KB / Downloads: 110)
Reply
#5
I was not able to find the source code of this homebrew. But I'm not able to understand the blog of the author:
http://takka.tfact.net/2011/12/isotool-1981.html

Could someone check if the source code is available?

Thank you!
Always include a complete log file at INFO level in your reports. Thanks! How to post a log
Reply
#6
Unfortunately, the developer has never posted the source code of this homebrew online. It may be possible to contact the developer using the email listed on their blog to ask about the source code.

No errors pop up now when using Game Update on revision f187aa8. However, games that were updated through iso_tool still crash on JPCSP (error seems to be slightly different than before). When trying to load an updated game made through iso_tool on JPCSP into PPSSPP v1.0.1-799-gb5f7d93, the log shows that it is missing a key.
Code:
java.lang.ArrayIndexOutOfBoundsException
    at java.lang.System.arraycopy(Native Method)
    at jpcsp.crypto.KIRK.executeKIRKCmd1(KIRK.java:430)
    at jpcsp.crypto.KIRK.hleUtilsBufferCopyWithRange(KIRK.java:861)
    at jpcsp.crypto.PRX.DecryptPRX(PRX.java:750)
    at jpcsp.format.PSP.decrypt(PSP.java:162)
    at jpcsp.Loader.LoadPSP(Loader.java:332)
    at jpcsp.Loader.LoadModule(Loader.java:173)
    at jpcsp.Emulator.load(Emulator.java:160)
    at jpcsp.Emulator.load(Emulator.java:153)
    at jpcsp.MainGUI.loadUMD(MainGUI.java:1859)
    at jpcsp.MainGUI.loadUMDGame(MainGUI.java:2027)
    at jpcsp.MainGUI.loadUMD(MainGUI.java:1899)
    at jpcsp.MainGUI$RecentElementActionListener.actionPerformed(MainGUI.java:3118)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.AbstractButton.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$300(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)


Attached Files
.zip   Log_rf187aa8(64bit)_INFO (iso_tool).zip (Size: 77.52 KB / Downloads: 113)
.zip   Log_rf187aa8(64bit)_INFO (Bleach - Heat The Soul 7 Ver 1.01).zip (Size: 4.33 KB / Downloads: 108)
Reply
#7
This homebrew utility was tested with revision 825bf68. The option Game Update doesn't seem to work as the emulator crashes with the following message:
Code:
java.lang.IllegalArgumentException
    at java.nio.Buffer.limit(Unknown Source)
    at jpcsp.memory.FastMemory.getBuffer(FastMemory.java:224)
    at jpcsp.memory.SafeFastMemory.getBuffer(SafeFastMemory.java:196)
    at jpcsp.memory.SafeFastMemory.getBuffer(SafeFastMemory.java:25)
    at jpcsp.util.Utilities.write(Utilities.java:565)
    at jpcsp.HLE.modules.IoFileMgrForUser.hleIoWrite(IoFileMgrForUser.java:2067)
    at jpcsp.HLE.modules.IoFileMgrForUser.sceIoWrite(IoFileMgrForUser.java:3177)
    at _S1_2_0x089B8FC4.s(_S1_2_0x089B8FC4.java:4)
    at _S1_2_0x0890EB20.s(_S1_2_0x0890EB20.java:35372)
    at _S1_2_0x089130B8.s(_S1_2_0x089130B8.java:168)
    at _S1_2_0x0891B110.s(_S1_2_0x0891B110.java:1508)
    at _S1_2_0x0891B110.exec(_S1_2_0x0891B110.java)
    at jpcsp.Allegrex.compiler.RuntimeContext.jumpCall(RuntimeContext.java:177)
    at jpcsp.Allegrex.compiler.RuntimeContext.call(RuntimeContext.java:230)
    at _S1_2_0x08921418.s(_S1_2_0x08921418.java:836)
    at _S1_2_0x0892301C.s(_S1_2_0x0892301C.java:1440)
    at _S1_2_0x0892301C.exec(_S1_2_0x0892301C.java)
    at jpcsp.Allegrex.compiler.RuntimeContext.jumpCall(RuntimeContext.java:177)
    at jpcsp.Allegrex.compiler.RuntimeContext.jump(RuntimeContext.java:209)
    at _S1_2_0x08914CC8.s(_S1_2_0x08914CC8.java:776)
    at _S1_2_0x08900184.s(_S1_2_0x08900184.java:156)
    at _S1_2_0x08900184.exec(_S1_2_0x08900184.java)
    at jpcsp.Allegrex.compiler.RuntimeContext.execWithReturnAddress(RuntimeContext.java:778)
    at jpcsp.Allegrex.compiler.RuntimeContext.runThread(RuntimeContext.java:843)
    at jpcsp.Allegrex.compiler.RuntimeThread.run(RuntimeThread.java:50)


Attached Files
.zip   Log_r825bf68(64bit)_INFO.zip (Size: 80.89 KB / Downloads: 111)
Reply
#8
Is it possible to generate a log at DEBUG level until that error?
Always include a complete log file at INFO level in your reports. Thanks! How to post a log
Reply
#9
I have attached a DEBUG log that covers selecting and loading the homebrew utility until the error is reached and the emulator has crashed.


Attached Files
.zip   Log_r825bf68(64bit)_DEBUG.zip (Size: 477.25 KB / Downloads: 129)
Reply
#10
Code:
02:34:01 DEBUG compiler - user_main_0x13 -    0x0800275C: [0xFFFF8800] - vnop  <--- should be lui $a1, 0x88000000
02:34:01 DEBUG compiler - user_main_0x13 -    0x08002760: [0x02003021] - addu       $a2, $s0, $zr <=> move $a2, $s0
02:34:01 DEBUG compiler - user_main_0x13 -    0x08002764: [0x24A527D8] - addiu      $a1, $a1, 10200
02:34:01 DEBUG compiler - user_main_0x13 - <  0x08002768: [0x0E001353] - jal        0x08004D4C [sceKernelExtendKernelStack]
02:34:01 DEBUG compiler - user_main_0x13 -    0x0800276C: [0x24042000] - addiu      $a0, $zr, 8192 <=> li $a0, 8192
OK, this was a relocation issue from the loader which should now be fixed in ccfd35b. Could you please retry?

Thank you!
Always include a complete log file at INFO level in your reports. Thanks! How to post a log
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)