Giter Club home page Giter Club logo

open-ps2-loader's Introduction

Open PS2 Loader

Copyright 2013, Ifcaro & jimmikaelkael Licensed under Academic Free License version 3.0 Review the LICENSE file for further details.

CI Codacy Badge Discord Mega

Introduction

Open PS2 Loader (OPL) is a 100% Open source game and application loader for the PS2 and PS3 units. It supports three categories of devices: USB mass storage devices, SMB shares and the PlayStation 2 HDD unit. USB devices and SMB shares support USBExtreme and *.ISO formats while PS2 HDD supports HDLoader format, all devices also support ZSO format (compressed ISO). It's now the most compatible homebrew loader.

OPL developed continuously - anyone can contribute improvements to the project due to its open-source nature.

You can visit the Open PS2 Loader forum at:

https://www.psx-place.com/forums/open-ps2-loader-opl.77/

You can report compatibility game problems at:

https://www.psx-place.com/threads/open-ps2-loader-game-bug-reports.19401/

For an updated compatibility list, you can visit the OPL-CL site at:

http://sx.sytes.net/oplcl/games.aspx

Release types

Open PS2 Loader bundle included several types of the same OPL version. These types come with more or fewer features included.

Type (can be a combination) Description
Release Regular OPL release with GSM, IGS, PADEMU, VMC, PS2RD Cheat Engine & Parental Controls.
DTL_T10000 OPL for TOOLs (DevKit PS2)
IGS OPL with InGame Screenshot feature.
PADEMU OPL with Pad Emulation for DS3 & DS4.
RTL OPL with the right to left language support.

How to use

OPL uses the following directory tree structure across HDD, SMB, and USB modes:

Folder Description Modes
CD for games on CD media - i.e. blue-bottom discs USB and SMB
DVD for DVD5 and DVD9 images if using the NTFS file system on USB or SMB; DVD9 images must be split and placed into the device root if using the FAT32 file system on USB or SMB USB and SMB
VMC for Virtual Memory Card images - from 8MB up to 64MB all
CFG for saving per-game configuration files all
ART for game art images all
THM for themes support all
LNG for translation support all
CHT for cheats files all

OPL will automatically create the above directory structure the first time you launch it and enable your favorite device.

For HDD users, OPL will read hdd0:__common/OPL/conf_hdd.cfg for the config entry "hdd_partition" to use as your OPL partition. If not found a config file, a 128Mb +OPL partition will be created. You can edit the config if you wish to use/create a different partition. All partitions created by OPL will be 128Mb (it is not recommended to enlarge partitions as it will break LBAs, instead remove and recreate manually with uLaunchELF at a larger size if needed).

USB

Game files on USB must be perfectly defragmented either file by file or by whole drive, and Dual Layer DVD9 images must be split to avoid the 4GB limitations of the FAT32 file system. We do not recommend using any programs. The best way for defragmenting - copy all files to pc, format USB, copy all files back. Repeat it once you faced defragmenting problem again.

You also need a PC program to convert or split games into USB Advance/Extreme format, such as USBUtil 2.0.

SMB

For loading games by SMB protocol, you need to share a folder (ex: PS2SMB) on the host machine or NAS device and make sure that it has full read and write permissions. USB Advance/Extreme format is optional - *.ISO images are supported using the folder structure above with the bonus that DVD9 images don't have to be split if your SMB device uses the NTFS or EXT3/4 file system.

HDD

For PS2, 48-bit LBA internal HDDs up to 2TB are supported. HDD should be formatted with the APA partition scheme. OPL will create the +OPL partition on the HDD. To avoid this, you can create a text file at the location hdd0:__common:pfs:OPL/conf_hdd.txt that contains the preferred partition name (for example __common).

NBD Server

OPL now uses an NBD server to share the internal hard drive, instead of HDL server. NBD is formally documented and developed as a collaborative open standard.

The current implementation of the server is based on lwNBD, go there to contribute on the NBD code itself.

The main advantage of using NBD is that the client will expose the drive to your operating system in a similar way as a directly attached drive. This means that any utility that worked with the drive when it was directly attached should work the same way with NBD.

OPL currently only supports exporting (sharing out) the PS2's drive.

You can use hdl-dump, pfs-shell, or even directly edit the disk in a hex editor.

For example, to use hdl_dump to install a game to the HDD:

  • Connect with your choosen client (OS specific)
  • Run hdl_dump inject_dvd ps2/nbd "Test Game" ./TEST.ISO
  • Disconnect the client.

To use the NBD server in OPL:

  • Grab the latest beta version (OPL 1.1.0 (current stable) has some bugs in the NBD server) - go to the Releases section and grab the one at the top.
  • Ensure OPL is configured with an IP address (either static or DHCP).
  • Open the menu and select "Start NBD server". Once it's ready, it should update the screen to say "NBD Server running..."
  • Now you can connect with any of the following NBD clients.

nbd-client

Supported: Linux, Windows with WSL and custom kernel

nbd-client requires nbd kernel support. If it isn't loaded, sudo modprobe nbd will do.

list available export:

nbd-client -l 192.168.1.45

connect:

nbd-client 192.168.1.45 /dev/nbd1

disconnect:

nbd-client -d /dev/nbd1

You'll generally need sudo to run this commands in root or add your user to the right group usually "disk".

nbdfuse

Supported: Linux, Windows with WSL2

list available export:

