EmuNewz Network

Full Version: java.nio.BufferUnderflowException
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Use Jpcsp v0.6 2704.

Got error java.nio.BufferUnderflowException when I try to play my God Eater Burst (JPN ver.) on JPCSP.

Seems all my v1.01 patched ISO has the problem, here's some detail for God Eater Burst & Akiba's Trip Plus.

(I guess I should post it in svn trunk discussion but please move it if this is the wrong place).



On real PSP, there's a 1.01 patch (official, could get it by using PSP XMB -> UMD -> triangle -> Update) for God Eater Burst. Which is a PBOOT.PBP file in ms0:\PSP\GAME\NPJH50352\

My UMD can load it, and therefore I can play latest DLC v1.51 on my PSP. (I know JPCSP won't load DLC currently)

But using cfw + ISO on PSP won't load the 1.01 patch, JPCSP won't as well.
(The original 1.00 ISO dumped from UMD could be played on PSP & JPCSP though)

On PSP, there's a way to patch the ISO using isotool (I guess it's not a prometheus patch, no prometheus.prx, no eboot.old, and I'm using 6.60).
In isotool, select GAME UPDATE if you have the PBOOT.PBP patch in your MemoryStick, and it will patch the patch into ISO, and this ISO become 1.01.

My cfw PSP can use this 1.01 ISO with no problem, but JPCSP can't.

But if I do make a .CSO from this 1.01 ISO by using UMDGEN. That .CSO can be played in JPCSP.

Here's the log when I try to load God Eater Burst 1.01 ISO on Jpcsp v0.6 2704.

Critical Error: Check console for details.

Code:
Running Jpcsp 32bit...
java.nio.BufferUnderflowException
        at java.nio.Buffer.nextGetIndex(Unknown Source)
        at java.nio.HeapByteBuffer.get(Unknown Source)
        at jpcsp.util.Utilities.getUnsignedByte(Utilities.java:212)
        at jpcsp.util.Utilities.readUWord(Utilities.java:224)
        at jpcsp.format.Elf32Relocate.read(Elf32Relocate.java:36)
        at jpcsp.Loader.relocateFromBuffer(Loader.java:763)
        at jpcsp.Loader.relocateFromHeaders(Loader.java:914)
        at jpcsp.Loader.LoadELF(Loader.java:396)
        at jpcsp.Loader.LoadModule(Loader.java:182)
        at jpcsp.Emulator.load(Emulator.java:158)
        at jpcsp.Emulator.load(Emulator.java:151)
        at jpcsp.MainGUI.loadUMD(MainGUI.java:1552)
        at jpcsp.MainGUI.loadUMDGame(MainGUI.java:1647)
        at jpcsp.MainGUI.loadUMD(MainGUI.java:1583)
        at jpcsp.GUI.UmdBrowser.loadSelectedfile(UmdBrowser.java:660)
        at jpcsp.GUI.UmdBrowser.access$1000(UmdBrowser.java:83)
        at jpcsp.GUI.UmdBrowser$4.actionPerformed(UmdBrowser.java:376)
        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.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
        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$000(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 Sour
ce)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        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 Sour
ce)
        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.pumpEventsForFilter(Unknown Source)
        at java.awt.WaitDispatchSupport$2.run(Unknown Source)
        at java.awt.WaitDispatchSupport$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.WaitDispatchSupport.enter(Unknown Source)
        at java.awt.Dialog.show(Unknown Source)
        at java.awt.Component.show(Unknown Source)
        at java.awt.Component.setVisible(Unknown Source)
        at java.awt.Window.setVisible(Unknown Source)
        at java.awt.Dialog.setVisible(Unknown Source)
        at jpcsp.MainGUI.openUmdActionPerformed(MainGUI.java:1524)
        at jpcsp.MainGUI.access$400(MainGUI.java:108)
        at jpcsp.MainGUI$5.actionPerformed(MainGUI.java:376)
        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$000(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 Sour
ce)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        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 Sour
ce)
        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)

