Homepage Forums RetroPie Project New to RetroPie? Start Here! PSP almost perfect but frequent io transfers cause freeze

Viewing 35 posts - 1 through 35 (of 78 total)
  • Author
    Posts
  • #110555
    repuken2
    Participant

    Hi!! I got PSP working 100% perfect , both PPSSPP and lr-PPSSPP , perfect speed on video and sound but once in a while, sometimes every 2 minutes, sometimes 5, it freezes completely and the sd card light is constant yellow not blinking, for about 10 to 20 seconds. I guess is transfering something.

    Tried different configs for memory: 512 to 128 gpu in case it was trying to make some heavy swap but nothing changes. Tried with a couple of 2D’s: Metal Slug XX , Midway Arcade Classics, SF Alpha 2 Max and Puzzle Bobble. Same deal.

    My sd card is not the best, 32gb class 4, but it’s quite funny behaviour, dreamcast games for instance don’t show this issues. This very same card worked flawlessly on my cellphone with PPSSPP for android.

    I’m using a RPI2 overcloked @ 1066mhz 533 mhz L2 and 483 mhz sdram . I believe it doesn’t have to do with processing speed, just an I/O issue.

    Any ideas? Can someone confirm similar setup with PPSSPP having not this issue? It’s a shame it works so nice but has this i/o thing wich makes it unplayable.

    Cheerz, thanks in advance! Great job with Retropie i love it !!!

    #110747
    zerojay
    Participant

    Can you post your lr-ppsspp and ppsspp settings so that we can try to reproduce what you’re seeing?

    #110780
    neighbourhoodnerd
    Participant

    Yes – please do this urgently so others can have a go :D

    IO issues are probably caused by your SD card class (Class 10 is recommended). You might also have a dodgy power supply.

    #110802
    repuken2
    Participant

    Here’s my ppsspp.ini located at /opt/retropie/configs/psp/PSP/SYSTEM/ppsspp.ini :

    `[General]
    FirstRun = False
    RunCount = 4
    Enable Logging = True
    AutoRun = True
    Browse = False
    IgnoreBadMemAccess = True
    CurrentDirectory = /home/pi
    ShowDebuggerOnLoad = False
    CheckForNewVersion = False
    Language = en_US
    ForceLagSync = True
    NumWorkerThreads = 4
    EnableAutoLoad = False
    EnableCheats = False
    CwCheatRefreshRate = 77
    ScreenshotsAsPNG = False
    StateSlot = 4
    RewindFlipFrequency = 0
    GridView1 = True
    GridView2 = True
    GridView3 = False
    ComboMode = 0
    ReportingHost = default
    AutoSaveSymbolMap = False
    CacheFullIsoInRam = True
    InternalScreenRotation = 1
    PauseWhenMinimized = False
    DumpDecryptedEboots = False
    [CPU]
    Jit = True
    SeparateCPUThread = True
    SeparateIOThread = True
    IOTimingMethod = 1
    FastMemoryAccess = True
    FuncReplacements = True
    CPUSpeed = 0
    [Graphics]
    EnableCardboard = False
    CardboardScreenSize = 50
    CardboardXShift = 0
    CardboardYShift = 0
    ShowFPSCounter = 0
    GPUBackend = 0
    RenderingMode = 1
    SoftwareRendering = False
    HardwareTransform = True
    SoftwareSkinning = True
    TextureFiltering = 1
    BufferFiltering = 1
    InternalResolution = 1
    AndroidHwScale = 1
    FrameSkip = 0
    AutoFrameSkip = False
    FrameRate = 0
    FrameSkipUnthrottle = True
    ForceMaxEmulatedFPS = 60
    AnisotropyLevel = 1
    VertexCache = True
    TextureBackoffCache = False
    TextureSecondaryCache = False
    FullScreen = True
    PartialStretch = False
    StretchToDisplay = True
    SmallDisplayZoom = 0
    SmallDisplayOffsetX = 0.500000
    SmallDisplayOffsetY = 0.500000
    SmallDisplayCustomZoom = 8.000000
    ImmersiveMode = False
    TrueColor = True
    MipMap = True
    TexScalingLevel = 1
    TexScalingType = 0
    TexDeposterize = False
    VSyncInterval = False
    DisableStencilTest = False
    AlwaysDepthWrite = False
    BloomHack = 0
    TimerHack = False
    AlphaMaskHack = False
    SplineBezierQuality = 2
    PostShader = Off
    MemBlockTransferGPU = True
    DisableSlowFramebufEffects = False
    FragmentTestCache = True
    [Sound]
    Enable = True
    AudioBackend = 0
    AudioLatency = 1
    SoundSpeedHack = False
    AudioResampler = True
    [Control]
    HapticFeedback = True
    ShowTouchCross = True
    ShowTouchCircle = True
    ShowTouchSquare = True
    ShowTouchTriangle = True
    ShowTouchStart = True
    ShowTouchSelect = True
    ShowTouchLTrigger = True
    ShowTouchRTrigger = True
    ShowAnalogStick = True
    ShowTouchDpad = True
    ShowTouchUnthrottle = True
    ShowComboKey0 = False
    ShowComboKey1 = False
    ShowComboKey2 = False
    ShowComboKey3 = False
    ShowComboKey4 = False
    ComboKey0Mapping = 0
    ComboKey1Mapping = 0
    ComboKey2Mapping = 0
    ComboKey3Mapping = 0
    ComboKey4Mapping = 0
    ShowTouchPause = False
    ShowTouchControls = False
    DisableDpadDiagonals = False
    GamepadOnlyFocused = False
    TouchButtonStyle = 1
    TouchButtonOpacity = 65
    AutoCenterTouchAnalog = False
    ActionButtonSpacing2 = 1.000000
    ActionButtonCenterX = 0.833333
    ActionButtonCenterY = 0.750000
    ActionButtonScale = 1.150000
    DPadX = 0.198611
    DPadY = 0.400000
    DPadScale = 1.150000
    DPadSpacing = 1.000000
    StartKeyX = 0.627778
    StartKeyY = 0.856250
    StartKeyScale = 1.150000
    SelectKeyX = 0.500000
    SelectKeyY = 0.856250
    SelectKeyScale = 1.150000
    UnthrottleKeyX = 0.372222
    UnthrottleKeyY = 0.856250
    UnthrottleKeyScale = 1.150000
    LKeyX = 0.095833
    LKeyY = 0.089583
    LKeyScale = 1.150000
    RKeyX = 0.904167
    RKeyY = 0.089583
    RKeyScale = 1.150000
    AnalogStickX = 0.198611
    AnalogStickY = 0.808333
    AnalogStickScale = 1.150000
    fcombo0X = 0.652778
    fcombo0Y = 0.500000
    comboKeyScale0 = 1.150000
    fcombo1X = 0.780556
    fcombo1Y = 0.500000
    comboKeyScale1 = 1.150000
    fcombo2X = 0.908333
    fcombo2Y = 0.500000
    comboKeyScale2 = 1.150000
    fcombo3X = 0.652778
    fcombo3Y = 0.333333
    comboKeyScale3 = 1.150000
    fcombo4X = 0.780556
    fcombo4Y = 0.333333
    comboKeyScale4 = 1.150000
    AnalogLimiterDeadzone = 0.600000
    [Network]
    EnableWlan = False
    EnableAdhocServer = False
    [SystemParam]
    PSPModel = 1
    PSPFirmwareVersion = 150
    NickName = PPSSPP
    proAdhocServer = coldbird.net
    MacAddress = bb:90:bc:dd:af:da
    Language = 1
    TimeFormat = 1
    DateFormat = 1
    TimeZone = 0
    DayLightSavings = False
    ButtonPreference = 1
    LockParentalLevel = 0
    WlanAdhocChannel = 0
    WlanPowerSave = False
    EncryptSave = True
    [Debugger]
    DisasmWindowX = -1
    DisasmWindowY = -1
    DisasmWindowW = -1
    DisasmWindowH = -1
    GEWindowX = -1
    GEWindowY = -1
    GEWindowW = -1
    GEWindowH = -1
    ConsoleWindowX = -1
    ConsoleWindowY = -1
    FontWidth = 8
    FontHeight = 12
    DisplayStatusBar = True
    ShowBottomTabTitles = True
    ShowDeveloperMenu = False
    SkipDeadbeefFilling = False
    FuncHashMap = False
    [SpeedHacks]
    PrescaleUV = False
    DisableAlphaTest = False
    [JIT]
    [Upgrade]
    UpgradeMessage =
    UpgradeVersion =
    DismissedVersion =
    [Recent]
    MaxRecent = 30
    FileName0 = /home/pi/RetroPie/roms/psp/mortalkombatsKLAX.ISO
    FileName1 = /home/pi/RetroPie/roms/psp/Metal Slug XX Jap-Fix.CSO
    [PinnedPaths]

    #110804
    repuken2
    Participant

    I’m pretty much sure it’s the sd speed wich causes the I/O issues, still i’d like somebody to confirm he/she has it working okay with a faster card. I’d love to have this system working properly, it seems to work very well at least with the 2D games. Metal Slug 6 and Metal Slug XX …

    #110806
    petrockblog
    Keymaster

    There are some options you can try in regards to io – check in PPSSPP settings. Did you try adjusting any of them ?

    #110918
    repuken2
    Participant

    Tried changing many settings , i think the most I/O related ones, like CacheFullIsoInRam and SeparateIOThread, FastMemoryAccess and FuncReplacements.

    Now that i see it, i didn’t change IOTimingMethod , i’m gonna tune that one and see what happens.

    Anybody tried it? ppsspp or lr-ppsspp ?
    Any experiences to share? Cheerz.

    #111031
    neighbourhoodnerd
    Participant

    Hey OP!

    I finally got LR-PPSSPP compiled and running. No IO issues (I’m using a class 10 MicroSD, Pi is not overclocked).

    I haven’t applied your config settings yet.

    My experience thus far has been:
    -Pure 2D games work great
    -Fancy 3D titles (Ratchet and Clank, Dissidia) crash after the start screen. Tekken 6 runs but is monstrously slow.
    -Hit and miss for other 3D titles. Legend of Heroes is 100%, while GTA Chinatown Wars is a bit laggy. LittleBigPlanet is perfect except for some busy areas where it slows down sightly.
    -Some titles are missing some 2D elements (such as menu text) but otherwise work great (MGS Peace Walker, Monster Hunter Freedom Unite).
    -The emulator can’t display the PSP keyboard.

    This is very exciting though – I’ve tested about 40 popular titles and I’d say about 50% work perfectly. That’s a really good start, especially considering I haven’t gotten into the settings too deeply.

    #111050
    repuken2
    Participant

    Great New!!! Thanks for sharing! So i guess it’s a matter of sd card speed/quality , i should get a faster one if a want better psp support. Thanks for testing buddy!!
    Cheerz.

    #111051
    neighbourhoodnerd
    Participant

    I did notice one thing – you have the following setting:
    CacheFullIsoInRam = True

    This would work fine for small ROMs, but most PSP ROMs are well over 1GB in size which would exceed the Pi’s max memory. Could be what’s causing your IO issues.

    #111108
    neighbourhoodnerd
    Participant

    Got lots of games working much better with an overclock (copy-pasteable):

    arm_freq=1000
    sdram_freq=500
    core_freq=500
    over_voltage=2

    and these settings (not copy-pasteable):
    CPU core = JIT
    Auto frameskip = off
    frameskip = 1
    Framerate limit = 60
    Fast Memory = YES
    Set Rounding Mode = YES
    Block Transfer GPU = YES
    Texture scaling level = 1
    Texture scaling type = xbrz
    Anisotropic filtering = NO
    Texture Deposterize = YES
    Internal Shader = NO
    GPU hardware T&L = YES
    Vertex Cache = YES
    Prescale UV = YES
    IO THreading = YES
    Unsafe FuncReplacements = YES
    Sound Speedhack = YES
    Threaded Input Hack = YES

    #111128
    repuken2
    Participant

    Excellent!,thanks for the info!!
    My pi2 is even more overclocked than that but the thing here is something related to I/O operations.

    I’ll try tonight with those settings and let you know. I friend lend me an 8gb class 10 sd card, will try with that too and finally i have a spare external usb hardrive, will see how that works.

    #111179
    repuken2
    Participant

    Hi! i tried a couple of different settings and still freezes for a couple of seconds here and there.

    Then i tried something different: used an usb flashdrive with a 2gb sd card and pointed the roms dir en es_systems.cfgt to the mounted sd.

    Emulation Station recognized it and listed the roms correctly. Run some roms and it freezes but the light that blinks it’s still the green one that’s beside the red power led on the pi. I don’t know , does that light blinks when there’s *any* I/O activity or just the “main” sd card? If it’s just the sd-card then the emulator is using some kind of caching/swapping system i guess, otherwise it doesn’t make any sense.

    What’s your cpu/gpu mem sharing config?

    #111186
    neighbourhoodnerd
    Participant

    256mb.

    Only other thing I can think of is that your OC may be too high. Either that or the emulator is still a bit buggy. Are you using LR-PPSSPP or the standalone one? I’m using LR-PPSSPP.

    #111327
    repuken2
    Participant

    Tried both, the standalone seems to be slightly better. Tried today with an 8gb sandisk ultra class 10. I works way bettter, still freezes once in a while but less frequently, and sometimes yellow light it’s not blinking so it’s not entirely an I/O factor it seems but pi’s processing power. I guess this emu needs more work but impressive none the less. If i had more time i’ll dig into it to see if i can improve it.

    #112316
    joseph10805
    Participant

    I also have a class 10 sd card with the same issue (pauses in game-play with otherwise smooth emulation) If anyone has any new information it would help tremendously. Thanks!

    #112317
    petrockblog
    Keymaster

    Those talking about the freezing etc – have you all tried changing the “IO Timing method” in the system settings (with standalone PPSSPP) ? By default it is set to “Fast” which it says can lag on slow storage.

    #112336
    joseph10805
    Participant

    Thanks for the help Buzz! It doesn’t seem like it did much if any good. It seems like lr-ppsspp is doing the same thing so It might be memory card related? I have a 64GB Lexar class 10

    #112381
    repuken2
    Participant

    Hi, the freezing thing was sd card related. I tried IO Timing method from 1 to 3 making no difference at all. I’m using a 32gb sd hc1 class 10 now and it works perfect, once in a while it would freeze for 0,5 seconds, almost nothing. It happens on my cellphone too.

    Funny thing is i have the isos on the old 32 gb sd class 4 via pendrive/usb adapter, so it’s related to how the emulator manages memory, specifically swap or some sort of cache the must be read from main sd. Also the size of the iso doesn’t affect performance

    Hope it clarifies things for everybody.

    #117709
    cooky069
    Participant

    Also having this problem myself . I’m using the 3.5 image and a class 10 integral brand sd card and get really good results but as described above every few minutes I get a pause in emulation for a few seconds. Did anyone get to the bottom of this or is it an ongoing problem ?

    #117751
    repuken2
    Participant

    Hi cooky069, what i can tell from my own experience, and having tried a couple of differnt brands + speeds, this has to do with the card speed, because of the swap handling the emulator does, wich seems to be pretty heavy. I don’t know that brand Integral, maybe the speed advertised doesn’t match class 10 ? It’s the only thing i can think of.

    #117754
    zerojay
    Participant

    Run “free” and see if swap is getting hit hard.

    #117762
    zerojay
    Participant

    I just switched my RetroPie installation over to a hard drive and I’m no longer getting the pauses at all.

    #117822
    cooky069
    Participant

    Thanks for the info guys . When I’ve got time I’m going to try zerojay’s suggestion and set up a hdd. Iv had chance to check the read write speed of the integral card and can confirm it is pitifully slow! It barely qualifies as a class ten. I set up a new SanDisk card and there is a noticeable difference , not perfect but definitely better. I also speed tested the SanDisk and it doubles what the integral is capable of

    #117871
    xd3l
    Participant

    Lr-PPSSPP here. Running off HD, distro updated, and Castlevania runs pretty much as it should. A slight slight slight hick up here and there, but you kind have to be looking for it.

    This is an improvement since when I was on the old Wheezy distro release.

    EDIT: I did not edit my config.

    #117957
    xd3l
    Participant

    Hmmm, I was going to tinker with the config file but I have a

    “/opt/retropie/configs/psp/PSP/GAME”

    and not a

    “/opt/retropie/configs/psp/PSP/SYSTEM”

    #117961
    neighbourhoodnerd
    Participant

    Just create the folder yourself :) The real PSP actually uses the same folder structure.

    #117969
    xd3l
    Participant

    Thanks, OK the config file does not improve performance for me, and I’m sure I want to over clock it beyond the overclock settings provided with Retropie.

    #117994
    labelwhore
    Participant

    I have a really aggressive overclock on my pi that gets most PSP games running nearly perfectly. I do have a cheap sd card though, I do see some sub-second pauses in quite a few games, but they’re still very much playable. I’ve tested an absolute ton of titles and have found over 100 games that work well. My psp games are on an HDD.

    Here’s what I’m using, these are guaranteed to void your warranty, don’t blame me if you blow up your pi with these:

    gpu_mem_256=128
    gpu_mem_512=256
    gpu_mem_1024=384
    gpu_mem=384
    arm_freq=1100
    core_freq=550
    sdram_freq=500
    over_voltage=4
    
    force_turbo=1
    avoid_pwm_pll=1
    v3d_freq=450

    My pi has a heatsink kit like this. I also have a massive case fan. (140mm I think) Don’t try these without great cooling.

    #118054
    xd3l
    Participant

    How long have you been running your Pi with these settings?
    Also what are some of the more advanced PSP games you are able to run and well?

    Lastly, can you take some photos of your Pi with case? :)

    THanks!

    The most advanced PSP games I can run and run well are the Ys series (7 is a little choppy), and Castlevania.

    #118080
    labelwhore
    Participant

    When I was testing psp games, I added all of the games that worked (and didn’t) to the compatibility sheet on the wiki if they weren’t already there. I think I missed a couple, because I have a few more working games than I counted on the sheet, but it’s pretty close.

    I’ve been using those overclock settings for just about a month. I started using them specifically for PPSSPP. No issues yet.

    Here’s the hardware that I’m working with:
    my pi 2

    That case is just a tupperware container I found at an art supply store. To keep from having issues with static from the tupperware case, all of the electronics are lined with thick paper between the PCB and the tupperware. You can see part of the paper sticking out from under the PI. Everything is secured in place. While my overclock settings are recent, this case setup is not.

    I removed the back of the power strip so that I could screw it down also. I was a little worried about that at first because risk of shocking the shit out of myself, but again I lined the back with thick paper to keep anything from grounding out. No issues yet. :)

    and the outside

    the two buttons on the case are a hard reset/power on switch using the reset pins. The other resets or shuts down the pi depending on how long it’s held down. I highly recommend the second one, as it’s saved me from cutting the power on my pi numerous times.

    #118088
    xd3l
    Participant

    That is awesome!

    Where is this Retropie PSP compatability list though? I’m not seeing it.

    Thanks!

    #118089
    labelwhore
    Participant
    #118145
    xd3l
    Participant

    That list does not compare to my experiences, such as the MegaMan remake.
    The list says it is fine, but when I ran it, it ran slow and choppy. The 2nd time I tried to load it, it booted me back to emulation station.

    There are others on that list that don’t run as well as page claims.

    I have some “minis” I could ad to that list though that do work.

    #118211
    zerojay
    Participant

    You probably aren’t overclocking or aren’t using the same settings. I can confirm that Megaman Powered Up runs super smoothly here, for instance.

Viewing 35 posts - 1 through 35 (of 78 total)
  • The forum ‘New to RetroPie? Start Here!’ is closed to new topics and replies.