Inscription : 26 Nov 2008, 10:04 Message(s) : 174 Localisation : Saint Ouen l'Aumône
dlfrsilver a écrit :
Fredouille a écrit :
Voici les différences avec Goldwave.
C'est un cas particulier. le keytone présent à la fin de la cassette a été calculé par César, fonction de ce que la routine de test attends lors de la lecture du programme. csw2cdt ne sait pas encoder cette protection.
Si cette protection n'est pas supporté par CSW2CDT, comment a-t-il été créé ? Tu veux dire que c'est un CDT bidouillé ? C'est peut-être normal qu'aucun émulateur ne semble le passer alors !!
Je dois maintenant savoir pourquoi Caprice arrive à lancer le WAV issu de ce CDT bidouillé...
regarde les valeurs 14 et 13 après la zone de pause, on en compte 84. Mais le keytone en requiert spécifiquement 83.
Dans le CDT d'origine que César a crée et depuis lequel tu es parti, il y en a 83. donc 1 bordure a été insérée à la conversion sans raison.
En espérant que ça puisse t'aider.
Je t'avoue que je n'ai rien compris à ton histoire de 83 fronts, hormis que cela semble faire fait partie d'un pattern que doit reconnaitre CSW2CDT et CPCEC.
Tu parles de ceci ???
Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.
Inscription : 29 Août 2007, 12:04 Message(s) : 1988 Localisation : seine et marne 77
Citer :
Je t'avoue que je n'ai rien compris à ton histoire de 83 fronts, hormis que cela semble faire fait partie d'un pattern que doit reconnaitre CSW2CDT et CPCEC.
aie aie aie ! même avec mon explication tu n'as pas compris ? Si tu ne comprends pas mon explication, dans ce cas explique moi comment tu peux programmer ou faire l'ingénierie de la chose sous ton émulateur ? Tu en conviendras avec moi, un codeur ne peut programmer correctement ses routines que s'il a entièrement compris les tenants et les aboutissants.
Donc je reviens sur mon explication :
Le programme du jeu est doté d'une routine qui vérifie le nombre de bordures dont est dotée la clé (le keytone). Jusque là, rien de compliqué. Là ou ça devient galère, c'est que cette routine s'attend à un résultat fixe. Ce résultat fixe est 83. Ce nombre, 83 est le nombre de bordures que la routine doit trouver en lisant le keytone.
Pas de chance, dans ta réversion effectuée du CDT par Caprice, ta routine a toi a restitué dans le WAV non pas 83 bordures, mais 84 bordures. ça ne peut pas et ne doit pas marcher puisque la routine dans le jeu ne valide que la valeur de 83 bordures ; avec 84 bordures, ça plante.
Donc on a un problème :
Explique moi comment en ayant 84 bordures dans ton WAV, tu arrives à faire lire 83 bordures par Caprice, avec en bout de ligne la validation par la routine du jeu ?
Avec CPCEC on a ça :
83 bordures dans le WAV, 83 bordures dans le CSW, et 83 bordures lue en bout de ligne avec la validation du jeu par la routine en bout de ligne.
Chez toi avec Caprice, on a ceci :
84 bordures dans le WAV (réversé du CDT ou on a 83 bordures déclarées), 84 bordures dans le CSW, et 83 bordures lues et le jeu qui démarre.
Sur un vrai CPC, c'est clair, le WAV que tu as généré ne peut pas fonctionner, puisque le jeu s'attend à une valeur exacte de 83 et pas 84.
Ton interprétation est shiftée de 1......
_________________ SPS Community Expert (SPS CE) / SPS France
Inscription : 29 Août 2007, 12:04 Message(s) : 1988 Localisation : seine et marne 77
Citer :
Je t'avoue que je n'ai rien compris à ton histoire de 83 fronts, hormis que cela semble faire fait partie d'un pattern que doit reconnaitre CSW2CDT et CPCEC.
Tu parles de ceci ???
Il ne s'agit pas d'un pattern que CSW2CDT et CPCEC doivent eux seuls reconnaitre, tout les émulateurs doivent le reconnaitre autrement les jeux utilisant ce type de protection ne peuvent pas fonctionner.
les jeux protégés par keytones utilise une routine spéciale qui est rien de plus qu'un détecteur de bordures (Edge detector en anglais).
L'image que tu as jointe à ton post, correspond à ces valeurs que j'ai posté un peu avant :
11 10 11 10 11 10 11 10 10 11 10 11 10
Pause :
2C 00 E1 0C 00 00
Bordures :
(dans ton WAV réservé par caprice on trouve ceci, soit 84 bordures)
Inscription : 12 Juin 2008, 20:29 Message(s) : 1709
Fredouille a écrit :
Ca y est, j'ai enfin compris de quoi du parles... Tes suites de codes sont issues du CSW.
Lorsque je transforme le WAV en CSW par Caprice, j'ai bien 83 alternances, donc le CSW passe, même sur CPCEC.
Je viens de tester ce CSW avec CPCEPower v2103 , j'ai eu aucun problème au chargement et pas de bug d'écrans / sprites visibles sur émulation cpc 6128 ou 464 !?
Inscription : 26 Nov 2008, 10:04 Message(s) : 174 Localisation : Saint Ouen l'Aumône
J'ai même un comportement étrange avec CPCEC.
Toujours en partant du CDT qui se trouve chez "C.P.C. P.o.w.e.r" dont on sait maintenant qu'il a été bidouillé car CSW2CDT ne supporte pas la protection.
Avec Caprice, je convertis ce CDT en WAV PCM8 et PCM16 (voir fichiers attachés).
Lorsque je convertis ces WAV en CSW, j'obtiens des fichiers identiques, à l'octet près. Ce qui veut dire que les WAV ont exactement le même signal.
Cependant, le WAV PCM8 ne passe pas sur CPCEC alors que le PCM16 passe !!
Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.
Dernière édition par Fredouille le 27 Mars 2021, 09:54, édité 1 fois.
Inscription : 12 Juin 2008, 20:29 Message(s) : 1709
Fredouille a écrit :
J'ai même un comportement étrange avec CPCEC.
Toujours en partant du CDT qui se trouve chez "C.P.C. P.o.w.e.r" dont on sait maintenant qu'il a été bidouillé car CSW2CDT ne supporte pas la protection.
Avec Caprice, je convertis ce CDT en WAV PCM8 et PCM16 (voir fichiers attachés).
Lorsque je convertis ces WAV en CSW, j'obtiens des fichiers identiques, à l'octet près. Ce qui veut dire que les WAV ont exactement le même signal.
Cependant, le WAV PCM8 ne passe pas sur CPCEC alors que le PCM16 passe !!
Fredouille,
Juste une remarque suite à mon analyse de tes 2 wavs : Il y a 3 bytes '00 00 00' inutiles à la fin ...
Également ton wave 16bits m'a permis de trouver un bug dans CPCEPower : la valeur de comparaison pour trouver les valeurs positives et negatives pour les 16 et 24 bits n'étaient pas correctes car c'est celle de 8 bits qui était utilisée...
Dernière édition par Megachur le 27 Mars 2021, 16:59, édité 1 fois.
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 7 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