And here is a new prototype: POPStarter_r13_WIP_06_PROTO_20170527.zip
IMPORTANT: You do not need to update the wiki or your installations with this build. It has not been thoroughly tested, should contain bizarre bugs, and offers nothing new about extras geared towards hacking/third party development. As for the previous proto I had posted on ASSEMblergames before the forum was decommissioned, this build was compiled with a patched SDK. Not tested in a PSX (DVR).
Here are the changes in detail:
* Modifications to MODULE_#.IRX
The new system will load the POPS padman_hsync first (just after the POPS sio2man) if it finds "ds3ps2", "ds3usb" or "ds3bt" in your modules. In SMB mode, mc #:/POPSTARTER/smsutils.irx will be loaded between MODULE_4.IRX and MODULE_5.IRX.
Optional example in SMB mode:
MODULE_0.IRX = USB driver (USBD.IRX)
MODULE_1.IRX = DS3 driver (ds3bt.irx, or ds3usb.irx, or a unified BT + USB driver)
MODULE_5.IRX = trapper for sio2man (genre bt_pademu.irx, usb_pademu.irx, or unified)
With this style of setup, I was able to assign my DS3 wired to P1. Of course the controls do not respond, since my controller is a fake.
* Ability to play PS1 CDs from the player, rather than VCD images
This is a native feature of POPS, which originally triggered if POPS was run without an argument or point (.) As the third character of the partition name. This is why POPStarter requires a point behind the prefix PP and __) .
$ONY had to implement this for their own tests. There was no VMC support (nor physical MC).
I added the VMC support, the TOC refresh system and the usual POPStarter shit on it. The only thing I did not correct is the CDDA tracks. The POPS IOPCD is able to play track information, but not able to play tracks correctly. Games that have CDDA tracks will play a HORRIBLE sound instead. A bit like when you put a data disc in an old CD audio player. That's why I never added this feature to POPStarter before.
That's how it works:
If the VCD (or partition) specified in the ELF name does not exist, POPStarter will query the drive. And if there is a valid PS1 CD in it, it will use it. The VMCs will be saved as usual, depending on the name/prefix you give to your ELF.
Examples:
CODE: SELECT ALL
PS1CD.ELF will save in __common/POPS/PS1CD/SLOT#.VMC
XX.PS1CD.ELF will save in mass:/POPS/PS1CD/SLOT#.VMC
SB.PS1CD.ELF will save in smb:/POPS/PS1CD/SLOT#.VMC
So that it loads faster, I advise you PP.PS1CD.ELF rather than PS1CD.ELF. POPStarter will just try to mount the PP.PS1CD instead of scanning the 11 partitions of __ .POPS . Of course, the PP.PS1CD partition must not exist, so POPStarter queries the CDVD.
If you change CDs, do not forget to simulate the opening/closing of the hood ( Triangle/Square hotkeys ) as you would usually do. The directional buttons are not used in this CD mode.
* New type of codes in CHEATS.TXT, for scratchpad memory PS1
Same syntax as for SPM PS2 ($S) codes, except that the prefix is ??$T.
On the PS1, the SPM is mapped from 1F800000h to 1F800400h. Under POPS, it's 5F800000h at 5F800400h.
Examples of simple and functional codes for poker 1 byte per line:
For Rage Racer:
CODE: SELECT ALL
$T0000064 00000006
$T000006C 00000006
For Ridge Racer Hi-Spec/Turbo :
CODE: SELECT ALL
$T0000048 00000006
$T000004C 0000000F
$T0000050 00000004
For Ridge Racer Revolution :
CODE: SELECT ALL
$T0000058 00000000
These are codes that shift texture.
* New value in the ELF config table
There were already 4 values ??for the $42F offset ; I added the value 0x04.
The value 0x04 disables all good compatibility modes, fixed, and LibCrypt cracks embedded in POPStarter, to enable only "inefficient" tricks that are unavailable with 0x01 0x02 and 0x03. It is sort of my trash, for hacks whose effects are far from original games or too rotten to be considered compatibility fixes
In this build, there are:
CODE: SELECT ALL
- Ridge Racer Revolution (SCES-00242)
- Ridge Racer Revolution (SLUS-00214)
- Ridge Racer Revolution v1.0 (SLPS-00150)
- Ridge Racer Revolution v1.1 (SLPS-00150)
- Rage Racer (SCES-00650)
- Rage Racer (SLUS-00403)
- Rage Racer v1.0 (SLPS-00600)
- Rage Racer v1.1 (SLPS-00600)
- Ridge Racer Hi-Spec Demo (SCES-01832)
- Ridge Racer Bonus Turbo Mode Disc (SLUS-90049)
- Ridge Racer High Spec Ver. & Namco Catalog '98 (SLPS-01801)
[Which have the equivalent of the $T codes posted above, zigzag textures]
and
- Dave Mirra Freestyle BMX: Maximum Remix (SLUS-01347)
[Which has the equivalent of an old TROJAN previously posted on ASSEMblergames, to keep the camera away from the rider and limit the glitches]
* Added LibCrypt cracks and built-in compatibility mode
- Roger Lemerre: The Champions Selection (SLES-02976)
[LibCrypt]- This Is Football (SCES-01882)
[LibCrypt]- World Championship Snooker (SLES-02196)
[LibCrypt]- Action Man: Destruction X (SLES-03083) [Comp. 0x05]
- Spyro: Year of the Dragon v1.1 (SCES-02835)
[LibCrypt]- Spyro 2: Gateway To Glimmer (SCES-02104)
[LibCrypt]Spyro are ALWAYS incompatible.
According to the comment in the HDD compatibility list, Action Man: Destruction X blocks after the race. It's a cheat code that causes this.
=== Known Issues ===
- If the KELF is not renamed to EXECUTE.KELF, POPStarter will use its name as a resource partition name, causing VMCs and probably handlers "current game" to be deactivated ... No doubt a trick that drags on Since the WIP 01. You should impose EXECUTE.KELF and kicker to the OSD if the KELF has not been renamed in the next beta.
- Found in the new CD player implementation, sceCdStatus() returns a different value depending on where POPStarter is launched (WTF?). Since the HDDOSD with the ejected drawer, it returns 0 and from uThis returns 10; Or something like that. This is incomprehensible ... For now, POPStarter will judge the CDVD drive inaccessible if sceCdStatus() returns anything other than 1.
- fileXioChStat fails on the subfolders (so on the VMC folders, not on the POPS folder) if the APA structure is out of standard. This makes the copy of list.ico & icon.sys unfeasible, as well as changing the properties of VMCs folders by POPStarter (POPS can still manage VMCs). With may be collateral effect to disable handlers "current game" ... Not serious, I have to be the only one on earth to cause this bug with a hacked APA structure and params of non-multiple sizes of 128 MB . :lol: