Inscription : 15 Juin 2009, 09:00 Message(s) : 190
J'ai jamais osé vous poser la question mais je me lance .Comment vous faisiez pour déplomber des jeux protégés par des pistes rempliesde secteur de taille 6 . Cela aurait été mon plus grand bonheur d'arriver à faire ça quand j'étais gosse , quand des potes avaient de jeux originaux que je ne pouvais me copier . J'ai toujours eu peur de triturer les originaux que j'avais ou même d'éditer un secteur sous disco de ces pistes car leur lecture étant impossible je voyais mal l'editeur de disco être capable de réécrire la piste apres avoir changé un bout de code .
vous bidouilliez le loader j'imagine ....Et c'était quoi l'astuce mettre une partie du code dans les banques mémoires et de proche en proche reconstituer le code du jeu ?
Ca m'aurait vraiment interessé d'avoir un tuto from scratch pour des jeux du genre batman3 ou dragon ninja
En fait, peu importe la protection physique, le principal c'est d'utiliser le loader d'origine pour charger toutes les parties mémoires et d'en faire des fichiers, de refaire tous les loaders en version fichier.
Donc souvent le principal boulot est de décoder le loader et de refaire les loader une fois le jeu mis en fichier.
La plupart du temps, la partie qui teste la présence de secteurs bizarres est justement dans le loader, donc vu qu'une fois en fichier, tu refais un autre loader, cela ne pose même pas de problème.
Il n'y a pas à avoir peur d'abimer son original car pas besoin d'écrire dessus, ce n'est même pas recommandé du tout, surtout si il y a un format bizzare (secteur taille 6, très grand nombre de secteurs taille 2 ou 3)
Inscription : 15 Juin 2009, 09:00 Message(s) : 190
donc quand le jeu était en mémoire , au moment du call xxx ( adresse de demarrage du jeu ) ou du JP xxx ( en fonction de) vous faisiez une routine de derivation pour sauvegarder le jeu en fichier , si j'ai bien tout compris ?
En fait, et là je te donne ma technique personnelle, je charge le jeu petit bout par petit bout.
à chaque fois je sauvegarde chacun de ces petits bouts jusqu'à avoir l'intégralité du jeu en fichier en prenant garde de sauvegarder de manière cohérente (c'est à dire de vérifier que tout ce qui est dans un fichier à besoin d'être chargé, à vérifier notamment pour tout ce qui concerne les rechargements pour les levels par exemple).
Mais à ce moment précis je ne peux pas exécuter le jeu la plupart du temps.
Pour prendre un exemple tout bête : Bloodwych.
La particularité de ce jeu c'est qu'il charge d'une seule traite du bas de la mémoire jusqu'en haut (il recouvre donc toute la RAM linéairement) ce que tu ne peux pas faire avec un loader AMSDOS à cause des zones systèmes.
Donc je met tout en petits bouts, ensuite je fais un loader provisoire qui charge chacun de ces morceaux et une fois chargés je remet les morceaux à leur vrai place (ceux notamment qui écrasent les zones systèmes), et à ce moment seulement, je peux tester l'exécution du jeu.
Pour ma part j'utilisais peu de routines de dérivation, je me contentais de récupérer la routine principale de loading et ensuite je refaisais des appels à cette routine de façon à charger les même parties que le jeu, mais en changeant des paramètres si nécessaires (comme l'adresse RAM de destination).
Ensuite pour les jeux à rechargement, tu as le problème de la réinitialisation du système à certains moment, et donc souvent de la sauvegarde des datas du jeu se trouvant aux adresses système pendant le chargement pour pouvoir les y recopier une fois le level chargé.
Et bien entendu, le remplacement des routines de chargement par des appels vecteurs AMSDOS ce qui peut être plus ou moins compliqué selon les cas de figure.
De rien, c'est vraiment un principe général, car après il y a évidemment des astuces spécifiques à certains jeux/éditeurs.
Par contre la méthode que j'utilise est fully CPC, sans hacker ni quoi que ce soit, je préfère le préciser en ces troubles périodes de décadence cross-dev-emulationiennes
@Megachur : Oui, moi aussi, j'ai essentiellement rippé des musiques de jeux, et dès que j'ai eu un hacker, je n'ai pas hésité à m'en servir
Sinon, pas forcément besoin de ce que tu dis, j'ai commencé avec un papier, un crayon, et un programme basic qui m'affichait à l'écran le contenu d'une zone mémoire en octets.
Cela dit, c'était un poil fastidieux et donc.... long !
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 6 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum