PS2 Open PS2 Loader v0.9.3 2016-09-29

Various OPL 0.9.3 versions without GSM -OPL Development Team (c. Ifcaro & jimmikaelkael)

  1. 639
    1,142
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    639
    Likes Received:
    1,142
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:
    I have found that our IGR implementation does not wipe user memory before booting the next ELF, which occasionally resulted in faulty behaviour.

    I spent so long, wondering why it seemed like very large portions of the OPL GUI's memory was getting corrupted after IGR, seemingly getting overwritten by other regions of itself. It seemed to be caused by (leftover) old code from the game getting called by OPL's code/old data causing the new code to misbehave. @[email protected]

    The pull request hasn't been merged yet, so I added the new fixes there. Here is something for you to play with, while waiting.

    Threads live (CreateThread) and die (DeleteThread), that is why. It's the normal lifecycle of threads.

    For this bug in particular, the main thread got changed, which was why the main thread's ID changed. It is possible to keep the same main thread alive by using it to call ExecPS2(), but we cannot do that easily because the main thread is not in our control. But there is nothing in the documentation that suggested that the main thread's ID will always be 1.

    FMCB/FHDB does not change the way the PS2's kernel works. Only OPL does that.

    The thread IDs will always change, as long as you run any software that creates and deletes threads. Here, it's because IGR will cause the main thread to change because we have no power over the original main thread, so we make the IGR thread the main thread.

    There is only one thread that has a fixed ID, which is the idle thread (ID 0).

    Actually, the system exists. It's just that (all?) disc-based games do not allow you to return to the browser.
    What we're doing for IGR, is to wrench control from the game and kill it.

    Most of the world did not get to experience the PSBB, but the DLCs should have that function. I know that POPS certainly did.
     
    jolek, CountDuckula, Zarper and 4 others like this.
  2. 386
    156
    47
    Peppe90

    Peppe90 Member

    Joined:
    Dec 7, 2018
    Messages:
    386
    Likes Received:
    156
    Trophy Points:
    47
    Gender:
    Male
    lol, you do not know who you're talking to, Swap Magic is my second name :chuncky:

    One thing is to directly launch cogswap (58kb) another is to directly launch OPL (or even Ulaunchelf)... You told me you don't want to use cogswap.

    Sorry, maybe I did not say it clear enough. I agree, the IGR is not the problem, simply it can't completely erase the Ps2 memory/make it as it would be on his first boot, that's all. If the IGR would do that, pratically you'd have a cold boot after every IGR ;)


    Yes I think I explained better just above.


    I start games this way a lot of times, what difference I should notice??
     
    Last edited: Jan 9, 2019
  3. 144
    164
    72
    Tupakaveli

    Tupakaveli VIP PSX-Place Supporter

    Joined:
    Sep 19, 2017
    Messages:
    144
    Likes Received:
    164
    Trophy Points:
    72
    Gender:
    Male
    Location:
    Australia
    Wasn't there also some issue with VMC if you IGR back to OPL or does this solve that as well?
     
  4. 63
    81
    42
    El_Patas

    El_Patas Member

    Joined:
    Aug 10, 2017
    Messages:
    63
    Likes Received:
    81
    Trophy Points:
    42
    Gender:
    Male
    @sp193, i tested the PAL version with the latest r1236 and now the game after an
    IGR pass the memory check in the loading screen.

    Thank you very much for the work, great :adoration:

    Then i checked the NTSC-U version (SLUS-21780) which i not tested never before, and i got
    the surprise that the IGR not works with this version, (tried with the previous r1229 and
    the r1236), when i press the IGR i obtain a "without signal " message on my TV.

    Best regards.
     
    jolek and Peppe90 like this.
  5. 386
    156
    47
    Peppe90

    Peppe90 Member

    Joined:
    Dec 7, 2018
    Messages:
    386
    Likes Received:
    156
    Trophy Points:
    47
    Gender:
    Male
    Tried the build from your link. It seems that something changed for the better, this is what I done:

    - I booted OPL from your link, started Ace Combat, then done a IGR
    - the IGR path was set to OPNPS2LD-GAMELIST I had into the MC
    - OPNPS2LD-GAMELIST succeeded to load the list (correctly reading games.bin file without going into the loading loop).

    Btw "after IGR problems" remain for the games.
    Ferrari Challenge (I have the USA version) still freeze at the second loading time rebooting it after a IGR it's been performed.

    @El_Patas OPL r1236 you tried is the the one @sp193 linked HERE, right?? So we tested the same version.

    Could you try another time with Ferrari Challenge TP (USA) if for you this behavior is stable?? I've IGResetted from this game thousands of times in the last years (for testing purposes) and it happened only one time to lost the video signal when IGResetting.

    Normally it just IGR fine (to OPL or any other path) either if it freezed or not.

    Situation is unchanged for Shawn Palmer's Pro snowborder too:

     
    Last edited: Jan 9, 2019
    jolek likes this.
  6. 639
    1,142
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    639
    Likes Received:
    1,142
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:
    Thank you. The patch was not made for the NTSC-U/C version because I didn't realize there was one. I have extended the patch to support the NTSC-U/C version, but I am trying to complete other fixes first before pushing the commits.

    I see, thanks.

    I looked at the NTSC-U/C version, SLUS-20199. The game's MPEG video playback might have been designed after the Sony mpegstr sample, which uses a "default thread" for switching between threads.
    However, instead of changing the main thread's priority, the developers tried to use the main thread's priority for the other threads, but incorrectly used the main thread's ID instead.
    During a clean boot of the PS2, this works okay because the main thread's ID is equal to the priority, of priority 1.

    So after the thread IDs change (due to running something before the game), the mistake causes this to happen:
    Code:
    dsedb S> dt
    tid prio  pc  sp  status cause sid wakeup count function
      0 128 00081fd0 00000000  Ready  0  4027
      7  1 00138f24 01fff730  Run  0  1217 <_start>
     16  0 0010caa8 002e8ff0  Wait  Sema  2  0  1 <topThread>
     17 127 0008e1a8 00092640  Wait Sleep  0  1
     18  7 0010c918 002f4700  Ready  0  79 <defMain>
     19  7 001094b4 01206170  Ready  0  163 <videoDecMain>
    
    The default (defMain) and video decoder main (videoDecMain) threads no longer share the same priority as the main thread (_start)! And so the main thread busy-loops over the other 2 threads, causing a hang.

    Does anybody have the European and Japanese versions?
    The PCSX2 page suggests that there were 3 PAL releases, but are the three of them similar? https://wiki.pcsx2.net/Shaun_Palmer's_Pro_Snowboarder

    I just need the boot file (e.g. SLES_504.00). So if somebody has the files from these games, I can update the patch to support them.
     
    Last edited: Jan 10, 2019
  7. 386
    156
    47
    Peppe90

    Peppe90 Member

    Joined:
    Dec 7, 2018
    Messages:
    386
    Likes Received:
    156
    Trophy Points:
    47
    Gender:
    Male
    I see, thank you for all the infos and efforts :D
    Anyway, the different behavior depending on the DMA speed is caused by the same issue??

    Setting UDMA 2 (or below) the game won't freeze after all IGRs you want (just the intro will stutter at higher DMA, but in MDMA 0 it wouldn's stutter at all).

    I too have the USA version of this game.

    Another game I'm testing is Air Combat the Unsung War. Like State of Emergency It's one of those games that have problems since the r730.
    It seems to freeze at mission 6 and 9 (and maybe Others), I can't confirm yet (I completed just a mission). Everything works fine so far, aside one thing: the briefings background music is missing.
     
    jolek likes this.
  8. 639
    1,142
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    639
    Likes Received:
    1,142
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:
    It should be that same problem. The immediate issue when it hangs, is that the audio input ring buffer is full, but no playback can take place because the main thread is preventing the video decoding thread from running (it is not clear to me either, but perhaps it cannot continue playing audio because the video stream cannot be played).

    So when it takes a while to read data, this glitch can be avoided. But in the first place, its thread-scheduling mechanism fails once the main thread's ID changes, due to the mistake that the developers made. If the game was played in the way it was designed (i.e. switch on PS2 and insert game disc), then it will always work correctly and the bug is not visible.

    This might be due to thread starvation, which can happen if the game requests a lot of data. Does accurate reads not help?

    I see. Then the patch will be applicable to you, once it is committed.

    I'm looking for people who own the other releases because I need their boot executable files to adapt the patches to fit the other releases.

    I see, thanks. The lack of background music might be some other issue. Have you tried using accurate reads with this?
     
    jolek and Peppe90 like this.
  9. 63
    81
    42
    El_Patas

    El_Patas Member

    Joined:
    Aug 10, 2017
    Messages:
    63
    Likes Received:
    81
    Trophy Points:
    42
    Gender:
    Male
    The r1236 which i used is the one of this stickied thread which points to resources and which have
    a direct link to the download repository:

    http://www.psx-place.com/threads/open-ps2-loader-official-beta-releases.21573/
    I tried two times now again and this time the IGR worked, is strange, maybe yesterday
    the without signal was casual, then i tried load the game a second consecutive time
    and freezed like the PAL version after the fix.

    The PAL versions they are different by languages, and the boot file are different
    in their numbers, maybe each one needs the patch separately:

    SLES-50400=English
    SLES-50401=French
    SLES-50402=German

    I don't have the pal versions and they are hard to find, even the english one,
    i hope someone have them, i'll try to search.

    Best regards.
     
    Tupakaveli, jolek and Peppe90 like this.
  10. 845
    538
    172
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    845
    Likes Received:
    538
    Trophy Points:
    172
    Gender:
    Male
    I'm not sure if I explicit myself properly.

    I was relying on post that I've made long ago at PSX-Scene.
    From I remember cold boot seems to helps 2\3 games:

    Half-life works fine with SCPH-50004, 77004, 79003 when in OPL, PS2 logo will be enabled & shown,
    no matter if I'm using FMCB or FHDB.

    When I want to boot this game at cold boot -> E1 launch keys -> OPL (without PS2 logo) -> Half-life.
    With FMCB I don't have any sound problems.
    With FHDB buzzing sound & music seems to "appear" like I was normally launch OPL from FHDB menu.

    I do not remember if cold boot -> fast boot (esr) helps these games, it was really long ago.
     
    Tupakaveli, Peppe90 and TnA like this.
  11. 43
    6
    7
    Fanhais

    Fanhais Forum Noob

    Joined:
    Oct 8, 2018
    Messages:
    43
    Likes Received:
    6
    Trophy Points:
    7
    Gender:
    Male
    this the boot file of Shaun Palmer's Pro Snowboarder
     
  12. 386
    156
    47
    Peppe90

    Peppe90 Member

    Joined:
    Dec 7, 2018
    Messages:
    386
    Likes Received:
    156
    Trophy Points:
    47
    Gender:
    Male

    Makes sense :encouragement:


    Yes, but it slowdown the loading times even more than MDMA 0. So it's better to use the latter.



    Probably this game has not been a best seller. :D



    Yes tried accurate thread and a lot of other MODEs/DMA combinations. Nothing solved so far.
    With OPL revisions previous to r.733 the music is present. All work perfeclty without any particular setting.
     
  13. 845
    538
    172
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    845
    Likes Received:
    538
    Trophy Points:
    172
    Gender:
    Male
    Tupakaveli likes this.
  14. 625
    305
    72
    TnA

    TnA Member

    Joined:
    Jul 1, 2018
    Messages:
    625
    Likes Received:
    305
    Trophy Points:
    72
    Gender:
    Male
    Location:
    Germany --> Saxony
    Please remove the file and rather PM him a link.
     
    Tupakaveli likes this.
  15. 43
    6
    7
    Fanhais

    Fanhais Forum Noob

    Joined:
    Oct 8, 2018
    Messages:
    43
    Likes Received:
    6
    Trophy Points:
    7
    Gender:
    Male
    ok sorry
     
  16. 386
    156
    47
    Peppe90

    Peppe90 Member

    Joined:
    Dec 7, 2018
    Messages:
    386
    Likes Received:
    156
    Trophy Points:
    47
    Gender:
    Male
    Someone knows if it's possible to make 2 different OPLs, to load 2 different cfgs?? I explain:

    I'm using OPNPS2LD-GAMELIST-3 for Ps2 games. I have it in my MC (slot 2). It loads the cfg from my OPL folder in the same MC.

    I have OPL_DB_1392 into my usb-hdd. I launch it with the E1 select launch key in case I want to use Ps1 games (that I have in my usb-hdd) with POPS.

    Therefore, this is the problem: when I launch OPL_DB it loads the cfg from the MC, so it turn-on my iHDD (that I have on auto) and load my ps2 list. So I have the iHDD running for nothing and have to wait +20secs every time I IGR from a Ps1 game.

    I know I can just set my iHDD to manual, but I like to have it on auto for autostarting my last Ps2 game, by this the question.

    I tried making a OPL folder in my usb-hdd where the OPL_DB elf is, tried to copy my cfgs directly where OPL_DB is, but neither works, OPL_DB keep loading the cfg from my MC.

    So, there's a way to make OPL_DB loading a cfg file from the usb-hdd or the priority will always be for the cfg into the MC??
     
  17. 294
    339
    122
    ShaolinAssassin

    ShaolinAssassin Developer

    Joined:
    Dec 31, 2016
    Messages:
    294
    Likes Received:
    339
    Trophy Points:
    122
    Gender:
    Male
    cfg from MC has always priority so no, not possible using standart builds. If you really wants that, maybe you could try some hex edit. Unpack 1 of the ELF version, and make it load cfg from mc?:/OPX instead of mc?:/OPL (I highlysuggest you to replace letters instead of inserting/deleting letters in the folder's name).
     
    Peppe90 likes this.
  18. 386
    156
    47
    Peppe90

    Peppe90 Member

    Joined:
    Dec 7, 2018
    Messages:
    386
    Likes Received:
    156
    Trophy Points:
    47
    Gender:
    Male
    Perfect, Thank you very much :encouragement:
     
  19. 639
    1,142
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    639
    Likes Received:
    1,142
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:

    Okay, but I really hope that mode 1 will become the recommended solution. The transfer modes were not meant for attaining specific speeds or reading patterns.

    It was changed to 10s, as of yesterday.
     
    jolek likes this.
  20. 386
    156
    47
    Peppe90

    Peppe90 Member

    Joined:
    Dec 7, 2018
    Messages:
    386
    Likes Received:
    156
    Trophy Points:
    47
    Gender:
    Male

    When you'll release the fix for this game "after IGR" bug, there won't be need of any setting/regulation for this game, though.

    Anyway, why you suggest to use MODE 1 over MDMA 0??​
     
Tags:

Share This Page