nbdinfo --list nbd://192.168.1.45

connect:

mkdir ps2
nbdfuse ps2/ nbd://192.168.1.45 &

disconnect:

umount ps2

wnbd

Supported: Windows

WNBD client. Install, reboot, open elevated (with Administrator rights) PowerShell

connect:

wnbd-client.exe map hdd0 192.168.1.22

disconnect:

wnbd-client.exe unmap hdd0

Mac OS

Not supported.

ZSO Format

As of version 1.2.0, compressed ISO files in ZSO format is supported by OPL.

To handle ZSO files, a python script (ziso.py) is included in the pc folder of this repository. It requires Python 3 and the LZ4 library:

pip install lz4

To compress an ISO file to ZSO:

python ziso.py -c 2 "input.iso" "output.zso"

To decompress a ZSO back to the original ISO:

python ziso.py -c 0 "input.zso" "output.iso"

You can copy ZSO files to the same folder as your ISOs and they will be detected by OPL. To install onto internal HDD, you can use the latest version of HDL-Dump.

PS3 BC

Currently, supported only PS3 Backward Compatible (BC) versions. So only COK-001 and COK-002/COK-002W boards are supported. USB, SMB, HDD modes are supported.

To run OPL, you need an entry point for running PS2 titles. You can use everything (Swapmagic PS2, for example), but custom firmware with the latest Cobra is preferred. Note: only CFW supports HDD mode.

Some notes for DEVS

Open PS2 Loader needs the latest PS2SDK

OPL Archive

Since 05/07/2021 every OPL build dispatched to the release section of this repository will be uploaded to a mega account. You can access the archive by clicking the mega badge on top of this readme

Frequent Issues

OPL Freezes on logo or grey screen

Sometimes OPL freezes when loading config files made by older OPL builds.

hold START while OPL initializes to make it skip the config loading, then, you can save your own settings. fixing the issue.

Game freezes on white screen

Main game executable could not be found. Either game is fragmented or image is corrupted

open-ps2-loader's People

Contributors

akuhak avatar astrelsky avatar batrastard avatar belek666 avatar bignaux avatar caio99br avatar coltonsilvaonknoxkontor avatar davbrasan avatar ddinghoya avatar doctorxyz avatar elpatas1 avatar fjtrujy avatar grimdoomer avatar haker120 avatar ifcaro avatar israpps avatar j013k avatar jackmax avatar joseaaronlopezgarcia avatar krahjohlito avatar psi-rockin avatar pvc1 avatar rickgaiser avatar sanjay900 avatar serdarsaglam avatar shaolinassassin avatar sl1pkn07 avatar sp193 avatar tupakaveli avatar uyjulian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

open-ps2-loader's Issues

New release?

I think is about time to have a new release , the last one is dated 2016 and there are new , interesting changes in the repo.

Feature Request: Startup sounds

Hello,

i have my PS2 configured to start OPL immediately on boot and was wondering if it was possible to get it to play a sound (Like the PS1 or the PS2 boot sound) as it was loading

PAL releases of .hack games are intermittently unstable.

Open PS2 loader version

Open PS2 loader mode (USB, SMB, HDD)

Expected to be all, but right now it is only visible through HDD mode + VMC

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

Any release with VMC.

Issue description - Describe the problem you are having

If VMC is used, then the game fails to boot after the language select screen. Using a VMC build without using VMC does not trigger the bug.

The PAL releases are multi-ELF games. They have a language selector, which will determine the next ELF to boot. However, this language selector fails to call scePadEnd() before LoadExecPS2().

Affected releases:

  • SLES-52237: .hack//Infection
  • SLES-52467: .hack//Mutation
  • SLES-52469: .hack//Outbreak
  • SLES-52468: .hack//Quarantine

Expected result

Game boots.

Actual result

If VMC is used, then the game fails to boot after the language select screen.

How to reproduce the issue

  • Install any of the PAL releases of .hack onto the HDD unit.
  • Set it up to use VMC.
  • Boot the game.

Custom ELF bug

Pointing a Custom ELF thats inside a folder or sub-folder gives white screen.

e.g. "cdrom:\MGS\NET\MGS3_N.ELF" custom elf set as "MGS\NET\MGS3_N.ELF"

Custom ELF only works if the ELF is in root of ISO.

lang: Add versioning to language files

Issue checklist

Note: these are not necessarily requirements

Issue description - Describe the problem you are having

Current language system is non-effective and let user use incompatible language between different OPL revisions.
I think add a revision variable on top of each lang and a message about outdated language (just a warning) should make language system better.

Error: APPSUPPORT: cannot find mode for path, please report.

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

Open PS2 Loader 0.9.3+.1258-Beta-4a658d6

Open PS2 loader mode (USB, SMB, HDD)

SMB

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

ALL

Issue description - Describe the problem you are having

@sp193 , I can't load an ELF from APPS page using older method conf_apps.cfg , I get the following error:

APPSUPPORT: cannot find mode for path, please report.

Expected result

It should load as before with older OPL Ifcaro Betas. It seems that this error is fairly new, like just a few commits ago, loading the APPS were fine, so it could be one of the recent merges that got added to the ifcaro repo that broke launching the APPS using the older method.

Actual result

error reported above...

How to reproduce the issue

  1. Add this line to your conf_apps.cfg file:
    Open PS2 Loader (Current)=mc1:/OPL/OPNPS2LD.ELF

