Changelog:
- Added support for 4.31CFW
- Added support for creating ISO files from PS1 game discs
- Improved support for PS1 ISO/BIN/IMG/MDF
About the PS1 improvement: I have NFS:Porsche and it works fine from disc but not from ISO/BIN. The issue was in the patched ps1_emu.self (ATAPI 0x43 READ TOC) which I believe breaks some games (like because of missing .CUE sheet processing). I hope that this fix (which is included in mM 04.19.02) will fix issues with other games that crashed or had some audio issues.
The original patch from Hermes (in ps1_patch2.S)
memcpy(&data[n - sizeof(ps1emu_patch2)], ps1emu_patch2, sizeof(ps1emu_patch2));
(0x3C, 0x80, 0x00, 0x22, 0x60, 0x84, 0x01, 0x63, 0x90, 0x98, 0x00, 0x00):
lis %r4, 0x22
ori %r4, %r4, 0x0163 // first track / last track
stw %r4, 0(%r24)
My change:
memcpy(&data[n - 20], ps1emu_patch2, sizeof(ps1emu_patch2));
(0x3C, 0x80, 0x00, 0x0A, 0x60, 0x84, 0x01, 0x01, 0x90, 0x98, 0x00, 0x00,
0x3C, 0x80, 0x00, 0x14, 0x60, 0x84, 0x01, 0x00, 0x90, 0x98, 0x00, 0x04)
lis %r4, 0x0A // Correct size of TOC
ori %r4, %r4, 0x0101 // first SESSION# / last SESSION#
stw %r4, 0(%r24)
lis %r4, 0x14 // add correct ADR(1)/CTR(4) info in response = Data track + Copy protection
ori %r4, %r4, 0x0100 // first track# in first SESSION / reserved
stw %r4, 4(%r24)
Dean