Afficher un message
Vieux 27/05/2017, 04h10   #293 (permalink)
Profil
krHACKen
Membre
Ancienneté  20%
Ancienneté 20%
 
Avatar de krHACKen
 
Date d'inscription: juillet 2013
Pays :
Messages: 764
Téléchargements: 0
Uploads: 0
Merci: 215
Remercié 699 fois dans 441 Posts
Par défaut

Et voilà un nouveau prototype : POPStarter_r13_WIP_06_PROTO_20170527.zip
Inutile de mettre le wiki ou vos installations à jour avec cette build. Elle n'a pas été testé à fond, devrait contenir des bugs bizarres, et n'offre rien de nouveau ormis des extras orientés vers le bidouillage/développement tiers. Comme pour le précédent proto que j'avais posté sur ASSEMblergames avant que le forum soit mis hors service, cette build a été compilé avec un SDK patché. Pas testé dans une PSX (DVR).


Voilà les changements en détail :


* Modifications sur le chargement des MODULE_#.IRX
Le nouveau système chargera le padman_hsync de POPS en priorité (juste après le sio2man de POPS) si il trouve "ds3ps2", "ds3usb" ou "ds3bt" dans vos modules. En mode SMB, mc#:/POPSTARTER/smsutils.irx sera chargé entre MODULE_4.IRX et MODULE_5.IRX.
Exemple facultatif en mode SMB :
MODULE_0.IRX = driver USB (USBD.IRX)
MODULE_1.IRX = driver DS3 (ds3bt.irx, ou ds3usb.irx, ou un pilote BT+USB unifié)
MODULE_5.IRX = trapper pour sio2man (genre bt_pademu.irx, usb_pademu.irx, ou unifié)
Avec ce style de setup, j'ai pu assigner ma DS3 câblée au P1. Bien sur les commandes ne répondent pas, vu que ma manette est une fausse.


* Possibilité de lire les CDs de PS1 à partir du lecteur, plutôt que des images VCD
C'est une fonctionnalité native de POPS, qui s'enclenchait à l'origine si POPS était exécuté sans argument ou sans point (.) en troisième caractère du nom de partition. C'est pour ça que POPStarter exige un point derrière les préfixes PP et __ .
$ONY a du implémenter ça pour leurs tests persos. Il n'y avait pas de support VMC (ni MC physique).
J'ai rajouté le support VMC, le système de TOC refresh et les merdes habituelles de POPStarter dessus. Le seul truc que je n'ai pas corrigé, c'est la lecture des pistes CDDA. Le IOPCD de POPS est capable de lire les infos de pistes, mais pas capable de lire les pistes correctement. Les jeux qui ont des pistes CDDA feront entendre un bruit HORRIBLE à la place. Un peu comme quand vous mettez un disque de données dans un vieux lecteur CD audio. C'est pour cette raison que je n'ai jamais rajouté cette fonctionnalité dans POPStarter auparavant.

Voilà comment ça fonctionne :
Si le VCD (ou la partition) spécifié dans le nom du ELF n'existe pas, POPStarter interrogera le lecteur. Et si il y a un CD de PS1 valide dedans, il l'utilisera. La sauvegarde des VMCs s'effectuera comme à l'accoutumée, en fonction du nom/préfixe que vous donnez à votre ELF.
Exemples :
PS1CD.ELF sauvegardera dans __common/POPS/PS1CD/SLOT#.VMC
XX.PS1CD.ELF sauvegardera dans mass:/POPS/PS1CD/SLOT#.VMC
SB.PS1CD.ELF sauvegardera dans smb:/POPS/PS1CD/SLOT#.VMC

Pour que ça charge plus vite, je vous conseille PP.PS1CD.ELF plutôt que PS1CD.ELF. POPStarter essaiera juste de monter la partition PP.PS1CD au lieu de scanner les 11 partitions __.POPS. Bien sur, la partition PP.PS1CD ne doit pas exister, afin que POPStarter interroge le lecteur CDVD.

Si vous changez de CD, n'oubliez pas de simuler l'ouverture/fermeture du capot (hotkeys Triangle/Carré) comme vous feriez d'habitude. Les touches directionnelles ne servent à rien dans ce mode CD.