NOTE: Make sure the path is correct for your OPL version on your system. I use mc1 to store OPL folder.

  1. Then place conf_apps.cfg file inside OPL folder
  2. Run OPL
  3. Go to APPS page.
  4. Try to run: Open PS2 Loader (Current)
  5. You will get that error.

You can get that error with almost any ELF file you try to load from the APPS page.

[ISSUE] Game freezing with Samba after a while [SMB]

Hello,

I use OPL from https://github.com/Jay-Jay-OPL/OPL-Daily-Builds, latest version to date.
I load games over my home network using Samba Version 4.5.12-Debian on a Linux serveur 4.9.0-4-amd64 1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux.

I can play games just fine but when I leave the PS2 to idle for a while (45mn-1h), without touching anything, the game will freeze the next time it tries to load something. I tested this with multiple games.

Has anyone experienced this?

Could there be some settings on the Samba side that I need to adjust?

Here is my smb.conf file. Nothing fancy there.

[global]
        netbios name = Partage
        workgroup = USERS
        ntlm auth = Yes
        security = user
        hosts allow = 192.168.1.

[PS2SMB]
        path = /srv/PS2SMB
        force user = ps2
        hosts allow = 192.168.1.6
        read only = No
        valid users = ps2

Best,

OPL fails to compile using latest PS2SDK due to dns_getserver return value

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

0.9.3+.1220-Beta-2c95dc1

Open PS2 loader mode (USB, SMB, HDD)

Not applicable

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

IGS=1 PADEMU=1 HIRES=1

Issue description - Describe the problem you are having

Trying to build the latest commit on master (2c95dc1) using latest commit of PS2SDK (9cf086dfb013f196cc378f9da90089d9d5df2133).

I've successfully compiled PS2SDK and installed other dependencies using ps2toolchain and the compilation guides posted on the forums (to install a few ports dependencies)

However, every time I try to compile OPL I get this error:

