Aller au contenu

Ced2911

Membre
  • Compteur de contenus

    257
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Messages posté(e)s par Ced2911


  1. :D

    J'ai cru que j'allais jamais m'en sortir :)

    J'ai pas mal de jeux qui se lance:

    • Legend of thor 2
    • Darkstalker
    • Street fighter Zero
    • Virtua Fighter
    • X-Men children of the atom
    • DBZ legend

    Et qui pose problème:

    • Rockman X3

    Pour l'instant pas de support CDDA, et je suis encore un peu trop lent pour la lecture de vidéo fluide mais je pense arranger ça rapidement :D

     


  2. Yop All :)

     

    Un petit thread pour faire connaitre le projet sur lequel je boss depuis quelque temps.

     

    Il y'as plus d'un an Eikacy ma questionner sur la difficulté pour créer une puce saturn (surement en ref avec ce thread: http://www.ultimate-consoles.fr/topic/18765-ultimate-modchip-pour-saturn/?do=findComment&comment=233843).

    Après quelque recherche je me suis rendu compte qu'un ode pouvais être faisable :)

     

    Pour la théorie du fonctionnement d'un modchip saturn.

    * La puce sniff les commandes en continue

    * Elle attend que la commande Seek to security ring soit envoyer

    * Elle coupe l'envoie des données et commandes entre saturn et lecteur

    * Elle calcule la réponse à renvoyer à la saturn (le seek n'est jamais fait à la même position)

    * La saturn envoie une commande de lecture du secteur de ring en cours

    * La puce calcule et renvoie un ring secteur

    * La saturn envoie une commande de seek normal

    * La puce se désactive et redonne la main au lecteur cd

     

    La puce agit donc comme un mini ode ^^ uniquement pour la partie du ring sector.

     

    Il y'as quelque semaine j'ai décider de regarder ça plus sérieusement et de sniffer un peu ce qui ce passe: https://github.com/Ced2911/sega_saturn_drive_log

     

    J'ai donc commencer à sniffer les commandes/status envoyer entre la saturn et le lecteur cd pour mieux comprendre le fonctionnement du lecteur.

     

    J'en suis venu rapidement a la conclusion que:

    Les commandes ressemblent à du spi

    Mais les données envoyées en série sont assez bizarre...

    j'en ai parlé a X-Death qui me dit "hey regarde du coté du mega cd, ils ont surement pas réinventé la roue..." et je tombe sur cette doc: http://gendev.spritesmind.net/page-megasd.html

    Et la baam oui il a raison les données sont bien envoyé en i2s :)

    Par contre, impossible de retrouver les données sniffer sur mon iso...

    Je retrouve bien l'header de chaque secteur mais pas le reste...

    Et si sega avait crypté les données sur le bus i2s?

    Et oui ils ont bien crypté avec une simple clé xor les données !

    Et voilà les données sur le bus sont compréhensible !

     

    Maintenant qu'une bonne partie du lecteur cd est compréhensible je me suis attaquer a la suite...

    L'ODE :)

    Pour l'instant je me sert d'un devkit psoc4 (http://www.cypress.com/documentation/development-kitsboards/psoc-4-cy8ckit-049-4xxx-prototyping-kits)

    Une puce qui contient un petit mcu arm qui contient des port logique (UDB). On peut mélanger du code classic et du verilog !!! C'est simplement génial pour le prix ! Par contre l'ide est assez chiant à prendre en main.

     

    C'est derniers jour, j'ai réussi à implémenter les commandes suivantes:

    LID OPEN

    NOP

    SEEK

    STOP

    READ TOC

    Voici ce que ça donne sous le player:

    wqRVEYq.jpg

     

    Maintenant j'attaque la lecture des données binaire ! le gros du taff :)

    Je sens que ça va être galère de trouver comment se synchroniser entre les 2 bus :)

     

    Bonus photo de l'ode :)

    KTb3vsW.jpg

    • Upvote 1

  3. sur les alims de 1ere gen, oui tres simple, les pcb jap & euro étant 100% identiques.

    La seule inconnue restante étant le transfo, car impossible de trouver des infos sur lui... et j'ai toujours pas eu envie de cramer une alim pour vérifier.

    Tu m'etonne ^^ en plus le jour ou il y as un reglementation pour les transfo :p 

    par rapport au site c'est quel alim qui est pareil en jap et euro ?


  4. Yop, j'ai commandé ça en sample: http://www.te.com/usa-en/product-1734098-7.html, pour un prototype ca devrait le faire, ca devrait être facile a réutilise une nappe ide. Pour la partie logic je pense utiliser un cpld https://www.aliexpress.com/item/XILINX-CoolRunner-II-FPGA-CPLD-XC2C64A-Core-Module-Mini-DEV-Development-For-XBOX360/1878839883.html?ws_ab_test=searchweb0_0,searchweb201602_2_422,searchweb201603_1&btsid=258578fd-31bd-4716-92f3-d475f3e4b035 et pour la liaison psx->pc la fameuse bluepill/stm32.

    Je vais essayer de faire un clone usb d'un action replay pour demarrer, ensuite on verra bien :)


  5. À partir du moment où leur loader charge le premier exécutable, tout se contrôle. Soit en patchant le vsync, à la manière des intros, et qui «hook» les fonctions à modifier, soit en modifiant en mémoire les zones à patcher directement au chargement, quand le jeu n'est pas trop chiant.

    Oui j'avais pas penser a cette façon, je simplement a hooker LoadExeFile pour faire le patch a ce moment la

     

    Pour le XA/CDDA, c'est simple, ils ne font pas ^_^. Il y a bien un pseudo fix pour le cdda, mais ça reste au cas par cas. Il suffit de voir la liste de compatibilité. D'ailleurs, cybdyn a expliqué le soucis avec Vib Ribbon sur le forum, et précisé que le jeu envoyait des données directement du cdrom vers le SPU, sans passer par le CPU.

     

    L'idéal serait d'avoir un vrai émulateur de CD. Mais cela nécessite de reproduire intégralement la logique d'un contrôleur CD en FPGA, ce qui n'a jamais été fait jusqu'à maintenant. Les autres ODE fonctionnent à un niveau au dessus en terme de couche hardware/software.

     

    Yep c'est justement ça le gros soucis, je reste persuader qu'ils ont remonter /cdrom_cs et /cdrom_int justement pour émuler le cdrom, au lieu de hooker le jeu, mais vu que le cdrom et spu sont directement lié => soucis de cdda/xa.

    Pour y faire proprement il faudrait encore descendre de niveau.

    Déjà que l’émulation du spu sur pc c'est pas top j'imagine pas la galère :s


  6. Sinon, oui, bien sûr que tu peux patcher le jeu à la volée. Tu t'occupes des signatures de la lib psyQ qui charge les fichiers en les redirigeant vers ta carte SD. Le kit de dev PsyQ permettait de charger les jeux via le port parallèle, et Caetla offrait au développeur un nouveau lecteur virtuel.

    Oui tu peux mais uniquement au lancement, si ton programme recharge d'autre donnée exécutable (beaucoup de jeux font ça) c'est mort :s

    C'est pour ca que finalement ils ont fait remonter /CDROM_CS et /CDROM_INT, pour pouvoir simule completement le cdrom.

    Par contre autre problème la partie cdrom et spu travail ensemble... comment ils font pour le cdda et le xa ? ça ne marche pas du tous ?

     

    Bon, je vais passer pour un con ( ca, j'ai l’habitude de toute façon ^^) mais je pose ma question qui me trote depuis des années dans la tête:

     

    Qu'est ce qui donne l'info de sécurité d'un support physique en lecture d'origine? Je comprends pas pourquoi il n'existe pas des adaptateur qui se placent en parallèle du lecteur physique ( CD, DVD ou BR) et qui permettraient de lancer la même chose que le lecteur comme données mais a partir d'un stockage.

     

    Je sais très bien repérer la sécurité quand elle se lance ( le logo PS par exemple sous PS2) mais pour moi, c'est juste du software. Ca me parait tellement incroyablement facile niveau hardware a faire que c'est là que je me dis que dois être vraiment a la ramasse car si ca n'existe pas, c'est que les meilleurs se sont déjà cassé les dents dessus.

    Ça serait la solution idéal :D

     

    Si je dit pas de connerie, pour faire ça il faudrait réussir à remplacer le hc05 (ic304 http://gamesx.com/wiki/lib/exe/fetch.php?media=schematics:service_manual_scph_9000_3rd_ed.pdf page 13)


  7.  

    L'approche du PSIO n'était pas la bonne, même si elle était la plus rapide. Ils n'ont pas fait un émulateur de lecteur, mais un hack qui change l'accès des données d'un jeu.

     

    Tu en est sur ? a quoi sert alors de remonter /CDROM_CS et /CDROM_INT ? en plus patché l'acces des jeux à la volé ça ne marchera pas, car comment reconnaître des données exécutable et data ?


  8. Yop juste pour dire que c pas tomber a l'eau :D

    d'abord je travail sur une sorte de carte pour connecter la ps1 au pc en usb.

    Je pense partir sur un pic18lf45k50 en 3.3v

    si tous ce passe bien elle permettra d'emuler une carte memoire sur une carte sd.

    de faire marcher le serial

    et de flasher le bios


  9. Pour créer l'animation du logo, j'ai 2 choix:

    -Plusieurs petit modèle 3d: on affiche au fur a mesure les objets à afficher. Assez léger en taille, chiant à modifier

    -Une image, on joue sur la palette pour n'afficher que les objets à afficher. Bcp plus lourds en taille, facile à modifier.

     

    Je pense partir sur la 2eme option.

     

    Pour l'instant j'ai une démo qui fonctionne sous no$psx, directement sous un menu :D

×
×
  • Créer...