Inscription : 29 Août 2007, 12:04 Message(s) : 1990 Localisation : seine et marne 77
Fredouille a écrit :
Perso, je commence à me poser des questions sur ces nouveaux CDTs.
Par exemple, "3D Stunt Rider (UK) (1985) [Amsoft 183] [Original] [TAPE].cdt" ne passe pas sur Caprice alors que la version qui se trouve sur "C.P.C. P.o.w.e.r" ne pose aucun problème.
Le WAV de la version qui se trouve "C.P.C. P.o.w.e.r" passe sur CPCEC. Alors que le WAV de ce nouveau CDT ne passe pas sur CPCEC.
Citer :
Puisque le WAV est le résultat de l'interprétation du CDT, comment se fait-il que le WAV ne passe pas alors que le CDT passe ?
Hormis de commencer à croire que ces CDT sont spécialement encodés pour CPCEC.
Pour information, il reste encore sur cpc p0wer (et possiblement sur CPCrulez) des vieux CDTs générés par samp2cdt qui doivent être remplacés.
Ensuite, César doit publier les dernières moutures autant de CPCEC que de CSW2CDT (il a du retard car il fait des études pour monter à un doctorat informatique).
La version présente sur cpc p0wer a surement été générée avec samp2cdt (vieux CDT), qui généré lui même les timings (faussés donc). mon dump "3D Stunt Rider (UK) (1985) [Amsoft 183] [Original] [TAPE].cdt" fonctionne sur la version de CPCEC que j'utilise actuellement. Aucun CDT n'est diffusé si le jeu ne fonctionne pas sur CPCEC. Si j'ai un souci, ça veut dire que j'ai pas filtré correctement le WAV ou qu'il reste de la crasse, et que donc csw2cdt n'a pas encodé en bout de ligne le CDT.
Mais comme tu peux le voir, tout les blocs sont OK, les CRCs aussi, et les timings pareil.
Non en fait, je fais t'expliquer pourquoi pour ce jeu spécifiquement, tu rencontres ce problème.
Il s'agit du tout tout premier jeu CPC a avoir été protégé par un speedlock. La signature de la protection est unique, et csw2cdt de 2019 ne la supportait pas. Il faut utiliser CSW2CDT derniere mouture (2021).
Je vais demander à César de la publier
Là, je me dis que j'ai un souci avec l'émulateur. Alors, afin de lever mes doutes, je convertis ces 2 CDT en WAV en utilisant CSW2CDT de 2019.
_________________ SPS Community Expert (SPS CE) / SPS France
Inscription : 26 Nov 2008, 10:04 Message(s) : 174 Localisation : Saint Ouen l'Aumône
En fait, je ne comprends pas trop. Je n'utilise pas CSW2CDT pour créer un CDT mais pour obtenir un WAV à partir un CDT. Dans ce cas, il n'y a pas d'interprétation possible.
Inscription : 29 Août 2007, 12:04 Message(s) : 1990 Localisation : seine et marne 77
Fredouille a écrit :
En fait, je ne comprends pas trop. Je n'utilise pas CSW2CDT pour créer un CDT mais pour obtenir un WAV à partir un CDT. Dans ce cas, il n'y a pas d'interprétation possible.
CSW2CDT 2019 ne reconnait pas et ne sait pas traiter ce speedlock.
J'ai reproduit ton souci avec la version 2019. Le souci ne se pose pas avec la version non public 2021.
_________________ SPS Community Expert (SPS CE) / SPS France
Inscription : 26 Nov 2008, 10:04 Message(s) : 174 Localisation : Saint Ouen l'Aumône
C'est un outil qui va générer du WAV à partir d'un schéma bien précis qu'il va reconnaitre !!
Le CDT est déjà une interprétation d'un signal analogique (dans ce sens, ca ne m'ennuie pas). Mais là, on rajoute de l'interprétation à l'interprétation...
Finalement, ça n'est clairement pas l'outil que je cherche pour tester un CDT lorsque Caprice n'arrive pas à le lire car le WAV d'origine n'est pas disponible et le WAV reconstruit n'est pas fidèle.
Existe-t-il un outil qui est capable de créer un WAV fidèle à partir d'un CDT ??
Inscription : 29 Août 2007, 12:04 Message(s) : 1990 Localisation : seine et marne 77
Fredouille a écrit :
C'est un outil qui va générer du WAV à partir d'un schéma bien précis qu'il va reconnaitre !!
Le CDT est déjà une interprétation d'un signal analogique (dans ce sens, ca ne m'ennuie pas). Mais là, on rajoute de l'interprétation à l'interprétation...
Il ne s'agit pas d'une interprétation d'une interprétation, il s'agit de faire une réversion !
C'est pas tout à fait pareil. Quand on part d'un WAV tiré d'une cassette, on compresse en CSW, et ensuite on injecte les timings en arrondi au plus prêt dans le CDT + les données.
Il y a un step cependant dont on a pas parlé. les logiciels utilisent un système de bloc diférent des uns des autres, c'est pour ça qu'on parle d'encodage. Tu ne peux pas réaliser cette opération en aveugle. csw2cdt doit comprendre ce qu'il traite via le switch (amstrad, alkatraz, etc).
Pour la réversion, tu pars d'un CDT et tu fais le déroulé inverse : CDT, tu remets les données et les timings qui étaient au proche et en arrondi dans un fichier CSW, qui est au final décompressé en fichier WAV.
Entre le CDT et le CSW, il y a la phase de déconstruction du système de bloc utilisé. Cette phase n'étant pas supportée dans csw2cdt 2019, l'encodage ne fonctionne pas avec, et bien évidemment, la déconstruction des timings et du speedlock n'est pas non plus supporté.
Avec csw2cdt 2021, l'encodage est supporté, mais aussi la déconstruction.
Citer :
Finalement, ça n'est clairement pas l'outil que je cherche pour tester un CDT lorsque Caprice n'arrive pas à le lire car le WAV d'origine n'est pas disponible et le WAV reconstruit n'est pas fidèle.
Existe-t-il un outil qui est capable de créer un WAV fidèle à partir d'un CDT ??
oui csw2cdt. Et c'est le seul. Tout les autres sont buggés ou utilisent des subterfuges qui font que le résultat est incorrect. (tzx2wav, samp2cdt, etc).
_________________ SPS Community Expert (SPS CE) / SPS France
Inscription : 26 Nov 2008, 10:04 Message(s) : 174 Localisation : Saint Ouen l'Aumône
Le CDT est une interprétation du WAV original.
Maintenant, ce n'est pas parce qu'il passe sur un émulateur qu'il est correct. J'entends par "correct" que la machine d'origine le comprenne.
Mais comme la machine d'origine n'accepte pas les CDT, il faudrait pouvoir le passer en WAV puis le donner à la machine, et encore, je ne parle pas du filtrage analogique qui a été appliqué à la lecture de la cassette d'origine puis celui appliqué par le lecteur de WAV.
Comme l'objectif est de savoir si le processus de création du CDT est correct, je ne vois pas l'intérêt d'utiliser ce même processus à l'inverse. Cela montre juste que ce processus est réversible, c'est tout !!
J'en arrive à la conclusion qu'il n'est pas possible de considérer un CDT comme correct.
Inscription : 29 Août 2007, 12:04 Message(s) : 1990 Localisation : seine et marne 77
Fredouille a écrit :
Le CDT est une interprétation du WAV original.
Maintenant, ce n'est pas parce qu'il passe sur un émulateur qu'il est correct. J'entends par "correct" que la machine d'origine le comprenne.
Mais comme la machine d'origine n'accepte pas les CDT, il faudrait pouvoir le passer en WAV puis le donner à la machine, et encore, je ne parle pas du filtrage analogique qui a été appliqué à la lecture de la cassette d'origine puis celui appliqué par le lecteur de WAV.
Si tu veux utiliser des CDTs en direct sur un vrai CPC, tu dois utiliser un TZXduino. Cet appareil se connecte sur un CPC 6128, avec le cablage nécessaire pour les données et activer le relais et le moteur.
Citer :
Comme l'objectif est de savoir si le processus de création du CDT est correct, je ne vois pas l'intérêt d'utiliser ce même processus à l'inverse. Cela montre juste que ce processus est réversible, c'est tout !!
J'en arrive à la conclusion qu'il n'est pas possible de considérer un CDT comme correct.
Bug trouvé dans CSW2CDT. Merci de mettre à jour dans ton dossier avec l'executable que je joins à ma réponse, et refait ta manipulation, tu verras, le WAV passera sous caprice forever.
Pièce jointe :
CSW2CDT.7z
Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.
_________________ SPS Community Expert (SPS CE) / SPS France
Inscription : 26 Nov 2008, 10:04 Message(s) : 174 Localisation : Saint Ouen l'Aumône
Le fait que CSW2CDT utilise exactement l'algorithme inverse pour convertir un CDT en WAV ne permet pas de s'affranchir d'un problème dans l'algorithme.
Aussi, je pense que je commence à converger vers une solution qui va me permettre d'avancer sur l'interprétation des CDTs.
L'idée est de convertir directement le CDT en WAV par Caprice, donc d'obtenir une image fidèle sur la façon dont il interprète le CDT, puis de faire lire ce WAV par CPCEC ou CPCEPower. Si ce WAV est lu sans problème, je considère mon interprétation du CDT comme correcte.
J'ai testé ce processus sur plusieurs CDT problématiques pour Caprice, dont : Basil the great mouse detective, Killer Ring, Lone Wolf, Marmelade, entre autres...
Maintenant, j'ai un petit souci avec "Bride of Frankenstein", dont le CDT est dispo sur "C.P.C. P.o.w.e.r.". Le CDT ne passe pas pour une question de pause. Par contre, le WAV créé par Caprice issu de ce CDT passe sur Caprice mais pas sur CPCEC, ni CPCEPower.
J'ai demandé à Maxit de recréer un CDT à partir de ce WAV en utilisant le dernier CSW2CDT. Et le CDT ne passe pas car il manque la clé qui se trouve à la fin.
Comment le CDT de "C.P.C. P.o.w.e.r." a-t-il été créé ? Pourquoi pose-t-il des problèmes ?
Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.
Inscription : 29 Août 2007, 12:04 Message(s) : 1990 Localisation : seine et marne 77
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.
_________________ SPS Community Expert (SPS CE) / SPS France
Inscription : 29 Août 2007, 12:04 Message(s) : 1990 Localisation : seine et marne 77
Fredouille a écrit :
Le fait que CSW2CDT utilise exactement l'algorithme inverse pour convertir un CDT en WAV ne permet pas de s'affranchir d'un problème dans l'algorithme.
Aussi, je pense que je commence à converger vers une solution qui va me permettre d'avancer sur l'interprétation des CDTs.
L'idée est de convertir directement le CDT en WAV par Caprice, donc d'obtenir une image fidèle sur la façon dont il interprète le CDT, puis de faire lire ce WAV par CPCEC ou CPCEPower. Si ce WAV est lu sans problème, je considère mon interprétation du CDT comme correcte.
J'ai testé ce processus sur plusieurs CDT problématiques pour Caprice, dont : Basil the great mouse detective, Killer Ring, Lone Wolf, Marmelade, entre autres...
Maintenant, j'ai un petit souci avec "Bride of Frankenstein", dont le CDT est dispo sur "C.P.C. P.o.w.e.r.". Le CDT ne passe pas pour une question de pause. Par contre, le WAV créé par Caprice issu de ce CDT passe sur Caprice mais pas sur CPCEC, ni CPCEPower.
J'ai demandé à Maxit de recréer un CDT à partir de ce WAV en utilisant le dernier CSW2CDT. Et le CDT ne passe pas car il manque la clé qui se trouve à la fin.
Comment le CDT de "C.P.C. P.o.w.e.r." a-t-il été créé ? Pourquoi pose-t-il des problèmes ?
concernant Basil détective privé, le format a été entièrement décortiqué, et analysé, et csw2cdt l'encode parfaitement à 100%. Sur ce jeu, les bits de trailer doivent être à 2 au lieu de 8.
Killer Ring = Keytone Lone Wolf = custom spectrum avec timings unusuels Marmelade = custom à grande vitesse
_________________ SPS Community Expert (SPS CE) / SPS France
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité
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