ubuntu-linux-1604 :: ps2dev/src/Open-PS2-Loader ‹git master› » make IGS=1 PADEMU=1 HIRES=1              
Building Open PS2 Loader 0.9.3+.1220-Beta-2c95dc1...
-Interface
src/ethsupport.c: In function `ethApplyIPConfig':
src/ethsupport.c:821: incompatible types in assignment
Makefile:759: recipe for target 'obj/ethsupport.o' failed
make[1]: *** [obj/ethsupport.o] Error 1
Makefile:182: recipe for target 'all' failed
make: *** [all] Error 2

The issue is with the return type of dns_getserver. I doubled checked the definition in the PS2SDK headers and it looks like while the ethApplyIPConfig function in src/ethsupport.c expects an ip4_addr struct to be returned from dns_getserver, the definition of that function in PS2SDK returns a ip_addr_t*.

I tried looking through the PS2SDK git history but I didn't see any changes to the return value of dns_getserver so I'm not really sure how it ever worked. This is my first time compiling OPL though.

Expected result

It should compile.

Actual result

It doesn't compile.

How to reproduce the issue

  1. Clone and build the latest PS2SDK
  2. Install ps2toolchain
  3. Install OPL dependencies from ps2sdk-ports
  4. Compile OPL using either make or make IGS=1 PADEMU=1 HIRES=1 (it doesn't make a difference)

Undefined reference to libTIFF functions

Issue checklist

Didn't seem to find any related issues, I had also attempted to make a psx-scene account and post on the OPL forums first but I am unable to create a thread on the OPL board.

Open PS2 loader version

0.9.3+.1008-Beta-cbcf291-dirty

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

Normal

Issue description - Describe the problem you are having

Building the sources it would appear that the gsKit libraries have undefined references to libTIFF.
I first tried rebuilding ps2-ports and gsKit to ensure the library was detected, gsKit confirmed finding libTIFF and does compile and link it properly.

Expected result

Compiles successfully

Actual result

https://gist.github.com/JacobPozaic/661466dc06a369f2705c681f5b287bef

How to reproduce the issue

-> using latest ps2sdk, gsKit, ps2-ports, and OPL
make ps2sdk
make ps2-ports
install ps2-ports
make gsKit
install gsKit
make OPL

Other notes

It is entirely possible that this is simply OPL not including/linking libTIFF, or this being an issue with gsKit, although the fact that gsKit seems to compile with libTIFF support makes me thing this is a problem with OPL.

Game patch for OPL r785 for game: Ratchet & Clank: Up Your Arsenal got broken since OPL r793

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

r785, r793, r1179

Open PS2 loader mode (USB, SMB, HDD)

SMB (others report Internal HDD also) -- see full report here: http://www.ps2-home.com/forum/viewtopic.php?f=13&t=6321

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

VMC, GSM, PS2RD

Issue description - Describe the problem you are having

@sp193 , your fix done to this game: (both NTSC-U and PAL version) Ratchet & Clank: Up Your Arsenal in rev785 221c196 in the file patches.c LINES 93-94 got later broken by rev793 1195cd2 and that game fix is still broken with the current OPL versions of today r1179 6ccedb7 .

The game refuses to load via SMB, Internal HDD, and perhaps even USB HDD.

Expected result

The game should load and play fine since you fixed it starting with r785 and it works up to r792. See full report here: http://www.ps2-home.com/forum/viewtopic.php?p=31687#p31687

Actual result

Doesn't load starting with OPL r793 thru r1179, just black screen or some say it gets stuck in a light green debug screen

How to reproduce the issue

Simply try to load it and find out. :)

NOTE: both OPL r785 and r793 versions were done when we were at BITBUCKET ifcaro's repo, so make sure to see that timeline for more details.

Furthermore, during that time the PS2SDK commit may have been ec874df or any other earlier commit prior to that, since there was a lot of activity during the same date FEB. 28, 2015 when OPL rev793 was compiled that broke that game fix you did.

[FR] Allow VMC path to be set

Using OPL with a HDD, I'm noticing that saving to VMC is incredibly slow(probably read/write operations both running off the HDD).

I'd like to be able to set VMC path to use USB, while still running the game off HDD.

This could be either a global setting, per-game setting, or including path as part of the VMC name/creation.

Nightly Builds

I would like to use openps2loader most recent builds and would be nice to have nightly builds, so i don't go the process over and over for each change

PS1 saves stored in POPS folder rather than VMC folder

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

OPL_1061_DB-TA_all-7235be9-2018-06-12.zip

Open PS2 loader mode (USB, SMB, HDD)

USB

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

Normal

Issue description - Describe the problem you are having

Confused by location of PS1 saves

Expected result

Saves expected to go into VMC folder

Actual result

Saves actually go into POPS folder, alongside my VCD files

How to reproduce the issue

Load PS1 game
Save
Browse filesystem using uLE

Relaxing Texture-(Pixel-)Limit?

Well, currently the texture-pixel-limit seems to be 720 * 512, if it is just the (artificial/wanted) limit in 'texture.c' in 'src'...

Now that we've got the HiRes-GUI, it would be interesting, if we could use textures with a bit higher resolution!

Could we relax that restriction a little bit more possibly?
1280 * 720, or 1024 * 720 (or 1024 * 768) or 1024 * 1024 would be 'sufficient', tho'! :'-D

Of course the people still have to keep the VRAM in mind, but it would be interesting to see, how much it can be 'fine-tuned' on the theme-creators side!

Black Screen console crash on 0.9+ PS3 using Swapmagic 3.8 All previous works

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

0.9 and to current

Open PS2 loader mode (USB, SMB, HDD)

USB via Swap Magic 3.8 on PS3

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

All Versions

Issue description - Describe the problem you are having

Blank screen crashing ps3 console

Expected result

Supposed to work

Actual result

As above

How to reproduce the issue

As above

Online play with SMB

I would like to understand what is currently missing for supporting online play while running games from SMB. Currently the games report missing network adapter.
I understand online play works with USB, and internal storage, and SMB already takes all networks resources. However, I don't think this is a hardware limitation, and would like to know where the issue currently resides(OPL? PS2SDK? or is it really hardware limitation?).
I intend to study and work on this on my free time, and some pointers would be helpfull.

Delete merged branches?

Issue checklist

Note: these are not necessarily requirements

Issue description

On the branches page, the following merged branches are currently listed:

Their changes were merged into the BitBucket incarnation of OPL's repository a few years ago, but the branches themselves were inadvertently brought into the repo upon getting merged. Their commits are currently present in the GitHub repo's master branch.

Since the extra branches no longer serve any meaningful purpose, would it be possible to delete them? Deleting them won't remove any of their merged commits from the master branch. So their changes will still remain intact.

Display Info Page

The display info page is still an option in the settings. Either the feature was removed or is no longer functioning as the info page does not come up before starting the game.

Game not recognizing Saves

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

0.9.3 (booted via FreeMCBoot v1.953, installed on a 8MB Memory Card)

Open PS2 loader mode (USB, SMB, HDD)

USB

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

VMC + GSM + PS2RD

Issue description - Describe the problem you are having

Dragonball Z Budokai Tenkaichi 3 greys out 'Continue' option in the Main Screen (which usually happens only if there is no Save Game present). If I press 'New Game' though, it tries to save the game and asks me if I want to overwrite my current Save Game (Normal expected behaviour, as if the Save Game would be (and it is) there)

Expected result

Be able to press 'Continue' in the Main Menu of Dragonball Z Budokai Tenkaichi 3

Actual result

Main Menu does not offer 'Continue' option (greyed out), though a Save Game is present (that the game also seems to recognize when trying to save, as it asks to overwrite it)

How to reproduce the issue

  • PlayStation 2 Slim (SCPH-77004)
  • Use VMC (64MB) on a 32 GB FAT32 formatted SanDisk 3.0 USB (don't have the exact model)
  • The VMC file was generated by OPL, with the default File Name
  • The Game ISO was not split and sits in /DVD

Please tell if some information is missing, I'm happy to provide it (given that I have that information)

Sound Effects / Background Music - do we want it?

Had a go at porting the sound code from FMCB into OPL for sfx and possibly bgm, is this something people are interested in? Keep in mind it will expand the elf quite a bit depending on how many sounds are compiled in (could possibly compress later on somehow?).

OPL SND TEST.zip

This is still early stages it only has sfx mapped to up & down, has bgm compiled in already which is why the elf is 1.2mb but isn't called upon yet, requires code clean ups and such.

All credit goes to Neme & jimmikaelkael.

Caching game titles - when there are many games installed

I'm reluctant to do this because I feel like it's more of a want than a need, but because people do this anyway...

OPL seems to have issues with extremely long loading times at boot, when there are many games installed. This happens when:

  • There are many games on the HDD unit.
  • Or for USB devices/SMB share: there are many games in the CD and/or DVD directories, with no boot filename in their filenames.

For the HDD unit, the cause is the design of APA, which is the partitioning scheme that we use on the PS2. For forward and backward-compatibility with Sony software, as well as other software.
Due to the design of the APA driver and the IOP only having 2MB, it becomes impractical to maintain a large cache. By hard-coded limits, it will not maintain accesses to more than 128 or so partitions, which most disks larger than 128GB will likely easily exceed. How it cached the existence of partitions, is by recording the whole APA header in memory, which is 1KB per partition.
This is why the HDD Browser becomes very slow when it is made to access a disk with sufficient partitions on it; when it tries to access partitions beyond the limits of the cache, it will start to crawl due to APA perpetually evicting the next partition it needs to access from the cache, if dread() is mixed with a call to open(). There is no partition table in this format, meaning that all partitions have to be scanned through, which results in long seek times.

OPL avoids this by just accessing the game title information directly by reading the sectors with devctl(), but it seems to still take a while to list the hundreds of partitions on a sizable disk (perhaps 400~800 partitions on a 2TB disk).

An obvious solution would be to record all the partitions that represent games in a cache, but the existing format does not have such a facility. So whenever the user changes the games on the HDD with a tool that is not aware of this cache, will cause the cache to go out of date.

There's also this possibility of changing the format, with one that has support for a centralized game list. By changing the game list, it will also become possible to get rid of a horrible problem that the HDLoader game format has - it is likely incompatible with the HDD Utility Disc's optimization option, as that could rearrange the partitions on the disk without updating the HDLoader game structure of the game, hence ruining the game.
However, changing the game format will also require users to move forward to the new format (with no possibility of moving back), which I don't know if anybody is interested in that....


For USB devices & SMB: USB is generally slow, but I think the actual problem might come from users who do not name their ISO images in the old format:
SXXX_YYY.ZZ.Game Name.iso
This would cause OPL to mount the ISO and parse SYSTEM.CNF, to obtain the boot filename, which used to be specified within the filename of the file (SXXX_YYY.ZZ).

If the performance of iterating through (without mounting) 400 game titles is actually acceptable, then it probably becomes quite easy to automatically maintain a games list: it just has to iterate through all ISO files to identify what has changed, before updating the game list.
But, I still have no idea whether this is really the case or not.

Generate icon when saving configuration

Open PS2 loader version

0.9.3

Issue description - Describe the problem you are having

When OPL configuration is saved to the memory card, the directory does not contain an icon.sys file. Because of this, the folder appears as corrupted within the PS2’s built-in Browser.

make_changelog script is unable to completely generate the DETAILED_CHANGELOG file

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

Open PS2 loader mode (USB, SMB, HDD)

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

Issue description - Describe the problem you are having

Expected result

A new DETAILED_CHANGELOG file is generated, which lists all commits and their commit messages.

Actual result

Only commits up to r1007 are listed.

How to reproduce the issue

./make_changelog.sh

I can't select a existed vmc

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

Open PS2 Loader 0.9.4-WIP-d15079e

Open PS2 loader mode (USB, SMB, HDD)

SMB

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

VMC, GSM, PS2RD

Issue description - Describe the problem you are having

In Games Settings the VMC only can be generic from button or if I create new one

Expected result

I want to see all my VMC and select what I want without necessity to go to PC
But until it's not done, I want to select my VMC created

Actual result

How to reproduce the issue

Idk if this is on latest, idk how to get latest build

[FR] Mult-Disc games - Swap in memory

I've been looking around, carefully even, to see if there is comments about this, or if there was a request already made in here.

There are some games, very few in fact, that use multiple discs. While rebooting the PS2 to switch discs is currently the only feature, being able to swap between the discs, be in USB or HDD, would be helpful for some games that use seamless swapping, like having menus that pause and wait for a disc to load. It would speed things up, and some games, like Monster Rancher, incorporate other discs into their game mechanics.

At the very least, this could be used to swap between the multiple discs for a single game, ie Xenosaga 2/3, as those are simpler with a set number of discs that have a known ID and potentially location on the USB or HDD.

mount USB read-only

Read-write mount of USB raises problems. Ending a game is usually finalized with unexpected poweroff and dirty volume. This is especially bad for FAT. I guess that the problem's masked by background checks of Windows during mount. But that doesn't fully eliminate it.
Can I suggest using RO as much as possible. Game start is a good time to switch RW->RO AFAIK but you know better, of course.

[ISSUE][SLPM_623.62] Phantasy Star Generation Corrupt/glitched graphics [USB & SMB & HDD]

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

OPL 0.9.3 (VMC+GSM+PS2RD), OPL r1193 and a few DBs.

Open PS2 loader mode (USB, SMB, HDD)

USB, SMB and SATA-HDD

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

See above.

Issue description - Describe the problem you are having

Not sure if these are two different problems, but I'll report them as one.

When playing Phantasy Star generation:1 the party graphics will sometime glitch or get corrupted after a battle.

USB: Haven't been able to get this issue with USB.

SMB: After every battle the party graphics glitches.
slpm_623 62_gs 002
slpm_623 62_gs 003
The textures are from the battle screen.
slpm_623 62_gs 004

SATA-HDD:
UDMA 0-4: If the game doesn't glitch after the first few battles it can take hours. But it does happen eventually.
MDMA 0-2/MODE 1: The party graphics gets corrupt within a few battles every time.
slpm_623 62_gs 001

Expected result

The game should load the proper graphics for the party.

Actual result

Depending on how it is loaded and with what options the graphics is corrupted/glitched.

How to reproduce the issue

Depending on how it is loaded and with what options it either happens within a few battles or after extended play.
If not within a few battles, fastest to just reload the game.

I have to run GSM and not change preset before OPL VGA mode will work

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

2018-08-10_12:25:28 | 45c9a78 akuhak test_build
also 0.9.3
and ps2-home OPL-DB

Open PS2 loader mode (USB, SMB, HDD)

USB

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

Normal

Issue description - Describe the problem you are having

VGA mode does not work on my setup with "default" settings

Expected result

VGA should work with default settings

Actual result

VGA does not work with default settings

How to reproduce the issue

I have a Philips 20PF4121/05 LCD TV with 640x480 native resolution and DVI-I (Analogue and Digital).

SCPH-70000 -> Component cable -> Component to VGA adapter -> VGA to DVI adapter -> TV

If I start OPL and then select VGA mode, I just get a black screen. The TV does not recognise the signal (but it does not complain that it is an unknown signal).

However, if I first run GSM 0.23x and immediately quit back to wLE without making any display mode changes (not possible in 0.38) and only then run OPL and select VGA mode, it works fine.

So running GSM 0.23x seems to initialise something that OPL alone does not?

PS: is psx-scene offline?

[FR] Migrate to Smbv2 or Smbv3 [SMB]

The server part seems to rely on Smbv1. I cannot connect the ps2 to a server running win7 or libreelec. Smbv1 is disabled on both systems, as it is deemed insecure nowadays. (Vulnerable to Ransomware).
Would you consider migrating to a more secure version of Samba? Otherwise a hint inside the readme would be great that Smbv1 needs to be activated to run opl and maybe that the server should not be connected to the internet for security reasons.

OPL VMC BUG

Issue checklist

Open PS2 loader version

Open PS2 Loader 0.9.3+.1166-Beta-e57ded9
Open PS2 Loader 0.9.3+.1152-Beta-58a493e
Open PS2 Loader 0.9.3+.1129-Beta-49267e9

Open PS2 loader mode (USB, SMB, HDD)

USB, HDD

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

VMC, GSM, PS2RD

Issue description - Describe the problem you are having

After creating a VMC, I get an error when I try to launch the game.

Expected result

should launch the game.

Actual result

error when trying to launch the game.

How to reproduce the issue

In a nutshell, the bug happens this way:

  1. Create a new VMC via USB HDD or Internal HDD for a PS2 Game in OPL. -- (Make sure to select the option to create the VMC that has the GAME ID and not a generic named VMC -- example: ABCD_123.45_0.)
  2. Once you've created it and saved the Game Settings to update the game's CFG file.
  3. Then try to launch the PS2 Game.
  4. OPL will display the following error screen: "Error with VMC ABCD_123.45_0, continue with physical MC (slot 1)?"
  5. Even if you restart OPL, you will still not able to launch the PS2 Game with VMC enabled because of this error.
  6. Plus if we create the VMC with OPL Manager it will work. So it seems OPL is making corrupted new VMC files??

More details:

@sp193 , there are reports that there is a new bug when creating a VMC via USB and Internal HDD. See this thread: http://www.ps2-home.com/forum/viewtopic.php?f=13&t=6077

Does not happen with SMB, this is why I never was able to detect it, plus I hardly use OPL to create the VMCs, I prefer OPL Manager for that task. Plus I haven't purchased a PS2 Game in ages, I got everything I will ever need.

I figure it may be the changes you made in this commit or perhaps the recent updates after commit: 58a493e -- since that is so far the last version of OPL that doesn't show this bug.

UPDATE:

@sp193 (my apologies), I just tested another older ifcaro build: Open PS2 Loader 0.9.3+.1129-Beta-49267e9 -- and the bug also exists there, and that commit is a lot older than the one I linked above, so it seems this bug has been around a while back.

So that means the new changes made in this current commit that I started this report is wrong, and it may be further back...

Once I find where the bug started, I will report back. Though kind of difficult, since I don't collect the older ifcaro builds and I know if I wanted to compile them, some older PS2SDK versions will be required. Hopefully I can count on you to assist me in finding where and when this bug started??

[Q] pademu for SNES9x

Since pademu is so awesome I wonder if it's technically possible/hard to implant it into SNES9x?

Sorry for offtopic, please don't ban me ))
It's just a question so itchy I ask it here at 4am )))

Unable to compile DS3BT - GCC version check malfunction

@belek666 & @uyjulian, @ElPatas1 has been having some issues with compiling ds3bt in one of my commits, but I didn't change anything related to the DS3 stuff:
"cc1: invalid option 'no-explicit-relocs'"

As of the current head, he's still experiencing this issue. He's running a flavour of Linux.

ds3bt uses the sample IOP Rules.make file from the PS2SDK. According to @ElPatas1, he used to be able to compile this module with no issues. I have not edited that file either.

The mno-explicit-relocs option is used with GCC v5.3.0 and is not supported by GCC v3.2. That option is used if the GCC version is neither v3.2.2 nor v3.2.3. So for some reason, that logic within Rules.make is somehow evaluating incorrectly.
I cannot see the problem here, but perhaps you guys who know more about Makefiles can help shed some light on this weird problem with the GCC version check.

This may be a problem with Rules.make in the PS2SDK, but I cannot tell. If it is, then we can either open an issue there to continue the discussion or something...

Thanks in advance!

missing -ltiff in makefile

if not:

/usr/ps2/gsKit/lib/libgskit_toolkit.a(gsToolkit.o)(.text+0x1040): In function `gsKit_texture_tiff':
gsToolkit.c: undefined reference to `TIFFOpen'
/usr/ps2/gsKit/lib/libgskit_toolkit.a(gsToolkit.o)(.text+0x1068):gsToolkit.c: undefined reference to `TIFFGetField'
/usr/ps2/gsKit/lib/libgskit_toolkit.a(gsToolkit.o)(.text+0x1078):gsToolkit.c: undefined reference to `TIFFGetField'
/usr/ps2/gsKit/lib/libgskit_toolkit.a(gsToolkit.o)(.text+0x10c8):gsToolkit.c: undefined reference to `TIFFReadPS2Image'
/usr/ps2/gsKit/lib/libgskit_toolkit.a(gsToolkit.o)(.text+0x10e0):gsToolkit.c: undefined reference to `TIFFClose'
/usr/ps2/gsKit/lib/libgskit_toolkit.a(gsToolkit.o)(.text+0x1118):gsToolkit.c: undefined reference to `TIFFClose'
collect2: ld returned 1 exit status
make[1]: *** [/usr/ps2/sdk/samples/Makefile.eeglobal:66: opl.elf] Error 1
make: *** [Makefile:226: all] Error 2

