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. 657
    1,154
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    657
    Likes Received:
    1,154
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:
    I have made a pull request to the OPL repository, to submit patches that will reinstate the built-in DECI2 debugging functionality for CEX consoles. The bundled DECI2 modules have been updated as well.

    So with this, it should be once again somewhat possible (but still agonizingly difficult) to debug some retail games. Still with the restrictions of the RDB project too, but yeah.
    Code:
    dsedb R> dr
     at=00000000  v0-1=00000000,00000000  a0-3=00000000,00000000,00000000,00000000
     t0-7=00000000,00000000,00000000,00000000, 00000000,00000000,00000000,00000000
     s0-7=00000000,00000000,00000000,00000000, 00000000,00000000,00000000,00000000
     t8=00000000 t9=00000000   k0=00000080 k1=00000000   gp=00000000 sp=00000000
     fp=00000000 ra=00000000   lo=00000474 hi=00000000   sa=00000000 PC=0010cbf8
     badvaddr=4fffb0b7 badpaddr=eff7a5f0
     $cause   = 0x70008800 [ BD2 CE3 EXC2=Reset IP7 IP3 EXC="External Interrupt" ]
     $status  = 0x70030c13 [ Cu210 EDI EIE IM3 IM2 KSU=User EXL IE ]
      0x0010cbf0: 0x24030029  li      $v1,0x29
      0x0010cbf4: 0x0000000c  syscall 0x0
    ->0x0010cbf8: 0x03e00008  jr      $ra
      0x0010cbfc| 0x00000000  nop
      0x0010cc00: 0x2403ffd6  li      $v1,-0x2a
      0x0010cc04: 0x0000000c  syscall 0x0
      0x0010cc08: 0x03e00008  jr      $ra
    
    It's not going to be as good as the functionality offered by a TOOL, but this should at least make it more doable for people who don't own a TOOL, to debug games on their own.

    As for debugging capabilities: the DECI2 modules have been updated to the modules from RDB v0.9.5.
    The EE kernel will be the stock version, which means no EE thread extension (cannot use commands like dt to monitor threads).

    As before, dsidb cannot be used to trap exceptions or to set breakpoints (as attempting to break into the IOP debugger will cause a deadlock within this DECI2 setup).
    As of now, there is no facility for loading the TDB startup card's kernel. You could perhaps load it in by booting RDB first, but it seems like that kernel is not compatible with OPL.
    While I have also changed how OPL handled LoadExecPS2() in the other pull request, I have observed that OPL was already incompatible with RDB even before that...

    Debug output from CDVDMAN is now disabledby default for DECI2 debugging. Until the PC is connected, things seem vulnerable.
    Sometimes the waves of lines from all those debugging messages are also overwhelming, so less is also more at times like this.

    What is DECI2?


    DECI2 is the Host <-> Target communication environment for the PlayStation 2, used by Sony to provide access to the debuggers on the targets (EE and IOP) on the PS2.

    Usually, licensed developers would debug and develop software with a PlayStation 2 development TOOL, model DTL-T10000(H).
    But those are rare and were only available to licensed developers. However, Sony also released a memory card (TDB Startup Card) that contained some code that would give a later-model DEX (The DebugStation, or the PS2 with "TEST" printed on it) some debugging capabilities. Even though those consoles don't seem to have been initially intended for that role.

    Since DEX are similar to the normal CEX consoles, it is possible to achieve the same capabilities with the right software.
    The modules used were from the RDB project, which had some materials contributed from Kermit ODEM's author.
     
    jolek and krHACKen like this.
  2. 1,054
    678
    222
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,054
    Likes Received:
    678
    Trophy Points:
    222
    Gender:
    Male
    @sp193 I've notice that you add new prototype:
    https://www.sendspace.com/file/8xorgg
    with some GSM changes.

    Is it possible to somehow fix screen size for some games when
    I launch them with progressive scan (576p)?

    Here is how screen size look in e.g God of War II 576i (almost full screen):
    [​IMG]

    Here is how it looks like when I enable progressive scan (576p):
    [​IMG]
     
  3. 657
    1,154
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    657
    Likes Received:
    1,154
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:
    Am I right to say that it seems to be fine when you use 480P mode? Is your version of GOW II the PAL version (since you wrote 576I)?

    I haven't figured out what is wrong, but perhaps GSM somehow calculated that the video width is not a multiple of the screen's and centered it like that (although it seems wrong).
    But I feel like I should revamp some of the GSM code first, since it has duplicated code for things like DISPLAY1 & DISPLAY2 (exactly the same register layout, but...). Otherwise, I have to replicate the patch twice.

    I'm not actually aiming to do anything unrelated to functionality. Also partly because I don't believe that more options is necessarily a good thing.
    But why do you want such a feature?

    As of now, it'll try to save onto the HDD unit, if you did not have a memory card inserted when it tries to create the settings file for the first time.
     
  4. 1,054
    678
    222
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,054
    Likes Received:
    678
    Trophy Points:
    222
    Gender:
    Male
    Not only with PAL games (e.g SCES_542.06 God of War II).
    It was only an example, because almost all my games are from PAL region.

    The same problem is with SCUS_974.81 God of War II, when I launch it through OPL with GSM 480p 60 Hz,
    I also have "squeezed" screen.
    When I launch normally (without GSM) and select progressive scan from an option in game,
    screen is normal (almost full, not "squeezed").

    I am using 576p for PAL games instead of 480p, because many FMV have a problem with sound
    when I change refresh mode from 50 to 60 Hz.

    This option might help if you don't want to save setting to a device that you don't use,
    or it has limited space.
    If I want to save settings on a HDD, creating OPL folder on a MC is not needed.

    Currently I have to pull out my MC before I launch OPL
    (I don't want to waste space on 8 MB MC, since OPL is creating +OPL partition on HDD)
    to save setting.

    Although when I plug in MC before I launch OPL,
    "OPL" folder on a MC will be created,
    so I have OPL folder on a MC and +OPL partition on HDD,

    On my slim console I prefer to save homebrew apps\settings on MC1
    to save space (most games only supports MC0 for saving),
    to do this once again I have to pull out MC0 before OPL launch.

    Which is a bit pointless for me, since one small option can "fix" that.

    IMHO, OPL should create automatically +OPL partition on HDD,
    but not OPL folder on MC since HDD has been found.

    OPL should creates OPL folder on a MC only if you need this (you want to save setting on a MC).
    When you want to save setting on USB, SMB or HDD this folder should not be created automatically.

    BTW now OPL can look for "conf_opl.cfg" on other devices than MC.
    Does "conf_apps.cfg" can be loaded from other path than MC?

    Currently OPL looks for "conf_apps.cfg" in MC (or in HDD, when MC is pull out).
    If I got OPL folder on a MC, but without "conf_apps.cfg, OPL will not look for this file in other paths\devices.
    For me it will be nice if "conf_apps.cfg" can be loaded also from mass (like in OPL DB).
    http://psx-scene.com/forums/f150/op...ture-requests-57279/index167.html#post1215884.
     
  5. 657
    1,154
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    657
    Likes Received:
    1,154
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:
    For your information, we are discussing changes to GSM here: http://psx-scene.com/forums/f291/gs...ment-feedback-61808/index300.html#post1218209
    You can also post on the GSM thread on this forum. I have copied my posts here.

    This behaviour can be fixed. It makes no sense to create that folder if OPL is not going to use it.

    Ah okay, then this makes sense. Thanks for the explanation.
    I think a menu should be displayed when OPL needs to create the settings file.

    This configuration file is considered part of the OPL configuration file set. So it will be loaded from whereever OPL stores its other settings.

    Supported devices for storing all the settings are (in this order):
    • USB device.
    • HDD unit.
    • Memory Cards.
     
  6. 704
    334
    97
    TnA

    TnA Member

    Joined:
    Jul 1, 2018
    Messages:
    704
    Likes Received:
    334
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Germany --> Saxony
    I thought of something similar!
    But I rather thought of a 'setup-wizard', like when you run a PS2/PS3/etc. for the first time!

    After every page, it would make the animation which is currently shown, when you press start...

    So it would have this sliding-effect (or the new fading-effect) to the next page and from page to page, the user would need to configure at least the bare minimum und some stuff could be left to be 'auto'.

    The cool thing is, that this could even be nicely coupled with the 'multi-user-idea'. Every user could have his own settings...
     
  7. 1,054
    678
    222
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,054
    Likes Received:
    678
    Trophy Points:
    222
    Gender:
    Male
    Thanks. I'll look into it.

    [​IMG]

    [​IMG]

    Could you read posts from #1661 to #1664:
    http://psx-scene.com/forums/f150/op...ture-requests-57279/index167.html#post1215884.

    I think that there is no need to duplicate it from source.
     
  8. 1,054
    678
    222
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,054
    Likes Received:
    678
    Trophy Points:
    222
    Gender:
    Male
    I've been also thinking about APPS page.
    Why we need this "conf_apps.cfg"?

    It'll be so much simpler, if we can put our apps into specific folder (e.g APPS),
    and add prefix (APPXX.) to them e.g:
    APP01.wLe.ELF
    APP02.SMS.ELF
    APP04.GSM.ELF

    OPL can detect them automatically like with PS2 games.
    If some item will be added\deleted, list will be automatically updated.

    Currently I need to edit "conf_apps.cfg".
    If I made a mistake (e.g add additional space " "), item will\might be shown, but it will not work.
    If I delete or add new app, I've to manually add\remove it into\from ""conf_apps.cfg".

    So, copy\made "conf_apps.cfg" on\into PC, update list, copy once again configuration into PS2.

    That kind of a magic it is possible (at least with PS2Net...), so maybe OPL can also handle it?
     
  9. 657
    1,154
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    657
    Likes Received:
    1,154
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:
    Fix for Virtua Quest (SLUS-20977)

    Notes:
    • The game loads at a very low address of 0x000A0000. OPL was reworked a long time ago, to stay below that address. However, its module storage cannot fit below there.
    • The module storage has hence been moved to the end of memory.
    • However, the stack can, and will overwrite the module storage. For now, the module storage overlaps with the main thread's stack.
    • This will mean that further IOP reboots will not work, but I don't think this game will reboot the IOP.
    • I could not carve out dedicated space for the module storage because reducing the amount of memory for the game further results in a NULL getting returned by the allocation function, which gets passed to memset().

    There are 2 parts to this fix:
    • Fixing the stack's location, as specified as an argument to SetupThread. This is so that the EE kernel will not allocate 4KB for itself, for debugging purposes. This should keep the stack pointer as far away from the actual modules within the module storage, until the IOP is reboot and the game actually does something.
    • Manipulate a pointer that the game uses as the "end of memory". This pointer includes the stack region, which the game will subtract the size of the stack from (0x18000). For the fix, this pointer is lowered, so that the modules can be stored after it.

    Does the Japanese version also have this same design issue?

    EDIT: There is a Japanese release that has the same design. I have extended the patch to support it and have made a pull request.

    Test: https://www.sendspace.com/file/l3oytk
    Source: https://github.com/sp193/Open-PS2-Loader/tree/virtuaquest-patch
     
    Last edited: Aug 9, 2018
    TnA, jolek, STLcardsWS and 1 other person like this.
  10. 1,054
    678
    222
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,054
    Likes Received:
    678
    Trophy Points:
    222
    Gender:
    Male
    I've made a small test with Virtua Quest (SLUS_209.77) through USB on SCPH-50004.
    Game boots, I'm able to enter New game, etc.
    Only FMV stutters (probably with SLIM console this issue shouldn't bother that much).
    I've played ~30 min.

    Through SMB everything seem to work.
    I haven't notice any stuttering FMV.

    Game boot without any compatibility modes in both cases.

    BTW I've also notice that mode 7 was removed in this test version.
     
    Last edited: Aug 9, 2018
  11. 1,054
    678
    222
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,054
    Likes Received:
    678
    Trophy Points:
    222
    Gender:
    Male
    Last edited: Aug 10, 2018
  12. 4,452
    4,003
    372
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    4,452
    Likes Received:
    4,003
    Trophy Points:
    372
    Location:
    Babylon 20xxE series
    As a general personal taste for interface designs... i think the "navigation clicks" are more important than the "background music"

    You know, when moving the D-pad to choose a game in OPL... or pressing a buton... or navigating setting submenues, etc... all that actions has a better feeling to the user when are accompanied by a "click" sound
    This navigation sounds are not just eyecandy and fireworks, also works as a "feedback" to the user, because when you do an action in the interface you expect to hear 1 "click"... if for some reason you dont hear the click (or you hear 2 consecutive clicks) then something is going wrong
    And after getting used to them you can even operate the interface without video signal (completly blind, lol), because you know "how many" clicks and which type are needed to do an specific sequence of actions

    ------------------
    You can do like in the PS3 that uses (if i remember right) up to 5 different "navigation sounds", basically the important sounds are:
    -move (to move in items of the same level)
    -in (to enter submenus)
    -out (to exit submenus, to quit, to return back, etc...)
    -error
    -success

    ------------------
    And about background music... well... if you are going to implement this "navigation clicks" im mentioning... then could be considered the background music because are going to use the same libraries and same code for playing audio
    The point is "navigation clicks" and "background music" are the same overall... so if you decide to implement one... is not a big effort to implement the other (i guess)
     
    Last edited: Aug 10, 2018
    TnA and jolek like this.
  13. 1,054
    678
    222
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,054
    Likes Received:
    678
    Trophy Points:
    222
    Gender:
    Male
    @sandungas thanks for your opinion.
    A better feeling when "click" sound appears (ca be heard) is a nice nice touch.

    To save space this sound effect can be taken from PS2 browser (if it is possible).
    Genuine Memory Cards only have 8 MB capacity.
    Too many sounds can "waste" space.

    As for background music it'll be nice if an user can enable\disable it.
    but... as previous it can increase "weight" of ELF.

    BTW I hope that no one made an impression that I've made this release.
    @Krah.Johlito made it. Everything is in source.
     
    Last edited: Aug 10, 2018
  14. 4,452
    4,003
    372
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    4,452
    Likes Received:
    4,003
    Trophy Points:
    372
    Location:
    Babylon 20xxE series
    Im reading what i wrote and thinking there is a challenge to make that "navigation sounds" to work, the problem happens when the user keeps the D-pad pressed in a direction (or press some imput repeatedlly as faster as posible)... like in the game selection list
    This is going to generate a veeeeery fast sequence of "click" sounds that needs to be played very fast... in some kind of "gapless mode" (without pauses in between them)

    This is why the PS3 navigation sounds are veeeeeery short, smaller than one quarter of a second or so, because the PS3 XMB plays 3 or 4 "clicks" every second

    And i agree sony does a good work when designing this sounds, in all playstation consoles :)
    It needs to be something generic enought to satisfy all users (or at least dont annoy anyone), and incase of using some music it needs to be something ambiental... or as much inspirated in electronics or gaming because is the interface of a game console :)

    To avoid the copyright problems instead of distributing them you could make a tutorial of how to get them... or a script/tool to extract them and convert them to any sound format used by OPL
     
    jolek likes this.
  15. 103
    164
    97
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    103
    Likes Received:
    164
    Trophy Points:
    97
    Gender:
    Male
    It would be nice to extract sounds from the ROM at runtime.
    I have a project to programmatically extract sounds from the newer ROMs, but I haven't worked on it in a while.
     
    jolek likes this.
  16. 657
    1,154
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    657
    Likes Received:
    1,154
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:
    The sound files don't have to be large.
    If you consider the kind of hardware we have, we don't need high-quality sound effect files. The voice channels use ADPCM, so they should be converted before being included.
    The large part would probably be only the BGM, which will likely be in PCM. But yet you don't need to store uncompressed PCM within OPL either; compressed formats like MP3s are possible choices, although the appropriate libraries have to be utilized too.

    While you have accomplished a great feat, I would advise against doing this because it would be dependent on whether the ROM has the right files.

    That's great! Thanks.

    Yes. Since that compatibility mode never helped the games (Fatal Frame & Virtua Quest) that it was meant to help, it no longer has any use.
    As of the 2nd last commit, the module storage location is determined on a per-game basis, since nearly all games will work fine with OPL's default memory layout.
     
    Last edited: Aug 10, 2018
  17. 1,054
    678
    222
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,054
    Likes Received:
    678
    Trophy Points:
    222
    Gender:
    Male
    I've notice that recently "Parental Lock Settings" has been added and the Childproof edition has been removed.

    What options this "lock" will provide?
    E.g inability to delete, rename files?

    Can we still add or remove compatibility modes with this option on?

    Can we block games e.g for people below 15 (PEGI 15)?

    If someone will forget code, I have to delete settings, or there is some kind of a master code\password,
    like in DVD-Video player "7444"?
     
  18. 657
    1,154
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    657
    Likes Received:
    1,154
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:
    When the parental lock is enabled (password set), the user will be unable to change any settings, delete or rename games.
    Whenever a restricted action is attemped, OPL will prompt for the unlock password. Entering the wrong password will not allow the action to be performed.

    Any settings that were set (per-game and global settings), will still be binding.

    When the parental lock password is cleared, the parental lock is disabled.

    For now, there is no way for OPL to determine the rating of any game.

    The master passcode is 989765. This will also disable the parental lock.
     
  19. 704
    334
    97
    TnA

    TnA Member

    Joined:
    Jul 1, 2018
    Messages:
    704
    Likes Received:
    334
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Germany --> Saxony
    @jolek just had a 'hidden' feature-idea! :)

    It would be great, if we could define in the 'parental lock menu', what is actually possible and what not (via on/off-switches).

    Some might only want to block 'delete' and/or 'rename' or the compatibility-setting or possibly even just parts of the compatibility-settings...


    Additionally, the parental-lock-menu would not be so empty (and thus more worth a separate entry in the settings-list, like it has)! ;)
     
    jolek likes this.
  20. 1,054
    678
    222
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,054
    Likes Received:
    678
    Trophy Points:
    222
    Gender:
    Male
    I thought I memorized at least one theme with PEGI. [​IMG]
    Now I know it was ESRB:
    [​IMG]
    So that's why I thought about it (to determine age for "Parental Lock Settings"). ;)
     
Tags:

Share This Page