New in this release:
- Fixed a design fault that caused a resource leak. The File Descriptors (FDs) used in the CopyFile() function were constantly overwriting each other, which probably caused some opened files to be left unclosed and it's FD never feed up.
- Improved how the log messages are displayed, to give more accurate status updates.
Since the file copy process is asynchronous, file copy status messages were previously incorrectly tagged with the files.
An error that occurred might not refer to the file that was being written to the card, but the file that was being read from the source as another file was being written to the card.
- Somehow fixed the stack corruption issue. And hence, all variables that were declared as static for that reason are now normal variables.
- Added a check for an existing FMCB configuration file (CNF). Provides the user with an option to retain the existing configuration file.
- Changed the format and name of the multi-installation uninstall file.
- Added support for the APPS folder, and added the required resources for the APPS folder to this package.
- Support for the a pad connected to port 2 has been added.
- Drivers that have DMA support like MCTOOLS and SECRMAN_RPC have been modified to be able to handle DMA transfers involving buffers not aligned to 16-byte boundaries or the transfer size is not a multiple of 16.
Known bugs and limitations:
- There seems to be some occasional DMA transfer size or alignment issue. Some RPC calls to MCTOOLS cause stack corruption.
- Sometimes successive installations cannot be made (Cache initialization will fail).
- There is one missing "Done!" status update when making installs. I don't know why and how it's missing.
- The logging window isn't large enough, and so the log can overflow and warp back to the first line, overwriting the first line.
Unfortunately, I've grown tired of trying to fix these bugs... especially since I no longer have a way to perform debugging (My only working copy of PS2LINK that works on my hardware isn't working - either because it's broken or this temporary Linux box I'm using has somehow been misconfigured).
I've already spent about 3 weeks on this project, and I doubt that I (Or anyone else) will benefit from wasting more time on it.
Maybe someone else with better PS2 programming skills can fix these issues, but I know that I cannot. I don't even know where these issues originate from.
I'll now release the source soon after I have my dinner. The link will be found on the project homepage. Good luck!