AND from the logger (INFO)
[attachment=9453]

Code:
0 [GUI] INFO  emu - Java version: 1.7.0_06 (1.7.0_06-b24)
0 [GUI] INFO  emu - Java library path: lib/windows-x86
0 [GUI] INFO  emu - Jpcsp v0.6 2704
0 [GUI] INFO  emu - UMD param.sfo :
APP_VER = 01.01
ATTRIBUTE = 1
BOOTABLE = 1
CATEGORY = PG
DISC_ID = NPJH50352
DISC_VERSION = 1.01
PARENTAL_LEVEL = 7
PBOOT_TITLE = GOD EATER BURST 通常版 ゲームアップデートデータ
PSP_SYSTEM_VER = 6.31
REGION = 32768
TITLE = GOD EATER BURST 通常版 1.01
USE_USB = 0
probably homebrew? false
94 [GUI] INFO  emu - File EBOOT.OLD not found in directory.
172 [GUI] INFO  compiler - Compiler MethodMaxInstructions: 3000
422 [GUI] WARN  emu - .shstrtab section not found



Here is another game with the same problem.

Akiba's Trip Plus (JPN)

UMD could load 1.01 patch PBOOT.PBP
Original ISO on cfw PSP works well, but won't load 1.01 patch
1.01 patched ISO works well on PSP, but not on JPCSP
CSO created from 1.01 ISO works on JPCSP

Critical Error: Check console for details.

Code:
Running Jpcsp 32bit...
java.nio.BufferUnderflowException
        at java.nio.Buffer.nextGetIndex(Unknown Source)
        at java.nio.HeapByteBuffer.get(Unknown Source)
        at jpcsp.util.Utilities.getUnsignedByte(Utilities.java:212)
        at jpcsp.util.Utilities.readUWord(Utilities.java:224)
        at jpcsp.format.Elf32Relocate.read(Elf32Relocate.java:36)
        at jpcsp.Loader.relocateFromBuffer(Loader.java:763)
        at jpcsp.Loader.relocateFromHeaders(Loader.java:914)
        at jpcsp.Loader.LoadELF(Loader.java:396)
        at jpcsp.Loader.LoadModule(Loader.java:182)
        at jpcsp.Emulator.load(Emulator.java:158)
        at jpcsp.Emulator.load(Emulator.java:151)
        at jpcsp.MainGUI.loadUMD(MainGUI.java:1552)
        at jpcsp.MainGUI.loadUMDGame(MainGUI.java:1647)
        at jpcsp.MainGUI.loadUMD(MainGUI.java:1583)
        at jpcsp.GUI.UmdBrowser.loadSelectedfile(UmdBrowser.java:660)
        at jpcsp.GUI.UmdBrowser.access$1000(UmdBrowser.java:83)
        at jpcsp.GUI.UmdBrowser$4.actionPerformed(UmdBrowser.java:376)
        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.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
        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$000(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 Sour
ce)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        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 Sour
ce)
        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.pumpEventsForFilter(Unknown Source)
        at java.awt.WaitDispatchSupport$2.run(Unknown Source)
        at java.awt.WaitDispatchSupport$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.WaitDispatchSupport.enter(Unknown Source)
        at java.awt.Dialog.show(Unknown Source)
        at java.awt.Component.show(Unknown Source)
        at java.awt.Component.setVisible(Unknown Source)
        at java.awt.Window.setVisible(Unknown Source)
        at java.awt.Dialog.setVisible(Unknown Source)
        at jpcsp.MainGUI.openUmdActionPerformed(MainGUI.java:1524)
        at jpcsp.MainGUI.access$400(MainGUI.java:108)
        at jpcsp.MainGUI$5.actionPerformed(MainGUI.java:376)
        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$000(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 Sour
ce)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        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 Sour
ce)
        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)

Logger. attach both 1.01 ISO (Not working) & 1.01 CSO (Working) log here.

[attachment=9454]

[attachment=9455]

Any idea please? Thank you :-).