Ok, moi ce que je comprends, c'est que tout émulateur ayant un défaut de timings ne peut pas faire tourner ce programme correctement.
D'ou peut-etre aussi la différence de valeur que tu as trouvé avec winape, différente de celle trouvée par notre ami Longshot
En fait avec des Breakpoints dans WinAPE, j'ai constaté que WinAPE simule bien la protection, que ce soit le HALT, l'empilement, les vecteurs d'interruption, etc, car on arrive bien à la boucle en #4000.
C'est d'ailleurs facile de comprendre cette protection avec les outils de trace, déboguage, breakpoint de WinAPE...ça aurait été une autre paire de manche à l'époque des années 80.
C'est en #4000 que la protection pense qu'un pirate a modifié le code, et plante volontairement la machine. Cela est en fait dû au LD (DE),A qui a été pushé, car avec DE=#60C5 cela modifie le programme.
En fait ce LD (DE),A provient du code #12, et d'ailleurs Longshot a trouvé LD (BC),A qui a le code #2...(Longshot a dû utiliser un autre chose émulateur que WinAPE, peux-tu Longshot nous le confiremr stp). Cela veut dire que 2 émulateurs différents trouvent deux octets différents, pas normal ! Plus précisément une différence d'un seul bit, le bit #10.
Ce #12 provient en fait du F de AF, c-a-d l'octet qui contient tous les drapeaux: Z, C, PO, etc... A et F ont été initialisés par les commandes suivantes: xor a ; ld bc,#df07 ; out (c),c ; ld hl,#c6e5 ; sub (hl) ; xor d ; add h ; sla a ; sla a ; srl a ; set 3,a Après cela, F ne devrait pas $etre à #12. La valeur correcte semble être 2 (quoiqu'un 0 aurait été plus logique). Quelqu'un a un bouquin qui explique les impacts sur les drapeaux de chaque commande Z80 ?
Ma conclusion: il doit y avoir un petit bug dans WinAPE sur la gestion de l'une des commandes en orange ci-dessus et de son impact sur les drapeaux de F (si vous connaissez l'auteur de WinAPE, que je trouve génial par ailleurs, on peut lui faire remonter ce petit bug).
Inscription : 28 Août 2008, 23:41 Message(s) : 270
Effectivement, F n'est pas à 02 sur un vrai CPC, mais à 00, ce qui code un nop Il s'agit d'un bug de l'émulation z80a de winape du flag N Le bit 1 de F est le flag N Ce flag passe à 1 si l'opération précédente était une soustraction et à 0 si c'était une addition
#12 n'est pas bon car tu oublies 2 choses dans ta séquence. Initialiser D et que HL pointe sur la bonne donnée (ce qui risque de ne pas être le cas si la rom haute n'est pas activée). Bref, il faut soustraire #ED de 00 et faire un xor avec #11 Cela dit, un LD (DE),A aurait compliqué la protection puisque cela aurait modifié le code entre #6000 et #61FF, qui sera "checksumé" plus tard...(contrôle=#27)
Citer :
C'est d'ailleurs facile de comprendre cette protection avec les outils de trace, déboguage, breakpoint de WinAPE...ça aurait été une autre paire de manche à l'époque des années 80.
Pas tant que ça quand même. Le mode Trace de dams permet de simuler la plus grande partie des instructions pour calculer A et F par exemple. A défaut il est facile de les calculer soi même.
Citer :
C'est en #4000 que la protection pense qu'un pirate a modifié le code, et plante volontairement la machine.
Ben non, c'est en #A000. Tu vas un peu trop vite en besogne pour le coup... Tu n'as pas encore causé de ce qui se trouve en #1000 Je l'ai tracé sous dams avec un vrai cpc, comme quoi le mode trace était tout simplement magique...
Citer :
Ok, moi ce que je comprends, c'est que tout émulateur ayant un défaut de timings ne peut pas faire tourner ce programme correctement.
Je ne pense pas que ce soit un problème de timing pour winape, mais plutôt un prb d'émulation fdc pour la protection. Même avec le bug du flag N, l'instruction LD (BC),A provoque juste un octet parasite en 7F8E, mais cela n'empêcherait pas le décodage de se faire correctement. L'objet du crack c'est quand même de voir ce qui déconne à ce niveau, non ?
Citer :
Longshot a précisé qu’il connaît une autre protection basée sur les interruptions, sa propre protection Revolog…t’as pas de mérite, alors, Longshot ?! ;o))))
La protection latis a un défaut de conception dont nous avons déjà discuté, et qui est lié aux interruptions actives. Mais son principe, c'est que l'auteur a supposé qu'une autre programmeur ne comprendrait pas ce qu'il a codé. Proteus, la protection de Revolog est différente et ne s'appuie pas sur ce principe. Mais pour te répondre, elle est originale car c'est donc la seule à vraiment se servir de R pour décoder, avec les interruptions actives . Je ne retrouve pas une version fonctionnelle, mais je vais la recompiler si tu tiens à essayer de la casser (promis je rajoute rien dedans).
Inscription : 28 Août 2008, 23:41 Message(s) : 270
Citer :
Merci longshot, mais ça confirme ce que je pense de winape.....
Je sais pas vraiment ce que tu penses de winape. Cela dit, il est difficile de condamner un émulateur uniquement sur des prb de compatibilité fdc dans des cas extrêmes. Car dans la globalité, winape est sans doute actuellement l'émulateur qui respecte le mieux le hardware du cpc à mon avis.
Bon j'vais aller indiquer à R. Wilson le bug du flag, mais finalement ça aurait été pas mal de conserver un moyen simple de tester qu'on est sur un émulateur Je suis pas le seul à avoir émis l'idée d'un port "émulateur" pour savoir si on est sur un émulateur ou non, encore faut il que les auteurs des émulateurs jouent le jeu.
Inscription : 29 Août 2007, 12:04 Message(s) : 2009 Localisation : seine et marne 77
Justement, il se trouve que lors de mes différents tests, Winape est le moins compatible avec les originaux.
dans l'ordre : CPCE, Wincpc, caprice 32, winape.
J'ai du batailler contre le Richard, en me montrant provoquant à son égard, histoire qu'il remue son c*l ! Parce qu'il était persuadé que winape est le plus accurate (ce qui n'est pas exact...).
Le FDC est un gros point d'entrée pour les programmes. Les émulateurs ont été crée pour faire tourner des cracks, et non des originaux. Aujourd'hui on a les outils pour imager les originaux, résultat on se rend compte que les émulateurs ont des problèmes.
Par exemple, la limite de taille des pistes dotées de secteur de taille 6. On sait aujourd'hui que si certaines images sont si grosses, c'est parce que ce sont des pistes MFM, et qu'elle font 355ko.... Dans le genre y a monty python, l'image DSK fait 500ko !!!
Au final, mon sentiment c'est que les formats spéciaux étaient jusqu'à peu très mal connu. genre les speedlock dotés de secteurs faibles / weak sectors, jamais supporté avant que je ne file un coup de patte à Simon Owen, il a mis à jour le format DSK, maintenant plus de protection sont supportées. et les créateurs d'émulateurs sont obligés de se mettre à la page. exemple : une piste à secteur de taille 6 à une taille limité de $1800, que nenni, ça monte bien plus haut que ça. On s'en est rendu compte quand j'ai imagé certains jeux ayant une taille abominable en DSK. Les dumps ne marchaient pas. En augmentant la taille des pistes, là paf, ça a marché.
Je vais encore faire bouger les choses, histoire de secouer le monde du CPC !!!
_________________ SPS Community Expert (SPS CE) / SPS France
Inscription : 28 Août 2008, 23:41 Message(s) : 270
Il me parait juste de faire évoluer les routines fdc des émulateurs si elles pêchent, ceci dans le respect de la compatibilité avec le format DSK déjà existant.
Cela étant dit, il faut savoir relativiser. C'est beaucoup moins grave que l'émulation fdc soit moins précise que l'émulation crtc par exemple. Or l'émulation d'un micro des années 80, c'est principalement ce qui se passe sur l'écran et au niveau des haut-parleurs. En ce sens, winape reste le meilleur jusqu'à preuve du contraire.
Il faut bien avouer également que les jeux étaient tous craqués à l'époque pour gagner de la place et améliorer certaines choses (vies infinies, transfert sur disquette, possibilité de lancer sur drive b, ect...). Les auteurs d'émulateurs n'ont donc pas du avoir beaucoup d'originaux à se mettre sous la dent. Tout comme le format DSK est parti des standards "approuvés". Et je vois pas trop l'intérêt de conserver l'image parfaite d'un original dans la mesure ou sa version craquée existe déjà et ou il n'y a pas un avantage indéniable d'une version par rapport à l'autre.
Inscription : 29 Août 2007, 12:04 Message(s) : 2009 Localisation : seine et marne 77
Longshot a écrit :
Il me parait juste de faire évoluer les routines fdc des émulateurs si elles pêchent, ceci dans le respect de la compatibilité avec le format DSK déjà existant.
Le format DSK a été étendu. Les routines doivent être corrigées, mise à jour, et le format DSK doit suivre ce mouvement en étant à son tour étendu.
Longshot a écrit :
Cela étant dit, il faut savoir relativiser. C'est beaucoup moins grave que l'émulation fdc soit moins précise que l'émulation crtc par exemple. Or l'émulation d'un micro des années 80, c'est principalement ce qui se passe sur l'écran et au niveau des haut-parleurs. En ce sens, winape reste le meilleur jusqu'à preuve du contraire.
Preuve du contraire : CPCE dispose du meilleur rendu sonore. J'ai eu une discussion à ce sujet avec César, le créateur de CPCE, qui m'a expliqué que le rendu sonore de winape et wincpc n'était pas accurate de ce point de vue. Je lui redemanderais ce soir de me redonner l'explication, il m'en a parlé spontanément, c'est apparu de façon naturelle dans notre conversation. Oui côté CRTC winape est le plus précis, c'est exact. Mais ça s'arrête là.
[
Que l'on ait des versions craquées ou compactées, pour des questions de portabilité de support physique (transfert de copies disk à disk), si on fait le rapprochement avec d'autres ordinateurs, le CPC a eu les cracks les plus sales de toutes les bécanes. Pourquoi ? parce que les mecs faisaient des cracks 'à la cartouche'. Un crack propre, c'est un programme déminé à la main, avec prise de note, transformation de format physique, et j'en passe.
combien de cracks pourris sans rechargement alors que l'original le permettait ? combien de trainer non testés et j'en passe ?
Les originaux sont nécessaires pour la préservation, la documentation des protection physiques, etc.. Les pirates du monde CPC sont les seuls à finalement avoir la plus grande méconnaissance des systèmes de protections. Pourquoi ? parce qu'en craquant à la cartouche, on pompe direct le programme, sans voir la coque qui le protégeait (la facilité quoi). Quand sur d'autres bécanes comme l'atari st ou l'amiga, les pirates mettaient direct les mains dans le cambouis ! Ce qui n'a pas empéché au passage des cracks foirés, mais il y en a peu en comparaison.
Quels sont les avantages des originaux ? Chargements ultra rapides pour ceux qui utilisent une protection par chargement de pistes (MFM), au contraire des jeux dit 'system' ultra lent.... On est sur que le jeu sauf erreur de mastering n'a pas de bug graphique (copie sur disquettes pourries).
voilà
_________________ SPS Community Expert (SPS CE) / SPS France
Inscription : 29 Août 2007, 12:04 Message(s) : 2009 Localisation : seine et marne 77
Voilà l'explication à propos du son sur wincpc et Winape qui n'est pas 'correct' ou tel qu'il devrait être :
Le truc qui importe c'est que l'on a des "square waves" dont l'amplitude est determinée par une valeur de 4-bit, qui peut être soit directement définie par le programmeur ou automatiquement controlé par la puce sonore (enveloppe hardware). Ceci veut dire qu'il y a 2^4=16 amplitudes différentes.
Et c'est ici que le problème se montre: WinCPC et WinAPE calculent simplement l'amplitude comme étant de 100%*(volume/15). Le problème est que ce n'est pas comme cela que la puce son fonctionne VRAIMENT. Au lieu d'une progression linéaire, la puce utilise une progression logarythmique, où les amplitudes sont multipliées par sqrt(2) en même temps que l'on augmente le volume.
Le résultat est tel que sur les emulateurs en question, le volume se fait comme ceci: 0%, 6,67%, 13,33%, 20%, ... 80%, 86,67%, 93,33% et 100%.
Dans le même temps, CPCE et les autres émulateurs utilisant les mêmes puces sonores (MAME et MESS, par exemple, dont les sources sont publique) démarrent lentement (0%, 1%, 1%, 2%, 2%...) et puis montent rapidement et se terminent avec 35,36%, 50%, 70,71% et 100%.
C'est pourquoi WinAPE et WinCPC sonnent "platement" par rapport à un vrai CPC, tandis que CPCE et MESS essaient d'être aussi "bondissant" que le son d'origine.
Un jeu dont la musique exploite le "bondissement sonore" de la puce sonore est "The Thing Bounces Back".
Le son est horrible avec WinAPE.....faites le test !
_________________ SPS Community Expert (SPS CE) / SPS France
Non mais c'est pas bientôt fini, les amis, de polluer mon post sur le crack d'Hercule...même si vos remarques sont très intéressantes, car personnellement je souhaitais lancer un projet pour améliorer le format eDSK (cliquer ici) afin effectivement de pouvoir simplement lire les originaux dans leur expression la plus vierge possible...
Longshot a écrit :
#12 n'est pas bon
Ben pourtant j'ai breakpointé en #6060 et j'ai tracé avec WinAPE à partir du tout début, et il me trouve bien AF=#1812...au lieu de #1800. De plus quand je breakpoint en #4000 je vois bien que la valeur en #60C5 a changé à cause du LD (DE),A et c'est bien cela qui fait planter la protection. Tu trouves #1802 avec WinAPE ou avec un autre émulateur ??!?
Citer :
Je ne pense pas que ce soit un problème de timing pour winape, mais plutôt un prb d'émulation fdc pour la protection. L'objet du crack c'est quand même de voir ce qui déconne à ce niveau, non ?
L'objet du crack ? Huummm... Y'a plusieurs objectifs: 1) cracker comme au bon vieux temps 2) apprendre de jolis astuces de protection en prenant celles qui semblent prometteuses (Hercule, Discologie, Revelog) et originales 3) (perso) voir si ça me donne des idées pour des protections sur les machines actuelles 4) voir si quelqu'un est capable de relever le challenge posé sur cette protection (la réponse est: oui, Longshot) 5) d'abord s'intéresser à la protection logique, et après, oui, à la protection physique (organisation des secteurs sur les pistes qui empêchent la copie) pour voir s'il y a une belle astuce... 6)...et pour comprendre pourquoi WinAPE & Cie ne supporte pas la protection physique
Citer :
La protection latis... Proteus, la protection de Revolog...
Si quelqu'un peut nous indiquer d'autres protections Amstrad qui vont au-delà des simples boucles en XOR et boucles en R sans interruptions...? Pour l'instant on en tient deux: 1) Proteus (de Revelog) basée sur une boucle en R alors que les interruptions restent actives 2) Latis (d'Hercule II) basée sur la création de code par la pile et le déroutage du Z80 par les interruptions modifiées par la pile (et avec un fichier hybride binaire-basic) 3) on essaiera d'analyser Discologie, de mémoire c'était très long, et j'avais abandonné 4) quelqu'un a-t-il vu autre chose de croustillant ces 23 dernières années ?
Inscription : 29 Août 2007, 12:04 Message(s) : 2009 Localisation : seine et marne 77
@Babar : Pour le format edsk ou DSK étendu tu arrives trop tard, j'ai déjà le coup de feu. Simon Owen a déjà updaté le format DSK étendu, et le fait à la demande, dès que je lui envoie un jeu hop il s'y colle.
L'histoire des pistes avec secteur de taille 6 supérieures à 1800$ et non max c'est ma gueule itou
Mhhhh Oui je pense qu'essayer de se fader double dragon 2 ou shinobi de Richard Aplin ça pourrait le faire.
Il est réputé le copain pour ses protections !
Et jusqu'à preuve du contraire, j'ai jamais vu un pirate CPC utilise les fichiers d'origine d'un jeu planqués dans une table de correspondance de fichier.
_________________ SPS Community Expert (SPS CE) / SPS France
Inscription : 28 Août 2008, 23:41 Message(s) : 270
Au niveau son, on peut pas dire que ça se remarque vraiment, surtout pour un non puriste, ton histoire de "pêche". D'autant plus que les effets de sample sont restitués sur winape, par exemple. Que dit wilson de cette remarque sur la gestion des amplitudes enveloppe ?
Cela étant dit, j'ai installé CPCE pour voir. A part qu'il me colle mon écran dans un mode "grossier" ou on dirait que les pixels sont anti-aliasés, il n'y a pas de son, avec F4 ou quoi que ce soit d'autre que j'ai pu voir via F1, F10 ou le fichier ini...Si on fonctionne à vitesse "réelle", ben ca me parait plus lent que la machine réelle avec un balayage monstrueux, et si on se place en mode "réel", l'émulateur fonctionne sur la synchro pc, ce qui est encore pire.
Côté affichage, c'est quand même le massacre. Et pour moi, ça reste quand même le plus important.
Citer :
Ben pourtant j'ai breakpointé en #6060 et j'ai tracé avec WinAPE à partir du tout début, et il me trouve bien AF=#1812...au lieu de #1800.
Avec Winape v.2.0 alpha 13 j'obtiens #02 et non pas #12. Le 1 correspond au bit H des flags (N°4). Il a le même rôle que C pour les opérations sur les demi-octets. Il est utilisé par l'instruction DAA
Citer :
De plus quand je breakpoint en #4000 je vois bien que la valeur en #60C5 a changé à cause du LD (DE),A et c'est bien cela qui fait planter la protection.
Tu veux dire un breakpoint en #0004. En #4000, c'est cochon Vu que tu as pas fini ton analyse, t'es même pas censé savoir que le programme ira un jour en #4000
Citer :
1) Proteus (de Revelog) basée sur une boucle en R alors que les interruptions restent actives
Euh.. pas Revelog, mais Revolog Proteus n'est pas basé sur ce que tu écris. J'ai dit que ça utilisait R et les interruptions, mais j'ai pas dit que la protection est basée la dessus.
Tu peux essayer la protection de rémi herbulot qui m'avait demandé nettement plus de boulot que la latis la première fois (et qui, crois moi, n'a pas été cassée que par moi, loin de là). Et tu peux aussi essayer le nécromancien, vu que notre ami dlfrsilver a mappé ma disquette originale.
A ce propos
Citer :
si on fait le rapprochement avec d'autres ordinateurs, le CPC a eu les cracks les plus sales de toutes les bécanes. Pourquoi ? parce que les mecs faisaient des cracks 'à la cartouche'
Pas d'accord du tout. Lorsque je suis arrivé à Paris, on ne causait que de Xor, Famous Cach car ils avaient su gérer leur "notoriété" au niveau de la région parisienne. Mais ils étaient loin d'être les seuls et de nombreuses personnes ont fait des cracks très propres. D'ailleurs, on peut faire des cracks parfaits à la cartouche. C'est seulement une aide. Perso, je trouve que ça manque totalement d'élégance, même si c'était pour gagner du temps. C'est un peu comme un code d'honneur à ne pas utiliser de moyens déloyaux si l'objectif est de se confronter à la logique de la protection. Si tu regardes ce que j'ai craqué à l"époque, je pense que tu ne verras pas de truc sale. (voir ma banque de DSK) Enfin pour les temps de chargement, je crois que ceci ne fait plus la différence sur un émulateur. Perso, charger une cassette à sa vitesse d'origine me gonflerait beaucoup...
Longshot, avais-tu cracke des softs a la "grande" epoque ? avec un autre pseudo ?
J'ai toujours vu un lien de similitude entre TB Crackers et Longshot-style (au niveau des intros), mais je suis tres probablement dans le faux.
D'ailleurs, toutes ces histoires de cracktros m'interressent tres fortement (pour avoir vecu ca avec mes yeux d'enfants etant tout petit !). Quelqu'un a deja fait une belle recap' de l'historique de tout ca ? des rumeurs, des faits, des "secrets" de l'epoque ? des personnalites caches a double-pseudo ? etc.. (ca n'a de toutes facons plus aucunes valeur marchande de nos jours !).
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 30 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