gskit from GIT (latest commit)

add -ltiff after -lpng in the makefile (https://github.com/ifcaro/Open-PS2-Loader/blob/master/Makefile#L106) solve the problem

VMC has some new problems (maybe start from rev1079)

Open PS2 loader version

from rev 1079 to rev 1088

Open PS2 loader mode (USB, SMB, HDD)

SMB

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

VMC

Issue description - Describe the problem you are having

I dont know what is exactly wrong but maybe start from rev1079 to rev1088, the VMC has some new problems (all default config except VMC on) :

GRAN TURISMO 4 (SCAJ_300.07) with VMC on(SCAJ_300.07_0.bin), the game freeze at the opening(no memory card detection icon)
Xenosaga Episode 1(SLUS_204.69) with VMC on(SLUS_204.69_0.bin), just black screen, the game wont start.
I remember the older versions dont have these VMC problems.

Wipeout Fusion SMB issues

I am using OPL 9.3+rev994, but the same happens on OPL 9.3 stable (tried the normal elf). My console is a SCPH39001 without a modchip and OPL is launched by FMCB.

The issue is only present when playing from SMB share, USB and HDD work as they should. The issues are present in both the NTSC and PAL versions of the game.

When on the main menu, the music seems to be out-of-time and there is audible distortion in the form of loud clicks and pops. Once you get in a race, there is constant stuttering where the game freezes and flickers about 1.5 times per second. There is also a good chance of the game freezing completely, requiring a
a manual reset of the console, when browsing the options menu.

Disc boot support

I was wondering about this, i noticed that of all the ps2 homebrews, this is the only one that supports dual shock controllers over usb, but obviously with this program you can only use them with games in iso format. Could it be possible to make the program boot a game from the disc to use its additional features? I searched and fouind some tutorials that seemed to trick the app to boot the disc, but i had no hope with them.

Master Fails to build

Issue checklist

Note: these are not necessarily requirements

Building Open PS2 Loader 0.9.3+.1250-Beta-caaeafb...
-Interface
-ioptrap
-ps2link
src/appsupport.c: In function appGetItemStartup': src/appsupport.c:267: filename' undeclared (first use in this function)
src/appsupport.c:267: (Each undeclared identifier is reported only once
src/appsupport.c:267: for each function it appears in.)
make[2]: *** [Makefile:773: obj/appsupport.o] Error 1
make[1]: *** [Makefile:189: all] Error 2
make: *** [Makefile:204: iopcore_debug] Error 2

Please add video mode change confirmation

Sometimes when checking out higher res video modes in OPL itself, my tv goes out of sync. Naturally, the only solution is to reboot the console at this point and sometimes also delete the opl configuration file in case it already got saved.

A typical dialog of "Is this mode working OK?" with a ~10 second timeout would be nice.

Games dont load screen setting of browser

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

fc5b5fb

Open PS2 loader mode (USB, SMB, HDD)

USB SMB HDD

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

VMC GSM PS2RD PADEMU

Issue description - Describe the problem you are having

Games that support 16:9 dont read the screen ratio setting from browser and boot in 4:3

Expected result

games should read screen setting

Actual result

screen setting set in browser is ignored

How to reproduce the issue

boot a game that support 16:9 e.g. Burnout 3

LSN is incorrectly computed when the USBExtreme format is used

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

All

Open PS2 loader mode (USB, SMB, HDD)

USB & SMB

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

All

Issue description - Describe the problem you are having

When DeviceReadSectors (of USB or SMB) is made to read across two parts, the offslsn variable is not updated correctly and becomes negative.

Expected result

Test case: LSN 0x7FFFF, sector count of 2.
1st pass: OPL will read LSN offset 0x7FFFF, 1 sector from part 0.
2nd pass: OPL will read LSN offset 0x00000, 1 sector from part 1.

Actual result

Test case: LSN 0x7FFFF, sector count of 2.
1st pass: OPL will read LSN offset 0x7FFFF, 1 sector from part 0.
2nd pass: OPL will read LSN offset -1, 1 sector from part 1.

How to reproduce the issue

When the user observes that using the USBExtreme format results in faulty behaviour by the game, while using a single ISO image does not.

Merging GSM and PS2RD into OPL permanently - do we want it?

Given that GSM and PS2RD can be disabled properly, do we not want to merge them into OPL permanently?
There will be less choices for the user, which gives increased simplicity.

I know we previously had some concerns about why enabling/disabling some features seemed to affect games. But after Fatal Frame was fixed, I have this feeling the reason for the varying functionality (even GSM or PS2RD is not enabled for the game) must be related.

For the uninitiated: Fatal Frame has started working after a recent patch, which wipes all (close to what Sony does) registers so that the boot conditions will be always the same. I noted that the only visible difference between running the game with PS2RD built in or not, was the register content. There was also this bug whereby OPL would corrupt memory at 0x02000000.
I actually dumped all memory to see if there are differences in the memory meant for the game, but no. There were differences, but they were in the stack area and the EE kernel.

If there are games that are still affected by whether we include these features (when disabled during runtime) or not, then I am sure it has got to do with a problem within the game itself. Even if we do sweep the issue under the rug by disabling these features, it might occur again whenever the EE core grows in size. So by this logic, I think it is okay to have these features built in.

As for VMC: I was told long ago that it can result in worse performance in some games, but I never figured out why. That is why I am not including VMC in this suggestion, although I guess we could if we reach a general consensus that it is okay.
Technically, the VMC module is also not loaded when that function is disabled. So the overhead might have just been related to the additional WaitSema() & SignalSema() calls that the VMC builds have. That was also a long time ago, before a lot of fixes and enhancements were made.

New APP system in OPL doesn't load the ART for the applications.

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

Open PS2 Loader 0.9.3+.1261-Beta-41aeb0b - compiled with ps2dev/ps2sdk@62a2199

Open PS2 loader mode (USB, SMB, HDD)

SMB

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

ALL

Issue description - Describe the problem you are having

@sp193 , testing the new APPS system in: Open PS2 Loader 0.9.3+.1261-Beta-41aeb0b - compiled with ps2dev/ps2sdk@62a2199

I notice that the new system won't fetch the ART for the APP.

In the older method using conf_apps.cfg, if the ELF file was named: SMS.ELF, then the ART would be named like this inside the ART folder:

  • SMS.ELF_COV.jpg
  • SMS.ELF_ICO.png
  • and etc.

So it seems that the new method isn't fetching the ART anymore. The old method still works with the ART.

Here are my paths and settings that I am testing so far: (let me know if I am doing something wrong?)

I followed the instructions found in PR #171

APPS/
    SimpleMediaSystem/
        SMS.ELF
        title.cfg

ART/
    SMS.ELF_COV.jpg
    SMS.ELF_ICO.png

Above title.cfg has:

title=Simple Media System
boot=SMS.ELF

I also tried changing the name of the game cover to: SMS_COV.jpg or place the ART inside the sub-folder where the ELF file is -- but that also didn't work.

Plus I noticed something that may shed a clue?
On the MAIN page (default ifcaro theme) where it should display the GAME ID or ELF name of the application I have selected on the APPS page, it says ETH Games, and not the ELF name or the path with the ELF name. -- I'm wondering if I should rename the ART to ETH Games_COV.jpg, but that doesn't seem right, since then all ART for APPS will have to be named the same way... lol

Expected result

should load ART like in the old system, unless I don't know how to rename the new ART? Or the placement of the new ART?

Actual result

does not load the ART.

How to reproduce the issue

please follow my paths listed above..

[ISSUE] PADEMU with DS3 issues [PADEMU]

After pairing a DS3 controller the mac address of the BT dongle and the DS3 controller should match. Re-inserting the DS3 controller seems to give different mac addresses each time, but never the same as the BT dongle.

Pairing does work.

Here's a screenshot of the mac addresses after pressing the "Pair" button:
vlcsnap-2017-12-03-16h29m19s982

Support to CheatDevicePS2 based on PS2RD

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

Open PS2 loader mode (USB, SMB, HDD)

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

Issue description - Describe the problem you are having

Expected result

https://github.com/root670/CheatDevicePS2
Use this engine because is far better than PS2RD right now

Actual result

How to reproduce the issue

NTFS Support for OPL

USB flash drive with FAT32 system can only hang up to 4GB file size. DVD game images can easily achieve beyond this limit. And for external HDD drives, the maximum partition size is 32GB (with 16 KB clusters). How about OPL support for NTFS? Very large discs and files will work!

[FR] Prototype for a new PADEMU driver implementation (360 pad, Wii pad, PS3/PS4 joysticks, pads/joysticks officials & generics, etc) [PADEMU]

Right now it is a prototype that drops into OPL's sources and replaces ds34usb, I'd like to know if there's any IRC, email group, steam chat or forum where I can discuss about my implementation and get feedback on it.

Supports rumble and whatever, but I didn't test multitap yet, don't have any more controllers to do so.

Wiimote
Xbox360
Gamepads (Generics)
Arcade stick (PS3)
Arcade stick (PS4)
Arcade stick (Generics)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.