* Nouveau type de codes dans CHEATS.TXT, pour la scratchpad memory PS1
Même syntaxe que pour les codes SPM PS2 ($S), sauf que le préfixe est $T.
Sur la PS1, la SPM est mappée de 1F800000h à 1F800400h. Sous POPS, c'est de 5F800000h à 5F800400h.
Exemples de codes simples et fonctionnels pour poker 1 octet par ligne :

Pour Rage Racer :
$T0000064 00000006
$T000006C 00000006

Pour Ridge Racer Hi-Spec/Turbo :
$T0000048 00000006
$T000004C 0000000F
$T0000050 00000004

Pour Ridge Racer Revolution :
$T0000058 00000000

Ce sont des codes qui décalent les textures lol.


* Nouvelle valeur dans la config table du ELF
Il existait déjà 4 valeurs pour l'offset $42F; j'y ai ajouté la valeur 0x04.
La valeur 0x04 désactive tous les bons modes de compatibilité, fixes, et cracks LibCrypt intégrés à POPStarter, pour n'activer que des trucs "inefficaces" indisponibles avec 0x01 0x02 et 0x03. C'est en quelque sorte ma poubelle, pour des hacks dont les effets sont éloignés des jeux originaux ou trop pourris pour être considérés comme des correctifs de compatibilité
Dans cette build, il y a :

- 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 Catalogue '98 (SLPS-01801)
[qui ont l'équivalent des codes $T postés plus haut, textures en zigzag]

et

- Dave Mirra Freestyle BMX: Maximum Remix (SLUS-01347)
[qui a l'équivalent d'un vieux TROJAN posté autrefois sur ASSEMblergames, pour éloigner la caméra du rider et limiter les glitches]


* Ajouts de cracks LibCrypt et de mode de compatibilité incorporés
- Roger Lemerre: La Selection des Champions (SLES-02976) [LibCrypt]
- This Is Football (SCES-01882) [LibCrypt]
- World Championship Snooker (SLES-02196) [LibCrypt]
- Action Man: Destruction X (SLES-03083) [Mode Comp. 0x05]
- Spyro: Year Of The Dragon v1.1 (SCES-02835) [LibCrypt]
- Spyro 2: Gateway To Glimmer (SCES-02104) [LibCrypt]

Les Spyro sont TOUJOURS incompatibles.
D'après le commentaire dans la liste de compatibilité HDD, Action Man: Destruction X bloque après la course. C'est un code de triche qui cause ça.


=== Problèmes connus ===
- Si le KELF n'est pas renommé en EXECUTE.KELF, POPStarter utilisera son nom en tant que nom de partition de ressources, causant la désactivation des VMCs et probablement des handlers "current game"... Sans doute un truc qui se traine depuis la WIP 01. Faudrait imposer EXECUTE.KELF et kicker à l'OSD si le KELF n'a pas été renommé, dans la prochaine beta.

- Constaté dans la nouvelle implémentation du lecteur CD, sceCdStatus() renvoie une valeur différente en fonction d'où POPStarter est lancé (WTF ?). Depuis le HDDOSD avec le tiroir éjecté, ça renvoie 0 et depuis uLe ça renvoie 10; ou quelque chose dans ce genre. C'est incompréhensible... Pour le moment, POPStarter jugera le lecteur CDVD inaccessible si sceCdStatus() retourne quoi que ce soit d'autre que 1.

- fileXioChStat échoue sur les sous-dossiers (donc sur les dossiers VMC, pas sur le dossier POPS) si la structure APA est hors standard. Ce qui rend infaisable la copie de list.ico & icon.sys ainsi que le changement des propriétés des dossiers VMCs par POPStarter (POPS peut néanmoins gérer les VMCs). Avec peut être pour effet collatéral de désactiver les handlers "current game"... Pas grave, je dois être le seul sur terre à causer ce bug avec une structure APA hackée et des partoches de tailles non multiples de 128 MB.

Dernière modification par krHACKen ; 27/05/2017 à 04h25.
krHACKen est déconnecté   Réponse avec citation
Ces 2 utilisateurs disent Merci à krHACKen pour ce poste utile:
Allan58 (27/05/2017), antonioks (18/06/2017)